See ./hosts for details.
Rebuilds and garbage collection are done with nh. The flake path comes from NH_FLAKE, and the host is detected from the hostname.
nh darwin switch # macOS
nh os switch # NixOS
nh clean all --keep 5 # garbage collect (also runs weekly)Run nh as your own user, not with sudo. Some flake inputs are private repositories fetched over SSH, so evaluation needs your SSH keys; nh builds as you and calls sudo only for activation.
If nh is unavailable (e.g. on the first switch), fall back to the plain commands. darwin-rebuild evaluates the flake as root, so build it as your user first:
# macOS
nix build .#darwinConfigurations.<host>.system
sudo darwin-rebuild switch --flake .#<host>
# NixOS (`--sudo` only elevates activation)
nixos-rebuild switch --sudo --flake .#<host>| Managed by Nix and Home Manager | |
|---|---|
| Shell | Zsh |
| Shell Prompt | Pure |
| Terminal Emulator | Ghostty |
| Editor | VSCode, Neovim |
| Coding Agent | Claude Code, Codex |
| Font | JetBrains Mono, UDEV Gothic 🇯🇵 |
| Color Scheme | Catppuccin Mocha |
| Nix Formatter | Alejandra |
| Nix CLI Helper | nh, nix-search-tv + television |
| Secret Management | ragenix |
| System Monitor | bottom |
| Git-related Tools | Commitizen, Lazygit, delta, ghq |
| Modern CLI Tools | zoxide, eza, bat, Atuin |
| Other CLI Tools | direnv, hyperfine, ... |
| VPN | Tailscale |
| Managed by Nixvim | |
|---|---|
| UI | Snacks.nvim, lualine.nvim |
| Completion | blink.cmp + copilot.lua |
| Formatter | conform.nvim with alejandra, biome, prettier, ... |
| Managed by nix-darwin | |
|---|---|
| GUI Apps Manager | nix-homebrew, Homebrew Cask, mas |
| Container System | OrbStack (Docker replacement) |
| NixOS | |
|---|---|
| DE + WM | Niri + Noctalia / GNOME + Pop Shell |
| Input Method | Fcitx5 + Hazkey |
| Self-Hosted Services | FreshRSS, Memos, Karakeep, homepage |
| Private Network | Cloudflare Tunnel |
| Secure Boot | Lanzaboote |
Inspired by