Skip to content

Commit

Permalink
fix(containers): skip base images
Browse files Browse the repository at this point in the history
Signed-off-by: Cameron Smith <cameron.ray.smith@gmail.com>
  • Loading branch information
cameronraysmith committed Jul 7, 2024
1 parent da269ff commit 5c7e001
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 21 deletions.
2 changes: 0 additions & 2 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -208,10 +208,8 @@
paths = with pkgs; [poetry python310];
};

baseContainerImage = containerImages.baseContainerImage;
containerImage = containerImages.containerImage;

baseDevContainerImage = containerImages.baseDevContainerImage;
devcontainerImage = containerImages.devcontainerImage;

codeImage = import ./nix/containers/code.nix {
Expand Down
83 changes: 64 additions & 19 deletions nix/containers/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -137,10 +137,6 @@
"NIX_PAGER=cat"
"USER=root"
"HOME=/root"
# "GIT_REPO_NAME=${builtins.getEnv "GIT_REPO_NAME"}"
# "GIT_REF=${builtins.getEnv "GIT_REF"}"
# "GIT_SHA=${builtins.getEnv "GIT_SHA"}"
# "GIT_SHA_SHORT=${builtins.getEnv "GIT_SHA_SHORT"}"
"PYTHONPATH=${packageSrcPath}:${pkgs.lib.strings.makeSearchPathOutput "" "lib/python3.10/site-packages" pythonPackages}"
"LD_LIBRARY_PATH=${pythonPackageEnv}/lib:/usr/local/nvidia/lib64"
"NVIDIA_DRIVER_CAPABILITIES='compute,utility'"
Expand All @@ -159,7 +155,7 @@
"-c"
"${pkgs.zsh}/bin/zsh"
];
containerImageConfig = {
baseContainerImageConfig = {
name = "base-${packageName}";
tag = "latest";
# created = "now";
Expand All @@ -177,7 +173,7 @@
cmd = containerCmd;
};
};
devcontainerImageConfig = {
baseDevcontainerImageConfig = {
name = "base-${packageName}dev";
tag = "latest";
# created = "now";
Expand All @@ -204,39 +200,88 @@
];
};
};
in rec {
baseContainerImage = pkgs.dockerTools.buildLayeredImageWithNixDb containerImageConfig;
baseDevContainerImage = pkgs.dockerTools.buildLayeredImageWithNixDb devcontainerImageConfig;
containerImage = pkgs.dockerTools.buildLayeredImageWithNixDb {
containerImageConfig = {
name = "${packageName}";
tag = "latest";

maxLayers = 121;
compressor = "zstd";
fromImage = baseContainerImage;
contents = [packageGitRepoToContainer];
config = {
Env = [

contents = devcontainerContents ++ [packageGitRepoToContainer];
config = makeContainerConfig {
pkgs = pkgs;
packageSrcPath = packageSrcPath;
pythonPackageEnv = pythonPackageEnv;
pythonPackages = pythonPackages;
containerPackages = sysPackages ++ pythonPackages;
cmd = containerCmd;
extraEnv = [
"GIT_REPO_NAME=${builtins.getEnv "GIT_REPO_NAME"}"
"GIT_REF=${builtins.getEnv "GIT_REF"}"
"GIT_SHA=${builtins.getEnv "GIT_SHA"}"
"GIT_SHA_SHORT=${builtins.getEnv "GIT_SHA_SHORT"}"
];
};
};
devcontainerImage = pkgs.dockerTools.buildLayeredImageWithNixDb {
devcontainerImageConfig = {
name = "${packageName}dev";
tag = "latest";

maxLayers = 121;
compressor = "zstd";
fromImage = baseDevContainerImage;
contents = [packageGitRepoToContainer];
config = {
Env = [

contents = devcontainerContents ++ [packageGitRepoToContainer];
config = makeContainerConfig {
pkgs = pkgs;
packageSrcPath = packageSrcPath;
pythonPackageEnv = devpythonPackageEnv;
pythonPackages = devpythonPackages;
containerPackages = sysPackages ++ extraSysPackages ++ devPackages ++ devpythonPackages;
cmd = devcontainerCmd;
extraEnv = [
"QUARTO_PYTHON=${pkgs.python310}/bin/python"
"GIT_REPO_NAME=${builtins.getEnv "GIT_REPO_NAME"}"
"GIT_REF=${builtins.getEnv "GIT_REF"}"
"GIT_SHA=${builtins.getEnv "GIT_SHA"}"
"GIT_SHA_SHORT=${builtins.getEnv "GIT_SHA_SHORT"}"
];
};
};
in rec {
baseContainerImage = pkgs.dockerTools.buildLayeredImageWithNixDb baseContainerImageConfig;
baseDevContainerImage = pkgs.dockerTools.buildLayeredImageWithNixDb baseDevcontainerImageConfig;
containerImage = pkgs.dockerTools.buildLayeredImageWithNixDb containerImageConfig;
devcontainerImage = pkgs.dockerTools.buildLayeredImageWithNixDb devcontainerImageConfig;
# containerImage = pkgs.dockerTools.buildLayeredImageWithNixDb {
# name = "${packageName}";
# tag = "latest";
# maxLayers = 121;
# compressor = "zstd";
# fromImage = baseContainerImage;
# contents = [packageGitRepoToContainer];
# config = {
# Env = [
# "GIT_REPO_NAME=${builtins.getEnv "GIT_REPO_NAME"}"
# "GIT_REF=${builtins.getEnv "GIT_REF"}"
# "GIT_SHA=${builtins.getEnv "GIT_SHA"}"
# "GIT_SHA_SHORT=${builtins.getEnv "GIT_SHA_SHORT"}"
# ];
# };
# };
# devcontainerImage = pkgs.dockerTools.buildLayeredImageWithNixDb {
# name = "${packageName}dev";
# tag = "latest";
# maxLayers = 121;
# compressor = "zstd";
# fromImage = baseDevContainerImage;
# contents = [packageGitRepoToContainer];
# config = {
# Env = [
# "GIT_REPO_NAME=${builtins.getEnv "GIT_REPO_NAME"}"
# "GIT_REF=${builtins.getEnv "GIT_REF"}"
# "GIT_SHA=${builtins.getEnv "GIT_SHA"}"
# "GIT_SHA_SHORT=${builtins.getEnv "GIT_SHA_SHORT"}"
# ];
# };
# };
}

0 comments on commit 5c7e001

Please sign in to comment.