{ description = "System configuration"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager.url = "github:nix-community/home-manager/release-25.11"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; sops-nix.url = "github:Mic92/sops-nix"; sops-nix.inputs.nixpkgs.follows = "nixpkgs"; overlay.url = "path:./pkgs"; }; outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, sops-nix, overlay, }@inputs: let systems = [ "aarch64-linux" "i686-linux" "x86_64-linux" "aarch64-darwin" "x86_64-darwin" ]; forAllSystems = nixpkgs.lib.genAttrs systems; hostname = "blueplum"; env = import ./${hostname}.nix; in { formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.nixfmt); nixosConfigurations.blueplum = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs hostname env; }; modules = [ { nixpkgs.overlays = [ overlay.overlays.default (final: prev: { unstable = import nixpkgs-unstable { inherit (final) config; inherit (final.stdenv.hostPlatform) system; }; }) ]; } ./configuration.nix home-manager.nixosModules.home-manager { home-manager = { useGlobalPkgs = true; useUserPackages = true; users.anton = import ./home.nix; sharedModules = import ./modules; extraSpecialArgs = { inherit hostname env; }; }; } sops-nix.nixosModules.sops ]; }; }; }