nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 python3Packages,
4 fetchFromGitHub,
5 installShellFiles,
6 stdenv,
7
8 waylandSupport ? (!stdenv.hostPlatform.isDarwin),
9 x11Support ? (!stdenv.hostPlatform.isDarwin),
10
11 wl-clipboard,
12 wtype,
13 xdotool,
14 xsel,
15}:
16
17python3Packages.buildPythonApplication rec {
18 pname = "rofimoji";
19 version = "6.7.0";
20 pyproject = true;
21
22 src = fetchFromGitHub {
23 owner = "fdw";
24 repo = "rofimoji";
25 tag = version;
26 hash = "sha256-8Y28jlmlKFyqT/OGn/jKjvivMc2U7TQvYmaTX1vCvXQ=";
27 };
28
29 nativeBuildInputs = [
30 python3Packages.hatchling
31 installShellFiles
32 ];
33
34 # `rofi` and the `waylandSupport` and `x11Support` dependencies
35 # contain binaries needed at runtime.
36 propagatedBuildInputs = [
37 python3Packages.configargparse
38 ]
39 ++ lib.optionals waylandSupport [
40 wl-clipboard
41 wtype
42 ]
43 ++ lib.optionals x11Support [
44 xdotool
45 xsel
46 ];
47
48 # The 'extractors' sub-module is used for development
49 # and has additional dependencies.
50 postPatch = ''
51 rm -rf extractors
52 '';
53
54 postInstall = ''
55 installManPage src/picker/docs/rofimoji.1
56 '';
57
58 meta = {
59 description = "Simple emoji and character picker for rofi";
60 mainProgram = "rofimoji";
61 homepage = "https://github.com/fdw/rofimoji";
62 changelog = "https://github.com/fdw/rofimoji/blob/${src.rev}/CHANGELOG.md";
63 license = lib.licenses.mit;
64 platforms = lib.platforms.linux ++ lib.platforms.darwin;
65 maintainers = with lib.maintainers; [ justinlovinger ];
66 };
67}