{ description = "Homelab configuration using flakes (v2 GitOps)"; inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; utils = { url = "github:gytis-ivaskevicius/flake-utils-plus"; inputs.flake-utils.follows = "flake-utils"; }; comin = { url = "github:nlewo/comin"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs@{ self, nixpkgs, flake-utils, sops-nix, utils, comin, ... }: let system = utils.lib.system.x86_64-linux; in utils.lib.mkFlake { inherit self inputs; hostDefaults = { inherit system; modules = [ ./modules ./users sops-nix.nixosModules.sops comin.nixosModules.comin # Base comin configuration for all nodes ({ config, pkgs, ... }: { services.comin = { enable = true; remotes = [{ name = "origin"; # Replace with actual internal forgejo URL once available url = "https://github.com/example/nix-config.git"; branches.main.name = "v2"; }]; }; }) ]; }; hosts = { # Hosts will be populated here as they are migrated to the v2 branch. }; }; }