❄️ Nix configurations
1{
2 nixpkgs,
3 home-manager,
4 specialArgs,
5 home-module,
6 nixos-modules,
7 system,
8 inputs
9}: let
10 username = specialArgs.username;
11in
12 nixpkgs.lib.nixosSystem {
13 inherit system specialArgs;
14 modules = [
15 ({pkgs, config, ... }: {
16 config = {
17 nix.settings = {
18 # add binary caches
19 trusted-public-keys = [
20 "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
21 #"nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA="
22 ];
23 substituters = [
24 "https://cache.nixos.org"
25 #"https://nixpkgs-wayland.cachix.org"
26 ];
27 };
28
29 # use it as an overlay
30 #nixpkgs.overlays = [ specialArgs.inputs.nixpkgs-wayland.overlay ];
31 };
32 })
33 nixos-modules
34 inputs.agenix.nixosModules.default
35 home-manager.nixosModules.home-manager
36 {
37 home-manager.useGlobalPkgs = true;
38 home-manager.useUserPackages = true;
39
40 home-manager.extraSpecialArgs = specialArgs;
41 home-manager.sharedModules = [inputs.catppuccin.homeManagerModules.catppuccin];
42 home-manager.users."${username}" = home-module;
43 }
44 ];
45 }