diff --git a/pkgs/applications/version-management/yadm/default.nix b/pkgs/applications/version-management/yadm/default.nix index 66b785e43b1..bebc9fef0c6 100644 --- a/pkgs/applications/version-management/yadm/default.nix +++ b/pkgs/applications/version-management/yadm/default.nix @@ -1,10 +1,12 @@ -{ stdenv, fetchFromGitHub }: +{ stdenv, fetchFromGitHub, git, gnupg }: let version = "1.12.0"; in stdenv.mkDerivation { pname = "yadm"; inherit version; + buildInputs = [ git gnupg ]; + src = fetchFromGitHub { owner = "TheLocehiliosan"; repo = "yadm"; @@ -12,26 +14,26 @@ stdenv.mkDerivation { sha256 = "0873jgks7dpfkj5km1jchxdrhf7lia70p0f8zsrh9p4crj5f4pc6"; }; - buildCommand = '' - mkdir -p $out/bin - mkdir -p $out/share/man/man1 - mkdir -p $out/share/zsh/site-functions - mkdir -p $out/share/bash-completion/completions - sed -e 's:/bin/bash:/usr/bin/env bash:' $src/yadm > $out/bin/yadm - chmod 755 $out/bin/yadm - install -m 644 $src/yadm.1 $out/share/man/man1/yadm.1 - install -m644 $src/completion/yadm.zsh_completion $out/share/zsh/site-functions/_yadm - install -m644 $src/completion/yadm.bash_completion $out/share/bash-completion/completions/yadm.bash + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + install -Dt $out/bin $src/yadm + install -Dt $out/share/man/man1 $src/yadm.1 + install -D $src/completion/yadm.zsh_completion $out/share/zsh/site-functions/_yadm + install -D $src/completion/yadm.bash_completion $out/share/bash-completion/completions/yadm.bash + runHook postInstall ''; meta = { homepage = https://github.com/TheLocehiliosan/yadm; description = "Yet Another Dotfiles Manager"; longDescription = '' - yadm is a dotfile management tool with 3 main features: Manages files across - systems using a single Git repository. Provides a way to use alternate files on - a specific OS or host. Supplies a method of encrypting confidential data so it - can safely be stored in your repository. + yadm is a dotfile management tool with 3 main features: + * Manages files across systems using a single Git repository. + * Provides a way to use alternate files on a specific OS or host. + * Supplies a method of encrypting confidential data so it can safely be stored in your repository. ''; license = stdenv.lib.licenses.gpl3; platforms = stdenv.lib.platforms.unix;