{ self , nixpkgs-unstable , nixpkgs , sops-nix , inputs , nixos-hardware , home-manager , home-manager-stable , simple-nixos-mailserver , ... }: let nixosSystem = nixpkgs.lib.makeOverridable nixpkgs-unstable.lib.nixosSystem; nixosSystemUnstable = nixpkgs-unstable.lib.makeOverridable nixpkgs-unstable.lib.nixosSystem; baseModules = [ # make flake inputs accessiable in NixOS { _module.args.inputs = inputs; } { imports = [ ({ pkgs, ... }: { nix.extraOptions = '' experimental-features = nix-command flakes ''; }) sops-nix.nixosModules.sops ]; } ]; defaultModules = baseModules; in { moderatio = nixosSystem { system = "x86_64-linux"; specialArgs.inputs = inputs; modules = defaultModules ++ [ #nixos-hardware.nixosModules.lenovo-thinkpad-t480s ./moderatio/configuration.nix ]; }; }