2023-09-05 22:39:17 -05:00
|
|
|
inputs @ { self, ... }:
|
|
|
|
let
|
|
|
|
daniel = {
|
|
|
|
home-manager.useGlobalPkgs = true;
|
|
|
|
home-manager.useUserPackages = true;
|
|
|
|
home-manager.users.daniel = import ./daniel.nix;
|
|
|
|
};
|
|
|
|
hms = [
|
|
|
|
inputs.home-manager.nixosModules.home-manager
|
|
|
|
daniel
|
|
|
|
];
|
|
|
|
disko = scheme: disks: [
|
|
|
|
inputs.disko.nixosModules.disko
|
|
|
|
scheme
|
|
|
|
{ _module.args.disks = disks; }
|
|
|
|
];
|
2023-09-05 23:51:32 -05:00
|
|
|
nixosSystem = modules: (inputs.nixpkgs.lib.nixosSystem {
|
2023-09-05 22:39:17 -05:00
|
|
|
system = "x86_64-linux";
|
|
|
|
specialArgs = { inherit inputs; };
|
2023-09-05 23:51:32 -05:00
|
|
|
modules = [
|
|
|
|
inputs.sops-nix.nixosModules.sops
|
|
|
|
./nixos/common.nix
|
|
|
|
] ++ modules ++ hms;
|
|
|
|
});
|
|
|
|
diskoNixosSystem = scheme: disks: modules: (nixosSystem ((disko scheme disks) ++ modules));
|
2023-09-05 22:39:17 -05:00
|
|
|
in
|
|
|
|
{
|
2023-09-05 23:51:32 -05:00
|
|
|
# TODO: disko-fy rascal and beefcake?
|
|
|
|
|
2023-09-05 22:39:17 -05:00
|
|
|
beefcake = nixosSystem [
|
2023-09-05 23:51:32 -05:00
|
|
|
./nixos/beefcake.nix
|
2023-09-05 22:39:17 -05:00
|
|
|
inputs.api-lyte-dev.nixosModules.x86_64-linux.api-lyte-dev
|
2023-09-05 23:51:32 -05:00
|
|
|
];
|
2023-09-05 22:39:17 -05:00
|
|
|
|
2023-09-05 23:51:32 -05:00
|
|
|
rascal = nixosSystem [ ./nixos/rascal.nix ];
|
|
|
|
musicbox = diskoNixosSystem self.diskoConfigurations.unencrypted [ "/dev/sda" ] [ ./nixos/musicbox.nix ];
|
|
|
|
thinker = diskoNixosSystem self.diskoConfigurations.standard [ "/dev/nvme0n1" ] [ ./nixos/thinker.nix ];
|
|
|
|
dragon = diskoNixosSystem self.diskoConfigurations.standard [ "/dev/disk/by-uuid/asdf" ] [ ./machines/dragon.nix ];
|
2023-09-05 22:39:17 -05:00
|
|
|
}
|