{ description = "eve-psr-nix0 - Home Server"; inputs = { nixpkgs.url = "nixpkgs/nixos-23.05"; 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"; }; }; outputs = { self, nixpkgs, agenix, nix-serve-ng, ... }@attrs: let pkgs = import nixpkgs { inherit system; }; shell = import ./shell.nix { inherit agenix pkgs; }; system = "x86_64-linux"; in { devShell.x86_64-linux = shell.dev; formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt; hydraJobs = { devshell = shell.dev; formatter = shell.packages.x86_64-linux.format; }; packages = shell.packages; nixosConfigurations = { eve-psr-nix0 = nixpkgs.lib.nixosSystem { inherit system; specialArgs = attrs; modules = [ ({ modulesPath, ... }: { imports = [ agenix.nixosModules.default nix-serve-ng.nixosModules.default ./application/containers.nix ./application/nginx.nix ./monitoring/nginx.nix ./monitoring/grafana.nix ./monitoring/prometheus.nix ./monitoring/loki.nix ./monitoring/promtail.nix ./system/age.nix ./system/dns.nix ./system/hardware.nix ./system/nix-conf.nix ./system/security.nix ./system/build-services.nix ./system/system.nix ./system/virtualisation.nix ./user/users.nix ]; system.stateVersion = "22.11"; }) ]; }; }; }; }