settei/hosts/default.nix
Nikodem Rabuliński ef44ff6943
Refactored modules, updated flake, added ci effects, and more.
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.
2023-09-16 17:18:17 +02:00

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
];
}