nixos/tmp: add tmpOnTmpfsSize

This commit is contained in:
Artturin 2021-09-02 16:20:50 +03:00
parent 6b369a4de7
commit f45e8d560e
2 changed files with 16 additions and 3 deletions

View File

@ -2,6 +2,9 @@
with lib;
let
cfg = config.boot;
in
{
###### interface
@ -24,18 +27,28 @@ with lib;
'';
};
boot.tmpOnTmpfsSize = mkOption {
type = types.oneOf [ types.str types.types.ints.positive ];
default = "50%";
description = ''
Size of tmpfs in percentage.
Percentage is defined by systemd.
'';
};
};
###### implementation
config = {
systemd.mounts = mkIf config.boot.tmpOnTmpfs [
# When changing remember to update /tmp mount in virtualisation/qemu-vm.nix
systemd.mounts = mkIf cfg.tmpOnTmpfs [
{
what = "tmpfs";
where = "/tmp";
type = "tmpfs";
mountConfig.Options = [ "mode=1777" "strictatime" "rw" "nosuid" "nodev" "size=50%" ];
mountConfig.Options = [ "mode=1777" "strictatime" "rw" "nosuid" "nodev" "size=${toString cfg.tmpOnTmpfsSize}" ];
}
];

View File

@ -686,7 +686,7 @@ in
fsType = "tmpfs";
neededForBoot = true;
# Sync with systemd's tmp.mount;
options = [ "mode=1777" "strictatime" "nosuid" "nodev" ];
options = [ "mode=1777" "strictatime" "nosuid" "nodev" "size=${toString config.boot.tmpOnTmpfsSize}" ];
};
"/tmp/xchg" =
{ device = "xchg";