!PSmBFWNKoXmlQBzUQf:helsinki-systems.de

Stage 1 systemd

82 Members
systemd in NixOs's stage 1, replacing the current bash tooling https://github.com/NixOS/nixpkgs/projects/5127 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
15 Nov 2022
@elvishjerricco:matrix.org@elvishjerricco:matrix.orgdid not want to have to do that22:36:34
@k900:0upti.meK900 Looks like they already do that for extraUtils 22:37:29
@k900:0upti.meK900Just awkwardly 22:37:32
@elvishjerricco:matrix.org@elvishjerricco:matrix.orgyea22:37:34
@elvishjerricco:matrix.org@elvishjerricco:matrix.org i'll probably go ahead and make a boot.initrd.systemd.fsPackages option or something, in case we decide to make it smarter later, e.g. by only copying fsck.${fsType} and mount.${fsType} or something 22:38:31
@elvishjerricco:matrix.org@elvishjerricco:matrix.org or more likely I'll just use extraBin to specify the exact commands already specified for scripted initrd in those modules 22:39:55
@elvishjerricco:matrix.org@elvishjerricco:matrix.org or... could just... make dumb fix... and add util-linux in a more special place instead of in system.fsPackages 22:43:37
@elvishjerricco:matrix.org@elvishjerricco:matrix.org

Could literally just do this:

diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index d28e6ed0e27..2999b84428f 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -558,7 +558,7 @@ in
       # Environment of PID 1
       systemd.managerEnvironment = {
         # Doesn't contain systemd itself - everything works so it seems to use the compiled-in value for its tools
-        PATH = lib.makeBinPath config.system.fsPackages;
+        PATH = lib.makeBinPath (config.system.fsPackages ++ [cfg.package.util-linux]);
         LOCALE_ARCHIVE = "/run/current-system/sw/lib/locale/locale-archive";
         TZDIR = "/etc/zoneinfo";
         # If SYSTEMD_UNIT_PATH ends with an empty component (":"), the usual unit load path will be appended to the contents of the variable
diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix
index 97f02a8c963..399ea9eabe0 100644
--- a/nixos/modules/tasks/filesystems.nix
+++ b/nixos/modules/tasks/filesystems.nix
@@ -300,11 +300,7 @@ in
     boot.supportedFilesystems = map (fs: fs.fsType) fileSystems;
 
     # Add the mount helpers to the system path so that `mount' can find them.
-    system.fsPackages = [
-      pkgs.dosfstools
-      # This is needed for the main fsck utility wrapping the fs-specific ones.
-      pkgs.util-linux
-    ];
+    system.fsPackages = [ pkgs.dosfstools ];
 
     environment.systemPackages = with pkgs; [ fuse3 fuse ] ++ config.system.fsPackages;
 
22:46:41
@elvishjerricco:matrix.org@elvishjerricco:matrix.orghttps://github.com/NixOS/nixpkgs/pull/20139623:01:31

Show newer messages


Back to Room ListRoom Version: 6