devcontainer: init
This commit is contained in:
parent
f90912f967
commit
751d7a6714
12 changed files with 322 additions and 16 deletions
|
@ -75,6 +75,7 @@ All images are automatically built and pushed to Docker Hub.
|
||||||
| [nixpkgs/busybox](https://hub.docker.com/r/nixpkgs/busybox) | [](https://microbadger.com/images/nixpkgs/busybox) | [](https://microbadger.com/images/nixpkgs/busybox:nixos-19.03) | [](https://microbadger.com/images/nixpkgs/busybox:nixos-19.09) |
|
| [nixpkgs/busybox](https://hub.docker.com/r/nixpkgs/busybox) | [](https://microbadger.com/images/nixpkgs/busybox) | [](https://microbadger.com/images/nixpkgs/busybox:nixos-19.03) | [](https://microbadger.com/images/nixpkgs/busybox:nixos-19.09) |
|
||||||
| [nixpkgs/couchpotato](https://hub.docker.com/r/nixpkgs/couchpotato) | [](https://microbadger.com/images/nixpkgs/couchpotato) | [](https://microbadger.com/images/nixpkgs/couchpotato:nixos-19.03) | [](https://microbadger.com/images/nixpkgs/couchpotato:nixos-19.09) |
|
| [nixpkgs/couchpotato](https://hub.docker.com/r/nixpkgs/couchpotato) | [](https://microbadger.com/images/nixpkgs/couchpotato) | [](https://microbadger.com/images/nixpkgs/couchpotato:nixos-19.03) | [](https://microbadger.com/images/nixpkgs/couchpotato:nixos-19.09) |
|
||||||
| [nixpkgs/curl](https://hub.docker.com/r/nixpkgs/curl) | [](https://microbadger.com/images/nixpkgs/curl) | [](https://microbadger.com/images/nixpkgs/curl:nixos-19.03) | [](https://microbadger.com/images/nixpkgs/curl:nixos-19.09) |
|
| [nixpkgs/curl](https://hub.docker.com/r/nixpkgs/curl) | [](https://microbadger.com/images/nixpkgs/curl) | [](https://microbadger.com/images/nixpkgs/curl:nixos-19.03) | [](https://microbadger.com/images/nixpkgs/curl:nixos-19.09) |
|
||||||
|
| [nixpkgs/devcontainer](https://hub.docker.com/r/nixpkgs/devcontainer) | [](https://microbadger.com/images/nixpkgs/devcontainer) | [](https://microbadger.com/images/nixpkgs/devcontainer:nixos-19.03) | [](https://microbadger.com/images/nixpkgs/devcontainer:nixos-19.09) |
|
||||||
| [nixpkgs/docker-compose](https://hub.docker.com/r/nixpkgs/docker-compose) | [](https://microbadger.com/images/nixpkgs/docker-compose) | [](https://microbadger.com/images/nixpkgs/docker-compose:nixos-19.03) | [](https://microbadger.com/images/nixpkgs/docker-compose:nixos-19.09) |
|
| [nixpkgs/docker-compose](https://hub.docker.com/r/nixpkgs/docker-compose) | [](https://microbadger.com/images/nixpkgs/docker-compose) | [](https://microbadger.com/images/nixpkgs/docker-compose:nixos-19.03) | [](https://microbadger.com/images/nixpkgs/docker-compose:nixos-19.09) |
|
||||||
| [nixpkgs/kubectl](https://hub.docker.com/r/nixpkgs/kubectl) | [](https://microbadger.com/images/nixpkgs/kubectl) | [](https://microbadger.com/images/nixpkgs/kubectl:nixos-19.03) | [](https://microbadger.com/images/nixpkgs/kubectl:nixos-19.09) |
|
| [nixpkgs/kubectl](https://hub.docker.com/r/nixpkgs/kubectl) | [](https://microbadger.com/images/nixpkgs/kubectl) | [](https://microbadger.com/images/nixpkgs/kubectl:nixos-19.03) | [](https://microbadger.com/images/nixpkgs/kubectl:nixos-19.09) |
|
||||||
| [nixpkgs/kubernetes-helm](https://hub.docker.com/r/nixpkgs/kubernetes-helm) | [](https://microbadger.com/images/nixpkgs/kubernetes-helm) | [](https://microbadger.com/images/nixpkgs/kubernetes-helm:nixos-19.03) | [](https://microbadger.com/images/nixpkgs/kubernetes-helm:nixos-19.09) |
|
| [nixpkgs/kubernetes-helm](https://hub.docker.com/r/nixpkgs/kubernetes-helm) | [](https://microbadger.com/images/nixpkgs/kubernetes-helm) | [](https://microbadger.com/images/nixpkgs/kubernetes-helm:nixos-19.03) | [](https://microbadger.com/images/nixpkgs/kubernetes-helm:nixos-19.09) |
|
||||||
|
|
6
images/devcontainer/README.md
Normal file
6
images/devcontainer/README.md
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# Nix VSCode DevContainer
|
||||||
|
|
||||||
|
WIP
|
||||||
|
|
||||||
|
Related to https://github.com/zimbatm/vscode-devcontainer-nix
|
||||||
|
|
126
images/devcontainer/default.nix
Normal file
126
images/devcontainer/default.nix
Normal file
|
@ -0,0 +1,126 @@
|
||||||
|
# A fat and modifiable Nix image
|
||||||
|
#
|
||||||
|
# TODO: create a suid wrapper for sudo.
|
||||||
|
|
||||||
|
# sudo: setrlimit(RLIMIT_CORE): Operation not permitted
|
||||||
|
{ dockerTools
|
||||||
|
, closureInfo
|
||||||
|
, bashInteractive
|
||||||
|
, cacert
|
||||||
|
, coreutils
|
||||||
|
, curl
|
||||||
|
, gcc-unwrapped
|
||||||
|
, gitReallyMinimal
|
||||||
|
, glibc
|
||||||
|
, gnutar
|
||||||
|
, gzip
|
||||||
|
, iana-etc
|
||||||
|
, iproute
|
||||||
|
, nix
|
||||||
|
, openssh
|
||||||
|
, shadow
|
||||||
|
, sudo
|
||||||
|
, xz
|
||||||
|
, mkUserEnvironment
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
# generate a user profile for the image
|
||||||
|
profile = mkUserEnvironment {
|
||||||
|
derivations = [
|
||||||
|
coreutils
|
||||||
|
# add /bin/sh
|
||||||
|
bashInteractive
|
||||||
|
nix
|
||||||
|
|
||||||
|
# runtime dependencies of nix
|
||||||
|
cacert
|
||||||
|
gitReallyMinimal
|
||||||
|
gnutar
|
||||||
|
gzip
|
||||||
|
xz
|
||||||
|
|
||||||
|
# for haskell binaries
|
||||||
|
iana-etc
|
||||||
|
|
||||||
|
# for user management
|
||||||
|
shadow
|
||||||
|
sudo
|
||||||
|
|
||||||
|
# for the vscode extension
|
||||||
|
gcc-unwrapped
|
||||||
|
iproute
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
image = dockerTools.buildImage {
|
||||||
|
name = "devcontainer";
|
||||||
|
|
||||||
|
contents = [ ];
|
||||||
|
|
||||||
|
extraCommands = ''
|
||||||
|
# create the Nix DB
|
||||||
|
export NIX_REMOTE=local?root=$PWD
|
||||||
|
export USER=nobody
|
||||||
|
${nix}/bin/nix-store --load-db < ${closureInfo { rootPaths = [ profile ]; }}/registration
|
||||||
|
|
||||||
|
# set the user profile
|
||||||
|
${profile}/bin/nix-env --profile nix/var/nix/profiles/default --set ${profile}
|
||||||
|
|
||||||
|
# minimal
|
||||||
|
mkdir -p bin usr/bin
|
||||||
|
ln -s /nix/var/nix/profiles/default/bin/sh bin/sh
|
||||||
|
ln -s /nix/var/nix/profiles/default/bin/env usr/bin/env
|
||||||
|
|
||||||
|
# might as well...
|
||||||
|
ln -s /nix/var/nix/profiles/default/bin/bash bin/bash
|
||||||
|
|
||||||
|
# setup iana-etc for haskell binaries
|
||||||
|
mkdir etc
|
||||||
|
ln -s /nix/var/nix/profiles/default/etc/protocols etc/protocols
|
||||||
|
ln -s /nix/var/nix/profiles/default/etc/services etc/services
|
||||||
|
|
||||||
|
# setup shadow
|
||||||
|
mkdir etc/pam.d
|
||||||
|
cp ${./root/etc/bashrc} etc/bashrc
|
||||||
|
cp ${./root/etc/group} etc/group
|
||||||
|
cp ${./root/etc/passwd} etc/passwd
|
||||||
|
cp ${./root/etc/shadow} etc/shadow
|
||||||
|
cp ${./root/etc/nsswitch.conf} etc/nsswitch.conf
|
||||||
|
cp ${./root/etc/pam.d/other} etc/pam.d/other
|
||||||
|
|
||||||
|
# make sure /tmp exists
|
||||||
|
mkdir -m 0777 tmp
|
||||||
|
|
||||||
|
# allow ubuntu ELF binaries to run. VSCode copies it's own.
|
||||||
|
mkdir -p lib64
|
||||||
|
ln -s ${glibc}/lib64/ld-linux-x86-64.so.2 lib64/ld-linux-x86-64.so.2
|
||||||
|
|
||||||
|
# VSCode assumes that /sbin/ip exists
|
||||||
|
mkdir sbin
|
||||||
|
ln -s /nix/var/nix/profiles/default/bin/ip sbin/ip
|
||||||
|
'';
|
||||||
|
|
||||||
|
config = {
|
||||||
|
Cmd = [ "/nix/var/nix/profiles/default/bin/bash" ];
|
||||||
|
Env = [
|
||||||
|
"ENV=/nix/var/nix/profiles/default/etc/profile.d/nix.sh"
|
||||||
|
"GIT_SSL_CAINFO=/nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt"
|
||||||
|
"LD_LIBRARY_PATH=/nix/var/nix/profiles/default/lib"
|
||||||
|
"NIX_PATH=nixpkgs=${toString <nixpkgs>}"
|
||||||
|
"PAGER=cat"
|
||||||
|
"PATH=/nix/var/nix/profiles/default/bin"
|
||||||
|
"SSL_CERT_FILE=/nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt"
|
||||||
|
];
|
||||||
|
Labels = {
|
||||||
|
# https://github.com/microscaling/microscaling/blob/55a2d7b91ce7513e07f8b1fd91bbed8df59aed5a/Dockerfile#L22-L33
|
||||||
|
"org.label-schema.vcs-ref" = "master";
|
||||||
|
"org.label-schema.vcs-url" = "https://github.com/nix-community/docker-nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
image // {
|
||||||
|
meta = image.meta // {
|
||||||
|
description = "Nix devcontainer for VSCode";
|
||||||
|
};
|
||||||
|
}
|
6
images/devcontainer/root/etc/bashrc
Normal file
6
images/devcontainer/root/etc/bashrc
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# interactive session
|
||||||
|
if [[ $- == *i* ]]; then
|
||||||
|
|
||||||
|
PS1='\[\033[0;32;40m\][nix]$\[\033[0m\] '
|
||||||
|
|
||||||
|
fi
|
6
images/devcontainer/root/etc/group
Normal file
6
images/devcontainer/root/etc/group
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
root:x:0:
|
||||||
|
wheel:x:1:
|
||||||
|
tty:x:3:
|
||||||
|
users:x:100:
|
||||||
|
nixbld:x:30000:nixbld1,nixbld2,nixbld3,nixbld4,nixbld5,nixbld6,nixbld7,nixbld8,nixbld9,nixbld10,nixbld11,nixbld12,nixbld13,nixbld14,nixbld15,nixbld16,nixbld17,nixbld18,nixbld19,nixbld20,nixbld21,nixbld22,nixbld23,nixbld24,nixbld25,nixbld26,nixbld27,nixbld28,nixbld29,nixbld30
|
||||||
|
nogroup:x:65534:
|
11
images/devcontainer/root/etc/nsswitch.conf
Normal file
11
images/devcontainer/root/etc/nsswitch.conf
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
passwd: files mymachines systemd
|
||||||
|
group: files mymachines systemd
|
||||||
|
shadow: files
|
||||||
|
|
||||||
|
hosts: files mymachines dns myhostname
|
||||||
|
networks: files
|
||||||
|
|
||||||
|
ethers: files
|
||||||
|
services: files
|
||||||
|
protocols: files
|
||||||
|
rpc: files
|
4
images/devcontainer/root/etc/pam.d/other
Normal file
4
images/devcontainer/root/etc/pam.d/other
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
account sufficient pam_unix.so
|
||||||
|
auth sufficient pam_rootok.so
|
||||||
|
password requisite pam_unix.so nullok sha512
|
||||||
|
session required pam_unix.so
|
32
images/devcontainer/root/etc/passwd
Normal file
32
images/devcontainer/root/etc/passwd
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
root:x:0:0:root:/root:/nix/var/nix/profiles/default/bin/bash
|
||||||
|
nixbld1:x:30001:30000:Nix build user 1:/var/empty:/sbin/nologin
|
||||||
|
nixbld2:x:30002:30000:Nix build user 2:/var/empty:/sbin/nologin
|
||||||
|
nixbld3:x:30003:30000:Nix build user 3:/var/empty:/sbin/nologin
|
||||||
|
nixbld4:x:30004:30000:Nix build user 4:/var/empty:/sbin/nologin
|
||||||
|
nixbld5:x:30005:30000:Nix build user 5:/var/empty:/sbin/nologin
|
||||||
|
nixbld6:x:30006:30000:Nix build user 6:/var/empty:/sbin/nologin
|
||||||
|
nixbld7:x:30007:30000:Nix build user 7:/var/empty:/sbin/nologin
|
||||||
|
nixbld8:x:30008:30000:Nix build user 8:/var/empty:/sbin/nologin
|
||||||
|
nixbld9:x:30009:30000:Nix build user 9:/var/empty:/sbin/nologin
|
||||||
|
nixbld10:x:30010:30000:Nix build user 10:/var/empty:/sbin/nologin
|
||||||
|
nixbld11:x:30011:30000:Nix build user 11:/var/empty:/sbin/nologin
|
||||||
|
nixbld12:x:30012:30000:Nix build user 12:/var/empty:/sbin/nologin
|
||||||
|
nixbld13:x:30013:30000:Nix build user 13:/var/empty:/sbin/nologin
|
||||||
|
nixbld14:x:30014:30000:Nix build user 14:/var/empty:/sbin/nologin
|
||||||
|
nixbld15:x:30015:30000:Nix build user 15:/var/empty:/sbin/nologin
|
||||||
|
nixbld16:x:30016:30000:Nix build user 16:/var/empty:/sbin/nologin
|
||||||
|
nixbld17:x:30017:30000:Nix build user 17:/var/empty:/sbin/nologin
|
||||||
|
nixbld18:x:30018:30000:Nix build user 18:/var/empty:/sbin/nologin
|
||||||
|
nixbld19:x:30019:30000:Nix build user 19:/var/empty:/sbin/nologin
|
||||||
|
nixbld20:x:30020:30000:Nix build user 20:/var/empty:/sbin/nologin
|
||||||
|
nixbld21:x:30021:30000:Nix build user 21:/var/empty:/sbin/nologin
|
||||||
|
nixbld22:x:30022:30000:Nix build user 22:/var/empty:/sbin/nologin
|
||||||
|
nixbld23:x:30023:30000:Nix build user 23:/var/empty:/sbin/nologin
|
||||||
|
nixbld24:x:30024:30000:Nix build user 24:/var/empty:/sbin/nologin
|
||||||
|
nixbld25:x:30025:30000:Nix build user 25:/var/empty:/sbin/nologin
|
||||||
|
nixbld26:x:30026:30000:Nix build user 26:/var/empty:/sbin/nologin
|
||||||
|
nixbld27:x:30027:30000:Nix build user 27:/var/empty:/sbin/nologin
|
||||||
|
nixbld28:x:30028:30000:Nix build user 28:/var/empty:/sbin/nologin
|
||||||
|
nixbld29:x:30029:30000:Nix build user 29:/var/empty:/sbin/nologin
|
||||||
|
nixbld30:x:30030:30000:Nix build user 30:/var/empty:/sbin/nologin
|
||||||
|
nobody:x:65534:65534:nobody:/:/sbin/nologin
|
32
images/devcontainer/root/etc/shadow
Normal file
32
images/devcontainer/root/etc/shadow
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
root:!::0:::::
|
||||||
|
nixbld1:!:18237:0:99999:7:::
|
||||||
|
nixbld2:!:18237:0:99999:7:::
|
||||||
|
nixbld3:!:18237:0:99999:7:::
|
||||||
|
nixbld4:!:18237:0:99999:7:::
|
||||||
|
nixbld5:!:18237:0:99999:7:::
|
||||||
|
nixbld6:!:18237:0:99999:7:::
|
||||||
|
nixbld7:!:18237:0:99999:7:::
|
||||||
|
nixbld8:!:18237:0:99999:7:::
|
||||||
|
nixbld9:!:18237:0:99999:7:::
|
||||||
|
nixbld10:!:18237:0:99999:7:::
|
||||||
|
nixbld11:!:18237:0:99999:7:::
|
||||||
|
nixbld12:!:18237:0:99999:7:::
|
||||||
|
nixbld13:!:18237:0:99999:7:::
|
||||||
|
nixbld14:!:18237:0:99999:7:::
|
||||||
|
nixbld15:!:18237:0:99999:7:::
|
||||||
|
nixbld16:!:18237:0:99999:7:::
|
||||||
|
nixbld17:!:18237:0:99999:7:::
|
||||||
|
nixbld18:!:18237:0:99999:7:::
|
||||||
|
nixbld19:!:18237:0:99999:7:::
|
||||||
|
nixbld20:!:18237:0:99999:7:::
|
||||||
|
nixbld21:!:18237:0:99999:7:::
|
||||||
|
nixbld22:!:18237:0:99999:7:::
|
||||||
|
nixbld23:!:18237:0:99999:7:::
|
||||||
|
nixbld24:!:18237:0:99999:7:::
|
||||||
|
nixbld25:!:18237:0:99999:7:::
|
||||||
|
nixbld26:!:18237:0:99999:7:::
|
||||||
|
nixbld27:!:18237:0:99999:7:::
|
||||||
|
nixbld28:!:18237:0:99999:7:::
|
||||||
|
nixbld29:!:18237:0:99999:7:::
|
||||||
|
nixbld30:!:18237:0:99999:7:::
|
||||||
|
nobody:!::0:::::
|
|
@ -3,7 +3,7 @@
|
||||||
, cacert
|
, cacert
|
||||||
, coreutils
|
, coreutils
|
||||||
, curl
|
, curl
|
||||||
, git
|
, gitReallyMinimal
|
||||||
, gnutar
|
, gnutar
|
||||||
, gzip
|
, gzip
|
||||||
, iana-etc
|
, iana-etc
|
||||||
|
@ -11,21 +11,6 @@
|
||||||
, xz
|
, xz
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
# gitMinimal still ships with perl and python
|
|
||||||
gitReallyMinimal = (
|
|
||||||
git.override {
|
|
||||||
perlSupport = false;
|
|
||||||
pythonSupport = false;
|
|
||||||
withManual = false;
|
|
||||||
withpcre2 = false;
|
|
||||||
}
|
|
||||||
).overrideAttrs (
|
|
||||||
_: {
|
|
||||||
# installCheck is broken when perl is disabled
|
|
||||||
doInstallCheck = false;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
image = dockerTools.buildImageWithNixDb {
|
image = dockerTools.buildImageWithNixDb {
|
||||||
inherit (nix) name;
|
inherit (nix) name;
|
||||||
|
|
||||||
|
|
78
lib/mkUserEnvironment.nix
Normal file
78
lib/mkUserEnvironment.nix
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
{ writeText, lib }:
|
||||||
|
# Build a user environment purely with nix.
|
||||||
|
#
|
||||||
|
# The original implementation is a mix of C++ and nix code.
|
||||||
|
#
|
||||||
|
# See https://github.com/nixos/nix/blob/f4b94958543138671bc3641fc126589a5cffb24b/src/nix-env/user-env.cc
|
||||||
|
#
|
||||||
|
# TODO:
|
||||||
|
# * also add the drvPath if the keepDerivations nix settings is set
|
||||||
|
# * support "disabled" mode that breaks nix-env?
|
||||||
|
# * remove the use of writeText. builtins.toFile forbits the use of references
|
||||||
|
# to derivations, which makes it impossible to create exactly the same
|
||||||
|
# manifest file as `nix-env`.
|
||||||
|
#
|
||||||
|
# Arguments:
|
||||||
|
# * derivations: a list of derivations
|
||||||
|
{
|
||||||
|
# A list of derivations to install
|
||||||
|
derivations
|
||||||
|
}:
|
||||||
|
# Supporting code
|
||||||
|
with builtins;
|
||||||
|
let
|
||||||
|
# Escape Nix strings
|
||||||
|
stringEscape = str:
|
||||||
|
"\"" + (
|
||||||
|
replaceStrings
|
||||||
|
[ "\\" "\"" "\n" "\r" "\t" ]
|
||||||
|
[ "\\\\" "\\" "\\n" "\\r" "\\t" ]
|
||||||
|
str
|
||||||
|
)
|
||||||
|
+ "\"";
|
||||||
|
|
||||||
|
# Like builtins.JSON but to output Nix code
|
||||||
|
toNix = value:
|
||||||
|
if isString value then stringEscape value
|
||||||
|
else if isInt value then toString value
|
||||||
|
else if isPath value then toString value
|
||||||
|
else if true == value then "true"
|
||||||
|
else if false == value then "false"
|
||||||
|
else if null == value then "null"
|
||||||
|
else if isAttrs value then
|
||||||
|
"{ " + concatStringsSep " " (lib.mapAttrsToList (k: v: "${k} = ${toNix v};") value) + " }"
|
||||||
|
else if isList value then
|
||||||
|
"[ ${ concatStringsSep " " (map toNix value) } ]"
|
||||||
|
else throw "type ${typeOf value} not supported";
|
||||||
|
|
||||||
|
# Generate a nix-env compatible manifest.nix file
|
||||||
|
genManifest = drv:
|
||||||
|
let
|
||||||
|
outputs =
|
||||||
|
drv.meta.outputsToInstall or
|
||||||
|
# install the first output
|
||||||
|
[ (head drv.outputs) ];
|
||||||
|
|
||||||
|
base = {
|
||||||
|
inherit (drv) meta name outPath system type;
|
||||||
|
out = { inherit (drv) outPath; };
|
||||||
|
inherit outputs;
|
||||||
|
};
|
||||||
|
|
||||||
|
toOut = name: {
|
||||||
|
outPath = drv.${name}.outPath;
|
||||||
|
};
|
||||||
|
|
||||||
|
outs = lib.genAttrs outputs toOut;
|
||||||
|
in
|
||||||
|
base // outs;
|
||||||
|
|
||||||
|
writeManifest = derivations:
|
||||||
|
writeText "env-manifest.nix" (
|
||||||
|
toNix (map genManifest derivations)
|
||||||
|
);
|
||||||
|
in
|
||||||
|
import <nix/buildenv.nix> {
|
||||||
|
inherit derivations;
|
||||||
|
manifest = writeManifest derivations;
|
||||||
|
}
|
19
overlay.nix
19
overlay.nix
|
@ -9,4 +9,23 @@ in
|
||||||
|
|
||||||
# docker images must be lower-cased
|
# docker images must be lower-cased
|
||||||
docker-nixpkgs = importDir (path: pkgs.callPackage path {}) ./images;
|
docker-nixpkgs = importDir (path: pkgs.callPackage path {}) ./images;
|
||||||
|
|
||||||
|
# used to build nix-env compatible user environments
|
||||||
|
mkUserEnvironment = pkgs.callPackage ./lib/mkUserEnvironment.nix {};
|
||||||
|
|
||||||
|
# gitMinimal still ships with perl and python
|
||||||
|
gitReallyMinimal = (
|
||||||
|
pkgs.git.override {
|
||||||
|
perlSupport = false;
|
||||||
|
pythonSupport = false;
|
||||||
|
withManual = false;
|
||||||
|
withpcre2 = false;
|
||||||
|
}
|
||||||
|
).overrideAttrs (
|
||||||
|
_: {
|
||||||
|
# installCheck is broken when perl is disabled
|
||||||
|
doInstallCheck = false;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue