My modular, Wayland-based config flake for NixOS, using hjem. It's my personal config, and not a configuration framework, so take things with a grain of salt.
- Laptop and desktop configs
- Mango, Hyprland, Niri compositors
- Matugen for Material Design colors from wallpapers, and a utility script to flip polarity
- Nushell with Starship, Zoxide, Atuin
- Dotfiles managed with Hjem
- Secrets encrypted with agenix
# Clone
git clone https://github.com/soliprem/nixos-config ~/.config/nix-config
cd ~/.config/nix-configBefore going forward, you should modify the username. It appears in a few different files.
grep -r "soliprem" .
# or, if you have ripgrep
rg solipremWill provide you a list of all its mentions
# Build (choose your host)
sudo nixos-rebuild switch --flake .#nixos-laptop
# or
sudo nixos-rebuild switch --flake .#nixos-pc
# Or use nh (after first build)
nh os switchhosts/ # Host configs (laptop/pc/shared)
system/ # System modules and packages
hjem/ # User dotfiles
export/ # Standalone nvf configs
secrets/ # Encrypted secrets
-
Desktop: Mango (default) · Hyprland · Ghostty · Zen Browser · Nautilus · Tofi/Fuzzel · SwayNC · Caelestia Shell
-
Editors: Neovim (nvf) · Helix · Emacs (unconfigured)
-
Development: Git/Lazygit · Jujutsu · Docker · Language servers
-
AI: Ollama (ROCm on desktop) · Open WebUI · Avante.nvim
-
Gaming: Steam · Lutris · Heroic · Gamescope · GameMode
-
Media: MPV · Spotify (Spicetify) · FreeTube · Tauon
Set wallpaper and generate theme:
nixrice # Interactive picker
# or
nixrice /path/to/wallpaper.pngChange the matugen scheme type that nixrice uses:
color-mode # open a fuzzel picker and apply the selected type
color-mode current # print the current saved type
color-mode list # show supported scheme types
color-mode scheme-neutral # set a specific type
color-mode toggle # quick toggle scheme-expressive <-> scheme-vibrantSUPER + Return- TerminalSUPER + D- LauncherSUPER + W- BrowserSUPER + Q- Close windowSUPER + 1-9- Workspaces
(Hyprland has similar bindings when using that session)
nix build .#nvf # Full config
nix build .#nvf-minimal # Minimal configSecrets are defined in secrets/secrets.nix and deployed through agenix. The
shared system config imports the agenix NixOS module and decrypts secrets using
the host SSH RSA key at /etc/ssh/ssh_host_rsa_key.
Edit an existing secret with:
agenix -e secrets/bitwarden_sessionkey.ageMassive thanks to NotAShelf for answering many of my dumb questions.
GNU General Public License v3.0 - See LICENSE


