oizys/pkgs/distrobox/default.nix
2024-10-20 08:39:53 -05:00

64 lines
1.6 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
stdenvNoCC,
lib,
fetchFromGitHub,
makeWrapper,
wget,
installShellFiles,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "distrobox";
version = "1.8.0";
src = fetchFromGitHub {
owner = "89luca89";
repo = "distrobox";
rev = finalAttrs.version;
hash = "sha256-e9oSTk+UlkrkRSipqjjMqwtxEvEZffVBmlSTmsIT7cU=";
};
dontConfigure = true;
dontBuild = true;
nativeBuildInputs = [ makeWrapper installShellFiles];
installPhase = ''
runHook preInstall
# https://github.com/89luca89/distrobox/issues/408
substituteInPlace ./distrobox-generate-entry \
--replace-fail 'icon_default="''${XDG_DATA_HOME:-''${HOME}/.local/share}' "icon_default=\"$out"
./install -P $out
runHook postInstall
'';
# https://github.com/89luca89/distrobox/issues/407
postFixup = ''
wrapProgram "$out/bin/distrobox-generate-entry" \
--prefix PATH ":" ${lib.makeBinPath [ wget ]}
mkdir -p $out/share/distrobox
echo 'container_additional_volumes="/nix:/nix"' > $out/share/distrobox/distrobox.conf
'';
postInstall = ''
ls completions/zsh
installShellCompletion --cmd distrbox --zsh completions/zsh/_distrobox
'';
meta = with lib; {
description = "Wrapper around podman or docker to create and start containers";
longDescription = ''
Use any linux distribution inside your terminal. Enable both backward and
forward compatibility with software and freedom to use whatever distribution
youre more comfortable with
'';
homepage = "https://distrobox.it/";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = with maintainers; [ atila ];
};
})