{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11-small"; hm = { url = "github:nix-community/home-manager/release-22.11"; inputs.nixpkgs.follows = "nixpkgs"; }; # simple mailserver snm = { url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-22.11"; inputs.nixpkgs-22_11.follows = "nixpkgs"; }; # age for nix to store encrypted passwords conveniently agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, hm, nixpkgs, agenix, snm, ... }@inputs: { nixosConfigurations."thrall" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ({ nixpkgs = { config.allowUnfree = true; }; }) snm.nixosModule ./modules/security.nix ./hosts/thrall agenix.nixosModules.age hm.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.alex = import ./home/cli.nix; } ]; }; }; }