From 1dc235b2fb91598862bf65ff949fd50ce94676e0 Mon Sep 17 00:00:00 2001 From: Hoang Nguyen Date: Mon, 12 Jan 2026 21:55:26 +0700 Subject: [PATCH] kubecolor: clean up the handling of config path --- modules/programs/kubecolor.nix | 23 ++++++------------- .../programs/kubecolor/empty-config.nix | 8 +++---- .../example-config-default-paths.nix | 9 +++----- .../kubecolor/example-config-xdg-paths.nix | 4 ++-- 4 files changed, 15 insertions(+), 29 deletions(-) diff --git a/modules/programs/kubecolor.nix b/modules/programs/kubecolor.nix index e39effdc..83280260 100644 --- a/modules/programs/kubecolor.nix +++ b/modules/programs/kubecolor.nix @@ -49,20 +49,9 @@ in config = let - preferXdgDirectories = - config.home.preferXdgDirectories && (!pkgs.stdenv.hostPlatform.isDarwin || config.xdg.enable); - configDir = - if preferXdgDirectories then - "${config.xdg.configHome}/kube" - else if pkgs.stdenv.hostPlatform.isDarwin then - "Library/Application Support/kube" - else - ".kube"; - - # https://github.com/kubecolor/kubecolor/pull/145 - configPathSuffix = lib.optionalString ( - cfg.package.pname == "kubecolor" && lib.versionOlder (lib.getVersion cfg.package) "0.4" - ) "color.yaml"; + preferXdgDirectories = config.home.preferXdgDirectories && config.xdg.enable; + configFile = + if preferXdgDirectories then "${config.xdg.configHome}/kubecolor.yaml" else ".kube/color.yaml"; in mkIf cfg.enable { @@ -74,9 +63,11 @@ in home.packages = lib.mkIf (cfg.package != null) [ cfg.package ]; - home.sessionVariables.KUBECOLOR_CONFIG = "${configDir}/${configPathSuffix}"; + home.sessionVariables = lib.mkIf preferXdgDirectories { + KUBECOLOR_CONFIG = configFile; + }; - home.file."${configDir}/color.yaml" = mkIf (cfg.settings != { }) { + home.file.${configFile} = mkIf (cfg.settings != { }) { source = yamlFormat.generate "kubecolor-settings" cfg.settings; }; diff --git a/tests/modules/programs/kubecolor/empty-config.nix b/tests/modules/programs/kubecolor/empty-config.nix index d634c93b..79ebc130 100644 --- a/tests/modules/programs/kubecolor/empty-config.nix +++ b/tests/modules/programs/kubecolor/empty-config.nix @@ -1,8 +1,5 @@ -{ pkgs, config, ... }: +{ config, ... }: -let - configDir = if pkgs.stdenv.isDarwin then "Library/Application Support" else ".config"; -in { programs.kubecolor = { enable = true; @@ -13,6 +10,7 @@ in }; nmt.script = '' - assertPathNotExists 'home-files/${configDir}/kube/color.yaml' + assertPathNotExists 'home-files/.kube/color.yaml' + assertPathNotExists 'home-files/.config/kubecolor.yaml' ''; } diff --git a/tests/modules/programs/kubecolor/example-config-default-paths.nix b/tests/modules/programs/kubecolor/example-config-default-paths.nix index b8962b8c..85980714 100644 --- a/tests/modules/programs/kubecolor/example-config-default-paths.nix +++ b/tests/modules/programs/kubecolor/example-config-default-paths.nix @@ -1,8 +1,5 @@ -{ pkgs, config, ... }: +{ config, ... }: -let - configDir = if pkgs.stdenv.isDarwin then "Library/Application Support/kube" else ".kube"; -in { programs.kubecolor = { enable = true; @@ -20,8 +17,8 @@ in }; nmt.script = '' - assertFileExists 'home-files/${configDir}/color.yaml' - assertFileContent 'home-files/${configDir}/color.yaml' \ + assertFileExists 'home-files/.kube/color.yaml' + assertFileContent 'home-files/.kube/color.yaml' \ ${builtins.toFile "expected.yaml" '' kubectl: kubectl objFreshThreshold: 0 diff --git a/tests/modules/programs/kubecolor/example-config-xdg-paths.nix b/tests/modules/programs/kubecolor/example-config-xdg-paths.nix index 641cc9e8..b95d88b3 100644 --- a/tests/modules/programs/kubecolor/example-config-xdg-paths.nix +++ b/tests/modules/programs/kubecolor/example-config-xdg-paths.nix @@ -20,8 +20,8 @@ }; nmt.script = '' - assertFileExists 'home-files/.config/kube/color.yaml' - assertFileContent 'home-files/.config/kube/color.yaml' \ + assertFileExists 'home-files/.config/kubecolor.yaml' + assertFileContent 'home-files/.config/kubecolor.yaml' \ ${builtins.toFile "expected.yaml" '' kubectl: kubectl objFreshThreshold: 0