|
81 | 81 | --shell=/bin/bash \
|
82 | 82 | --uid=1000 \
|
83 | 83 | --user-group
|
84 |
| - cat > /etc/pam.d/other <<EOF |
| 84 | + cp ${pkgs.sudo}/bin/sudo /usr/bin/sudo |
| 85 | + chmod 4755 /usr/bin/sudo |
| 86 | + ''; |
| 87 | + }; |
| 88 | + customFiles = pkgs.stdenv.mkDerivation { |
| 89 | + name = "custom-env"; |
| 90 | + phases = [ "installPhase" ]; |
| 91 | + installPhase = '' |
| 92 | + mkdir -p $out/etc |
| 93 | + echo ${devEnvPath} > $out/etc/environment |
| 94 | + |
| 95 | + mkdir -p $out/etc/systemd/system |
| 96 | + cp ${pkgs.docker}/etc/systemd/system/docker.service $out/etc/systemd/system/ |
| 97 | + echo "coder ALL=(ALL) NOPASSWD:ALL" > $out/etc/sudoers |
| 98 | + mkdir -p $out/etc/pam.d |
| 99 | + cat > $out/etc/pam.d/other <<EOF |
85 | 100 | account sufficient pam_unix.so
|
86 | 101 | auth sufficient pam_rootok.so
|
87 | 102 | password requisite pam_unix.so nullok yescrypt
|
88 | 103 | session required pam_unix.so
|
89 | 104 | EOF
|
90 |
| - echo "coder ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers |
91 |
| - mkdir -p /etc/ssl/certs |
92 |
| - cp -r ${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt /etc/ssl/certs/ca-certificates.crt |
93 |
| - cp ${pkgs.sudo}/bin/sudo /usr/bin/sudo |
94 |
| - chmod 4755 /usr/bin/sudo |
| 105 | + mkdir -p $out/etc/ssl/certs |
| 106 | + cp -r ${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt $out/etc/ssl/certs/ca-certificates.crt |
95 | 107 | '';
|
96 | 108 | };
|
| 109 | + |
97 | 110 | devEnvPath = "PATH=${pkgs.lib.makeBinPath devShellPackages}:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/coder/go/bin";
|
98 | 111 | devEnvImage = pkgs.dockerTools.streamLayeredImage {
|
99 | 112 | name = "codercom/oss-dogfood";
|
100 | 113 | tag = "testing";
|
101 | 114 | fromImage = intermediateDevEnvImage;
|
102 | 115 | contents = [
|
103 |
| - ( |
104 |
| - pkgs.writeTextDir |
105 |
| - "etc/environment" |
106 |
| - '' |
107 |
| - ${devEnvPath} |
108 |
| - '' |
109 |
| - ) |
| 116 | + customFiles |
110 | 117 | ];
|
111 | 118 |
|
112 | 119 | config = {
|
|
0 commit comments