blob: 153fd35fcf3b514d776caef5312bed2d568c3ea4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# 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
|