NixOS
Hyprland
Oxocarbon
nixos-unstable
Wayland
ASUS Zenbook
Intel Lunar Lake
Quick Start
# Switch the system
sudo nixos-rebuild switch --flake github:ssaic-x64/damathryxx64#nixos-metal
# Dev shells
nix develop github:ssaic-x64/damathryxx64#reflection # Python/ML
nix develop github:ssaic-x64/damathryxx64#terrorblade # DevOps
nix develop github:ssaic-x64/damathryxx64#invoker # Linux/systems
nix develop github:ssaic-x64/damathryxx64#python # Python scripting
nix develop github:ssaic-x64/damathryxx64#devops # Containers/k8s/IaC
nix develop github:ssaic-x64/damathryxx64#rust # Rust toolchain
nix develop github:ssaic-x64/damathryxx64#linux # Sysadmin/ops
nix develop github:ssaic-x64/damathryxx64#ai # AI/LLM dev
Desktop Environment
Compositor
Hyprland on Wayland
- uwsm session manager
- greetd / tuigreet login
- hyprlock + hypridle
- Touchpad gestures (3/4-finger)
Shell & Terminal
kitty · zsh · starship
- Oxocarbon prompt (starship)
- fzf with Oxocarbon colors
- atuin CTRL+R history
- F12 quake-style dropdown
Launcher & Bar
Rofi · Waybar
- drun, run, window, calc, power
- Network picker SUPER+SHIFT+I
- swaync notification history
- Conky overlay SUPER+K
Power & Brightness
Adaptive everything
- auto-cpufreq (AC/battery)
- wluma ALS adaptive brightness
- tailscale, syncthing
- cava audio visualizer
Applications
One tool per job
- Browser: google-chrome
- Editor: VS Code
- Files: yazi + plugins (terminal)
- Monitor: btop (GPU, vim keys)
Theme
Oxocarbon (IBM Carbon dark)
- Pitch black: #000000 / #0a0a0a
- Blue accent: #33b1ff
- Purple accent: #be95ff
- Applied: GTK3 + GTK4 + Waybar + Kitty + Rofi
AI / LLM
Local inference + cloud proxy
- Ollama (Vulkan GPU) + Open WebUI
- claude-code via GitHub Copilot
- mcphost + icici-bank-mcp
- aichat, oterm, llm CLI tools
Dev Shells
| Shell | Purpose | Key Tools |
|---|---|---|
reflection | Python / ML | python312, numpy, pandas, ruff, black, pytest, ipython |
terrorblade | DevOps / Platform | terraform, kubectl, helm, aws-cli, docker, ansible |
invoker | Linux / Systems | strace, ltrace, perf, bpftrace, gdb, tcpdump, nmap |
python | Python scripting | requests, pydantic, click, rich, ruff, uv, ipython |
devops | Containers / k8s / IaC | docker, k9s, trivy, cosign, opentofu, helmfile, act |
rust | Rust toolchain | rustc, cargo, clippy, rust-analyzer, cargo-watch, cargo-audit |
linux | Sysadmin / Ops | rsync, nmap, lsof, lshw, sysstat, mtr, ncdu, lynis |
ai | AI / LLM dev | OpenAI, Anthropic, LangChain, Ollama SDKs, aichat, llm, oterm |
Keybind Reference
| Bind | Action |
|---|---|
| SUPER + Return | Terminal |
| SUPER + D | Launcher |
| SUPER + B | Browser |
| SUPER + E | File manager |
| SUPER + L | Lock screen |
| SUPER + Q | Close window |
| SUPER + F | Fullscreen |
| SUPER + Space | Float toggle |
| SUPER + X | Power menu |
| SUPER + A | Notifications |
| SUPER + K | Shortcuts overlay |
| SUPER + V | Clipboard history |
| SUPER + J | Toggle split |
| SUPER + = | Calculator |
| SUPER + O | Project launcher |
| SUPER + R | Run dialog |
| SUPER + N | Quick note |
| SUPER + P | Picture-in-picture |
| SUPER + Tab | Window switcher |
| SUPER + W | Random wallpaper |
| SUPER + . | Emoji picker |
| SUPER + grave | Workspace overview |
| SUPER + SHIFT + S | Screenshot (region → swappy) |
| SUPER + SHIFT + R | Screen recording |
| SUPER + SHIFT + C | Color picker |
| SUPER + SHIFT + N | Search notes (rg, copy to clipboard) |
| SUPER + SHIFT + F | File search (name / content) |
| SUPER + SHIFT + G | Web search (prefix routing: gh nix yt so…) |
| SUPER + SHIFT + I | Network picker |
| SUPER + SHIFT + M | System monitor (btop) |
| SUPER + SHIFT + Escape | Kill process |
| F12 | Dropdown terminal |
| Screenshot (full, copy) | |
| SHIFT + Print | Screenshot (region, copy) |
| SUPER + 1–0 | Workspace 1–10 |
| SUPER + SHIFT + 1–0 | Move window to workspace |
| CTRL + SUPER + Arrow | Navigate workspaces |
| SUPER + Arrow | Focus direction |
| SUPER + SHIFT + Arrow | Move window |
| SUPER + ALT + Arrow | Resize |
| XF86AudioRaiseVolume | Volume up |
| XF86AudioLowerVolume | Volume down |
| XF86AudioMute | Mute |
| XF86AudioPlay | Play / pause |
| XF86AudioNext | Next track |
| XF86AudioPrev | Previous track |
| XF86AudioMicMute (F9) | Toggle mic mute |
| XF86WebCam (F10) | Camera status (IPU7 pending) |
| XF86MonBrightnessUp | Brightness up |
| XF86MonBrightnessDown | Brightness down |
| XF86KbdBrightnessUp | Keyboard backlight up |
| XF86KbdBrightnessDown | Keyboard backlight down |
Repository Structure
flake.nix
modules/
config.nix # all tunable values
system/ # users, packages, shell, starship, maintenance, ai, dev
desktop/ # hyprland, fonts, gtk, gui packages, work apps
home/ # kitty, waybar, rofi, vscode, swaync, wluma, bat, btop, yazi, ai, wlogout, kanshi, gammastep, battery-notify
home/hyprland/ # keybindings, rules, idle, conky, gestures
hosts/metal/ # hardware, power, tailscale, syncthing
shells/ # env.nix, reflection, terrorblade, invoker, python, devops, rust, linux, ai
site.nix # this page
secrets/ # sops-nix
CI / CD
| Workflow | Trigger | Purpose |
|---|---|---|
| CI | push / PR | alejandra + deadnix + statix + flake check + dry-run build |
| Create Release | push tag v* | Grouped release notes from conventional commits |
| Docker | push tag v* | nix build .#dockerImage → push to GHCR |
| Deploy Pages | push to trunk | nix build .#githubPages → GitHub Pages |