{ description = "Message-based NixOS deployment system using NATS"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; }; outputs = { self, nixpkgs }: let supportedSystems = [ "x86_64-linux" "aarch64-linux" ]; forAllSystems = nixpkgs.lib.genAttrs supportedSystems; pkgsFor = system: nixpkgs.legacyPackages.${system}; in { packages = forAllSystems (system: let pkgs = pkgsFor system; in { homelab-deploy = pkgs.buildGoModule { pname = "homelab-deploy"; version = "0.1.0"; src = ./.; vendorHash = "sha256-JXa+obN62zrrwXlplqojY7dvEunUqDdSTee6N8c5JTg="; subPackages = [ "cmd/homelab-deploy" ]; }; default = self.packages.${system}.homelab-deploy; }); devShells = forAllSystems (system: let pkgs = pkgsFor system; in { default = pkgs.mkShell { buildInputs = with pkgs; [ go gopls gotools golangci-lint govulncheck delve ]; }; }); nixosModules.default = import ./nixos/module.nix; nixosModules.homelab-deploy = self.nixosModules.default; }; }