# finals NixOS rice built on **Niri** (Wayland compositor). Minimal boilerplate — extend as needed. ## Stack | Component | Choice | |-----------|--------| | Compositor | [Niri](https://github.com/YaLTeR/niri) (Wayland) | | Terminal | Kitty | | Launcher | Fuzzel | | Notifications | Dunst | | Lock Screen | Swaylock + Swayidle | | Theme Engine | [Stylix](https://github.com/danth/stylix) | ## Structure ``` . ├── default.nix # Entry point — imports system + home ├── system.nix # System-level config (Niri, Pipewire, Stylix, fonts) ├── home.nix # Home Manager config (packages, GPG agent) ├── terminal.nix # Kitty config ├── notifications.nix # Dunst config ├── fuzzel.nix # Launcher config ├── niri.nix # Niri compositor config (KDL generation) ├── stylix.nix # Theme overrides ├── swayidle.nix # Lock screen integration └── niri/ └── kdl/ # Niri config modules ├── binds.kdl # Keybindings ├── style.kdl # Window styling └── input.kdl # Keyboard/mouse/touchpad ``` ## Key Bindings | Bind | Action | |------|--------| | `Mod+Return` | Kitty | | `Mod+D` | Fuzzel launcher | | `Mod+N` | Firefox | | `Mod+hjkl` | Focus window (vim dirs) | | `Mod+Shift+hjkl` | Move window | | `Mod+1-5` | Switch workspace | | `Mod+Ctrl+1-5` | Move to workspace | | `Mod+F` | Maximize column | | `Mod+Ctrl+F` | Fullscreen | | `Mod+Space` | Overview | ## Not Yet Included - Bar (eww/waybar) - Browser module - Custom shaders/animations - Wallpaper setup - Per-app window rules - Screen capture privacy rules