{ inputs, system, user, userFullname, ... }: modules: home-modules: let inherit (inputs) home-manager nixpkgs sops-nix; in nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs;}; inherit system; modules = modules ++ [ home-manager.nixosModules.home-manager sops-nix.nixosModules.sops { home-manager = { useGlobalPkgs = true; useUserPackages = true; users.${user}.imports = home-modules ++ [ ../home/. { options.home.userFullname = nixpkgs.lib.mkOption {default = userFullname;}; config.home.username = user; } ]; }; sops = { defaultSopsFile = ../secrets/secrets.yaml; defaultSopsFormat = "yaml"; age.keyFile = "/home/${user}/.config/sops/age/keys.txt"; }; imports = [ { options.user = nixpkgs.lib.mkOption {default = user;}; } ../nixos/. ]; } ]; }