Settei modules now should be reusable by others. Started migrating legion (home server) over to the new config. Added initial setup for hercules-ci. Updated all flake inputs.
59 lines
1.3 KiB
Nix
59 lines
1.3 KiB
Nix
{
|
|
config,
|
|
self,
|
|
inputs,
|
|
lib,
|
|
...
|
|
}: {
|
|
builders = {
|
|
nixos = name: module: let
|
|
defaultOptions = {
|
|
username,
|
|
inputs',
|
|
lib,
|
|
...
|
|
}: {
|
|
_file = ./default.nix;
|
|
|
|
settei = {
|
|
username = lib.mkDefault "niko";
|
|
sane-defaults = {
|
|
enable = lib.mkDefault true;
|
|
allSshKeys = config.assets.sshKeys.user;
|
|
};
|
|
flake-qol = {
|
|
enable = true;
|
|
inputs = inputs // {settei = self;};
|
|
};
|
|
user = {
|
|
enable = true;
|
|
config = {
|
|
home.packages = lib.attrValues inputs'.settei.packages;
|
|
};
|
|
};
|
|
};
|
|
|
|
time.timeZone = lib.mkDefault "Europe/Warsaw";
|
|
i18n.defaultLocale = lib.mkDefault "en_US.UTF-8";
|
|
};
|
|
in
|
|
inputs.nixpkgs.lib.nixosSystem {
|
|
modules = [
|
|
inputs.agenix.nixosModules.age
|
|
inputs.disko.nixosModules.disko
|
|
inputs.mailserver.nixosModules.default
|
|
inputs.home-manager.nixosModules.home-manager
|
|
self.nixosModules.settei
|
|
defaultOptions
|
|
module
|
|
];
|
|
specialArgs.configurationName = name;
|
|
};
|
|
};
|
|
|
|
imports = [
|
|
./kazuki
|
|
./hijiri-vm
|
|
# ./legion
|
|
];
|
|
}
|