68 lines
1.8 KiB
Nix
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}"'
|
|
'';
|
|
}
|