add zstd tools to the base flake actions image to be able to run standard nix community actions
This commit is contained in:
parent
96f5f85a20
commit
09fcbbb6ee
2 changed files with 86 additions and 85 deletions
10
README.md
10
README.md
|
@ -1,6 +1,8 @@
|
|||
* `nix build '.#flakes-action' #for default platform
|
||||
* nix build '#packages.aarch64-linux.flakes-action' #for specific platform
|
||||
* `docker load < result`
|
||||
* `docker tag [image id] git.cyplo.dev/cyplo/base-images/flakes-action:latest`
|
||||
* `docker push git.cyplo.dev/cyplo/base-images/flakes-action:latest`
|
||||
|
||||
*
|
||||
```
|
||||
export BASE_IMAGE_DOCKER_TAG=`docker load < result | grep -i 'loaded image' | cut -f3 -d ' '`
|
||||
docker tag $BASE_IMAGE_DOCKER_TAG git.cyplo.dev/cyplo/base-images/flakes-action:latest
|
||||
docker push git.cyplo.dev/cyplo/base-images/flakes-action:latest
|
||||
```
|
||||
|
|
161
flake.nix
161
flake.nix
|
@ -6,90 +6,89 @@
|
|||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, flake-utils }:
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
flake-utils,
|
||||
}:
|
||||
flake-utils.lib.eachDefaultSystem
|
||||
(system:
|
||||
let
|
||||
pkgs = import nixpkgs { inherit system; };
|
||||
pkgsStatic = pkgs.pkgsStatic;
|
||||
lib = pkgs.lib;
|
||||
|
||||
in
|
||||
{
|
||||
packages = {
|
||||
hello = pkgs.dockerTools.buildImage {
|
||||
name = "hello-docker";
|
||||
config = {
|
||||
Cmd = [ "${pkgs.hello}/bin/hello" ];
|
||||
};
|
||||
};
|
||||
flakes-action = pkgs.dockerTools.buildImageWithNixDb {
|
||||
name = "flakes-action";
|
||||
contents = with pkgs; [
|
||||
./root
|
||||
bash
|
||||
coreutils
|
||||
curl
|
||||
gawk
|
||||
gitFull
|
||||
git-lfs
|
||||
gnused
|
||||
nodejs
|
||||
wget
|
||||
sudo
|
||||
nixFlakes
|
||||
cacert
|
||||
gnutar
|
||||
gzip
|
||||
openssh
|
||||
xz
|
||||
(pkgs.writeTextFile {
|
||||
name = "nix.conf";
|
||||
destination = "/etc/nix/nix.conf";
|
||||
text = ''
|
||||
accept-flake-config = true
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
})
|
||||
];
|
||||
|
||||
extraCommands = ''
|
||||
# for /usr/bin/env
|
||||
mkdir usr
|
||||
ln -s ../bin usr/bin
|
||||
|
||||
# make sure /tmp exists
|
||||
mkdir -m 1777 tmp
|
||||
|
||||
# need a HOME
|
||||
mkdir -vp root
|
||||
(system: let
|
||||
pkgs = import nixpkgs {inherit system;};
|
||||
pkgsStatic = pkgs.pkgsStatic;
|
||||
lib = pkgs.lib;
|
||||
in {
|
||||
packages = {
|
||||
hello = pkgs.dockerTools.buildImage {
|
||||
name = "hello-docker";
|
||||
config = {
|
||||
Cmd = ["${pkgs.hello}/bin/hello"];
|
||||
};
|
||||
};
|
||||
flakes-action = pkgs.dockerTools.buildImageWithNixDb {
|
||||
name = "flakes-action";
|
||||
contents = with pkgs; [
|
||||
./root
|
||||
bash
|
||||
cacert
|
||||
coreutils
|
||||
curl
|
||||
gawk
|
||||
gitFull
|
||||
git-lfs
|
||||
gnused
|
||||
gnutar
|
||||
gzip
|
||||
nixFlakes
|
||||
nodejs
|
||||
openssh
|
||||
sudo
|
||||
wget
|
||||
xz
|
||||
zstd
|
||||
(pkgs.writeTextFile {
|
||||
name = "nix.conf";
|
||||
destination = "/etc/nix/nix.conf";
|
||||
text = ''
|
||||
accept-flake-config = true
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
config = {
|
||||
Cmd = [ "/bin/bash" ];
|
||||
Env = [
|
||||
"LANG=en_GB.UTF-8"
|
||||
"ENV=/etc/profile.d/nix.sh"
|
||||
"BASH_ENV=/etc/profile.d/nix.sh"
|
||||
"NIX_BUILD_SHELL=/bin/bash"
|
||||
"NIX_PATH=nixpkgs=${./fake_nixpkgs}"
|
||||
"PAGER=cat"
|
||||
"PATH=/usr/bin:/bin"
|
||||
"SSL_CERT_FILE=${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"
|
||||
"USER=root"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
devShells = {
|
||||
default = (pkgs.mkShell {
|
||||
buildInputs = (with pkgs;
|
||||
[
|
||||
git-lfs
|
||||
]);
|
||||
extraCommands = ''
|
||||
# for /usr/bin/env
|
||||
mkdir usr
|
||||
ln -s ../bin usr/bin
|
||||
|
||||
});
|
||||
# make sure /tmp exists
|
||||
mkdir -m 1777 tmp
|
||||
|
||||
# need a HOME
|
||||
mkdir -vp root
|
||||
'';
|
||||
config = {
|
||||
Cmd = ["/bin/bash"];
|
||||
Env = [
|
||||
"LANG=en_GB.UTF-8"
|
||||
"ENV=/etc/profile.d/nix.sh"
|
||||
"BASH_ENV=/etc/profile.d/nix.sh"
|
||||
"NIX_BUILD_SHELL=/bin/bash"
|
||||
"NIX_PATH=nixpkgs=${./fake_nixpkgs}"
|
||||
"PAGER=cat"
|
||||
"PATH=/usr/bin:/bin"
|
||||
"SSL_CERT_FILE=${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"
|
||||
"USER=root"
|
||||
];
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
devShells = {
|
||||
default = pkgs.mkShell {
|
||||
buildInputs = with pkgs; [
|
||||
git-lfs
|
||||
];
|
||||
};
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue