nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 47 lines 1.4 kB view raw
1{ 2 stdenv, 3 lib, 4 nixos-container, 5 openssh, 6 glibcLocales, 7 fetchFromGitHub, 8}: 9 10stdenv.mkDerivation (finalAttrs: { 11 pname = "extra-container"; 12 version = "0.14"; 13 14 src = fetchFromGitHub { 15 owner = "erikarvstedt"; 16 repo = "extra-container"; 17 rev = finalAttrs.version; 18 hash = "sha256-XGp4HHH6D6ZKiO5RnMzqYJYnZB538EnEflvlTsOKpvo="; 19 }; 20 21 buildCommand = '' 22 install -D $src/extra-container $out/bin/extra-container 23 patchShebangs $out/bin 24 share=$out/share/extra-container 25 install $src/eval-config.nix -Dt $share 26 27 # Use existing PATH for systemctl and machinectl 28 scriptPath="export PATH=${lib.makeBinPath [ openssh ]}:\$PATH" 29 30 sed -i " 31 s|evalConfig=.*|evalConfig=$share/eval-config.nix| 32 s|LOCALE_ARCHIVE=.*|LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive| 33 2i$scriptPath 34 2inixosContainer=${nixos-container}/bin 35 " $out/bin/extra-container 36 ''; 37 38 meta = { 39 description = "Run declarative containers without full system rebuilds"; 40 homepage = "https://github.com/erikarvstedt/extra-container"; 41 changelog = "https://github.com/erikarvstedt/extra-container/blob/${finalAttrs.version}/CHANGELOG.md"; 42 license = lib.licenses.mit; 43 platforms = lib.platforms.linux; 44 maintainers = [ lib.maintainers.erikarvstedt ]; 45 mainProgram = "extra-container"; 46 }; 47})