2024-11-07 02:01:45 +00:00
|
|
|
{ config, lib, ... }:
|
2024-10-06 19:25:34 +00:00
|
|
|
let inherit (lib) mkOption types;
|
|
|
|
in {
|
|
|
|
imports = [
|
2024-12-07 11:24:10 +00:00
|
|
|
./fileSystems.nix
|
2024-10-06 19:25:34 +00:00
|
|
|
./hardware.nix
|
|
|
|
./i18n.nix
|
|
|
|
./os.nix
|
2024-10-13 20:04:43 +00:00
|
|
|
./programs.nix
|
2024-10-06 19:25:34 +00:00
|
|
|
./software.nix
|
|
|
|
./users.nix
|
|
|
|
./windows.nix
|
|
|
|
];
|
2024-07-11 19:58:46 +00:00
|
|
|
|
2024-10-06 19:25:34 +00:00
|
|
|
options = {
|
|
|
|
valhalla = {
|
|
|
|
boot = {
|
|
|
|
efiMountPoint = mkOption {
|
|
|
|
type = types.str;
|
|
|
|
description = "The mountpoint of the efi partition.";
|
|
|
|
default = "/boot";
|
2024-07-16 20:17:55 +00:00
|
|
|
};
|
|
|
|
|
2024-10-06 19:25:34 +00:00
|
|
|
label = mkOption {
|
2024-09-19 21:45:19 +00:00
|
|
|
type = types.str;
|
2024-10-06 19:25:34 +00:00
|
|
|
description = "The label of the boot entry.";
|
|
|
|
default = "OS";
|
2024-09-19 21:45:19 +00:00
|
|
|
};
|
2024-10-06 19:25:34 +00:00
|
|
|
};
|
2024-09-19 21:45:19 +00:00
|
|
|
|
2024-11-07 02:01:45 +00:00
|
|
|
fqdn = mkOption {
|
|
|
|
type = types.str;
|
|
|
|
description = "The FQDN of the system.";
|
|
|
|
default = config.valhalla.hostname;
|
|
|
|
};
|
|
|
|
|
2024-10-06 19:25:34 +00:00
|
|
|
hostname = mkOption {
|
|
|
|
type = types.str;
|
|
|
|
description = "The hostname of the system.";
|
|
|
|
default = "valhalla";
|
|
|
|
};
|
2024-07-13 07:52:30 +00:00
|
|
|
|
2024-10-06 19:25:34 +00:00
|
|
|
setupUser = {
|
|
|
|
name = mkOption {
|
|
|
|
type = types.str;
|
|
|
|
description = "The name of the user used to set up the system.";
|
|
|
|
default = "heimdall";
|
2024-07-13 07:52:30 +00:00
|
|
|
};
|
|
|
|
|
2024-10-06 19:25:34 +00:00
|
|
|
id = mkOption {
|
|
|
|
type = types.int;
|
|
|
|
description = "The UID of the user used to set up the system.";
|
|
|
|
default = 420;
|
2024-07-11 19:58:46 +00:00
|
|
|
};
|
2024-10-06 19:25:34 +00:00
|
|
|
};
|
2024-07-11 20:05:36 +00:00
|
|
|
|
2024-10-06 19:25:34 +00:00
|
|
|
timeZone = mkOption {
|
|
|
|
type = types.nullOr types.str;
|
|
|
|
description = "The time zone of the system.";
|
|
|
|
default = null;
|
|
|
|
};
|
2024-07-11 20:10:57 +00:00
|
|
|
|
2024-10-06 19:25:34 +00:00
|
|
|
keyMap = mkOption {
|
|
|
|
type = types.nullOr types.str;
|
|
|
|
description = "The console key map of the system.";
|
|
|
|
default = null;
|
|
|
|
};
|
2024-09-20 00:07:32 +00:00
|
|
|
|
2024-10-06 19:25:34 +00:00
|
|
|
keyboardLayout = mkOption {
|
|
|
|
type = types.nullOr types.str;
|
|
|
|
description = "The X11 keyboard layout of the system.";
|
|
|
|
default = null;
|
|
|
|
};
|
|
|
|
|
|
|
|
hidpi = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
description = "A value indicating whether the screen is hidpi.";
|
|
|
|
default = false;
|
2024-07-11 19:58:46 +00:00
|
|
|
};
|
|
|
|
};
|
2024-10-06 19:25:34 +00:00
|
|
|
};
|
|
|
|
}
|