2.0 KiB
2.0 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
Ansible playbook project that automates the installation and configuration of a personalized i3 window manager desktop environment across multiple Linux distributions (Arch/Manjaro, Fedora, Ubuntu/Debian).
Running the Playbook
ansible-playbook -i inventory setup.yaml
Important: The username in setup.yaml (variable myuser) must be changed from the default venkatn to the actual user before running.
Prerequisites by distribution:
- Arch/Manjaro:
sudo pacman -S ansible i3 - Fedora:
sudo dnf install ansible - Ubuntu:
sudo apt install git ansible python curl i3
Architecture
setup.yaml is the main entry point. It runs against localhost with sudo and conditionally loads tasks based on the detected OS family (ansible_os_family).
Task Flow
- Distribution-specific package installation — one task file per distro family:
tasks/configure-software-manjaro.yaml(Arch Linux)tasks/configure-software-ubuntu.yaml(Debian)tasks/configure-software-fedora.yaml(RedHat)
tasks/configure-user.yaml— sudoers config, tmux config, wallpaper,~/opt/scriptsdirectorytasks/configure-i3.yaml— deploys all i3 configs, status bar scripts, and system-wide scripts (i3exit, blurlock)
Configuration Files (files/configs/)
i3/i3/config— main i3 window manager configurationi3/config/picom.conf— compositor settingsi3/config/dunst/dunstrc— notification daemoni3/config/rofi/config.rasi— application launcheri3/config/i3blocks/config— status bar configurationi3/myi3blocks/— custom bash scripts for i3blocks status bar segments (memory, load, weather, date, battery, temp)misc-scripts/i3exit— system exit actions (lock, logout, suspend, hibernate, reboot, shutdown) using systemctlmisc-scripts/blurlock— blurred lock screen script using i3lock