diff options
-rw-r--r-- | home/dev-utils/default.nix | 2 | ||||
-rw-r--r-- | pkgs/default.nix | 2 | ||||
-rw-r--r-- | pkgs/trash/default.nix | 38 | ||||
-rw-r--r-- | pkgs/trash/trash-dont-hardcode-arch.patch | 13 |
4 files changed, 54 insertions, 1 deletions
diff --git a/home/dev-utils/default.nix b/home/dev-utils/default.nix index e972084..e54c914 100644 --- a/home/dev-utils/default.nix +++ b/home/dev-utils/default.nix @@ -9,7 +9,7 @@ nodePackages_latest.nodemon rlwrap tcl-8_6 - ]; + ] ++ lib.optional pkgs.stdenv.isDarwin trash; home.sessionVariables.MANPATH = lib.mkIf pkgs.stdenv.isDarwin "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/share/man:/Applications/Xcode.app/Contents/Developer/usr/share/man:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man:$MANPATH"; } diff --git a/pkgs/default.nix b/pkgs/default.nix index b33502e..6b2d984 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -7,6 +7,8 @@ pkgs: still-awake = pkgs.callPackage ./still-awake { }; + trash = pkgs.callPackage ./trash { }; + # Use patched version from Karl. smu = pkgs.smu.overrideAttrs (old: { version = "2022-08-01"; diff --git a/pkgs/trash/default.nix b/pkgs/trash/default.nix new file mode 100644 index 0000000..e9e84c9 --- /dev/null +++ b/pkgs/trash/default.nix @@ -0,0 +1,38 @@ +{ stdenv +, fetchFromGitHub +, perl534Packages +, darwin +}: + +stdenv.mkDerivation rec { + name = "trash"; + version = "0.9.2"; + + src = fetchFromGitHub { + owner = "ali-rantakari"; + repo = "trash"; + rev = "v${version}"; + sha256 = "sha256-vibUimY15KTulGVqmmTGtO/+XowoRHykcmL8twdgebQ="; + }; + patches = [ ./trash-dont-hardcode-arch.patch ]; + buildInputs = [ + darwin.apple_sdk.frameworks.Cocoa + darwin.apple_sdk.frameworks.AppKit + darwin.apple_sdk.frameworks.ScriptingBridge + perl534Packages.podlators + ]; + + outputs = [ "out" "man" ]; + + buildPhase = '' + make trash trash.1 + ''; + + installPhase = '' + mkdir -p $out/bin $man/share/man/man1 + mv trash $out/bin + mv trash.1 $man/share/man/man1/trash.1 + # I like to alias as del because trash is so hard spell + ln -s $out/bin/trash $out/bin/del + ''; +} diff --git a/pkgs/trash/trash-dont-hardcode-arch.patch b/pkgs/trash/trash-dont-hardcode-arch.patch new file mode 100644 index 0000000..3c581c1 --- /dev/null +++ b/pkgs/trash/trash-dont-hardcode-arch.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile b/Makefile +index e867e91..40b7ecd 100644 +--- a/Makefile ++++ b/Makefile +@@ -10,7 +10,7 @@ trash: $(SOURCE_FILES) + @echo + @echo ---- Compiling: + @echo ====================================== +- $(CC) -O2 -Wall -Wextra -Wpartial-availability -Wno-unguarded-availability -force_cpusubtype_ALL -mmacosx-version-min=10.7 -arch i386 -arch x86_64 -framework AppKit -framework ScriptingBridge -o $@ $(SOURCE_FILES) ++ $(CC) -O2 -Wall -Wextra -Wpartial-availability -Wno-unguarded-availability -mmacosx-version-min=10.7 -framework AppKit -framework ScriptingBridge -o $@ $(SOURCE_FILES) + + analyze: + @echo |