13 rustPlatform.buildRustPackage rec {
14 pname = "pop-launcher";
17 src = fetchFromGitHub {
21 hash = "sha256-CLpquNgdtnGMlMpGLv72WZmizalvYPfMWlE/qLprVrs=";
33 lockFile = ./Cargo.lock;
35 "cosmic-client-toolkit-0.1.0" = "sha256-6XM6kcM2CEGAziCkal4uO0EL1nEWOKb3rFs7hFh6r7Y=";
36 "switcheroo-control-0.1.0" = "sha256-mklNPKVMO6iFrxki2DwiL5K78KiWpGxksisYldaASIE=";
48 dontUseJustBuild = true;
49 dontUseJustCheck = true;
56 "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release"
60 substituteInPlace justfile --replace-fail '#!/usr/bin/env' "#!$(command -v env)"
62 substituteInPlace src/lib.rs \
63 --replace-fail '/usr/lib/pop-launcher' "$out/share/pop-launcher"
64 substituteInPlace plugins/src/scripts/mod.rs \
65 --replace-fail '/usr/lib/pop-launcher' "$out/share/pop-launcher"
66 substituteInPlace plugins/src/calc/mod.rs \
67 --replace-fail 'Command::new("qalc")' 'Command::new("${libqalculate}/bin/qalc")'
68 substituteInPlace plugins/src/find/mod.rs \
69 --replace-fail 'spawn("fd")' 'spawn("${fd}/bin/fd")'
70 substituteInPlace plugins/src/terminal/mod.rs \
71 --replace-fail '/usr/bin/gnome-terminal' 'gnome-terminal'
75 description = "Modular IPC-based desktop launcher service";
76 homepage = "https://github.com/pop-os/launcher";
77 platforms = platforms.linux;
78 license = licenses.mpl20;
79 maintainers = with maintainers; [ samhug ];
80 mainProgram = "pop-launcher";