nixos-config/user
2024-09-14 20:31:57 -05:00
..
app Migrating some doom emacs to nvchad 2024-09-14 20:31:57 -05:00
hardware Optimized some specialArgs and module argument use 2024-01-18 15:36:52 -06:00
lang Optimized some specialArgs and module argument use 2024-01-18 15:36:52 -06:00
pkgs Added stylix themed launcher icons 2024-06-05 21:03:56 -05:00
shell Couldn't get comma to work so I wrote my own! 2024-08-17 22:28:47 -05:00
style Fix weird kwallet bug (I think?) 2024-09-10 20:08:32 -05:00
wm Add floating term bind 2024-09-08 11:26:52 -05:00
README.org Updated readme's wrt specialArg vars from flake 2024-04-14 12:51:44 -05: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-stable - Allows me to include stable versions of packages along with (my default) unstable versions of packages
  • pkgs-emacs - Pinned version of nixpkgs I use for Emacs and its dependencies
  • pkgs-kdenlive - Pinned version of nixpkgs I use for kdenlive