Big refactor WIP
This commit is contained in:
57
flake.nix
57
flake.nix
@@ -16,64 +16,37 @@
|
||||
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
|
||||
lib = nixpkgs.lib;
|
||||
|
||||
hostSystem = { hostname }: lib.nixosSystem {
|
||||
hostSystem = { hostname, headless }: lib.nixosSystem {
|
||||
inherit system;
|
||||
|
||||
modules = [
|
||||
./hosts/${hostname}/configuration.nix
|
||||
|
||||
({ pkgs, ... }: {
|
||||
nixpkgs.overlays = [ i3utils.overlay ];
|
||||
})
|
||||
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
users = import ./users;
|
||||
extraSpecialArgs = {inherit hostname; inherit headless;};
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
mkUserConf = { hostname, extraSauce ? [] }:
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
inherit system pkgs;
|
||||
|
||||
username = "daniel";
|
||||
homeDirectory = "/home/daniel";
|
||||
configuration = {
|
||||
imports = [
|
||||
./user/daniel/home.nix
|
||||
({ pkgs, ... }: {
|
||||
nixpkgs.overlays = [ i3utils.overlay ];
|
||||
})
|
||||
] ++ extraSauce;
|
||||
};
|
||||
stateVersion = "21.05";
|
||||
};
|
||||
|
||||
|
||||
in {
|
||||
homeConfigurations = {
|
||||
daniel-dingbox = mkUserConf {
|
||||
hostname = "dingbox";
|
||||
extraSauce = [ ./user/host-specific/dingbox ];
|
||||
};
|
||||
daniel-miniding = mkUserConf {
|
||||
hostname = "miniding";
|
||||
extraSauce = [ ./user/host-specific/miniding ];
|
||||
};
|
||||
daniel-pingbox = mkUserConf {
|
||||
hostname = "pingbox";
|
||||
extraSauce = [ ./user/host-specific/pingbox ];
|
||||
};
|
||||
};
|
||||
|
||||
nixosConfigurations = {
|
||||
dingbox = hostSystem { hostname = "dingbox"; };
|
||||
miniding = hostSystem { hostname = "miniding"; };
|
||||
pingbox = hostSystem { hostname = "pingbox"; };
|
||||
dingserver = hostSystem { hostname = "dingserver"; };
|
||||
dingbox = hostSystem { hostname = "dingbox"; headless = false; };
|
||||
miniding = hostSystem { hostname = "miniding"; headless = false; };
|
||||
pingbox = hostSystem { hostname = "pingbox"; headless = false; };
|
||||
dingserver = hostSystem { hostname = "dingserver"; headless = true; };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user