{ description = "eve-psr-nix0 - Home Server"; inputs = { nixpkgs.url = "nixpkgs/nixos-24.11"; agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; inputs.darwin.follows = ""; inputs.home-manager.follows = ""; }; nix-serve-ng = { url = github:aristanetworks/nix-serve-ng; inputs.nixpkgs.follows = "nixpkgs"; }; parts.url = "github:hercules-ci/flake-parts"; }; outputs = inputs@{ self, agenix, nix-serve-ng, nixpkgs, parts, ... }: parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; perSystem = { config, self', inputs', pkgs, system, ... }: let shell = import ./nix/shell.nix { inherit inputs' agenix pkgs; }; in { devShells.default = shell.dev; formatter = pkgs.nixpkgs-fmt; }; flake = let pkgs = import nixpkgs { inherit system; }; system = "x86_64-linux"; in { inherit system; nixosConfigurations = { eve-psr-nix0 = nixpkgs.lib.nixosSystem { inherit system; specialArgs = inputs; modules = [ ({ modulesPath, ... }: { imports = [ agenix.nixosModules.default nix-serve-ng.nixosModules.default ./nix/application/containers.nix ./nix/application/miniflux.nix ./nix/application/nginx.nix ./nix/application/postgresql.nix ./nix/monitoring/nginx.nix ./nix/monitoring/grafana.nix ./nix/monitoring/prometheus.nix ./nix/system/age.nix ./nix/system/backups.nix ./nix/system/dns.nix ./nix/system/hardware.nix ./nix/system/nix-conf.nix ./nix/system/network.nix ./nix/system/overlays.nix ./nix/system/security.nix ./nix/system/system.nix ./nix/system/virtualisation.nix ./nix/system/wireguard.nix ./nix/user/users.nix ]; system.stateVersion = "22.11"; }) ]; }; }; }; }; }