diff options
Diffstat (limited to 'pkgs/desktops/cinnamon/nemo/wrapper.nix')
-rw-r--r-- | pkgs/desktops/cinnamon/nemo/wrapper.nix | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/pkgs/desktops/cinnamon/nemo/wrapper.nix b/pkgs/desktops/cinnamon/nemo/wrapper.nix new file mode 100644 index 00000000000..ae94ff9ae84 --- /dev/null +++ b/pkgs/desktops/cinnamon/nemo/wrapper.nix @@ -0,0 +1,37 @@ +{ symlinkJoin +, lib +, makeWrapper +, nemo +, nemoExtensions +, extensions ? [ ] +, useDefaultExtensions ? true +}: + +let + selectedExtensions = extensions ++ (lib.optionals useDefaultExtensions nemoExtensions); +in +symlinkJoin { + name = "nemo-with-extensions-${nemo.version}"; + + paths = [ nemo ] ++ selectedExtensions; + + nativeBuildInputs = [ makeWrapper ]; + + postBuild = '' + for f in $(find $out/bin/ $out/libexec/ -type l -not -path "*/.*"); do + wrapProgram "$f" \ + --set "NEMO_EXTENSION_DIR" "$out/${nemo.extensiondir}" + done + + # Point to wrapped binary in all service files + for file in "share/dbus-1/services/nemo.FileManager1.service" \ + "share/dbus-1/services/nemo.service" + do + rm "$out/$file" + substitute "${nemo}/$file" "$out/$file" \ + --replace "${nemo}" "$out" + done + ''; + + inherit (nemo) meta; +} |