Files
myi3/CLAUDE.md
2026-02-14 21:23:19 +01:00

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

  1. 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)
  2. tasks/configure-user.yaml — sudoers config, tmux config, wallpaper, ~/opt/scripts directory
  3. tasks/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 configuration
  • i3/config/picom.conf — compositor settings
  • i3/config/dunst/dunstrc — notification daemon
  • i3/config/rofi/config.rasi — application launcher
  • i3/config/i3blocks/config — status bar configuration
  • i3/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 systemctl
  • misc-scripts/blurlock — blurred lock screen script using i3lock