summaryrefslogtreecommitdiffstats
path: root/example/lvm-raid.nix
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2022-08-29 11:45:19 +0200
committerlassulus <lassulus@lassul.us>2022-09-02 11:14:58 +0200
commitdcb0c42857a2ada8754d4514d4b8c4c1d67ab3f5 (patch)
treed4c0f34db5bb060d9133fc03f57e68e46fdb86ff /example/lvm-raid.nix
parentadf901d58155ca268d15351fff164d3ef38a0890 (diff)
reimplement disko using the nixos type system
This should make the code cleaner, more robust and errors should be clearer. we also changed the configuration format a bit.
Diffstat (limited to 'example/lvm-raid.nix')
-rw-r--r--example/lvm-raid.nix112
1 files changed, 60 insertions, 52 deletions
diff --git a/example/lvm-raid.nix b/example/lvm-raid.nix
index 48930ec..3c5ee69 100644
--- a/example/lvm-raid.nix
+++ b/example/lvm-raid.nix
@@ -1,66 +1,74 @@
{
- type = "devices";
- content = {
+ disk = {
vdb = {
- type = "table";
- format = "gpt";
- partitions = [
- {
- type = "partition";
- part-type = "primary";
- start = "0%";
- end = "100%";
- content = {
- type = "lvm_pv";
- vg = "pool";
- };
- }
- ];
+ type = "disk";
+ device = "/dev/vdb";
+ content = {
+ type = "table";
+ format = "gpt";
+ partitions = [
+ {
+ type = "partition";
+ name = "primary";
+ start = "0%";
+ end = "100%";
+ content = {
+ type = "lvm_pv";
+ vg = "pool";
+ };
+ }
+ ];
+ };
};
vdc = {
- type = "table";
- format = "gpt";
- partitions = [
- {
- type = "partition";
- part-type = "primary";
- start = "0%";
- end = "100%";
- content = {
- type = "lvm_pv";
- vg = "pool";
- };
- }
- ];
+ type = "disk";
+ device = "/dev/vdc";
+ content = {
+ type = "table";
+ format = "gpt";
+ partitions = [
+ {
+ type = "partition";
+ name = "primary";
+ start = "0%";
+ end = "100%";
+ content = {
+ type = "lvm_pv";
+ vg = "pool";
+ };
+ }
+ ];
+ };
};
+ };
+ lvm_vg = {
pool = {
type = "lvm_vg";
- lvs = {
- root = {
- type = "lvm_lv";
- size = "100M";
+ lvs = {
+ root = {
+ type = "lvm_lv";
+ size = "100M";
+ lvm_type = "mirror";
+ content = {
+ type = "filesystem";
+ format = "ext4";
mountpoint = "/";
- lvm_type = "mirror";
- content = {
- type = "filesystem";
- format = "ext4";
- mountpoint = "/";
- options = [
- "defaults"
- ];
- };
+ options = [
+ "defaults"
+ ];
};
- home = {
- type = "lvm_lv";
- size = "10M";
- lvm_type = "raid0";
- content = {
- type = "filesystem";
- format = "ext4";
- mountpoint = "/home";
- };
+ };
+ home = {
+ type = "lvm_lv";
+ size = "10M";
+ lvm_type = "raid0";
+ content = {
+ type = "filesystem";
+ format = "ext4";
+ mountpoint = "/home";
};
};
+ };
};
};
}