{ description = "Gortium infra flake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; agenix = { url = "github:ryantm/agenix"; inputs.darwin.follows = ""; inputs.nixpkgs.follows = "nixpkgs"; }; self.submodules = true; }; outputs = { self, nixpkgs, agenix, ... }@inputs: let system = "x86_64-linux"; keys = import ./lib/keys.nix; paths = { flake = "/home/gortium/infra"; identities = [ "/home/gortium/.ssh/gortium_ssh_key" "/etc/ssh/ssh_host_ed25519_key" ]; }; overlays = [ agenix.overlays.default ]; pkgs = import nixpkgs { inherit system overlays; config.allowUnfree = true; }; devShell = import ./shells/nix_dev.nix { inherit pkgs system agenix; }; in { nixosConfigurations = { lazyworkhorse = nixpkgs.lib.nixosSystem { specialArgs = { inherit system self keys paths; }; modules = [ { nixpkgs.overlays = overlays; } agenix.nixosModules.default ./hosts/lazyworkhorse/configuration.nix ./hosts/lazyworkhorse/hardware-configuration.nix ./modules/default.nix ./users/gortium.nix ]; }; }; devShells.${system}.default = devShell; }; }