From 99ac96511bed17f48d908db3d00a1f48579ba011 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Tue, 12 Aug 2025 04:38:45 +0900 Subject: hst/fs: interface filesystem config This allows mount points to be represented by different underlying structs. Signed-off-by: Ophestra --- nixos.nix | 44 +++++++++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 19 deletions(-) (limited to 'nixos.nix') diff --git a/nixos.nix b/nixos.nix index a26b3658..90ce28b1 100644 --- a/nixos.nix +++ b/nixos.nix @@ -142,36 +142,42 @@ in filesystem = let - bind = src: { inherit src; }; - mustBind = src: { + bind = src: { + type = "bind"; inherit src; - require = true; }; - devBind = src: { + optBind = src: { + type = "bind"; + inherit src; + optional = true; + }; + optDevBind = src: { + type = "bind"; inherit src; dev = true; + optional = true; }; in [ - (mustBind "/bin") - (mustBind "/usr/bin") - (mustBind "/nix/store") - (bind "/sys/block") - (bind "/sys/bus") - (bind "/sys/class") - (bind "/sys/dev") - (bind "/sys/devices") + (bind "/bin") + (bind "/usr/bin") + (bind "/nix/store") + (optBind "/sys/block") + (optBind "/sys/bus") + (optBind "/sys/class") + (optBind "/sys/dev") + (optBind "/sys/devices") ] ++ optionals app.nix [ - (mustBind "/nix/var") + (bind "/nix/var") ] ++ optionals isGraphical [ - (devBind "/dev/dri") - (devBind "/dev/nvidiactl") - (devBind "/dev/nvidia-modeset") - (devBind "/dev/nvidia-uvm") - (devBind "/dev/nvidia-uvm-tools") - (devBind "/dev/nvidia0") + (optDevBind "/dev/dri") + (optDevBind "/dev/nvidiactl") + (optDevBind "/dev/nvidia-modeset") + (optDevBind "/dev/nvidia-uvm") + (optDevBind "/dev/nvidia-uvm-tools") + (optDevBind "/dev/nvidia0") ] ++ optionals app.useCommonPaths cfg.commonPaths ++ app.extraPaths; -- cgit v1.3.1