k9s: allow defining custom theme file

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
This commit is contained in:
Sefa Eyeoglu 2023-11-13 13:44:03 +01:00
parent 3d65009eff
commit ef844d7b62
No known key found for this signature in database
GPG key ID: E13DFD4B47127951
2 changed files with 11 additions and 2 deletions

View file

@ -46,7 +46,7 @@ in {
};
skins = mkOption {
type = types.attrsOf yamlFormat.type;
type = with types; attrsOf (oneOf [ yamlFormat.type path ]);
default = { };
description = ''
Skin files written to {file}`$XDG_CONFIG_HOME/k9s/skins/` (linux)
@ -61,6 +61,7 @@ in {
};
};
};
my_red_skin = ./red_skin.yaml;
'';
};
@ -174,7 +175,10 @@ in {
"k9s/skins/${name}.yaml"
else
"Library/Application Support/k9s/skins/${name}.yaml") {
source = yamlFormat.generate "k9s-skin-${name}.yaml" value;
source = if lib.types.path.check value then
value
else
yamlFormat.generate "k9s-skin-${name}.yaml" value;
}) cfg.skins;
enableXdgConfig = !isDarwin || config.xdg.enable;

View file

@ -39,6 +39,7 @@
};
};
};
"default2" = ./example-skin-expected.yaml;
"alt-skin" = {
k9s = {
body = {
@ -92,6 +93,10 @@
assertFileContent \
"home-files/${configDir}/skins/default.yaml" \
${./example-skin-expected.yaml}
assertFileExists "home-files/${configDir}/skins/default2.yaml"
assertFileContent \
"home-files/${configDir}/skins/default2.yaml" \
${./example-skin-expected.yaml}
assertFileExists "home-files/${configDir}/skins/alt-skin.yaml"
assertFileContent \
"home-files/${configDir}/skins/alt-skin.yaml" \