main
 1# Modifed from https://forge.kruemmelspalter.org/communix/nur-packages/src/branch/main/pkgs/nocturne/default.nix
 2# Also in NUR https://github.com/nix-community/nur-combined/blob/4c3b2c48edfcb14533c0989fbfd3ba7f68200f9a/repos/Baum/pkgs/nocturne/default.nix
 3{
 4  lib,
 5  stdenv,
 6  python3,
 7  fetchFromGitHub,
 8  gtk4,
 9  libadwaita,
10  libsecret,
11  meson,
12  ninja,
13  blueprint-compiler,
14  pkg-config,
15  wrapGAppsHook4,
16  desktop-file-utils,
17  gst_all_1,
18  gobject-introspection,
19  xdg-user-dirs,
20}:
21stdenv.mkDerivation {
22  pname = "nocturne";
23  version = "1.3.0";
24
25  src = fetchFromGitHub {
26    owner = "Jeffser";
27    repo = "Nocturne";
28    rev = "0df23a0886aab0abb229309858979d05a4c29c26";
29    hash = "sha256-z7E4PVSp7HDarnJeQFrJ/HznxUT+b6xTF0QTm5ffvTQ=";
30  };
31
32  nativeBuildInputs = [
33    blueprint-compiler
34    desktop-file-utils
35    gobject-introspection
36    meson
37    ninja
38    pkg-config
39    wrapGAppsHook4
40  ];
41
42  buildInputs = [
43    gst_all_1.gstreamer
44    gtk4
45    libadwaita
46    libsecret
47    xdg-user-dirs
48    (python3.withPackages (py:
49      with py; [
50        colorthief
51        mpris-server
52        requests
53        syncedlyrics
54        tinytag
55      ]))
56  ];
57
58  preFixup = ''
59    gappsWrapperArgs+=(
60      --prefix GI_TYPELIB_PATH : "${gtk4}/lib/girepository-1.0"
61      --prefix GI_TYPELIB_PATH : "${libadwaita}/lib/girepository-1.0"
62      --prefix PATH : "${lib.getBin xdg-user-dirs}/bin"
63    )
64  '';
65
66  meta = with lib; {
67    description = "An Adwaita Music Player / Library Manager ";
68    homepage = "https://github.com/Jeffser/Nocturne";
69    license = licenses.gpl3Only;
70    platforms = platforms.linux;
71  };
72}