oizys/lib/generators.nix

88 lines
1.7 KiB
Nix
Raw Normal View History

2024-07-03 13:05:25 -05:00
{
inputs,
self,
lib,
...
}:
let
inherit (builtins) filter;
inherit (lib)
nixosSystem
mkDefaultOizysModule
mkOizysModule
enabled
enableAttrs
2024-07-25 11:56:35 -05:00
isNixFile
2024-07-27 11:45:03 -05:00
flakeFromSystem
2024-07-03 13:05:25 -05:00
;
inherit (lib.filesystem) listFilesRecursive;
2024-07-27 11:45:03 -05:00
flake = flakeFromSystem "x86_64-linux";
2024-07-25 11:56:35 -05:00
hostPath = host: ../. + "/hosts/${host}";
# all nix files not including pkgs.nix
hostFiles = host: filter isNixFile (listFilesRecursive (hostPath host));
2024-08-09 15:28:13 -05:00
# hostFiles =
# host:
# filter isNixFile (
# host
# |> hostPath
# |> listFilesRecursive
# )
2024-07-03 13:05:25 -05:00
mkIso = nixosSystem {
system = "x86_64-linux";
modules = [
2024-08-09 15:28:32 -05:00
inputs.lix-module.nixosModules.default
2024-07-03 13:05:25 -05:00
self.nixosModules.nix
self.nixosModules.essentials
(
2024-07-25 09:57:26 -05:00
{ pkgs, modulesPath, ... }:
2024-07-03 13:05:25 -05:00
{
imports = [ (modulesPath + "/installer/cd-dvd/installation-cd-minimal.nix") ];
2024-08-09 15:28:32 -05:00
environment.systemPackages = (with pkgs; [ neovim ]) ++ [
self.packages.${pkgs.system}.default
];
2024-07-03 13:05:25 -05:00
}
)
];
2024-07-07 14:32:46 -05:00
specialArgs = {
inherit
inputs
lib
self
enabled
;
};
2024-07-03 13:05:25 -05:00
};
2024-07-10 13:06:28 -05:00
2024-07-03 13:05:25 -05:00
mkSystem =
hostName:
nixosSystem {
system = "x86_64-linux";
modules = [
../modules/oizys.nix
../overlays
inputs.lix-module.nixosModules.default
inputs.hyprland.nixosModules.default
2024-07-25 11:56:35 -05:00
] ++ (hostFiles hostName);
2024-07-03 13:05:25 -05:00
specialArgs = {
inherit
inputs
lib
self
mkDefaultOizysModule
mkOizysModule
enabled
enableAttrs
hostName
2024-07-27 11:45:03 -05:00
flake
2024-07-03 13:05:25 -05:00
;
};
};
in
{
inherit mkIso mkSystem;
}