diff --git a/common/default.nix b/common/default.nix index d1b9173..f2eedb8 100644 --- a/common/default.nix +++ b/common/default.nix @@ -67,6 +67,7 @@ nur.hmModules.nur ./home + ./home/trash-d ./pkgs ]; diff --git a/common/home/trash-d/default.nix b/common/home/trash-d/default.nix new file mode 100644 index 0000000..ecbba28 --- /dev/null +++ b/common/home/trash-d/default.nix @@ -0,0 +1,7 @@ +{pkgs, ...}: let + trash = pkgs.callPackage ./trash-d.nix pkgs; +in { + home.packages = [trash]; + + programs.bash.shellAliases.rm = "trash"; +} diff --git a/common/home/trash-d/trash-d.nix b/common/home/trash-d/trash-d.nix new file mode 100644 index 0000000..ac066a9 --- /dev/null +++ b/common/home/trash-d/trash-d.nix @@ -0,0 +1,36 @@ +{ + stdenv, + fetchFromGitHub, + dmd, + dub, + ronn, + ... +}: +stdenv.mkDerivation { + name = "trash"; + version = "unstable"; + + src = fetchFromGitHub { + owner = "rushsteve1"; + repo = "trash-d"; + rev = "d88bb672612761c8e299e717857bf9c85a903e99"; + hash = "sha256-oPxeoEqOYf6DCg5rJxINqAIlMbxqzAJcZDUY/EzADzY="; + }; + + buildInputs = [dub dmd ronn]; + + buildPhase = '' + # https://github.com/svanderburg/node2nix/issues/217#issuecomment-751311272 + export HOME=$(mktemp -d) + + dub build + ''; + + installPhase = '' + mkdir -p $out/bin $out/man/man1 + + cp -a ./build/trash $out/bin/ + + ronn --roff --pipe MANUAL.md > $out/man/man1/trash.1 + ''; +}