Edited snapraid.nix to get correct mounts.

This commit is contained in:
Raphaël Numbus
2026-01-02 22:46:03 +01:00
parent f14d332d7f
commit 4a68ea213e
4 changed files with 33 additions and 22 deletions
+1 -1
View File
@@ -12,7 +12,7 @@
initrdUnlock = false;
settings = {
keyFile = "/etc/secrets/disks/content-disk-${j}";
allowDiscards = true;
allowDiscards = ${ALLOW_DISCARDS:-false};
};
content = {
type = "filesystem";
+1 -1
View File
@@ -12,7 +12,7 @@
initrdUnlock = false;
settings = {
keyFile = "/etc/secrets/disks/parity-disk-${j}";
allowDiscards = true;
allowDiscards = ${ALLOW_DISCARDS:-false};
};
content = {
type = "filesystem";
+10 -19
View File
@@ -1,20 +1,5 @@
{ config, lib, ... }:
let
### --> SnapRAID disks research
contentDiskMounts = lib.attrsets.attrNames (
lib.attrsets.filterAttrs (name: value: lib.strings.hasPrefix "/mnt/content-" name) config.fileSystems
);
parityDiskMounts = lib.attrsets.attrNames (
lib.attrsets.filterAttrs (name: value: lib.strings.hasPrefix "/mnt/parity-" name) config.fileSystems
);
snapraidDataDisks = lib.lists.foldl'
(acc: path: acc // { "d${toString (acc.i + 1)}" = path; i = acc.i + 1; })
{ i = 0; }
contentDiskMounts;
### SnapRAID disks research <--
in
### --> MergerFS setup
{
fileSystems."/mnt/data-storage" = {
@@ -27,7 +12,7 @@ in
"cache.files=off"
"moveonenospc=true"
"category.create=mfs"
"srcmounts=${lib.strings.concatStringsSep ":" contentDiskMounts}"
"srcmounts=MERGERFS_MOUNTS"
];
};
### MergerFS setup <--
@@ -35,9 +20,15 @@ in
### --> SnapRAID setup
services.snapraid = {
enable = true;
contentFiles = map (disk: "${disk}/snapraid.content") contentDiskMounts;
parityFiles = map (disk: "${disk}/snapraid.parity") parityDiskMounts;
dataDisks = builtins.removeAttrs snapraidDataDisks [ "i" ];
contentFiles = [
SNAPRAID_CONTENT_FILES
];
parityFiles = [
SNAPRAID_PARITY_FILES
];
dataDisks = {
SNAPRAID_DATA_DISKS
};
};
### SnapRAID setup <--
}