diff --git a/README.md b/README.md index 634007f..5336de8 100644 --- a/README.md +++ b/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 +``` diff --git a/flake.nix b/flake.nix index 1bf89a6..cb90621 100644 --- a/flake.nix +++ b/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 + ]; + }; + }; + }); } -