From 1e9c01bbbb7ce2fb76713915ad97176b363c9fce Mon Sep 17 00:00:00 2001 From: Friedrich Altheide Date: Thu, 24 Jul 2025 11:26:23 +0200 Subject: [PATCH] docker-cli: Improve docs, fix enviornment variable (cherry picked from commit 26e33ea5c0bd17d8dbab9d4c7df291a91526da10) --- modules/programs/docker-cli.nix | 12 ++++++------ tests/modules/programs/docker-cli/empty-config.nix | 5 ++--- tests/modules/programs/docker-cli/example-config.nix | 6 +++--- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/modules/programs/docker-cli.nix b/modules/programs/docker-cli.nix index 57d91fd58..fed784ed0 100644 --- a/modules/programs/docker-cli.nix +++ b/modules/programs/docker-cli.nix @@ -21,18 +21,18 @@ in options.programs.docker-cli = { enable = mkEnableOption "management of docker client config"; - configPath = mkOption { + configDir = mkOption { type = lib.types.str; - default = ".docker/config.json"; + default = ".docker"; description = '' - Relative path to the user's home directory where the Docker CLI settings should be stored. + Folder relative to the user's home directory where the Docker CLI settings should be stored. ''; }; settings = mkOption { type = jsonFormat.type; default = { }; - example = '' + example = lib.literalExpression '' { "proxies" = { "default" = { @@ -52,11 +52,11 @@ in config = mkIf cfg.enable { home = { sessionVariables = { - DOCKER_CONFIG = "${config.home.homeDirectory}/${cfg.configPath}"; + DOCKER_CONFIG = "${config.home.homeDirectory}/${cfg.configDir}"; }; file = { - "${cfg.configPath}" = { + "${cfg.configDir}/config.json" = { source = jsonFormat.generate "config.json" cfg.settings; }; }; diff --git a/tests/modules/programs/docker-cli/empty-config.nix b/tests/modules/programs/docker-cli/empty-config.nix index 2cc178741..c36ae12d5 100644 --- a/tests/modules/programs/docker-cli/empty-config.nix +++ b/tests/modules/programs/docker-cli/empty-config.nix @@ -7,12 +7,11 @@ let in { programs.docker-cli = { - configPath = ".docker/empty.json"; + configDir = ".docker2"; }; nmt.script = '' assertFileNotRegex home-path/etc/profile.d/hm-session-vars.sh 'DOCKER_CONFIG' - assertPathNotExists home-files/.docker/config.json - assertPathNotExists home-files/${cfgDocker.configPath} + assertPathNotExists home-files/${cfgDocker.configDir} ''; } diff --git a/tests/modules/programs/docker-cli/example-config.nix b/tests/modules/programs/docker-cli/example-config.nix index 576b90f5e..294ec3147 100644 --- a/tests/modules/programs/docker-cli/example-config.nix +++ b/tests/modules/programs/docker-cli/example-config.nix @@ -6,7 +6,7 @@ programs.docker-cli = { enable = true; - configPath = ".docker/config2.json"; + configDir = ".docker2"; settings = { "proxies" = { @@ -22,8 +22,8 @@ nmt.script = let cfgDocker = config.programs.docker-cli; - configTestPath = "home-files/${cfgDocker.configPath}"; - configHomePath = "/home/hm-user/${cfgDocker.configPath}"; + configTestPath = "home-files/${cfgDocker.configDir}/config.json"; + configHomePath = "/home/hm-user/${cfgDocker.configDir}"; in '' assertFileContains home-path/etc/profile.d/hm-session-vars.sh \