nixos-config/modules/user
2025-09-20 16:35:33 -05:00
..
art Gonna try making materials 2025-07-18 09:45:37 -05:00
blender Major config overhaul: use custom modules, setup for multi-host config, and less boilerplate 2025-02-09 16:50:26 -06:00
bluetooth Trying ashell 2025-03-08 16:24:10 -06:00
browser Removed some todos 2025-09-20 16:35:33 -05:00
dmenu-scripts Trying ashell 2025-03-08 16:24:10 -06:00
editor some yazi fixes 2025-06-22 12:16:54 -05:00
emacs Org node/roam fixes 2025-09-20 07:26:26 -05:00
engineering Trying vscodium out 2025-05-28 18:28:25 -05:00
flatpak Major config overhaul: use custom modules, setup for multi-host config, and less boilerplate 2025-02-09 16:50:26 -06:00
git Make git easier 2025-07-18 09:46:13 -05:00
gnome gnome fixes 2025-06-19 08:58:42 -05:00
godot Fix building godot 2025-03-02 08:57:55 -06:00
hyprland Fix weird bug with browser spawn keybind? 2025-09-14 09:41:17 -05:00
japanese fixed various problems 2025-03-08 17:54:36 -06:00
keepass Major config overhaul: use custom modules, setup for multi-host config, and less boilerplate 2025-02-09 16:50:26 -06:00
localai Messing around with ai is fun! 2025-07-18 09:44:48 -05:00
media Removed some unnecessary stuff 2025-07-05 10:46:55 -05:00
music Major config overhaul: use custom modules, setup for multi-host config, and less boilerplate 2025-02-09 16:50:26 -06:00
nix home manager uses global packages 2025-02-18 20:37:23 -06:00
office Fix qt styling 2025-08-31 18:09:00 -05:00
plasma updated system 2025-05-31 12:05:26 -05:00
ranger ranger gcode preview script 2025-03-19 11:04:07 -05:00
recording Updated system 2025-03-01 07:52:28 -06:00
remote Major config overhaul: use custom modules, setup for multi-host config, and less boilerplate 2025-02-09 16:50:26 -06:00
shell Add devenv 2025-09-14 09:41:08 -05:00
stylix Fix qt styling 2025-08-31 18:09:00 -05:00
terminal some yazi fixes 2025-06-22 12:16:54 -05:00
userInfo Major config overhaul: use custom modules, setup for multi-host config, and less boilerplate 2025-02-09 16:50:26 -06:00
virtualization/virtual-machines Major config overhaul: use custom modules, setup for multi-host config, and less boilerplate 2025-02-09 16:50:26 -06:00
vscodium Trying vscodium out 2025-05-28 18:28:25 -05:00
xdg Fixed some home dirs 2025-09-20 16:35:26 -05:00
yazi some yazi fixes 2025-06-22 12:16:54 -05:00
default.nix Major config overhaul: use custom modules, setup for multi-host config, and less boilerplate 2025-02-09 16:50:26 -06:00
home.nix home manager uses global packages 2025-02-18 20:37:23 -06:00
README.org Major config overhaul: use custom modules, setup for multi-host config, and less boilerplate 2025-02-09 16:50:26 -06:00

User-level Nix Modules

Separate Nix files can be imported as modules using an import block:

imports = [ import1.nix
            import2.nix
            ...
          ];

My user-level Nix modules are organized into this directory:

  • app - Apps or collections of apps bundled with my configs

  • lang - Various bundled programming languages

    • I will probably get rid of this in favor of a shell.nix for every project, once I learn how that works
  • pkgs - "Package builds" for packages not in the Nix repositories

  • shell - My default bash and zsh configs

  • style - Stylix setup (system-wide base16 theme generation)
  • wm - Window manager, compositor, wayland compositor, and/or desktop environment setups

Variables imported from flake.nix

Variables can be imported from flake.nix by setting the extraSpecialArgs block inside the flake (see my flake for more details). This allows variables to merely be managed in one place (flake.nix) rather than having to manage them in multiple locations.

I use this to pass a few attribute sets:

  • userSettings - Settings for the normal user (see flake.nix for more details)
  • systemSettings - Settings for the system (see flake.nix for more details)
  • inputs - Flake inputs (see flake.nix for more details)
  • pkgs - Set to unstable for client devices and stable for server devices
  • pkgs-stable - Allows me to include stable versions of packages along with (my default) unstable versions of packages
  • pkgs-unstable - Allows me to force unstable versions of packages on server devices