All checks were successful
		
		
	
	Run nix flake check / flake-check (push) Successful in 3m25s
				
			
		
			
				
	
	
		
			221 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			221 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  description = "Homelab v5 Nixos Server Configurations";
 | 
						|
 | 
						|
  inputs = {
 | 
						|
    nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.05";
 | 
						|
    nixpkgs-unstable.url = "github:nixos/nixpkgs?ref=nixos-unstable";
 | 
						|
 | 
						|
    sops-nix = {
 | 
						|
      url = "github:Mic92/sops-nix";
 | 
						|
      inputs.nixpkgs.follows = "nixpkgs-unstable";
 | 
						|
    };
 | 
						|
    backup-helper = {
 | 
						|
      url = "git+https://git.t-juice.club/torjus/backup-helper?ref=master";
 | 
						|
      inputs.nixpkgs.follows = "nixpkgs-unstable";
 | 
						|
    };
 | 
						|
  };
 | 
						|
 | 
						|
  outputs =
 | 
						|
    {
 | 
						|
      self,
 | 
						|
      nixpkgs,
 | 
						|
      nixpkgs-unstable,
 | 
						|
      sops-nix,
 | 
						|
      backup-helper,
 | 
						|
      ...
 | 
						|
    }@inputs:
 | 
						|
    let
 | 
						|
      system = "x86_64-linux";
 | 
						|
      overlay-unstable = final: prev: {
 | 
						|
        unstable = import nixpkgs-unstable {
 | 
						|
          inherit system;
 | 
						|
          config.allowUnfree = true;
 | 
						|
        };
 | 
						|
      };
 | 
						|
    in
 | 
						|
    {
 | 
						|
      nixosConfigurations = {
 | 
						|
        ns1 = nixpkgs.lib.nixosSystem {
 | 
						|
          inherit system;
 | 
						|
          specialArgs = {
 | 
						|
            inherit inputs self sops-nix;
 | 
						|
          };
 | 
						|
          modules = [
 | 
						|
            (
 | 
						|
              { config, pkgs, ... }:
 | 
						|
              {
 | 
						|
                nixpkgs.overlays = [ overlay-unstable ];
 | 
						|
              }
 | 
						|
            )
 | 
						|
            ./hosts/ns1
 | 
						|
            sops-nix.nixosModules.sops
 | 
						|
          ];
 | 
						|
        };
 | 
						|
        ns2 = nixpkgs.lib.nixosSystem {
 | 
						|
          inherit system;
 | 
						|
          specialArgs = {
 | 
						|
            inherit inputs self sops-nix;
 | 
						|
          };
 | 
						|
          modules = [
 | 
						|
            (
 | 
						|
              { config, pkgs, ... }:
 | 
						|
              {
 | 
						|
                nixpkgs.overlays = [ overlay-unstable ];
 | 
						|
              }
 | 
						|
            )
 | 
						|
            ./hosts/ns2
 | 
						|
            sops-nix.nixosModules.sops
 | 
						|
          ];
 | 
						|
        };
 | 
						|
        ns3 = nixpkgs.lib.nixosSystem {
 | 
						|
          inherit system;
 | 
						|
          specialArgs = {
 | 
						|
            inherit inputs self sops-nix;
 | 
						|
          };
 | 
						|
          modules = [
 | 
						|
            (
 | 
						|
              { config, pkgs, ... }:
 | 
						|
              {
 | 
						|
                nixpkgs.overlays = [ overlay-unstable ];
 | 
						|
              }
 | 
						|
            )
 | 
						|
            ./hosts/ns3
 | 
						|
            sops-nix.nixosModules.sops
 | 
						|
          ];
 | 
						|
        };
 | 
						|
        ns4 = nixpkgs.lib.nixosSystem {
 | 
						|
          inherit system;
 | 
						|
          specialArgs = {
 | 
						|
            inherit inputs self sops-nix;
 | 
						|
          };
 | 
						|
          modules = [
 | 
						|
            (
 | 
						|
              { config, pkgs, ... }:
 | 
						|
              {
 | 
						|
                nixpkgs.overlays = [ overlay-unstable ];
 | 
						|
              }
 | 
						|
            )
 | 
						|
            ./hosts/ns4
 | 
						|
            sops-nix.nixosModules.sops
 | 
						|
          ];
 | 
						|
        };
 | 
						|
        nixos-test1 = nixpkgs.lib.nixosSystem {
 | 
						|
          inherit system;
 | 
						|
          specialArgs = {
 | 
						|
            inherit inputs self sops-nix;
 | 
						|
          };
 | 
						|
          modules = [
 | 
						|
            (
 | 
						|
              { config, pkgs, ... }:
 | 
						|
              {
 | 
						|
                nixpkgs.overlays = [ overlay-unstable ];
 | 
						|
              }
 | 
						|
            )
 | 
						|
            ./hosts/nixos-test1
 | 
						|
            sops-nix.nixosModules.sops
 | 
						|
            backup-helper.nixosModules.backup-helper
 | 
						|
          ];
 | 
						|
        };
 | 
						|
        ha1 = nixpkgs.lib.nixosSystem {
 | 
						|
          inherit system;
 | 
						|
          specialArgs = {
 | 
						|
            inherit inputs self sops-nix;
 | 
						|
          };
 | 
						|
          modules = [
 | 
						|
            (
 | 
						|
              { config, pkgs, ... }:
 | 
						|
              {
 | 
						|
                nixpkgs.overlays = [ overlay-unstable ];
 | 
						|
              }
 | 
						|
            )
 | 
						|
            ./hosts/ha1
 | 
						|
            sops-nix.nixosModules.sops
 | 
						|
            backup-helper.nixosModules.backup-helper
 | 
						|
          ];
 | 
						|
        };
 | 
						|
        inc1 = nixpkgs.lib.nixosSystem {
 | 
						|
          inherit system;
 | 
						|
          specialArgs = {
 | 
						|
            inherit inputs self sops-nix;
 | 
						|
          };
 | 
						|
          modules = [
 | 
						|
            (
 | 
						|
              { config, pkgs, ... }:
 | 
						|
              {
 | 
						|
                nixpkgs.overlays = [ overlay-unstable ];
 | 
						|
              }
 | 
						|
            )
 | 
						|
            ./hosts/inc1
 | 
						|
            sops-nix.nixosModules.sops
 | 
						|
            # backup-helper.nixosModules.backup-helper
 | 
						|
          ];
 | 
						|
        };
 | 
						|
        inc2 = nixpkgs.lib.nixosSystem {
 | 
						|
          inherit system;
 | 
						|
          specialArgs = {
 | 
						|
            inherit inputs self sops-nix;
 | 
						|
          };
 | 
						|
          modules = [
 | 
						|
            (
 | 
						|
              { config, pkgs, ... }:
 | 
						|
              {
 | 
						|
                nixpkgs.overlays = [ overlay-unstable ];
 | 
						|
              }
 | 
						|
            )
 | 
						|
            ./hosts/inc2
 | 
						|
            sops-nix.nixosModules.sops
 | 
						|
            # backup-helper.nixosModules.backup-helper
 | 
						|
          ];
 | 
						|
        };
 | 
						|
        template1 = nixpkgs.lib.nixosSystem {
 | 
						|
          inherit system;
 | 
						|
          specialArgs = {
 | 
						|
            inherit inputs self sops-nix;
 | 
						|
          };
 | 
						|
          modules = [
 | 
						|
            (
 | 
						|
              { config, pkgs, ... }:
 | 
						|
              {
 | 
						|
                nixpkgs.overlays = [ overlay-unstable ];
 | 
						|
              }
 | 
						|
            )
 | 
						|
            ./hosts/template
 | 
						|
            sops-nix.nixosModules.sops
 | 
						|
          ];
 | 
						|
        };
 | 
						|
        http-proxy = nixpkgs.lib.nixosSystem {
 | 
						|
          inherit system;
 | 
						|
          specialArgs = {
 | 
						|
            inherit inputs self sops-nix;
 | 
						|
          };
 | 
						|
          modules = [
 | 
						|
            (
 | 
						|
              { config, pkgs, ... }:
 | 
						|
              {
 | 
						|
                nixpkgs.overlays = [ overlay-unstable ];
 | 
						|
              }
 | 
						|
            )
 | 
						|
            ./hosts/http-proxy
 | 
						|
            sops-nix.nixosModules.sops
 | 
						|
          ];
 | 
						|
        };
 | 
						|
        ca = nixpkgs.lib.nixosSystem {
 | 
						|
          inherit system;
 | 
						|
          specialArgs = {
 | 
						|
            inherit inputs self sops-nix;
 | 
						|
          };
 | 
						|
          modules = [
 | 
						|
            (
 | 
						|
              { config, pkgs, ... }:
 | 
						|
              {
 | 
						|
                nixpkgs.overlays = [ overlay-unstable ];
 | 
						|
              }
 | 
						|
            )
 | 
						|
            ./hosts/ca
 | 
						|
            sops-nix.nixosModules.sops
 | 
						|
          ];
 | 
						|
        };
 | 
						|
      };
 | 
						|
    };
 | 
						|
}
 |