2.home-manager/tests/modules/services/colima/linux/colima-docker-cli.nix
2026-02-26 21:34:24 -06:00

68 lines
1.8 KiB
Nix

{
config,
lib,
pkgs,
...
}:
{
programs.docker-cli = {
enable = true;
configDir = "${config.xdg.configHome}/docker";
};
services.colima = {
enable = true;
colimaHomeDir = "${config.xdg.configHome}/colima";
limaHomeDir = "${config.xdg.dataHome}/lima";
package = config.lib.test.mkStubPackage {
name = "colima";
outPath = "@colima@";
};
dockerPackage = config.lib.test.mkStubPackage {
name = "docker";
outPath = "@docker@";
};
perlPackage = config.lib.test.mkStubPackage {
name = "perl";
outPath = "@perl@";
};
sshPackage = config.lib.test.mkStubPackage {
name = "openssh";
outPath = "@openssh@";
};
coreutilsPackage = config.lib.test.mkStubPackage {
name = "coreutils";
outPath = "@coreutils@";
};
curlPackage = config.lib.test.mkStubPackage {
name = "curl";
outPath = "@curl@";
};
bashPackage = config.lib.test.mkStubPackage {
name = "bashNonInteractive";
outPath = "@bashNonInteractive@";
};
};
nmt.script =
let
cfgColima = config.services.colima;
cfgDocker = config.programs.docker-cli;
pathColimaHome = "/home/hm-user/${cfgColima.colimaHomeDir}";
pathDockerConfig = "home-files/${cfgDocker.configDir}/config.json";
in
''
assertPathNotExists home-files/.config/colima/default/colima.yaml
serviceFile=home-files/.config/systemd/user/colima-default.service
assertFileExists "$serviceFile"
assertFileContent "$serviceFile" ${./colima-docker-cli-expected.service}
assertFileExists "${pathDockerConfig}"
assertFileContent "${pathDockerConfig}" ${./colima-docker-cli-expected.json}
assertFileContains home-path/etc/profile.d/hm-session-vars.sh \
'export COLIMA_HOME="${pathColimaHome}"'
'';
}