Skip to content

Soliprem/nix-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,063 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NixOS Configuration

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.

Features

  • 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

Gallery

Gallery

Screenshot Screenshot Screenshot

Quick Start

# Clone
git clone https://github.com/soliprem/nixos-config ~/.config/nix-config
cd ~/.config/nix-config

Before going forward, you should modify the username. It appears in a few different files.

grep -r "soliprem" .
# or, if you have ripgrep
rg soliprem

Will 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 switch

Structure

hosts/     # Host configs (laptop/pc/shared)
system/    # System modules and packages
hjem/      # User dotfiles
export/    # Standalone nvf configs
secrets/   # Encrypted secrets

Key Components

  • 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

Theming

Set wallpaper and generate theme:

nixrice  # Interactive picker
# or
nixrice /path/to/wallpaper.png

Change 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-vibrant

Mango Shortcuts

  • SUPER + Return - Terminal
  • SUPER + D - Launcher
  • SUPER + W - Browser
  • SUPER + Q - Close window
  • SUPER + 1-9 - Workspaces

(Hyprland has similar bindings when using that session)

Standalone Neovim (using nvf)

nix build .#nvf          # Full config
nix build .#nvf-minimal  # Minimal config

Secrets

Secrets 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.age

Credits

Massive thanks to NotAShelf for answering many of my dumb questions.

License

GNU General Public License v3.0 - See LICENSE

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors