{ inputs = { nixpkgs.url = "https://channels.nixos.org/nixos-25.11/nixexprs.tar.xz"; flake-parts.url = "github:hercules-ci/flake-parts"; ## Nix/OS utilities disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; deploy-rs = { url = "github:serokell/deploy-rs"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; ## Programs flint = { url = "github:NotAShelf/flint"; inputs.nixpkgs.follows = "nixpkgs"; }; ## Services foundryvtt = { url = "github:reckenrode/nix-foundryvtt"; inputs.nixpkgs.follows = "nixpkgs"; }; sonnenshift = { url = "git+ssh://git@github.com/sonnenshift/battery-manager"; inputs = { nixpkgs.follows = "nixpkgs"; crate2nix.inputs = { flake-compat.follows = "deploy-rs/flake-compat"; devshell.inputs.flake-utils.follows = "deploy-rs/utils"; flake-parts.follows = "flake-parts"; }; }; }; }; outputs = { flake-parts, ... }@inputs: flake-parts.lib.mkFlake { inherit inputs; } ( { self, ... }@args: { imports = [ (flake-parts.lib.importApply ./flakeModules/deploy-rs.nix args) ./checks ./dev-utils.nix ./pkgs ]; flake.nixosConfigurations.hetzner-1 = inputs.nixpkgs.lib.nixosSystem { specialArgs.flake-inputs = inputs; modules = [ ./configuration ./configuration/hardware-specific/hetzner ]; }; deploy.nodes.hetzner-1 = { hostname = "116.202.158.55"; profiles.system = { user = "root"; activation = "nixos"; closure = self.nixosConfigurations.hetzner-1; sshUser = "tlater"; sshOpts = [ "-p" "2222" "-o" "ForwardAgent=yes" ]; }; }; } ); }