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 |
You can try the custom nvim setup that I use every day without having to be on NixOS.
It is completely self-contained (bundled with all runtime dependencies, Neovim plugins, LSPs, linters, formatters, Tree-sitter grammars, and of course, my own configuration).
Install the nix package manager and just run:
nix run github:ndavd/dotfiles#nvimnix 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. ↩