claude restructure
This commit is contained in:
@@ -1,48 +1,55 @@
|
||||
#
|
||||
# These are the different profiles that can be used when building NixOS.
|
||||
#
|
||||
# flake.nix
|
||||
# └─ ./hosts
|
||||
# flake.nix
|
||||
# └─ ./hosts
|
||||
# ├─ default.nix *
|
||||
# ├─ configuration.nix
|
||||
# ├─ configuration_common.nix
|
||||
# ├─ configuration_desktop.nix
|
||||
# ├─ configuration_server.nix
|
||||
# ├─ home.nix
|
||||
# └─ ./desktop OR ./laptop OR ./vm
|
||||
# ├─ ./default.nix
|
||||
# └─ ./home.nix
|
||||
# └─ ./home.nix
|
||||
#
|
||||
|
||||
{ lib, inputs, nixpkgs, nixpkgs-unstable, nixos-hardware, home-manager, home-manager-unstable, agenix, jovian-nixos, microvm, impermanence, lanzaboote, ... }:
|
||||
|
||||
let
|
||||
user = "kabbone";
|
||||
userdmz = "diablo";
|
||||
userserver = "mephisto";
|
||||
location = "$HOME/.setup";
|
||||
location = builtins.getEnv "HOME" + "/.setup";
|
||||
|
||||
system = "x86_64-linux"; # System architecture
|
||||
system = "x86_64-linux";
|
||||
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfree = true; # Allow proprietary software
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
|
||||
pkgs-unstable = import nixpkgs-unstable {
|
||||
inherit system;
|
||||
config.allowUnfree = true; # Allow proprietary software
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
|
||||
pkgs-stable = import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfree = true; # Allow proprietary software
|
||||
};
|
||||
pkgs-stable = pkgs;
|
||||
|
||||
pkgs-kabbone = import ../packages {
|
||||
inherit system;
|
||||
inherit pkgs;
|
||||
};
|
||||
|
||||
lib = nixpkgs.lib;
|
||||
users.defaultShell = "pkgs.zsh";
|
||||
# Helper: returns [hm-module, config-attrset] for the modules list.
|
||||
# hm - the home-manager flake input to use (stable or unstable)
|
||||
# hmImports - list of home.nix paths for this host
|
||||
mkHM = hm: hmImports: [
|
||||
hm.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
home-manager.users.${user}.imports = hmImports;
|
||||
}
|
||||
];
|
||||
|
||||
in
|
||||
{
|
||||
@@ -55,22 +62,11 @@ in
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
./desktop
|
||||
./configuration_desktop.nix
|
||||
../modules/hardware/hydraCache.nix
|
||||
../modules/hardware/remoteBuilder.nix
|
||||
nixos-hardware.nixosModules.common-cpu-amd
|
||||
nixos-hardware.nixosModules.common-gpu-amd
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
home-manager.users.${user} = {
|
||||
imports = [(import ./home.nix)] ++ [(import ./desktop/home.nix)];
|
||||
};
|
||||
}
|
||||
];
|
||||
] ++ (mkHM home-manager [ ./home.nix ./desktop/home.nix ]);
|
||||
};
|
||||
|
||||
lifebook = lib.nixosSystem { # Laptop profile
|
||||
@@ -81,19 +77,9 @@ in
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
./lifebook
|
||||
./configuration_desktop.nix
|
||||
../modules/hardware/hydraCache.nix
|
||||
nixos-hardware.nixosModules.common-cpu-intel
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
home-manager.users.${user} = {
|
||||
imports = [(import ./home.nix)] ++ [(import ./lifebook/home.nix)];
|
||||
};
|
||||
}
|
||||
];
|
||||
] ++ (mkHM home-manager [ ./home.nix ./lifebook/home.nix ]);
|
||||
};
|
||||
|
||||
steamdeck = nixpkgs-unstable.lib.nixosSystem { # steamdeck profile
|
||||
@@ -105,151 +91,81 @@ in
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
./steamdeck
|
||||
./configuration_desktop.nix
|
||||
../modules/hardware/hydraCache.nix
|
||||
|
||||
home-manager-unstable.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
home-manager.users.${user} = {
|
||||
imports = [(import ./home.nix)] ++ [(import ./steamdeck/home.nix)];
|
||||
};
|
||||
}
|
||||
];
|
||||
] ++ (mkHM home-manager-unstable [ ./home.nix ./steamdeck/home.nix ]);
|
||||
};
|
||||
|
||||
kabtop = lib.nixosSystem { # Desktop profile
|
||||
kabtop = lib.nixosSystem { # Server profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix nixpkgs pkgs-unstable impermanence; };
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix impermanence; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
microvm.nixosModules.host
|
||||
./kabtop
|
||||
./configuration_server.nix
|
||||
../modules/hardware/hydraCache.nix
|
||||
nixos-hardware.nixosModules.common-cpu-amd
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
home-manager.users.${user} = {
|
||||
imports = [(import ./home_server.nix)] ++ [(import ./kabtop/home.nix)];
|
||||
};
|
||||
}
|
||||
];
|
||||
] ++ (mkHM home-manager [ ./home_server.nix ./kabtop/home.nix ]);
|
||||
};
|
||||
|
||||
nasbak = lib.nixosSystem { # Desktop profile
|
||||
nasbak = lib.nixosSystem { # Server profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
./nasbackup
|
||||
./configuration_server.nix
|
||||
../modules/hardware/hydraCache.nix
|
||||
nixos-hardware.nixosModules.common-cpu-intel
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
home-manager.users.${user} = {
|
||||
imports = [(import ./home_server.nix)] ++ [(import ./nasbackup/home.nix)];
|
||||
};
|
||||
}
|
||||
];
|
||||
] ++ (mkHM home-manager [ ./home_server.nix ./nasbackup/home.nix ]);
|
||||
};
|
||||
|
||||
jupiter = lib.nixosSystem { # Desktop profile
|
||||
jupiter = lib.nixosSystem { # Server profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix pkgs-kabbone; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
./jupiter
|
||||
./configuration_server.nix
|
||||
../modules/hardware/hydraCache.nix
|
||||
nixos-hardware.nixosModules.common-cpu-intel
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
home-manager.users.${user} = {
|
||||
imports = [(import ./home_server.nix)] ++ [(import ./jupiter/home.nix)];
|
||||
};
|
||||
}
|
||||
];
|
||||
] ++ (mkHM home-manager [ ./home_server.nix ./jupiter/home.nix ]);
|
||||
};
|
||||
|
||||
kabtopci = lib.nixosSystem { # Desktop profile
|
||||
kabtopci = lib.nixosSystem { # Server profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix nixpkgs impermanence; };
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix impermanence; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
microvm.nixosModules.host
|
||||
./kabtopci
|
||||
./configuration_server.nix
|
||||
../modules/hardware/hydraCache.nix
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
home-manager.users.${user} = {
|
||||
imports = [(import ./home_server.nix)] ++ [(import ./kabtopci/home.nix)];
|
||||
};
|
||||
}
|
||||
];
|
||||
] ++ (mkHM home-manager [ ./home_server.nix ./kabtopci/home.nix ]);
|
||||
};
|
||||
|
||||
kubemaster-1 = lib.nixosSystem { # Desktop profile
|
||||
kubemaster-1 = lib.nixosSystem { # Server profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix nixpkgs impermanence; };
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix impermanence; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
microvm.nixosModules.host
|
||||
./kubemaster-1
|
||||
./configuration_server.nix
|
||||
../modules/hardware/hydraCache.nix
|
||||
nixos-hardware.nixosModules.common-cpu-intel
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
home-manager.users.${user} = {
|
||||
imports = [(import ./home_server.nix)] ++ [(import ./kubemaster-1/home.nix)];
|
||||
};
|
||||
}
|
||||
];
|
||||
] ++ (mkHM home-manager [ ./home_server.nix ./kubemaster-1/home.nix ]);
|
||||
};
|
||||
|
||||
dmz = lib.nixosSystem { # Desktop profile
|
||||
dmz = lib.nixosSystem { # Server profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix nixpkgs impermanence; };
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix impermanence; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
microvm.nixosModules.host
|
||||
./dmz
|
||||
./configuration_server.nix
|
||||
../modules/hardware/hydraCache.nix
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
home-manager.users.${user} = {
|
||||
imports = [(import ./home_server.nix)] ++ [(import ./dmz/home.nix)];
|
||||
};
|
||||
}
|
||||
];
|
||||
] ++ (mkHM home-manager [ ./home_server.nix ./dmz/home.nix ]);
|
||||
};
|
||||
|
||||
# vm = lib.nixosSystem { # VM profile
|
||||
@@ -259,14 +175,7 @@ in
|
||||
# ./vm
|
||||
# ./configuration.nix
|
||||
#
|
||||
# home-manager.nixosModules.home-manager {
|
||||
# home-manager.useGlobalPkgs = true;
|
||||
# home-manager.useUserPackages = true;
|
||||
# home-manager.extraSpecialArgs = { inherit user; };
|
||||
# home-manager.users.${user} = {
|
||||
# imports = [(import ./home.nix)] ++ [(import ./vm/home.nix)];
|
||||
# };
|
||||
# }
|
||||
# (mkHM home-manager [ ./home.nix ./vm/home.nix ])
|
||||
# ];
|
||||
# };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user