Multi-platform dotfiles powered by Nix Flakes.
Declarative configuration management using the dot.* options namespace.
modules/
├── nixos/ # NixOS modules (dot.core, dot.desktop, dot.hardware, dot.networking, dot.server)
├── darwin/ # nix-darwin modules (dot.darwin.core, dot.darwin.desktop)
└── home/ # Home Manager modules (dot.home.*)
See each directory's README for details:
| Host | Type | Hardware | Configuration |
|---|---|---|---|
| Aglaea | Desktop | ThinkCentre (AMD GPU) | NixOS + GNOME |
| Bronya | Desktop | i5-13th + RTX 3060 | NixOS + Hyprland (decommissioned) |
| Cipher | Server | GMKTec G3 | NixOS + AdGuard Home |
| Cyrene | WSL | i5-13th + RTX 3060 | NixOS-WSL |
| Himeko | Laptop | MacBook Pro M2 | nix-darwin |
| Lingsha | Laptop | ThinkPad E14 Gen 6 | Ubuntu + Home Manager |
| Welt | SBC | Raspberry Pi 4B | Raspberry Pi OS + Home Manager |
| SilverWolf | Tablet | Xiaomi Pad 6s Pro | nix-on-droid |
nix flake check# NixOS
nixos-rebuild build --flake .#<hostname> --dry-run
# nix-darwin
darwin-rebuild build --flake .#<hostname> --dry-run
# Home Manager
home-manager build --flake .#<username>@<hostname> --dry-run# NixOS
sudo nixos-rebuild switch --flake .#<hostname>
# nix-darwin
darwin-rebuild switch --flake .#<hostname>
# Home Manager
home-manager switch --flake .#<username>@<hostname># Update all inputs
nix flake update
# Update specific input
nix flake update nixpkgs- Hyprland - Wayland compositor (custom animations & workspace config)
- Neovim - Lua-based config with LSP/DAP/Treesitter integration
- Zsh - zinit + p10k, custom functions & aliases
- Ghostty - GPU-accelerated terminal
- fcitx5 + SKK - Japanese input (custom SKK dictionaries)
- keyd - Key remapping (CapsLock → Ctrl/Esc)
- Waybar - Status bar (custom CSS/modules)
- swaync - Notification center
- anyrun - App launcher
- mise - Runtime version manager
- direnv - Per-directory environment variables
- Tailscale - Mesh VPN
- sops-nix - Secrets management