My NixOS configuration flake ❄️. A minimal, highly-functional, reproducible, declarative system.
Note
For my older Arch Linux system configuration (Wayland and X11), refer to the legacy/arch branch.
| Main Software | NixOS (Wayland) |
|---|---|
| Editor | nvim |
| Shell | zsh |
| Terminal Emulator | foot |
| Terminal Workspace | zellij (with zellij-cb) |
| Window Manager | hyprland |
| System UI1 | quickshell |
| Filesystem | btrfs on a LUKS encrypted partition |
$HOMEmanagement: Done withhjeminstead of Home Manager as it aligns better with the simplicity I strive for.- Short term recoverability: Running daily BTRFS subvolume snapshots of
/home. - Automatic weekly updates.
| Directory | Description |
|---|---|
./hosts |
Per machine configuration |
./modules |
Shared feature modules |
./pkgs |
Custom packages |
Parts of my everyday setup are packaged to run anywhere. All you need is the
nix package manager, no NixOS required.
| Package | Description | Command |
|---|---|---|
#nvim |
My editor nvim comes bundled with all runtime dependencies, Neovim plugins, LSPs, linters, formatters, Tree-sitter grammars, and my configuration |
nix run github:ndavd/dotfiles#nvim |
#zellij |
My terminal workspace zellij comes bundled with all runtime dependencies, z script, Zellij plugins, and my configuration |
nix run github:ndavd/dotfiles#zellij (nix shell github:ndavd/dotfiles#zellij --command z for z) |
nix flake checkWith the help of treefmt, every single file in this repository can be formatted with a single
command:
nix fmtFootnotes
-
Includes status bar, application launcher, notifications, OSD, wallpaper, idle manager, lockscreen. ↩