{ nixpkgs, home-manager, specialArgs, home-module, nixos-modules, system, inputs }: let username = specialArgs.username; in nixpkgs.lib.nixosSystem { inherit system specialArgs; modules = [ ({pkgs, config, ... }: { config = { nix.settings = { # add binary caches trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" #"nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA=" ]; substituters = [ "https://cache.nixos.org" #"https://nixpkgs-wayland.cachix.org" ]; }; # use it as an overlay #nixpkgs.overlays = [ specialArgs.inputs.nixpkgs-wayland.overlay ]; }; }) nixos-modules inputs.agenix.nixosModules.default home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = specialArgs; home-manager.sharedModules = [inputs.catppuccin.homeManagerModules.catppuccin]; home-manager.users."${username}" = home-module; } ]; }