push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,88 @@
{
stdenv,
lib,
fetchFromGitHub,
meson,
ninja,
pkg-config,
sassc,
vala,
wrapGAppsHook4,
appstream,
dbus,
flatpak,
glib,
granite7,
gtk4,
json-glib,
libadwaita,
libgee,
libportal-gtk4,
libsoup_3,
libxml2,
polkit,
nix-update-script,
}:
stdenv.mkDerivation rec {
pname = "appcenter";
version = "8.3.1";
src = fetchFromGitHub {
owner = "elementary";
repo = "appcenter";
rev = version;
hash = "sha256-DFlPXsKLlBufOx/GgFAJovaRwCaFFHo2AlnvszdU7Go=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
sassc
vala
wrapGAppsHook4
];
buildInputs = [
appstream
dbus
flatpak
glib
granite7
gtk4
json-glib
libadwaita
libgee
libportal-gtk4
libsoup_3
libxml2
polkit
];
mesonFlags = [
"-Dpayments=false"
"-Dcurated=false"
];
postPatch = ''
# Since we do not build libxml2 with legacy support,
# we cannot use compressed appstream metadata.
# https://gitlab.gnome.org/GNOME/libxml2/-/commit/f7f14537727bf6845d0eea08cd1fdc30accc2a53
substituteInPlace src/Core/FlatpakBackend.vala \
--replace-fail ".xml.gz" ".xml"
'';
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
homepage = "https://github.com/elementary/appcenter";
description = "Open, pay-what-you-want app store for indie developers, designed for elementary OS";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
mainProgram = "io.elementary.appcenter";
};
}

View File

@@ -0,0 +1,65 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
wrapGAppsHook4,
elementary-gtk-theme,
elementary-icon-theme,
granite7,
gtk4,
libgee,
}:
stdenv.mkDerivation rec {
pname = "elementary-calculator";
version = "8.0.1";
src = fetchFromGitHub {
owner = "elementary";
repo = "calculator";
rev = version;
sha256 = "sha256-XBOe3v6lKoICgEh78JoVH0Ojs8tr5PxKHQGk63MX6pQ=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
vala
wrapGAppsHook4
];
buildInputs = [
elementary-icon-theme
granite7
gtk4
libgee
];
preFixup = ''
gappsWrapperArgs+=(
# The GTK theme is hardcoded.
--prefix XDG_DATA_DIRS : "${elementary-gtk-theme}/share"
# The icon theme is hardcoded.
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
)
'';
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
homepage = "https://github.com/elementary/calculator";
description = "Calculator app designed for elementary OS";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
mainProgram = "io.elementary.calculator";
};
}

View File

@@ -0,0 +1,71 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
wrapGAppsHook3,
clutter,
evolution-data-server,
folks,
geoclue2,
geocode-glib_2,
granite,
gtk3,
libchamplain_libsoup3,
libgee,
libhandy,
libical,
libportal-gtk3,
}:
stdenv.mkDerivation rec {
pname = "elementary-calendar";
version = "8.0.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "calendar";
rev = version;
sha256 = "sha256-gBQfrRSaw3TKcsSAQh/hcTpBoEQstGdLbppoZ1/Z1q8=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
vala
wrapGAppsHook3
];
buildInputs = [
clutter
evolution-data-server
folks
geoclue2
geocode-glib_2
granite
gtk3
libchamplain_libsoup3
libgee
libhandy
libical
libportal-gtk3
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Desktop calendar app designed for elementary OS";
homepage = "https://github.com/elementary/calendar";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
mainProgram = "io.elementary.calendar";
};
}

View File

@@ -0,0 +1,66 @@
{
stdenv,
lib,
fetchFromGitHub,
meson,
ninja,
pkg-config,
vala,
wrapGAppsHook4,
glib,
granite7,
gst_all_1,
gtk4,
libadwaita,
libcanberra,
libgee,
nix-update-script,
}:
stdenv.mkDerivation rec {
pname = "elementary-camera";
version = "8.0.2";
src = fetchFromGitHub {
owner = "elementary";
repo = "camera";
rev = version;
sha256 = "sha256-jJJhCFDo5Iw6zV6aE8JgG/sMFpUfra2j2zQ8+GjyQrk=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
vala
wrapGAppsHook4
];
buildInputs = [
glib
granite7
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-base
(gst_all_1.gst-plugins-good.override { gtkSupport = true; })
gst_all_1.gst-plugins-rs # GTK 4 sink
gst_all_1.gst-plugins-ugly
gst_all_1.gstreamer
gtk4
libadwaita
libcanberra
libgee
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Camera app designed for elementary OS";
homepage = "https://github.com/elementary/camera";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
mainProgram = "io.elementary.camera";
};
}

View File

@@ -0,0 +1,84 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
polkit,
vala,
wrapGAppsHook3,
editorconfig-core-c,
granite,
gsettings-desktop-schemas,
gtk3,
gtksourceview4,
gtkspell3,
libgee,
libgit2-glib,
libhandy,
libpeas2,
libsoup_3,
vte,
ctags,
}:
stdenv.mkDerivation rec {
pname = "elementary-code";
version = "8.1.1";
src = fetchFromGitHub {
owner = "elementary";
repo = "code";
rev = version;
hash = "sha256-4IGun7MnrMRmpXD0Kxm/ND4C3pFVhjHqDeP6jUmRg7k=";
};
strictDeps = true;
nativeBuildInputs = [
meson
ninja
pkg-config
polkit # needed for ITS rules
vala
wrapGAppsHook3
];
buildInputs = [
editorconfig-core-c
granite
gsettings-desktop-schemas
gtk3
gtksourceview4
gtkspell3
libgee
libgit2-glib
libhandy
libpeas2
libsoup_3
vala # for ValaSymbolResolver provided by libvala
vte
];
# ctags needed in path by outline plugin
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : "${lib.makeBinPath [ ctags ]}"
)
'';
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Code editor designed for elementary OS";
homepage = "https://github.com/elementary/code";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
mainProgram = "io.elementary.code";
};
}

View File

@@ -0,0 +1,70 @@
{
stdenv,
lib,
fetchFromGitHub,
meson,
ninja,
pkg-config,
vala,
wayland-scanner,
wrapGAppsHook4,
glib,
granite7,
gtk4,
libadwaita,
wayland,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "elementary-dock";
version = "8.2.0";
outputs = [
"out"
"dev"
];
src = fetchFromGitHub {
owner = "elementary";
repo = "dock";
rev = finalAttrs.version;
hash = "sha256-aKRWb/xtusb9Q2xq6GdM7WzNSweBqWbYUejQq4Or86s=";
};
depsBuildBuild = [ pkg-config ];
nativeBuildInputs = [
meson
ninja
pkg-config
vala
wayland-scanner
wrapGAppsHook4
];
buildInputs = [
glib
granite7
gtk4
libadwaita
wayland
];
# Fix building with GCC 14
# https://github.com/elementary/dock/issues/418
env.NIX_CFLAGS_COMPILE = "-Wno-error=int-conversion";
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Elegant, simple, clean dock";
homepage = "https://github.com/elementary/dock";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
teams = [ lib.teams.pantheon ];
mainProgram = "io.elementary.dock";
};
})

View File

@@ -0,0 +1,67 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
pkg-config,
meson,
ninja,
vala,
gtk4,
glib,
granite7,
libadwaita,
libgee,
wrapGAppsHook4,
appstream,
}:
stdenv.mkDerivation rec {
pname = "elementary-feedback";
version = "8.0.1";
src = fetchFromGitHub {
owner = "elementary";
repo = "feedback";
rev = version;
sha256 = "sha256-D0x0jKYEB6Bo8ETgVCjgdOItc+VJYlrr8N9lI/Z3eXU=";
};
patches = [
# The standard location to the metadata pool where metadata
# will be read from is likely hardcoded as /usr/share/metainfo
# https://github.com/ximion/appstream/blob/v0.15.2/src/as-pool.c#L117
# https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#spec-component-location
./fix-metadata-path.patch
];
nativeBuildInputs = [
meson
ninja
pkg-config
vala
wrapGAppsHook4
];
buildInputs = [
appstream
granite7
gtk4
libadwaita
libgee
glib
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "GitHub Issue Reporter designed for elementary OS";
homepage = "https://github.com/elementary/feedback";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
mainProgram = "io.elementary.feedback";
};
}

View File

@@ -0,0 +1,20 @@
diff --git a/src/MainWindow.vala b/src/MainWindow.vala
index 14b0701..13638a5 100644
--- a/src/MainWindow.vala
+++ b/src/MainWindow.vala
@@ -82,6 +82,7 @@ public class Feedback.MainWindow : Gtk.ApplicationWindow {
AppStream.PoolFlags.LOAD_FLATPAK |
AppStream.PoolFlags.RESOLVE_ADDONS
);
+ appstream_pool.add_extra_data_location ("/run/current-system/sw/share/metainfo/", AppStream.FormatStyle.METAINFO);
#else
appstream_pool.clear_metadata_locations ();
// flatpak's appstream files exists only inside they sandbox
@@ -89,6 +90,7 @@ public class Feedback.MainWindow : Gtk.ApplicationWindow {
foreach (var app in app_entries) {
appstream_pool.add_metadata_location (appdata_dir.printf (app));
}
+ appstream_pool.add_metadata_location ("/run/current-system/sw/share/metainfo/");
#endif
try {

View File

@@ -0,0 +1,80 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
pkg-config,
meson,
ninja,
vala,
desktop-file-utils,
libcanberra,
gtk3,
glib,
libgee,
libhandy,
libportal-gtk3,
granite,
pango,
sqlite,
zeitgeist,
libcloudproviders,
libgit2-glib,
wrapGAppsHook3,
systemd,
}:
stdenv.mkDerivation rec {
pname = "elementary-files";
version = "7.1.5";
outputs = [
"out"
"dev"
];
src = fetchFromGitHub {
owner = "elementary";
repo = "files";
rev = version;
hash = "sha256-fS285BRTP/i50WE4oM+xgoj6cBgas+dQ6WdK9WebURQ=";
};
nativeBuildInputs = [
desktop-file-utils
meson
ninja
pkg-config
vala
wrapGAppsHook3
];
buildInputs = [
glib
granite
gtk3
libcanberra
libcloudproviders
libgee
libgit2-glib
libhandy
libportal-gtk3
pango
sqlite
systemd
zeitgeist
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "File browser designed for elementary OS";
homepage = "https://github.com/elementary/files";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
mainProgram = "io.elementary.files";
};
}

View File

@@ -0,0 +1,67 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
wrapGAppsHook4,
elementary-gtk-theme,
elementary-icon-theme,
glib,
granite7,
gtk4,
gtksourceview5,
}:
stdenv.mkDerivation rec {
pname = "elementary-iconbrowser";
version = "8.0.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "iconbrowser";
rev = version;
sha256 = "sha256-T0VCpk3pdq+2gr/UblLu8mRX7TKJrAtyyFk4i+tAVfI=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
vala
wrapGAppsHook4
];
buildInputs = [
elementary-icon-theme
glib
granite7
gtk4
gtksourceview5
];
preFixup = ''
gappsWrapperArgs+=(
# The GTK theme is hardcoded.
--prefix XDG_DATA_DIRS : "${elementary-gtk-theme}/share"
# The icon theme is hardcoded.
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
)
'';
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
homepage = "https://github.com/elementary/iconbrowser";
description = "Browse and find system icons";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
mainProgram = "io.elementary.iconbrowser";
};
}

View File

@@ -0,0 +1,79 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
pkg-config,
meson,
ninja,
vala,
gtk3,
libxml2,
libhandy,
libportal-gtk3,
webkitgtk_4_1,
elementary-gtk-theme,
elementary-icon-theme,
folks,
glib-networking,
granite,
evolution-data-server,
wrapGAppsHook3,
libgee,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "elementary-mail";
version = "8.0.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "mail";
tag = finalAttrs.version;
hash = "sha256-6T/OTiuDVAPBqp8BPawf/MVEuWTPrLa3/N1Blvt/7Q8=";
};
nativeBuildInputs = [
libxml2
meson
ninja
pkg-config
vala
wrapGAppsHook3
];
buildInputs = [
elementary-icon-theme
evolution-data-server
folks
glib-networking
granite
gtk3
libgee
libhandy
libportal-gtk3
webkitgtk_4_1
];
preFixup = ''
gappsWrapperArgs+=(
# The GTK theme is hardcoded.
--prefix XDG_DATA_DIRS : "${elementary-gtk-theme}/share"
# The icon theme is hardcoded.
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
)
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Mail app designed for elementary OS";
homepage = "https://github.com/elementary/mail";
changelog = "https://github.com/elementary/mail/releases/tag/${finalAttrs.version}";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ ethancedwards8 ];
teams = [ lib.teams.pantheon ];
mainProgram = "io.elementary.mail";
};
})

View File

@@ -0,0 +1,64 @@
{
stdenv,
lib,
fetchFromGitHub,
glib,
meson,
ninja,
pkg-config,
vala,
wrapGAppsHook4,
geoclue2,
geocode-glib_2,
granite7,
gtk4,
libadwaita,
libshumate,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "elementary-maps";
version = "8.1.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "maps";
tag = finalAttrs.version;
hash = "sha256-tS8UnW/oNjLaUZ1XgGuAmeMrHEa2jbtBc0xMcTKki1k=";
};
strictDeps = true;
nativeBuildInputs = [
glib
meson
ninja
pkg-config
vala
wrapGAppsHook4
];
buildInputs = [
geoclue2
geocode-glib_2
glib
granite7
gtk4
libadwaita
libshumate
];
passthru = {
updateScript = nix-update-script { };
};
meta = {
homepage = "https://github.com/elementary/maps";
description = "Map viewer designed for elementary OS";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
teams = [ lib.teams.pantheon ];
mainProgram = "io.elementary.maps";
};
})

View File

@@ -0,0 +1,75 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
wrapGAppsHook4,
elementary-gtk-theme,
elementary-icon-theme,
glib,
granite7,
gst_all_1,
gtk4,
libadwaita,
}:
stdenv.mkDerivation rec {
pname = "elementary-music";
version = "8.1.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "music";
rev = version;
sha256 = "sha256-ALAQh+iFhRhAMCwYDM0Bcww1K/xJ/AajZu/52baI3gQ=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
vala
wrapGAppsHook4
];
buildInputs = [
elementary-icon-theme
glib
granite7
gtk4
libadwaita
]
++ (with gst_all_1; [
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gstreamer
]);
preFixup = ''
gappsWrapperArgs+=(
# The GTK theme is hardcoded.
--prefix XDG_DATA_DIRS : "${elementary-gtk-theme}/share"
# The icon theme is hardcoded.
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
)
'';
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Music player and library designed for elementary OS";
homepage = "https://github.com/elementary/music";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
mainProgram = "io.elementary.music";
};
}

View File

@@ -0,0 +1,81 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
gtk3,
libexif,
libgee,
libhandy,
libportal-gtk3,
geocode-glib_2,
gexiv2,
libgphoto2,
granite,
gst_all_1,
libgudev,
libraw,
sqlite,
libwebp,
wrapGAppsHook3,
}:
stdenv.mkDerivation rec {
pname = "elementary-photos";
version = "8.0.1";
src = fetchFromGitHub {
owner = "elementary";
repo = "photos";
rev = version;
sha256 = "sha256-+aqBeGRisngbH/EALROTr0IZvyrWIlQvFFEgJNfv95Y=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
vala
wrapGAppsHook3
];
buildInputs = [
geocode-glib_2
gexiv2
granite
gtk3
libexif
libgee
libgphoto2
libgudev
libhandy
libportal-gtk3
libraw
libwebp
sqlite
]
++ (with gst_all_1; [
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gstreamer
]);
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Photo viewer and organizer designed for elementary OS";
homepage = "https://github.com/elementary/photos";
license = licenses.lgpl21Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
mainProgram = "io.elementary.photos";
};
}

View File

@@ -0,0 +1,57 @@
{
stdenv,
lib,
fetchFromGitHub,
meson,
ninja,
pkg-config,
vala,
wrapGAppsHook4,
gdk-pixbuf,
glib,
granite7,
gtk4,
libportal,
nix-update-script,
}:
stdenv.mkDerivation rec {
pname = "elementary-screenshot";
version = "8.0.3";
src = fetchFromGitHub {
owner = "elementary";
repo = "screenshot";
rev = version;
hash = "sha256-nEJCyQs77zcUb9mc2dUBbZP3zWdPFHTOORROe3u6sSA=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
vala
wrapGAppsHook4
];
buildInputs = [
gdk-pixbuf
glib
granite7
gtk4
libportal
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Screenshot tool designed for elementary OS";
homepage = "https://github.com/elementary/screenshot";
license = licenses.lgpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
mainProgram = "io.elementary.screenshot";
};
}

View File

@@ -0,0 +1,69 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
wrapGAppsHook3,
clutter-gtk,
evolution-data-server,
granite,
geoclue2,
geocode-glib_2,
gtk3,
libchamplain_libsoup3,
libgee,
libhandy,
libical,
libportal-gtk3,
}:
stdenv.mkDerivation rec {
pname = "elementary-tasks";
version = "6.3.3";
src = fetchFromGitHub {
owner = "elementary";
repo = "tasks";
rev = version;
hash = "sha256-xOMS4Zwfl7TLHvm8Zn6wQ4ZoMg+Yuci+cTpUVG+liss=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
vala
wrapGAppsHook3
];
buildInputs = [
clutter-gtk
evolution-data-server
granite
geoclue2
geocode-glib_2
gtk3
libchamplain_libsoup3
libgee
libhandy
libical
libportal-gtk3
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
homepage = "https://github.com/elementary/tasks";
description = "Synced tasks and reminders on elementary OS";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
mainProgram = "io.elementary.tasks";
};
}

View File

@@ -0,0 +1,69 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
pkg-config,
meson,
ninja,
vala,
desktop-file-utils,
gtk3,
granite,
libhandy,
libnotify,
vte,
libgee,
pcre2,
wrapGAppsHook3,
xvfb-run,
}:
stdenv.mkDerivation rec {
pname = "elementary-terminal";
version = "7.1.2";
src = fetchFromGitHub {
owner = "elementary";
repo = "terminal";
rev = version;
sha256 = "sha256-aMVZSPCh3aQ9VvPyHGKX4p/XG3KhnJpdiFWD0dIjByw=";
};
nativeBuildInputs = [
desktop-file-utils
meson
ninja
pkg-config
vala
wrapGAppsHook3
xvfb-run
];
buildInputs = [
granite
gtk3
libgee
libhandy
libnotify
pcre2
vte
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Terminal emulator designed for elementary OS";
longDescription = ''
A super lightweight, beautiful, and simple terminal. Comes with sane defaults, browser-class tabs, sudo paste protection,
smart copy/paste, and little to no configuration.
'';
homepage = "https://github.com/elementary/terminal";
license = licenses.lgpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
mainProgram = "io.elementary.terminal";
};
}

View File

@@ -0,0 +1,66 @@
{
stdenv,
lib,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
wrapGAppsHook4,
gdk-pixbuf,
granite7,
gst_all_1,
gtk4,
libadwaita,
libgee,
}:
stdenv.mkDerivation rec {
pname = "elementary-videos";
version = "8.0.2";
src = fetchFromGitHub {
owner = "elementary";
repo = "videos";
rev = version;
hash = "sha256-lvIsLjsb4HqwXDsH2krBlxmy7kJdadpjDcw+svaWV+Q=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
vala
wrapGAppsHook4
];
buildInputs = [
gdk-pixbuf
granite7
gst_all_1.gst-libav
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-base
# https://github.com/elementary/videos/issues/356
(gst_all_1.gst-plugins-good.override { gtkSupport = true; })
gst_all_1.gst-plugins-rs # GTK 4 Sink
gst_all_1.gst-plugins-ugly
gst_all_1.gstreamer
gtk4
libadwaita
libgee
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Video player and library app designed for elementary OS";
homepage = "https://github.com/elementary/videos";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
mainProgram = "io.elementary.videos";
};
}

View File

@@ -0,0 +1,61 @@
{
lib,
stdenv,
desktop-file-utils,
nix-update-script,
fetchFromGitHub,
flatpak,
gettext,
glib,
granite7,
gtk4,
meson,
ninja,
pkg-config,
vala,
libxml2,
wrapGAppsHook4,
}:
stdenv.mkDerivation rec {
pname = "sideload";
version = "6.3.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "sideload";
rev = version;
sha256 = "sha256-2tYdcHx77XN2iu2PKXAKwOtb4TOFt3Igv17w2zIxqT4=";
};
nativeBuildInputs = [
desktop-file-utils
gettext
meson
ninja
pkg-config
vala
wrapGAppsHook4
];
buildInputs = [
flatpak
glib
granite7
gtk4
libxml2
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
homepage = "https://github.com/elementary/sideload";
description = "Flatpak installer, designed for elementary OS";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
mainProgram = "io.elementary.sideload";
};
}

View File

@@ -0,0 +1,77 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
libadwaita,
libgee,
libgtop,
libgudev,
libsoup_3,
gettext,
glib,
granite7,
gtk4,
packagekit,
polkit,
switchboard,
udisks2,
fwupd,
appstream,
elementary-settings-daemon,
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-about";
version = "8.2.1";
src = fetchFromGitHub {
owner = "elementary";
repo = "switchboard-plug-about";
rev = version;
sha256 = "sha256-H4BDLP3yzQi+ougpvBvnv1R1TImzUjSOVDGbOqw9hvg=";
};
nativeBuildInputs = [
gettext # msgfmt
glib # glib-compile-resources
meson
ninja
pkg-config
vala
];
buildInputs = [
appstream
elementary-settings-daemon # for gsettings schemas
fwupd
granite7
gtk4
libadwaita
libgee
libgtop
libgudev
libsoup_3
packagekit
polkit
switchboard
udisks2
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Switchboard About Plug";
homepage = "https://github.com/elementary/switchboard-plug-about";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
};
}

View File

@@ -0,0 +1,58 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
gettext,
meson,
ninja,
pkg-config,
vala,
libadwaita,
libgee,
granite7,
gtk4,
switchboard,
flatpak,
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-applications";
version = "8.2.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "settings-applications";
tag = version;
hash = "sha256-kmyAEm4MlyHfm2xC55qsFSk+aLEJMMCy7/Vi0dndaNU=";
};
nativeBuildInputs = [
gettext # msgfmt
meson
ninja
pkg-config
vala
];
buildInputs = [
flatpak
granite7
gtk4
libadwaita
libgee
switchboard
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Switchboard Applications Plug";
homepage = "https://github.com/elementary/settings-applications";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
};
}

View File

@@ -0,0 +1,63 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
libadwaita,
libgee,
gettext,
granite7,
gtk4,
bluez,
elementary-bluetooth-daemon,
switchboard,
wingpanel-indicator-bluetooth,
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-bluetooth";
version = "8.0.2";
src = fetchFromGitHub {
owner = "elementary";
repo = "settings-bluetooth";
rev = version;
hash = "sha256-D2kigdGdmDtFWt/hldzHm+QqlGl6RBExhcdurLtCM1Q=";
};
nativeBuildInputs = [
gettext # msgfmt
meson
ninja
pkg-config
vala
];
buildInputs = [
bluez
elementary-bluetooth-daemon # settings schema
granite7
gtk4
libadwaita
libgee
switchboard
wingpanel-indicator-bluetooth # settings schema
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Switchboard Bluetooth Plug";
homepage = "https://github.com/elementary/settings-bluetooth";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
};
}

View File

@@ -0,0 +1,68 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
replaceVars,
pkg-config,
vala,
libadwaita,
libgee,
libical,
granite7,
gettext,
gtk4,
libxml2,
switchboard,
tzdata,
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-datetime";
version = "8.1.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "switchboard-plug-datetime";
rev = version;
sha256 = "sha256-VOL0F0obuXVz0G5hMI/hpUf2T3H8XUw64wu4MxRi57g=";
};
patches = [
(replaceVars ./fix-paths.patch {
tzdata = tzdata;
})
];
nativeBuildInputs = [
gettext # msgfmt
libxml2
meson
ninja
pkg-config
vala
];
buildInputs = [
granite7
gtk4
libadwaita
libgee
libical
switchboard
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Switchboard Date & Time Plug";
homepage = "https://github.com/elementary/switchboard-plug-datetime";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
};
}

View File

@@ -0,0 +1,15 @@
diff --git a/src/Parser.vala b/src/Parser.vala
index 7c7b82d..2c3a061 100644
--- a/src/Parser.vala
+++ b/src/Parser.vala
@@ -28,9 +28,9 @@ public class DateTime.Parser : GLib.Object {
return parser;
}
private Parser () {
- var file = File.new_for_path ("/usr/share/zoneinfo/zone.tab");
+ var file = File.new_for_path ("@tzdata@/share/zoneinfo/zone.tab");
if (!file.query_exists ()) {
- critical ("/usr/share/zoneinfo/zone.tab doesn't exist !");
+ critical ("@tzdata@/share/zoneinfo/zone.tab doesn't exist !");
return;
}

View File

@@ -0,0 +1,58 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
libadwaita,
libgee,
gettext,
glib,
granite7,
gtk4,
switchboard,
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-display";
version = "8.0.2";
src = fetchFromGitHub {
owner = "elementary";
repo = "settings-display";
rev = version;
sha256 = "sha256-/qWNs72x9Y2m+QOu5jLjtbIXjZhf6AGtLdpRpdED+AE=";
};
nativeBuildInputs = [
gettext # msgfmt
glib # glib-compile-resources
meson
ninja
pkg-config
vala
];
buildInputs = [
granite7
gtk4
libadwaita
libgee
switchboard
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Switchboard Displays Plug";
homepage = "https://github.com/elementary/settings-display";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
};
}

View File

@@ -0,0 +1,81 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
replaceVars,
meson,
ninja,
pkg-config,
vala,
elementary-settings-daemon,
libadwaita,
libgee,
gettext,
gnome-settings-daemon,
granite7,
gsettings-desktop-schemas,
gtk4,
libxml2,
libgnomekbd,
libxklavier,
ibus,
onboard,
switchboard,
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-keyboard";
version = "8.1.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "settings-keyboard";
rev = version;
sha256 = "sha256-8lgoR7nYqUJfLr9UhqnFJWw9x9l97RxgIkAwodHgrzI=";
};
patches = [
# This will try to install packages with apt.
# https://github.com/elementary/settings-keyboard/issues/324
./hide-install-unlisted-engines-button.patch
(replaceVars ./fix-paths.patch {
inherit onboard libgnomekbd;
})
];
nativeBuildInputs = [
gettext # msgfmt
libxml2
meson
ninja
pkg-config
vala
];
buildInputs = [
elementary-settings-daemon # io.elementary.settings-daemon.applications
gnome-settings-daemon # media-keys
granite7
gsettings-desktop-schemas
gtk4
ibus
libadwaita
libgee
libxklavier
switchboard
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Switchboard Keyboard Plug";
homepage = "https://github.com/elementary/settings-keyboard";
license = licenses.gpl2Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
};
}

View File

@@ -0,0 +1,26 @@
diff --git a/src/Behavior/Behavior.vala b/src/Behavior/Behavior.vala
index bd461685..b6371096 100644
--- a/src/Behavior/Behavior.vala
+++ b/src/Behavior/Behavior.vala
@@ -252,7 +252,7 @@ public class Keyboard.Behaviour.Page : Gtk.Box {
onscreen_keyboard_settings.clicked.connect (() => {
try {
- var appinfo = GLib.AppInfo.create_from_commandline ("onboard-settings", null, NONE);
+ var appinfo = GLib.AppInfo.create_from_commandline ("@onboard@/bin/onboard-settings", null, NONE);
appinfo.launch (null, null);
} catch (Error e) {
critical ("Unable to launch onboard-settings: %s", e.message);
diff --git a/src/Layout/Widgets/AddLayoutDialog.vala b/src/Layout/Widgets/AddLayoutDialog.vala
index 25cc0fe9..b3e350bb 100644
--- a/src/Layout/Widgets/AddLayoutDialog.vala
+++ b/src/Layout/Widgets/AddLayoutDialog.vala
@@ -206,7 +206,7 @@ public class Keyboard.LayoutPage.AddLayoutDialog : Granite.Dialog {
});
keyboard_map_button.clicked.connect (() => {
- string command = "gkbd-keyboard-display \"--layout=" + layout_id + "\"";
+ string command = "@libgnomekbd@/bin/gkbd-keyboard-display \"--layout=" + layout_id + "\"";
try {
AppInfo.create_from_commandline (command, null, AppInfoCreateFlags.NONE).launch (null, null);
} catch (Error e) {

View File

@@ -0,0 +1,13 @@
diff --git a/src/InputMethod/Widgets/AddEngineDialog.vala b/src/InputMethod/Widgets/AddEngineDialog.vala
index 0a7f6013..a16904eb 100644
--- a/src/InputMethod/Widgets/AddEngineDialog.vala
+++ b/src/InputMethod/Widgets/AddEngineDialog.vala
@@ -70,8 +70,6 @@ public class Keyboard.InputMethodPage.AddEngineDialog : Granite.Dialog {
get_content_area ().append (frame);
- var install_button = add_button (_("Install Unlisted Engines…"), Gtk.ResponseType.OK);
-
var cancel_button = add_button (_("Cancel"), Gtk.ResponseType.CANCEL);
var add_button = add_button (_("Add Engine"), Gtk.ResponseType.ACCEPT);

View File

@@ -0,0 +1,71 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
replaceVars,
meson,
ninja,
pkg-config,
vala,
libgee,
libxml2,
granite7,
gtk4,
switchboard,
gettext,
gnome-settings-daemon,
glib,
gala, # needed for gestures support
touchegg,
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-mouse-touchpad";
version = "8.0.2";
src = fetchFromGitHub {
owner = "elementary";
repo = "switchboard-plug-mouse-touchpad";
rev = version;
sha256 = "sha256-332y3D3T90G6bDVacRm3a1p4mLK3vsW8sBvre5lW/mk=";
};
patches = [
(replaceVars ./fix-paths.patch {
touchegg = touchegg;
})
];
nativeBuildInputs = [
gettext # msgfmt
meson
ninja
pkg-config
vala
];
buildInputs = [
gala
glib
granite7
gtk4
libgee
libxml2
gnome-settings-daemon
switchboard
touchegg
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Switchboard Mouse & Touchpad Plug";
homepage = "https://github.com/elementary/switchboard-plug-mouse-touchpad";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
};
}

View File

@@ -0,0 +1,13 @@
diff --git a/src/Utils/ToucheggSettings.vala b/src/Utils/ToucheggSettings.vala
index 1d621b9c..73c89714 100644
--- a/src/Utils/ToucheggSettings.vala
+++ b/src/Utils/ToucheggSettings.vala
@@ -36,7 +36,7 @@ public class MouseTouchpad.ToucheggSettings : GLib.Object {
private const string MAXIMIZE_4_XPATH = "//application[@name=\"All\"]/gesture[@fingers=\"4\"]/action[@type=\"MAXIMIZE_RESTORE_WINDOW\"]/..";
public ToucheggSettings () {
- system_config_path = Path.build_filename (GLib.Path.DIR_SEPARATOR_S, "usr", "share", "touchegg", "touchegg.conf");
+ system_config_path = Path.build_filename ("@touchegg@", "share", "touchegg", "touchegg.conf");
user_config_dir_path = Path.build_filename (GLib.Environment.get_home_dir (), ".config", "touchegg");
user_config_path = Path.build_filename (GLib.Environment.get_home_dir (), ".config", "touchegg", "touchegg.conf");
}

View File

@@ -0,0 +1,70 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
replaceVars,
vala,
libadwaita,
libgee,
gettext,
granite7,
gtk4,
networkmanager,
networkmanagerapplet,
libnma-gtk4,
switchboard,
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-network";
version = "8.2.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "switchboard-plug-network";
rev = version;
hash = "sha256-H43mRPEujs6A4Bk2uC3mP91Hp5I8gojaagoXUT/5eW8=";
};
patches = [
(replaceVars ./fix-paths.patch {
inherit networkmanagerapplet;
})
];
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
vala
];
buildInputs = [
granite7
gtk4
libadwaita
libgee
networkmanager
libnma-gtk4
switchboard
];
strictDeps = true;
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Switchboard Networking Plug";
homepage = "https://github.com/elementary/switchboard-plug-network";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
};
}

View File

@@ -0,0 +1,48 @@
diff --git a/src/Views/VPNPage.vala b/src/Views/VPNPage.vala
index 21488d1e..f9915e5d 100644
--- a/src/Views/VPNPage.vala
+++ b/src/Views/VPNPage.vala
@@ -279,7 +279,7 @@ public class Network.VPNPage : Network.Widgets.Page {
private void try_connection_editor (string args) {
try {
var appinfo = AppInfo.create_from_commandline (
- "nm-connection-editor %s".printf (args),
+ "@networkmanagerapplet@/bin/nm-connection-editor %s".printf (args),
null,
GLib.AppInfoCreateFlags.NONE
);
diff --git a/src/Widgets/Page.vala b/src/Widgets/Page.vala
index cbcc8357..c6276d5a 100644
--- a/src/Widgets/Page.vala
+++ b/src/Widgets/Page.vala
@@ -189,7 +189,7 @@ namespace Network.Widgets {
protected void edit_connections () {
try {
var appinfo = AppInfo.create_from_commandline (
- "nm-connection-editor", null, AppInfoCreateFlags.NONE
+ "@networkmanagerapplet@/bin/nm-connection-editor", null, AppInfoCreateFlags.NONE
);
appinfo.launch (null, null);
} catch (Error e) {
@@ -200,7 +200,7 @@ namespace Network.Widgets {
protected void open_advanced_settings () {
try {
var appinfo = AppInfo.create_from_commandline (
- "nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE
+ "@networkmanagerapplet@/bin/nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE
);
appinfo.launch (null, null);
diff --git a/src/Widgets/VPN/VPNInfoDialog.vala b/src/Widgets/VPN/VPNInfoDialog.vala
index e647c43b..44ce61c6 100644
--- a/src/Widgets/VPN/VPNInfoDialog.vala
+++ b/src/Widgets/VPN/VPNInfoDialog.vala
@@ -70,7 +70,7 @@ public class Network.Widgets.VPNInfoDialog : Granite.MessageDialog {
if (response == 1) {
try {
var appinfo = AppInfo.create_from_commandline (
- "nm-connection-editor --edit=%s".printf (connection.get_uuid ()),
+ "@networkmanagerapplet@/bin/nm-connection-editor --edit=%s".printf (connection.get_uuid ()),
null,
GLib.AppInfoCreateFlags.NONE
);

View File

@@ -0,0 +1,60 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
libadwaita,
libgee,
gettext,
glib,
granite7,
gtk4,
switchboard,
elementary-notifications,
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-notifications";
version = "8.0.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "switchboard-plug-notifications";
rev = version;
sha256 = "sha256-53rpnp1RWdPofY00XWKiz8WDPC7RNMaGQFHBDzjsIt4=";
};
nativeBuildInputs = [
gettext # msgfmt
glib # glib-compile-resources
meson
ninja
pkg-config
vala
];
buildInputs = [
elementary-notifications
granite7
gtk4
libadwaita
libgee
switchboard
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Switchboard Notifications Plug";
homepage = "https://github.com/elementary/switchboard-plug-notifications";
license = licenses.gpl2Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
};
}

View File

@@ -0,0 +1,58 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
evolution-data-server-gtk4,
glib,
granite7,
gtk4,
libadwaita,
switchboard,
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-onlineaccounts";
version = "8.0.2";
src = fetchFromGitHub {
owner = "elementary";
repo = "settings-onlineaccounts";
rev = version;
sha256 = "sha256-0dt4E2g1nX78s2WK2HO6P/fKjXcsR61KJSpulgsZHPI=";
};
nativeBuildInputs = [
glib # glib-compile-resources
gtk4 # gtk-update-icon-cache
meson
ninja
pkg-config
vala
];
buildInputs = [
evolution-data-server-gtk4
glib
granite7
gtk4
libadwaita
switchboard
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Switchboard Online Accounts Plug";
homepage = "https://github.com/elementary/settings-onlineaccounts";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
};
}

View File

@@ -0,0 +1,72 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
glib,
libadwaita,
libgee,
granite7,
gexiv2,
gnome-settings-daemon,
elementary-settings-daemon,
gtk4,
gala,
wingpanel,
wingpanel-indicator-keyboard,
wingpanel-quick-settings,
switchboard,
gettext,
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-pantheon-shell";
version = "8.2.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "settings-desktop";
rev = version;
sha256 = "sha256-TYwiL6+VjfSDiFAlMe482gB8a/OtCYHl5r8gh9Hcvfg=";
};
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
vala
];
buildInputs = [
elementary-settings-daemon
gnome-settings-daemon
gala
gexiv2
glib
granite7
gtk4
libadwaita
libgee
switchboard
wingpanel
wingpanel-indicator-keyboard # gsettings schemas
wingpanel-quick-settings # gsettings schemas
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Switchboard Desktop Plug";
homepage = "https://github.com/elementary/settings-desktop";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
};
}

View File

@@ -0,0 +1,66 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
libadwaita,
libgee,
gettext,
gnome-settings-daemon,
granite7,
gtk4,
glib,
dbus,
polkit,
switchboard,
wingpanel-indicator-power,
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-power";
version = "8.0.1";
src = fetchFromGitHub {
owner = "elementary";
repo = "switchboard-plug-power";
rev = version;
sha256 = "sha256-GKZouuWdWl1JDCmzPImeW/hStyFQA6NOAFFmAhiiFe8=";
};
nativeBuildInputs = [
gettext # msgfmt
meson
ninja
pkg-config
vala
];
buildInputs = [
dbus
gnome-settings-daemon
glib
granite7
gtk4
libadwaita
libgee
polkit
switchboard
wingpanel-indicator-power # settings schema
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Switchboard Power Plug";
homepage = "https://github.com/elementary/switchboard-plug-power";
license = licenses.gpl2Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
};
}

View File

@@ -0,0 +1,59 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
libadwaita,
libgee,
gettext,
granite7,
gtk4,
cups,
switchboard,
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-printers";
version = "8.0.1";
src = fetchFromGitHub {
owner = "elementary";
repo = "switchboard-plug-printers";
rev = version;
sha256 = "sha256-1znz8B4CGQGDiJC4Mt61XAh9wWAV8J0+K3AIpFcffXQ=";
};
nativeBuildInputs = [
gettext # msgfmt
meson
ninja
pkg-config
vala
];
buildInputs = [
cups
granite7
gtk4
libadwaita
libgee
switchboard
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Switchboard Printers Plug";
homepage = "https://github.com/elementary/switchboard-plug-printers";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
};
}

View File

@@ -0,0 +1,67 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
elementary-settings-daemon,
libgee,
gettext,
granite7,
gsettings-desktop-schemas,
gala,
gtk4,
glib,
polkit,
zeitgeist,
switchboard,
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-security-privacy";
version = "8.0.1";
src = fetchFromGitHub {
owner = "elementary";
repo = "switchboard-plug-security-privacy";
rev = version;
sha256 = "sha256-k6dSiiBqqbhH7rmhpBu83LX8at/qJ4gkrg4Xc+VbkIE=";
};
nativeBuildInputs = [
gettext # msgfmt
meson
ninja
pkg-config
vala
];
buildInputs = [
elementary-settings-daemon # settings schema
gala
glib
granite7
gsettings-desktop-schemas
gtk4
libgee
polkit
switchboard
zeitgeist
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Switchboard Security & Privacy Plug";
homepage = "https://github.com/elementary/switchboard-plug-security-privacy";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
};
}

View File

@@ -0,0 +1,56 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
elementary-bluetooth-daemon,
libgee,
gettext,
granite7,
gtk4,
switchboard,
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-sharing";
version = "8.0.2";
src = fetchFromGitHub {
owner = "elementary";
repo = "switchboard-plug-sharing";
rev = version;
hash = "sha256-XTgUHgvBSzZeuUup0gT6sbhyT4FGGG7o+qbPmfeRVQE=";
};
nativeBuildInputs = [
gettext # msgfmt
meson
ninja
pkg-config
vala
];
buildInputs = [
elementary-bluetooth-daemon
granite7
gtk4
libgee
switchboard
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Switchboard Sharing Plug";
homepage = "https://github.com/elementary/switchboard-plug-sharing";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
};
}

View File

@@ -0,0 +1,62 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
libadwaita,
libcanberra,
libgee,
glib,
granite7,
gtk4,
pulseaudio,
switchboard,
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-sound";
version = "8.0.1";
src = fetchFromGitHub {
owner = "elementary";
repo = "switchboard-plug-sound";
rev = version;
sha256 = "sha256-GLeQxdrrjz4MurN8Ia5Q68y6gHuyxiMVNneft1AXKvs=";
};
nativeBuildInputs = [
glib
meson
ninja
pkg-config
vala
];
buildInputs = [
granite7
gtk4
libadwaita
libcanberra
libgee
pulseaudio
switchboard
];
strictDeps = true;
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Switchboard Sound Plug";
homepage = "https://github.com/elementary/switchboard-plug-sound";
license = licenses.lgpl21Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
};
}

View File

@@ -0,0 +1,65 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
gettext,
glib,
granite7,
gtk4,
libadwaita,
libgee,
libgudev,
libwacom,
switchboard,
xorg,
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-wacom";
version = "8.0.1";
src = fetchFromGitHub {
owner = "elementary";
repo = "switchboard-plug-wacom";
rev = version;
sha256 = "sha256-xTv3QPlLPJQ6C5t4Udy1H9IrLQGuik8prvGlpfFm1DQ=";
};
nativeBuildInputs = [
gettext # msgfmt
meson
ninja
pkg-config
vala
];
buildInputs = [
glib
granite7
gtk4
libadwaita
libgee
libgudev
libwacom
switchboard
xorg.libX11
xorg.libXi
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Switchboard Wacom Plug";
homepage = "https://github.com/elementary/switchboard-plug-wacom";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
};
}

View File

@@ -0,0 +1,64 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
pkg-config,
meson,
ninja,
sassc,
vala,
glib,
gtk4,
libadwaita,
libgee,
granite7,
wrapGAppsHook4,
}:
stdenv.mkDerivation rec {
pname = "switchboard";
version = "8.0.3";
src = fetchFromGitHub {
owner = "elementary";
repo = "switchboard";
rev = version;
hash = "sha256-pVXcY/QSjgBcTr0sFQnPxICoQ0tpy2fEJ687zHEDXA0=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
sassc
vala
wrapGAppsHook4
];
propagatedBuildInputs = [
# Required by switchboard-3.pc.
glib
granite7
gtk4
libadwaita
libgee
];
patches = [
./plugs-path-env.patch
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Extensible System Settings app for Pantheon";
homepage = "https://github.com/elementary/switchboard";
license = licenses.lgpl21Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
mainProgram = "io.elementary.settings";
};
}

View File

@@ -0,0 +1,21 @@
diff --git a/lib/PlugsManager.vala b/lib/PlugsManager.vala
index 8b21e7b..bc36321 100644
--- a/lib/PlugsManager.vala
+++ b/lib/PlugsManager.vala
@@ -36,7 +36,15 @@ public class Switchboard.PlugsManager : GLib.Object {
private PlugsManager () {
plugs = new Gee.LinkedList<Switchboard.Plug> ();
- var base_folder = File.new_for_path (Build.PLUGS_DIR);
+
+ var plugs_path = Environment.get_variable("SWITCHBOARD_PLUGS_PATH");
+ if (plugs_path != null) {
+ debug ("SWITCHBOARD_PLUGS_PATH set to %s", plugs_path);
+ } else {
+ critical ("SWITCHBOARD_PLUGS_PATH not set");
+ }
+
+ var base_folder = File.new_for_path (plugs_path);
find_plugins (base_folder);
}

View File

@@ -0,0 +1,70 @@
{
wrapGAppsHook4,
glib,
lib,
stdenv,
xorg,
switchboard,
switchboardPlugs,
plugs,
# Only useful to disable for development testing.
useDefaultPlugs ? true,
testName ? null,
}:
let
selectedPlugs =
if plugs == null then
switchboardPlugs
else
plugs ++ (lib.optionals useDefaultPlugs switchboardPlugs);
testingName = lib.optionalString (testName != null) "${testName}-";
in
stdenv.mkDerivation {
pname = "${testingName}${switchboard.pname}-with-plugs";
inherit (switchboard) version;
src = null;
paths = [
switchboard
]
++ selectedPlugs;
passAsFile = [ "paths" ];
nativeBuildInputs = [
glib
wrapGAppsHook4
];
buildInputs = lib.forEach selectedPlugs (x: x.buildInputs) ++ selectedPlugs;
dontUnpack = true;
dontConfigure = true;
dontBuild = true;
preferLocalBuild = true;
allowSubstitutes = false;
installPhase = ''
mkdir -p $out
for i in $(cat $pathsPath); do
${xorg.lndir}/bin/lndir -silent $i $out
done
dbus_file="share/dbus-1/services/io.elementary.settings.service"
rm -f "$out/$dbus_file"
substitute "${switchboard}/$dbus_file" "$out/$dbus_file" \
--replace-fail "${switchboard}" "$out"
'';
preFixup = ''
gappsWrapperArgs+=(
--set SWITCHBOARD_PLUGS_PATH "$out/lib/switchboard-3"
)
'';
inherit (switchboard) meta;
}