inputs@{ self, ... }: { system ? "x86_64-linux" , username ? "fcuny" , hostname , stateVersion ? "22.11" , }: let naersk = inputs.naersk.lib."${system}"; in inputs.home-manager.lib.homeManagerConfiguration { modules = [ "${self}/home" "${self}/hosts/${hostname}/home.nix" { home = { username = username; homeDirectory = "/home/${username}"; stateVersion = stateVersion; }; homeage = { identityPaths = [ "~/.age/key.txt" ]; installationType = "activation"; mount = "/home/${username}/.secrets"; }; imports = [ inputs.homeage.homeManagerModules.homeage ]; } ]; extraSpecialArgs = { inherit inputs self; }; pkgs = import inputs.nixpkgs { inherit system; config.allowUnfree = true; overlays = [ inputs.emacs-overlay.overlay inputs.nur.overlay inputs.naersk.overlay inputs.rust.overlays.default (final: prev: { tools = import "${self}/tools" { pkgs = prev; inherit naersk; }; }) ]; }; }