Skip to content

Instantly share code, notes, and snippets.

@utdemir
Created November 30, 2019 07:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save utdemir/1269797b256c556800f2e29148e9790f to your computer and use it in GitHub Desktop.
Save utdemir/1269797b256c556800f2e29148e9790f to your computer and use it in GitHub Desktop.
let
pkgsOrig = import <nixpkgs> {};
pkgsMusl = pkgsOrig.pkgsMusl;
extraLibraries = with pkgsMusl; [
musl
zlib zlib.static
libffi (libffi.override { stdenv = makeStaticLibraries stdenv; })
gmp (gmp.override { withStatic = true; })
];
docker =
let layered = pkgsOrig.dockerTools.buildLayeredImage {
name = "dd-base";
tag = "latest";
contents = [
pkgsMusl.stdenv.cc.bintools
pkgsMusl.stdenv.cc
pkgsMusl.bash
pkgsMusl.coreutils
pkgsMusl.pkgconfig
] ++ extraLibraries;
};
in pkgsOrig.dockerTools.buildImage {
name = "dd";
tag = "latest";
fromImage = layered;
runAsRoot = ''
#!${pkgsMusl.stdenv.shell}
${pkgsMusl.dockerTools.shadowSetup}
mkdir /tmp
'';
diskSize = 8192;
config = {
Cmd = [ "${pkgsMusl.bash}/bin/sh" ];
Env = [
"PATH=/bin"
"LD_LIBRARY_PATH=${pkgsMusl.stdenv.lib.makeLibraryPath extraLibraries}"
"C_INCLUDE_PATH=${pkgsMusl.stdenv.lib.makeSearchPathOutput "dev" "include" extraLibraries}"
];
};
};
in docker
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment