nixos filesystems: unify early filesystems handling
A new internal config option `fileSystems.<name>.early` is added to indicate that the filesystem needs to be loaded very early (i.e. in initrd). They are transformed to a shell script in `system.build.earlyMountScript` with calls to an undefined `specialMount` function, which is expected to be caller-specific. This option is used by stage-1, stage-2 and activation script to set up and remount those filesystems. Options for them are updated according to systemd defaults.
This commit is contained in:
@@ -20,23 +20,6 @@ with lib;
|
||||
config = mkIf config.security.hideProcessInformation {
|
||||
users.groups.proc.gid = config.ids.gids.proc;
|
||||
|
||||
systemd.services.hidepid = {
|
||||
wantedBy = [ "local-fs.target" ];
|
||||
after = [ "systemd-remount-fs.service" ];
|
||||
before = [ "local-fs-pre.target" "local-fs.target" "shutdown.target" ];
|
||||
wants = [ "local-fs-pre.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStart = ''${pkgs.utillinux}/bin/mount -o remount,hidepid=2,gid=${toString config.ids.gids.proc} /proc'';
|
||||
ExecStop = ''${pkgs.utillinux}/bin/mount -o remount,hidepid=0,gid=0 /proc'';
|
||||
};
|
||||
|
||||
unitConfig = {
|
||||
DefaultDependencies = false;
|
||||
Conflicts = "shutdown.target";
|
||||
};
|
||||
};
|
||||
fileSystems."/proc".options = [ "hidepid=2" "gid=${toString config.ids.gids.proc}" ];
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user