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; with lib;
let
cfg = config.boot;
in
{ {
###### interface ###### 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 ###### implementation
config = { 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"; what = "tmpfs";
where = "/tmp"; where = "/tmp";
type = "tmpfs"; 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"; fsType = "tmpfs";
neededForBoot = true; neededForBoot = true;
# Sync with systemd's tmp.mount; # 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" = "/tmp/xchg" =
{ device = "xchg"; { device = "xchg";