My current NixOS (and constant changing) configuration
- Multiple NixOS configurations, including laptop and desktop
- Install and partitioning scripts
- Flexible Home Manager with feature flags
- Modular configuration
- Wayland/X11 Setups
- Multiple fully featured desktop environments (KDE Plasma 5/6 and XFCE)
- Live image ISO build with Nvidia drivers, experimental nix features already enabled, unfree software usage, and some nice options for cli and neovim
- Declarative themes with theme module and stylix
- Mistero77’s nix-config and nix starter configs - Makes up a large majority of the entire config, primary template used when making the config
- Hlissner’s dotfiles - Security hardening configs
- Baitinq’s nixos-config - Partitioning scripts
- Theopn’s and yutkat’s dotfiles - Wezterm settings
- Getchoo’s flake - Nvidia settings
Here’s an overview of the repo’s file structure:
flake.nix
: Entrypoint for host and home configurations. Also exposes a devshell for boostrapping the system (nix develop
ornix shell
).hosts
: NixOS Configurations, accessible vianixos-rebuild --flake
.common
: Shared configurations consumed by the machine-specific ones.global
: Configurations that are globally applied to all my machines.optional
: Opt-in configurations/feature flags, my machines can use.users
: Configurations for each system on the machines
ryzennova
: Primary PC - 32GB RAM, Ryzen 5600G, RTX 2060 6GB | KDE Plasma 6yoganova
: Lenovo Yoga 7i - 8GB RAM, Intel i5 1335U | KDE Plasma 6live-image
: ISO configuration | Nvidia drivers included | KDE Plasma 6
home
: My Home-manager configuration, accessible viahome-manager --flake
- Each directory here is a “feature” each HM configuration can toggle, thus customizing each machine with configurations for the specific user
modules
: Custom modules that aren’t available in nixpkgs. Can be NixOS or Home-Manager modules (or both!)overlay
: Patches and version overrides for some packages. Accessible vianix build
.pkgs
: Custom nix packages defined similarly to nixpkg ones. Also accessible vianix build
. You can compose these into your own configuration by using my flake’s overlay, or consume them through NUR.
For installation, check out the installation guide located under documentation/installation.org! Check out documentation/tips.org for some tips and important information regarding how the entire flake works.
Main user relevant apps
- kde plasma 6
- neovim
- doom emacs
- zsh + powerlevel10k
- vivaldi
- keepassxc
- gpg + ssh-agent + yubikey
- tailscale
- kdeconnect
- krita
- libreoffice
- bat
- cider
- kitty+tmux
- and quite a bit more…
Nix stuff
- home-manager
- NixOS and nix, of course
I designed my NixOS flake to be modular and customizable; so feel free to change it up and use it in your own setups!