Add configurationLimit to systemd-boot to prevent running out of disk space

Refs #23926
This commit is contained in:
Domen Kožar 2019-06-22 20:10:03 +02:00
parent 8b7c42032e
commit 224a6562a4
No known key found for this signature in database
GPG key ID: C2FFBCAFD2C24246
2 changed files with 14 additions and 2 deletions

View file

@ -133,7 +133,9 @@ def get_generations(profile=None):
universal_newlines=True)
gen_lines = gen_list.split('\n')
gen_lines.pop()
return [ (profile, int(line.split()[0])) for line in gen_lines ]
configurationLimit = @configurationLimit@
return [ (profile, int(line.split()[0])) for line in gen_lines ][-configurationLimit:]
def remove_old_entries(gens):
rex_profile = re.compile("^@efiSysMountPoint@/loader/entries/nixos-(.*)-generation-.*\.conf$")

View file

@ -22,7 +22,7 @@ let
editor = if cfg.editor then "True" else "False";
inherit (cfg) consoleMode;
inherit (cfg) consoleMode configurationLimit;
inherit (efi) efiSysMountPoint canTouchEfiVariables;
@ -57,6 +57,16 @@ in {
'';
};
configurationLimit = mkOption {
default = 100;
example = 120;
type = types.int;
description = ''
Maximum of configurations in boot menu. Otherwise boot partition could
run out of disk space.
'';
};
consoleMode = mkOption {
default = "keep";