Compare commits
	
		
			2 Commits
		
	
	
		
			3ae6725f0e
			...
			aa15afa650
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| aa15afa650 | |||
| f202f8c12c | 
@@ -89,7 +89,7 @@ in
 | 
				
			|||||||
      name = "build-iso";
 | 
					      name = "build-iso";
 | 
				
			||||||
      category = "tasks";
 | 
					      category = "tasks";
 | 
				
			||||||
      help = "Build NixOS configuration into an ISO";
 | 
					      help = "Build NixOS configuration into an ISO";
 | 
				
			||||||
      command = ''nix build "''${@:2}" ".#nixosConfigurations.\"$1\".config.my.buildAs.iso"'';
 | 
					      command = ''nix build "''${@:2}" ".#nixfiles.config.nixos.systems.\"$1\".configuration.config.my.buildAs.iso"'';
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      name = "build-home";
 | 
					      name = "build-home";
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -153,7 +153,7 @@
 | 
				
			|||||||
      nixosModules = nixfiles.config.nixos.modules;
 | 
					      nixosModules = nixfiles.config.nixos.modules;
 | 
				
			||||||
      homeModules = nixfiles.config.home-manager.modules;
 | 
					      homeModules = nixfiles.config.home-manager.modules;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      nixosConfigurations = mapAttrs (_: s: s.configuration) nixfiles.config.nixos.systems;
 | 
					      nixosConfigurations = mapAttrs (_: s: s.rendered) nixfiles.config.nixos.systems;
 | 
				
			||||||
      homeConfigurations = mapAttrs (_: s: s.configuration) nixfiles.config.home-manager.homes;
 | 
					      homeConfigurations = mapAttrs (_: s: s.configuration) nixfiles.config.home-manager.homes;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      deploy = nixfiles.config.deploy-rs.rendered;
 | 
					      deploy = nixfiles.config.deploy-rs.rendered;
 | 
				
			||||||
@@ -199,6 +199,5 @@
 | 
				
			|||||||
      packages = flattenTree (import ./pkgs { inherit lib pkgs; });
 | 
					      packages = flattenTree (import ./pkgs { inherit lib pkgs; });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      devShells.default = shell;
 | 
					      devShells.default = shell;
 | 
				
			||||||
      devShell = shell;
 | 
					 | 
				
			||||||
    }));
 | 
					    }));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,9 +5,10 @@ let
 | 
				
			|||||||
  inherit (lib.my.c.colony) domain prefixes;
 | 
					  inherit (lib.my.c.colony) domain prefixes;
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  nixos.systems.chatterbox = {
 | 
					  nixos.systems.chatterbox = { config, ... }: {
 | 
				
			||||||
    system = "x86_64-linux";
 | 
					    system = "x86_64-linux";
 | 
				
			||||||
    nixpkgs = "mine";
 | 
					    nixpkgs = "mine";
 | 
				
			||||||
 | 
					    rendered = config.configuration.config.my.asContainer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    assignments = {
 | 
					    assignments = {
 | 
				
			||||||
      internal = {
 | 
					      internal = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,9 +4,10 @@ let
 | 
				
			|||||||
  inherit (lib.my.c.colony) domain prefixes;
 | 
					  inherit (lib.my.c.colony) domain prefixes;
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  nixos.systems.colony-psql = {
 | 
					  nixos.systems.colony-psql = { config, ... }: {
 | 
				
			||||||
    system = "x86_64-linux";
 | 
					    system = "x86_64-linux";
 | 
				
			||||||
    nixpkgs = "mine";
 | 
					    nixpkgs = "mine";
 | 
				
			||||||
 | 
					    rendered = config.configuration.config.my.asContainer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    assignments = {
 | 
					    assignments = {
 | 
				
			||||||
      internal = {
 | 
					      internal = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,9 +4,10 @@ let
 | 
				
			|||||||
  inherit (lib.my.c.colony) domain prefixes;
 | 
					  inherit (lib.my.c.colony) domain prefixes;
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  nixos.systems.jackflix = {
 | 
					  nixos.systems.jackflix = { config, ... }: {
 | 
				
			||||||
    system = "x86_64-linux";
 | 
					    system = "x86_64-linux";
 | 
				
			||||||
    nixpkgs = "mine";
 | 
					    nixpkgs = "mine";
 | 
				
			||||||
 | 
					    rendered = config.configuration.config.my.asContainer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    assignments = {
 | 
					    assignments = {
 | 
				
			||||||
      internal = {
 | 
					      internal = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,9 +5,10 @@ let
 | 
				
			|||||||
  inherit (lib.my.c.colony) domain prefixes;
 | 
					  inherit (lib.my.c.colony) domain prefixes;
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  nixos.systems.middleman = {
 | 
					  nixos.systems.middleman = { config, ... }: {
 | 
				
			||||||
    system = "x86_64-linux";
 | 
					    system = "x86_64-linux";
 | 
				
			||||||
    nixpkgs = "mine";
 | 
					    nixpkgs = "mine";
 | 
				
			||||||
 | 
					    rendered = config.configuration.config.my.asContainer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    assignments = {
 | 
					    assignments = {
 | 
				
			||||||
      internal = {
 | 
					      internal = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,9 +4,10 @@ let
 | 
				
			|||||||
  inherit (lib.my.c.colony) domain prefixes;
 | 
					  inherit (lib.my.c.colony) domain prefixes;
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  nixos.systems.object = {
 | 
					  nixos.systems.object = { config, ... }: {
 | 
				
			||||||
    system = "x86_64-linux";
 | 
					    system = "x86_64-linux";
 | 
				
			||||||
    nixpkgs = "mine";
 | 
					    nixpkgs = "mine";
 | 
				
			||||||
 | 
					    rendered = config.configuration.config.my.asContainer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    assignments = {
 | 
					    assignments = {
 | 
				
			||||||
      internal = {
 | 
					      internal = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,9 +4,10 @@ let
 | 
				
			|||||||
  inherit (lib.my.c.colony) domain prefixes;
 | 
					  inherit (lib.my.c.colony) domain prefixes;
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  nixos.systems.toot = {
 | 
					  nixos.systems.toot = { config, ... }: {
 | 
				
			||||||
    system = "x86_64-linux";
 | 
					    system = "x86_64-linux";
 | 
				
			||||||
    nixpkgs = "mine";
 | 
					    nixpkgs = "mine";
 | 
				
			||||||
 | 
					    rendered = config.configuration.config.my.asContainer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    assignments = {
 | 
					    assignments = {
 | 
				
			||||||
      internal = {
 | 
					      internal = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,9 +4,10 @@ let
 | 
				
			|||||||
  inherit (lib.my.c.colony) domain prefixes;
 | 
					  inherit (lib.my.c.colony) domain prefixes;
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  nixos.systems.vaultwarden = {
 | 
					  nixos.systems.vaultwarden = { config, ... }: {
 | 
				
			||||||
    system = "x86_64-linux";
 | 
					    system = "x86_64-linux";
 | 
				
			||||||
    nixpkgs = "mine";
 | 
					    nixpkgs = "mine";
 | 
				
			||||||
 | 
					    rendered = config.configuration.config.my.asContainer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    assignments = {
 | 
					    assignments = {
 | 
				
			||||||
      internal = {
 | 
					      internal = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,9 +4,10 @@ let
 | 
				
			|||||||
  inherit (lib.my.c.kelder) domain prefixes;
 | 
					  inherit (lib.my.c.kelder) domain prefixes;
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  nixos.systems.kelder-acquisition = {
 | 
					  nixos.systems.kelder-acquisition = { config, ...}: {
 | 
				
			||||||
    system = "x86_64-linux";
 | 
					    system = "x86_64-linux";
 | 
				
			||||||
    nixpkgs = "mine";
 | 
					    nixpkgs = "mine";
 | 
				
			||||||
 | 
					    rendered = config.configuration.config.my.asContainer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    assignments = {
 | 
					    assignments = {
 | 
				
			||||||
      internal = {
 | 
					      internal = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,9 +5,10 @@ let
 | 
				
			|||||||
  inherit (lib.my.c.kelder) domain prefixes;
 | 
					  inherit (lib.my.c.kelder) domain prefixes;
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  nixos.systems.kelder-spoder = {
 | 
					  nixos.systems.kelder-spoder = { config, ... }: {
 | 
				
			||||||
    system = "x86_64-linux";
 | 
					    system = "x86_64-linux";
 | 
				
			||||||
    nixpkgs = "mine";
 | 
					    nixpkgs = "mine";
 | 
				
			||||||
 | 
					    rendered = config.configuration.config.my.asContainer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    assignments = {
 | 
					    assignments = {
 | 
				
			||||||
      internal = {
 | 
					      internal = {
 | 
				
			||||||
@@ -95,7 +96,6 @@ in
 | 
				
			|||||||
            datadir = "/mnt/storage/nextcloud";
 | 
					            datadir = "/mnt/storage/nextcloud";
 | 
				
			||||||
            hostName = "cloud.${domain}";
 | 
					            hostName = "cloud.${domain}";
 | 
				
			||||||
            https = true;
 | 
					            https = true;
 | 
				
			||||||
            enableBrokenCiphersForSSE = false;
 | 
					 | 
				
			||||||
            config = {
 | 
					            config = {
 | 
				
			||||||
              extraTrustedDomains = [ "cloud-local.${domain}" ];
 | 
					              extraTrustedDomains = [ "cloud-local.${domain}" ];
 | 
				
			||||||
              adminpassFile = config.age.secrets."kelder/nextcloud-root.txt".path;
 | 
					              adminpassFile = config.age.secrets."kelder/nextcloud-root.txt".path;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -164,6 +164,7 @@ let
 | 
				
			|||||||
          });
 | 
					          });
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					      rendered = mkOpt' unspecified config'.configuration "Final NixOS modules system output.";
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    config = {
 | 
					    config = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,9 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  nixos.systems.installer = {
 | 
					  nixos.systems.installer = { config, ... }: {
 | 
				
			||||||
    system = "x86_64-linux";
 | 
					    system = "x86_64-linux";
 | 
				
			||||||
    nixpkgs = "unstable";
 | 
					    nixpkgs = "unstable";
 | 
				
			||||||
    docCustom = false;
 | 
					    docCustom = false;
 | 
				
			||||||
 | 
					    rendered = config.configuration.config.my.asISO;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    configuration =
 | 
					    configuration =
 | 
				
			||||||
      { lib, pkgs, modulesPath, config, ... }:
 | 
					      { lib, pkgs, modulesPath, config, ... }:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{ lib, pkgs, extendModules, modulesPath, baseModules, options, config, ... }:
 | 
					{ lib, pkgs, extendModules, modulesPath, options, config, ... }:
 | 
				
			||||||
let
 | 
					let
 | 
				
			||||||
  inherit (lib) recursiveUpdate mkOption mkDefault mkIf mkMerge flatten optional;
 | 
					  inherit (lib) recursiveUpdate mkOption mkDefault mkIf mkMerge flatten optional;
 | 
				
			||||||
  inherit (lib.my) mkBoolOpt' dummyOption;
 | 
					  inherit (lib.my) mkBoolOpt' dummyOption;
 | 
				
			||||||
@@ -43,15 +43,15 @@ let
 | 
				
			|||||||
    ];
 | 
					    ];
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  mkAsOpt = ext: desc: mkOption {
 | 
					  mkAsOpt = ext: desc: with lib.types; mkOption {
 | 
				
			||||||
    inherit (ext) type;
 | 
					    type = unspecified;
 | 
				
			||||||
    default = { };
 | 
					    default = ext;
 | 
				
			||||||
    visible = "shallow";
 | 
					    visible = "shallow";
 | 
				
			||||||
    description = "Configuration as ${desc}.";
 | 
					    description = "Configuration as ${desc}.";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  options = with lib.types; {
 | 
					  options = {
 | 
				
			||||||
    my = {
 | 
					    my = {
 | 
				
			||||||
      build = {
 | 
					      build = {
 | 
				
			||||||
        isDevVM = mkBoolOpt' false "Whether the system is a development VM.";
 | 
					        isDevVM = mkBoolOpt' false "Whether the system is a development VM.";
 | 
				
			||||||
@@ -92,10 +92,10 @@ in
 | 
				
			|||||||
    my = {
 | 
					    my = {
 | 
				
			||||||
      buildAs = {
 | 
					      buildAs = {
 | 
				
			||||||
        # The meta.mainProgram should probably be set upstream but oh well...
 | 
					        # The meta.mainProgram should probably be set upstream but oh well...
 | 
				
			||||||
        devVM = recursiveUpdate config.my.asDevVM.system.build.vm { meta.mainProgram = "run-${config.system.name}-vm"; };
 | 
					        devVM = recursiveUpdate config.my.asDevVM.config.system.build.vm { meta.mainProgram = "run-${config.system.name}-vm"; };
 | 
				
			||||||
        iso = config.my.asISO.system.build.isoImage;
 | 
					        iso = config.my.asISO.config.system.build.isoImage;
 | 
				
			||||||
        container = config.my.asContainer.system.build.toplevel;
 | 
					        container = config.my.asContainer.config.system.build.toplevel;
 | 
				
			||||||
        kexecTree = config.my.asKexecTree.system.build.kexecTree;
 | 
					        kexecTree = config.my.asKexecTree.config.system.build.kexecTree;
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user