Refactored Flake for host specific Setups

This commit is contained in:
Chris Toph 2024-09-25 14:24:57 -04:00
parent b5aa70aa3a
commit aea79d72e1

159
flake.nix
View file

@ -9,91 +9,86 @@
}; };
}; };
outputs = { self, nixpkgs, home-manager, ... }: outputs = { self, nixpkgs, home-manager, ... }: let
let ARM = "aarch64-linux"; # ARM systems
system = "x86_64-linux"; X86 = "x86_64-linux"; # x86_64 systems
lib = nixpkgs.lib; lib = nixpkgs.lib;
pkgs = import nixpkgs {
inherit system;
# overlays = [ (import ./nixos/overlays) ];
};
in { in {
nixosConfigurations = { nixosConfigurations = {
caenus = lib.nixosSystem { caenus = lib.nixosSystem {
inherit system; system = ARM;
modules = [ modules = [
./nix ./nix
./host/caenus ./host/caenus
]; ];
};
cloud = lib.nixosSystem {
inherit system;
modules = [
./nix
./host/cloud
];
};
dockge = lib.nixosSystem {
inherit system;
modules = [
./nix
./host/dockge
];
};
nix = lib.nixosSystem {
inherit system;
modules = [
./nix
./host/nix
];
};
proxy = lib.nixosSystem {
inherit system;
modules = [
./nix
./host/proxy
];
};
}; };
homeConfigurations = {
"toph@caenus" = home-manager.lib.homeManagerConfiguration { cloud = lib.nixosSystem {
inherit pkgs; system = X86;
hostName = "caenus"; modules = [
modules = [ ./home-manager ]; ./nix
specialArgs = { inherit hostName; }; ./host/cloud
}; ];
};
"toph@cloud" = home-manager.lib.homeManagerConfiguration {
inherit pkgs; dockge = lib.nixosSystem {
hostName = "cloud"; system = X86;
modules = [ ./home-manager ]; modules = [
specialArgs = { inherit hostName; }; ./nix
}; ./host/dockge
];
"toph@dockge" = home-manager.lib.homeManagerConfiguration { };
inherit pkgs;
hostName = "dockge"; nix = lib.nixosSystem {
modules = [ ./home-manager ]; system = X86;
specialArgs = { inherit hostName; }; modules = [
}; ./nix
./host/nix
"toph@nix" = home-manager.lib.homeManagerConfiguration { ];
inherit pkgs; };
hostName = "nix";
modules = [ ./home-manager ]; proxy = lib.nixosSystem {
specialArgs = { inherit hostName; }; system = X86;
}; modules = [
./nix
"toph@proxy" = home-manager.lib.homeManagerConfiguration { ./host/proxy
inherit pkgs; ];
hostName = "proxy";
modules = [ ./home-manager ];
specialArgs = { inherit hostName; };
};
}; };
}; };
homeConfigurations = let
armPkgs = import nixpkgs {
system = ARM;
};
x86Pkgs = import nixpkgs {
system = X86;
# overlays = [ (import ./nixos/overlays) ];
};
in {
"toph@caenus" = home-manager.lib.homeManagerConfiguration {
pkgs = armPkgs;
modules = [ ./home ];
};
"toph@cloud" = home-manager.lib.homeManagerConfiguration {
pkgs = x86Pkgs;
modules = [ ./home ];
};
"toph@dockge" = home-manager.lib.homeManagerConfiguration {
pkgs = x86Pkgs;
modules = [ ./home ];
};
"toph@nix" = home-manager.lib.homeManagerConfiguration {
pkgs = x86Pkgs;
modules = [ ./home ];
};
"toph@proxy" = home-manager.lib.homeManagerConfiguration {
pkgs = x86Pkgs;
modules = [ ./home ];
};
};
};
} }