create module for disk configuration
This commit is contained in:
parent
8a7c1ba6a9
commit
04e9ce3abb
4 changed files with 52 additions and 72 deletions
|
@ -66,7 +66,7 @@
|
|||
inherit system;
|
||||
specialArgs = { inherit kubenix; };
|
||||
modules = [
|
||||
machine.specificConfig
|
||||
machine.nixosModule
|
||||
disko.nixosModules.disko
|
||||
agenix.nixosModules.default
|
||||
./configuration.nix
|
||||
|
|
|
@ -3,51 +3,18 @@
|
|||
name = "jefke";
|
||||
hostname = "jefke.hyp";
|
||||
|
||||
specificConfig = {
|
||||
nixosModule = {
|
||||
custom = {
|
||||
dataDisk.enable = true;
|
||||
terraformDatabase.enable = true;
|
||||
k3s.enable = true;
|
||||
disko.osDiskDevice = "/dev/nvme0n1";
|
||||
|
||||
ssh = {
|
||||
useCertificates = true;
|
||||
hostCert = builtins.readFile ./jefke_host_ed25519-cert.pub;
|
||||
userCert = builtins.readFile ./jefke_user_ed25519-cert.pub;
|
||||
};
|
||||
|
||||
terraformDatabase.enable = true;
|
||||
|
||||
k3s.enable = true;
|
||||
};
|
||||
|
||||
disko.devices = {
|
||||
disk = {
|
||||
vdb = {
|
||||
device = "/dev/nvme0n1";
|
||||
type = "disk";
|
||||
content = {
|
||||
type = "gpt";
|
||||
partitions = {
|
||||
ESP = {
|
||||
type = "EF00";
|
||||
size = "500M";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "vfat";
|
||||
mountpoint = "/boot";
|
||||
};
|
||||
};
|
||||
root = {
|
||||
end = "-4G";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "btrfs";
|
||||
mountpoint = "/";
|
||||
};
|
||||
};
|
||||
swap = { size = "100%"; };
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -56,46 +23,16 @@
|
|||
name = "atlas";
|
||||
hostname = "atlas.hyp";
|
||||
|
||||
specificConfig = {
|
||||
nixosModule = {
|
||||
custom = {
|
||||
disko.osDiskDevice = "/dev/nvme0n1";
|
||||
|
||||
ssh = {
|
||||
useCertificates = true;
|
||||
hostCert = builtins.readFile ./atlas_host_ed25519-cert.pub;
|
||||
userCert = builtins.readFile ./atlas_user_ed25519-cert.pub;
|
||||
};
|
||||
};
|
||||
|
||||
disko.devices = {
|
||||
disk = {
|
||||
vdb = {
|
||||
device = "/dev/nvme0n1";
|
||||
type = "disk";
|
||||
content = {
|
||||
type = "gpt";
|
||||
partitions = {
|
||||
ESP = {
|
||||
type = "EF00";
|
||||
size = "500M";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "vfat";
|
||||
mountpoint = "/boot";
|
||||
};
|
||||
};
|
||||
root = {
|
||||
end = "-4G";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "btrfs";
|
||||
mountpoint = "/";
|
||||
};
|
||||
};
|
||||
swap = { size = "100%"; };
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
{
|
||||
imports = [ ./terraform-database.nix ./data-disk.nix ./ssh-certificates.nix ./k3s ];
|
||||
imports = [ ./terraform-database.nix ./data-disk.nix ./ssh-certificates.nix ./k3s ./disko.nix ];
|
||||
}
|
||||
|
|
43
modules/custom/disko.nix
Normal file
43
modules/custom/disko.nix
Normal file
|
@ -0,0 +1,43 @@
|
|||
{ lib, config, ... }:
|
||||
let cfg = config.custom.disko;
|
||||
in {
|
||||
options = {
|
||||
custom = {
|
||||
disko.osDiskDevice = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = ''
|
||||
The disk device to be used for the operating system.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# TODO: rename this to 'osDisk'. Unfortunately, we would need to run nixos-anywhere again then
|
||||
config.disko.devices.disk.vdb = {
|
||||
device = cfg.osDiskDevice;
|
||||
type = "disk";
|
||||
content = {
|
||||
type = "gpt";
|
||||
partitions = {
|
||||
ESP = {
|
||||
type = "EF00";
|
||||
size = "500M";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "vfat";
|
||||
mountpoint = "/boot";
|
||||
};
|
||||
};
|
||||
root = {
|
||||
end = "-4G";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "btrfs";
|
||||
mountpoint = "/";
|
||||
};
|
||||
};
|
||||
swap = { size = "100%"; };
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue