From 26d0328abbdd414202c0c76337c10a4dca638258 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 10 Oct 2025 21:49:40 +0800 Subject: [PATCH 1/6] pantheon.live-chart: init at 2.0.0 --- pkgs/desktops/pantheon/default.nix | 2 + .../pantheon/libraries/live-chart/default.nix | 57 +++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 pkgs/desktops/pantheon/libraries/live-chart/default.nix diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 3d15f9b9f72b..8fec1aa39ad7 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -122,6 +122,8 @@ lib.makeScope pkgs.newScope ( granite7 = callPackage ./libraries/granite/7 { }; + live-chart = callPackage ./libraries/live-chart { }; + pantheon-wayland = callPackage ./libraries/pantheon-wayland { }; #### SERVICES diff --git a/pkgs/desktops/pantheon/libraries/live-chart/default.nix b/pkgs/desktops/pantheon/libraries/live-chart/default.nix new file mode 100644 index 000000000000..ba3a390f71f9 --- /dev/null +++ b/pkgs/desktops/pantheon/libraries/live-chart/default.nix @@ -0,0 +1,57 @@ +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + vala, + xvfb-run, + gtk4, + libgee, + nix-update-script, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "live-chart"; + version = "2.0.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = "live-chart"; + tag = finalAttrs.version; + hash = "sha256-X/wdmKw381Fkjcvj7k2AmA/nXWKFFNx5KDNxeWEiqzs="; + }; + + outputs = [ + "out" + "dev" + ]; + + strictDeps = true; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + xvfb-run + ]; + + buildInputs = [ + gtk4 + libgee + ]; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { + description = "Real-time charting library for Vala and GTK4 based on Cairo"; + homepage = "https://github.com/elementary/live-chart"; + license = lib.licenses.mit; + teams = [ lib.teams.pantheon ]; + platforms = lib.platforms.linux; + }; +}) From cfd48832c25b9aa00255dd2a5a58331caa939dad Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 10 Oct 2025 22:13:07 +0800 Subject: [PATCH 2/6] pantheon.wingpanel: Propagate glib, gtk3 They are listed in `Requires` in wingpanel.pc. --- pkgs/desktops/pantheon/desktop/wingpanel/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix index c614ca8930b4..2288d8908232 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix @@ -10,6 +10,7 @@ ninja, vala, gala, + glib, gtk3, libgee, granite, @@ -54,13 +55,17 @@ stdenv.mkDerivation rec { elementary-icon-theme gala granite - gtk3 json-glib libgee mutter wayland ]; + propagatedBuildInputs = [ + glib + gtk3 + ]; + preFixup = '' gappsWrapperArgs+=( # this GTK theme is required From 124ed3c01cb0c196418d6378302c3a05efaf0644 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 10 Oct 2025 22:14:04 +0800 Subject: [PATCH 3/6] pantheon.elementary-monitor: 0.17.2 -> 8.0.0 https://github.com/elementary/monitor/compare/0.17.2...8.0.0 --- pkgs/applications/system/monitor/default.nix | 116 ------------------ .../apps/elementary-monitor/default.nix | 93 ++++++++++++++ pkgs/desktops/pantheon/default.nix | 2 + pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 4 - 5 files changed, 96 insertions(+), 120 deletions(-) delete mode 100644 pkgs/applications/system/monitor/default.nix create mode 100644 pkgs/desktops/pantheon/apps/elementary-monitor/default.nix diff --git a/pkgs/applications/system/monitor/default.nix b/pkgs/applications/system/monitor/default.nix deleted file mode 100644 index 5115a6e12d72..000000000000 --- a/pkgs/applications/system/monitor/default.nix +++ /dev/null @@ -1,116 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - gitUpdater, - meson, - ninja, - vala, - pkg-config, - pantheon, - python3, - curl, - flatpak, - gettext, - glib, - gtk3, - json-glib, - libwnck, - libgee, - libgtop, - libhandy, - sassc, - udisks2, - wrapGAppsHook3, - libX11, - libXext, - libXNVCtrl, -}: - -stdenv.mkDerivation rec { - pname = "monitor"; - version = "0.17.2"; - - src = fetchFromGitHub { - owner = "stsdc"; - repo = "monitor"; - rev = version; - hash = "sha256-Kk3L4hfHon0B6Y6vU7en1UFpg221+EiVCxMX9mvu7pU="; - fetchSubmodules = true; - }; - - nativeBuildInputs = [ - gettext - meson - ninja - vala - pkg-config - python3 - wrapGAppsHook3 - ]; - - buildInputs = [ - curl - flatpak - glib - gtk3 - json-glib - pantheon.granite - pantheon.wingpanel - libgee - libgtop - libhandy - libwnck - sassc - udisks2 - libX11 - libXext - libXNVCtrl - ]; - - # Force link against Xext, otherwise build fails with: - # ld: /nix/store/...-libXNVCtrl-495.46/lib/libXNVCtrl.a(NVCtrl.o): undefined reference to symbol 'XextAddDisplay' - # ld: /nix/store/...-libXext-1.3.4/lib/libXext.so.6: error adding symbols: DSO missing from command line - # https://github.com/stsdc/monitor/issues/292 - NIX_LDFLAGS = "-lXext"; - - mesonFlags = [ "-Dindicator-wingpanel=enabled" ]; - - postPatch = '' - chmod +x meson/post_install.py - patchShebangs meson/post_install.py - - # Alternatively, using pkg-config here should just work. - substituteInPlace meson.build --replace \ - "meson.get_compiler('c').find_library('libcurl', dirs: vapidir)" \ - "meson.get_compiler('c').find_library('libcurl', dirs: '${curl.out}/lib')" - - # Fix build with Vala 0.56.18 - # https://github.com/elementary/monitor/issues/444 - for i in $(find src/Resources -type f -name "*.vala"); do - substituteInPlace $i --replace-warn "[Compact]" "" - done - ''; - - passthru = { - updateScript = gitUpdater { - # Upstream frequently tags these to fix CI, which are mostly irrelevant to us. - ignoredVersions = "-"; - }; - }; - - meta = with lib; { - description = "Manage processes and monitor system resources"; - longDescription = '' - Manage processes and monitor system resources. - To use the wingpanel indicator in this application, see the Pantheon - section in the NixOS manual. - ''; - homepage = "https://github.com/stsdc/monitor"; - maintainers = with maintainers; [ xiorcale ]; - teams = [ teams.pantheon ]; - platforms = platforms.linux; - license = licenses.gpl3Plus; - mainProgram = "com.github.stsdc.monitor"; - }; -} diff --git a/pkgs/desktops/pantheon/apps/elementary-monitor/default.nix b/pkgs/desktops/pantheon/apps/elementary-monitor/default.nix new file mode 100644 index 000000000000..0bcd1ea66166 --- /dev/null +++ b/pkgs/desktops/pantheon/apps/elementary-monitor/default.nix @@ -0,0 +1,93 @@ +{ + stdenv, + lib, + fetchFromGitHub, + desktop-file-utils, + gettext, + meson, + ninja, + pkg-config, + sassc, + vala, + wrapGAppsHook4, + flatpak, + glib, + granite7, + gtk4, + json-glib, + libadwaita, + libgee, + libgtop, + libX11, + linuxPackages, + live-chart, + pciutils, + udisks2, + wingpanel, + nix-update-script, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "elementary-monitor"; + version = "8.0.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = "monitor"; + tag = finalAttrs.version; + hash = "sha256-pFyDC22YzThHPElBt/JjFP1A8hoCw9QoIjS2Re8Se9w="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + desktop-file-utils + gettext + meson + ninja + pkg-config + sassc + vala + wrapGAppsHook4 + ]; + + buildInputs = [ + flatpak + glib + granite7 + gtk4 + json-glib + libadwaita + libgee + libgtop + libX11 + linuxPackages.nvidia_x11.settings.libXNVCtrl + live-chart + pciutils + udisks2 + wingpanel + ]; + + mesonFlags = [ "-Dindicator-wingpanel=enabled" ]; + + postPatch = '' + # Fix build with Vala 0.56.18 + # https://github.com/elementary/monitor/issues/444 + for i in $(find src/Resources -type f -name "*.vala"); do + substituteInPlace $i --replace-warn "[Compact]" "" + done + ''; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { + description = "Manage processes and monitor system resources"; + homepage = "https://github.com/elementary/monitor"; + teams = [ lib.teams.pantheon ]; + platforms = lib.platforms.linux; + license = lib.licenses.gpl3Plus; + mainProgram = "io.elementary.monitor"; + }; +}) diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 8fec1aa39ad7..2a37d4bf0d31 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -76,6 +76,8 @@ lib.makeScope pkgs.newScope ( elementary-maps = callPackage ./apps/elementary-maps { }; + elementary-monitor = callPackage ./apps/elementary-monitor { }; + elementary-music = callPackage ./apps/elementary-music { }; elementary-photos = callPackage ./apps/elementary-photos { }; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 4076bacec858..88a97c9b8ee4 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1734,6 +1734,7 @@ mapAliases { mod_spkac = throw "'mod_spkac' has been renamed to/replaced by 'apacheHttpdPackages.mod_spkac'"; # Converted to throw 2024-10-17 mod_pkcs12 = throw "'mod_pkcs12' has been renamed to/replaced by 'apacheHttpdPackages.mod_pkcs12'"; # Converted to throw 2024-10-17 mod_timestamp = throw "'mod_timestamp' has been renamed to/replaced by 'apacheHttpdPackages.mod_timestamp'"; # Converted to throw 2024-10-17 + monitor = pantheon.elementary-monitor; # Added 2025-10-10 mono-addins = throw "mono-addins has been removed due to its dependency on the removed mono4. Consider alternative frameworks or migrate to newer .NET technologies."; # Added 2025-08-25 mono4 = mono6; # Added 2025-08-25 mono5 = mono6; # Added 2025-08-25 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7095a4494e79..3e644065dac6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11922,10 +11922,6 @@ with pkgs; ocamlPackages = ocaml-ng.ocamlPackages_4_14_unsafe_string; }; - monitor = callPackage ../applications/system/monitor { - libXNVCtrl = linuxPackages.nvidia_x11.settings.libXNVCtrl; - }; - moolticute = libsForQt5.callPackage ../applications/misc/moolticute { }; mopidyPackages = From 44a1a68766efa04db17a1bbeb31c32280df6ac84 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 10 Oct 2025 22:20:51 +0800 Subject: [PATCH 4/6] nixos/pantheon: Add elementary-monitor https://github.com/elementary/monitor/blob/8.0.0-debian/debian/rules#L16 https://github.com/elementary/seeds/commit/ace5f7118ba938a5f552572f5e7f3511e63c9cbf --- nixos/modules/services/desktop-managers/pantheon.nix | 1 + pkgs/desktops/pantheon/default.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/nixos/modules/services/desktop-managers/pantheon.nix b/nixos/modules/services/desktop-managers/pantheon.nix index 5b24304b4993..9eca235f8740 100644 --- a/nixos/modules/services/desktop-managers/pantheon.nix +++ b/nixos/modules/services/desktop-managers/pantheon.nix @@ -322,6 +322,7 @@ in elementary-files elementary-mail elementary-maps + elementary-monitor elementary-music elementary-photos elementary-screenshot diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 2a37d4bf0d31..9b2b97dc3fc4 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -29,6 +29,7 @@ lib.makeScope pkgs.newScope ( ]; wingpanelIndicators = [ + elementary-monitor wingpanel-applications-menu wingpanel-indicator-bluetooth wingpanel-indicator-datetime From 060af028c00ecb4756c5cad8deabdce384fbac37 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 10 Oct 2025 23:27:14 +0800 Subject: [PATCH 5/6] reco: 5.0.2 -> 5.1.1 https://github.com/ryonakano/reco/compare/5.0.2...5.1.1 Note that the `granite` meson option is disabled by default, so the granite dependency will automatically be skipped even it is available. Also switch to livechart-2 (elementary's fork) so we can drop livechart. --- pkgs/by-name/re/reco/package.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/re/reco/package.nix b/pkgs/by-name/re/reco/package.nix index 27742087dc43..0dfff8cefcbb 100644 --- a/pkgs/by-name/re/reco/package.nix +++ b/pkgs/by-name/re/reco/package.nix @@ -2,13 +2,14 @@ lib, stdenv, fetchFromGitHub, + blueprint-compiler, meson, ninja, pkg-config, vala, wrapGAppsHook4, + libadwaita, libgee, - live-chart, ryokucha, pantheon, gst_all_1, @@ -16,16 +17,17 @@ stdenv.mkDerivation (finalAttrs: { pname = "reco"; - version = "5.0.2"; + version = "5.1.1"; src = fetchFromGitHub { owner = "ryonakano"; repo = "reco"; rev = finalAttrs.version; - hash = "sha256-uZAcZJLQH0MTI4NSJnZvzYPBFVXGBqAhsjVLAVP/ZwI="; + hash = "sha256-vSVWGXC0QJ20t2MRImBwG8ZTrTLE5Z98GO6No80mCUU="; }; nativeBuildInputs = [ + blueprint-compiler meson ninja pkg-config @@ -34,10 +36,10 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ + libadwaita libgee - live-chart + pantheon.live-chart ryokucha - pantheon.granite7 gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good From 49c24b6cc0ca5793ad4cefb2dc348784b7ba26eb Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 10 Oct 2025 23:35:52 +0800 Subject: [PATCH 6/6] live-chart: drop --- pkgs/by-name/li/live-chart/package.nix | 50 -------------------------- pkgs/top-level/aliases.nix | 1 + 2 files changed, 1 insertion(+), 50 deletions(-) delete mode 100644 pkgs/by-name/li/live-chart/package.nix diff --git a/pkgs/by-name/li/live-chart/package.nix b/pkgs/by-name/li/live-chart/package.nix deleted file mode 100644 index 942fe3545562..000000000000 --- a/pkgs/by-name/li/live-chart/package.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - meson, - ninja, - pkg-config, - vala, - gtk4, - libgee, -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "live-chart"; - version = "1.10.0"; - - src = fetchFromGitHub { - owner = "lcallarec"; - repo = "live-chart"; - rev = finalAttrs.version; - hash = "sha256-SOZJ9sVrmsZybs5BVXWmqBJ/P7SZI/X8TGWHXGvXAU8="; - }; - - outputs = [ - "out" - "dev" - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - vala - ]; - - buildInputs = [ - gtk4 - libgee - ]; - - strictDeps = true; - - meta = { - description = "Real-time charting library for Vala and GTK4 based on Cairo"; - homepage = "https://github.com/lcallarec/live-chart"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ aleksana ]; - platforms = lib.platforms.unix; - }; -}) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 88a97c9b8ee4..9a8efe094338 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1413,6 +1413,7 @@ mapAliases { litecoind = throw "litecoind has been removed as nobody was maintaining it and the packaged version had known vulnerabilities"; # Added 2024-11-24 Literate = literate; # Added 2024-06-12 littlenavmap = throw "littlenavmap has been removed as it depends on KDE Gear 5, which has reached EOL"; # Added 2025-08-20 + live-chart = throw "live-chart has been removed as it is no longer used in Nixpkgs. livechart-2 (elementary's fork) is available as pantheon.live-chart"; # Added 2025-10-10 llama = walk; # Added 2023-01-23 # Linux kernels