diff options
Diffstat (limited to 'nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs')
30 files changed, 1438 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix new file mode 100644 index 000000000000..7a79f72f1a2e --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix @@ -0,0 +1,63 @@ +{ stdenv +, substituteAll +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, switchboard +, onboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-a11y"; + version = "2.1.3"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1wh46lrsliii5bbvfc4xnzgnii2v7sqxnbn43ylmyqppfv9mk1wd"; + }; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit onboard; + }) + ]; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + switchboard + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Universal Access Plug"; + homepage = https://github.com/elementary/switchboard-plug-a11y; + license = licenses.lgpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/fix-paths.patch new file mode 100644 index 000000000000..4d69390f39d9 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/fix-paths.patch @@ -0,0 +1,13 @@ +diff --git a/src/Panes/Typing.vala b/src/Panes/Typing.vala +index b4ae8b0..5b8fd7e 100644 +--- a/src/Panes/Typing.vala ++++ b/src/Panes/Typing.vala +@@ -83,7 +83,7 @@ public class Accessibility.Panes.Typing : Categories.Pane { + + onboard_settings_label.clicked.connect (() => { + try { +- var appinfo = AppInfo.create_from_commandline ("onboard-settings", null, AppInfoCreateFlags.NONE); ++ var appinfo = AppInfo.create_from_commandline ("@onboard@/bin/onboard-settings", null, AppInfoCreateFlags.NONE); + appinfo.launch (null, null); + } catch (Error e) { + warning ("%s\n", e.message); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix new file mode 100644 index 000000000000..3247aed4993e --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix @@ -0,0 +1,65 @@ +{ stdenv +, fetchFromGitHub +, pantheon +, substituteAll +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, switchboard +, pciutils +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-about"; + version = "2.5.2"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "11diwz2aj45yqkxdija8ny0sgm0wl2905gl3799cdl12ss9ffndp"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + switchboard + ]; + + patches = [ + (substituteAll { + src = ./lspci-path.patch; + inherit pciutils; + }) + ./remove-update-button.patch + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard About Plug"; + homepage = https://github.com/elementary/witchboard-plug-about; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; + +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/lspci-path.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/lspci-path.patch new file mode 100644 index 000000000000..352d84c42624 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/lspci-path.patch @@ -0,0 +1,13 @@ +diff --git a/src/Views/HardwareView.vala b/src/Views/HardwareView.vala +index a3e449c..a95fe93 100644 +--- a/src/Views/HardwareView.vala ++++ b/src/Views/HardwareView.vala +@@ -179,7 +179,7 @@ public class About.HardwareView : Gtk.Grid { + + // Graphics + try { +- Process.spawn_command_line_sync ("lspci", out graphics); ++ Process.spawn_command_line_sync ("@pciutils@/bin/lspci", out graphics); + + if ("VGA" in graphics) { //VGA-keyword indicates graphics-line + string[] lines = graphics.split("\n"); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-update-button.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-update-button.patch new file mode 100644 index 000000000000..41433f9a76b0 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-update-button.patch @@ -0,0 +1,55 @@ +diff --git a/src/Plug.vala b/src/Plug.vala +index 76fca34..3e79c1f 100644 +--- a/src/Plug.vala ++++ b/src/Plug.vala +@@ -65,7 +65,6 @@ public class About.Plug : Switchboard.Plug { + search_results.set ("%s → %s".printf (display_name, _("Restore Default Settings")), ""); + search_results.set ("%s → %s".printf (display_name, _("Suggest Translation")), ""); + search_results.set ("%s → %s".printf (display_name, _("Report Problems")), ""); +- search_results.set ("%s → %s".printf (display_name, _("Updates")), ""); + return search_results; + } + +@@ -161,7 +160,7 @@ public class About.Plug : Switchboard.Plug { + var kernel_version_label = new Gtk.Label (kernel_version); + kernel_version_label.set_selectable (true); + +- var gtk_version_label = new Gtk.Label (_("GTK+ %s").printf (gtk_version)); ++ var gtk_version_label = new Gtk.Label (_("GTK+ %s").printf (gtk_version)); + gtk_version_label.set_selectable (true); + + var website_label = new Gtk.LinkButton.with_label (website_url, _("Website")); +@@ -202,16 +201,6 @@ public class About.Plug : Switchboard.Plug { + issue_dialog.run (); + }); + +- // Update button +- var update_button = new Gtk.Button.with_label (_("Check for Updates")); +- update_button.clicked.connect (() => { +- try { +- Process.spawn_command_line_async ("io.elementary.appcenter --show-updates"); +- } catch (Error e) { +- warning (e.message); +- } +- }); +- + // Restore settings button + var settings_restore_button = new Gtk.Button.with_label (_("Restore Default Settings")); + settings_restore_button.clicked.connect (settings_restore_clicked); +@@ -224,7 +213,6 @@ public class About.Plug : Switchboard.Plug { + button_grid.add (settings_restore_button); + button_grid.add (translate_button); + button_grid.add (bug_button); +- button_grid.add (update_button); + button_grid.set_child_non_homogeneous (help_button, true); + + var software_grid = new Gtk.Grid (); +@@ -238,7 +226,7 @@ public class About.Plug : Switchboard.Plug { + software_grid.attach (based_off, 0, 2, 2, 1); + } + +- software_grid.attach (kernel_version_label, 0, 3, 2, 1); ++ software_grid.attach (kernel_version_label, 0, 3, 2, 1); + software_grid.attach (gtk_version_label, 0, 4, 2, 1); + software_grid.attach (website_label, 0, 5, 2, 1); + diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix new file mode 100644 index 000000000000..ddb589c9e792 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix @@ -0,0 +1,54 @@ +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-applications"; + version = "2.1.5"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1c4agff456625kycacpsww7c9jsnsg1rqps96r7cvn9zq371b5ir"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + switchboard + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Applications Plug"; + homepage = https://github.com/elementary/switchboard-plug-applications; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix new file mode 100644 index 000000000000..9f1c75b7b438 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix @@ -0,0 +1,57 @@ +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, bluez +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-bluetooth"; + version = "2.2.2"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0rp9wa0yilc3wgwnybc6cryxphja7imixn45zhj475a4nb3afd0q"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + bluez + granite + gtk3 + libgee + switchboard + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Bluetooth Plug"; + homepage = https://github.com/elementary/switchboard-plug-bluetooth; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; + +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/clock-format.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/clock-format.patch new file mode 100644 index 000000000000..0fe0ac8b10c8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/clock-format.patch @@ -0,0 +1,12 @@ +diff --git a/src/DateTime1.vala b/src/DateTime1.vala +index 5a80fbd..2e1f948 100644 +--- a/src/DateTime1.vala ++++ b/src/DateTime1.vala +@@ -38,6 +38,6 @@ public class DateTime.Settings : Granite.Services.Settings { + public string clock_format { get; set; } + + public Settings () { +- base ("io.elementary.desktop.wingpanel.datetime"); ++ base ("io.elementary.granite"); + } + } diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix new file mode 100644 index 000000000000..c0c7bbdec2e5 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix @@ -0,0 +1,67 @@ +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, substituteAll +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, libxml2 +, switchboard +, tzdata +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-datetime"; + version = "2.1.5"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1iz8skf5dw76a07ljc8v8lw2x2nrmq8j6sggm227cmxy60gadsdv"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + libxml2 + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + switchboard + ]; + + patches = [ + (substituteAll { + src = ./timezone.patch; + tzdata = "${tzdata}/share/zoneinfo/zone.tab"; + }) + # Use "clock-format" GSettings key that's been moved to granite + ./clock-format.patch + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Date & Time Plug"; + homepage = https://github.com/elementary/switchboard-plug-datetime; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/timezone.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/timezone.patch new file mode 100644 index 000000000000..35f73d365990 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/timezone.patch @@ -0,0 +1,13 @@ +diff --git a/src/Parser.vala b/src/Parser.vala +index faccb64..432a362 100644 +--- a/src/Parser.vala ++++ b/src/Parser.vala +@@ -28,7 +28,7 @@ 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@"); + if (!file.query_exists ()) { + critical ("/usr/share/zoneinfo/zone.tab doesn't exist !"); + return; diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix new file mode 100644 index 000000000000..76cfe61fc777 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix @@ -0,0 +1,54 @@ +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-display"; + version = "2.1.8"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1xpgkvcv3bylpaj7c80727vr55vilkgjvnlbw7d5pr56v6mv7n9j"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + switchboard + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Displays Plug"; + homepage = https://github.com/elementary/switchboard-plug-display; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix new file mode 100644 index 000000000000..8b82543a0e5f --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix @@ -0,0 +1,69 @@ +{ stdenv +, fetchFromGitHub +, pantheon +, substituteAll +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, libxml2 +, libgnomekbd +, libxklavier +, xorg +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-keyboard"; + version = "2.3.5"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "17iijb7imxw5zv7vkrbc1vsp87k900yqgyv7ycz1gw37xb4klsyp"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + libxml2 + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + libgnomekbd + libxklavier + switchboard + ]; + + patches = [ + (substituteAll { + src = ./xkb.patch; + config = "${xorg.xkeyboardconfig}/share/X11/xkb/rules/evdev.xml"; + }) + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Keyboard Plug"; + homepage = https://github.com/elementary/switchboard-plug-keyboard; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/xkb.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/xkb.patch new file mode 100644 index 000000000000..33237d9c9392 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/xkb.patch @@ -0,0 +1,22 @@ +diff --git a/src/Layout/Handler.vala b/src/Layout/Handler.vala +index 297314b..b36509a 100644 +--- a/src/Layout/Handler.vala ++++ b/src/Layout/Handler.vala +@@ -29,7 +29,7 @@ public class Pantheon.Keyboard.LayoutPage.LayoutHandler : GLib.Object { + } + + private void parse_layouts () { +- Xml.Doc* doc = Xml.Parser.parse_file ("/usr/share/X11/xkb/rules/evdev.xml"); ++ Xml.Doc* doc = Xml.Parser.parse_file ("@config@"); + if (doc == null) { + critical ("'evdev.xml' not found or permissions missing\n"); + return; +@@ -76,7 +76,7 @@ public class Pantheon.Keyboard.LayoutPage.LayoutHandler : GLib.Object { + public HashTable<string, string> get_variants_for_language (string language) { + var returned_table = new HashTable<string, string> (str_hash, str_equal); + returned_table.set ("", _("Default")); +- Xml.Doc* doc = Xml.Parser.parse_file ("/usr/share/X11/xkb/rules/evdev.xml"); ++ Xml.Doc* doc = Xml.Parser.parse_file ("@config@"); + if (doc == null) { + critical ("'evdev.xml' not found or permissions incorrect\n"); + return returned_table; diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix new file mode 100644 index 000000000000..a8556bd54014 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix @@ -0,0 +1,66 @@ +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, switchboard +, elementary-settings-daemon +, glib +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-mouse-touchpad"; + version = "2.2.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0mr25p7j5hl8zmvz5i3g30s4xbdhk6d22lw2akch3si40il9q5fv"; + }; + + patches = [ + ./hardcode-settings-daemon-gsettings.patch + ]; + + postPatch = '' + substituteInPlace src/Views/General.vala \ + --subst-var-by GSD_GSETTINGS ${glib.getSchemaPath elementary-settings-daemon} + ''; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + glib + granite + gtk3 + libgee + switchboard + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Mouse & Touchpad Plug"; + homepage = https://github.com/elementary/switchboard-plug-mouse-touchpad; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch new file mode 100644 index 000000000000..b904fe153094 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch @@ -0,0 +1,63 @@ +diff --git a/src/Views/General.vala b/src/Views/General.vala +index 4b19b73..dfa3d4d 100644 +--- a/src/Views/General.vala ++++ b/src/Views/General.vala +@@ -138,32 +138,34 @@ public class MouseTouchpad.GeneralView : Gtk.Grid { + attach (pointer_speed_scale, 3, 8); + attach (pointer_speed_help, 1, 9, 3); + +- var xsettings_schema = SettingsSchemaSource.get_default ().lookup ("org.gnome.settings-daemon.plugins.xsettings", false); +- if (xsettings_schema != null) { +- var primary_paste_switch = new Gtk.Switch (); +- primary_paste_switch.halign = Gtk.Align.START; +- +- var primary_paste_help = new Gtk.Label (_("Middle or three-finger clicking on an input will paste any selected text")); +- primary_paste_help.margin_bottom = 18; +- primary_paste_help.wrap = true; +- primary_paste_help.xalign = 0; +- primary_paste_help.get_style_context ().add_class (Gtk.STYLE_CLASS_DIM_LABEL); +- +- attach (new SettingLabel (_("Middle click paste:")), 0, 4); +- attach (primary_paste_switch, 1, 4); +- attach (primary_paste_help, 1, 5, 3); +- +- var xsettings = new GLib.Settings ("org.gnome.settings-daemon.plugins.xsettings"); +- primary_paste_switch.notify["active"].connect (() => on_primary_paste_switch_changed (primary_paste_switch, xsettings)); +- +- var current_value = xsettings.get_value ("overrides").lookup_value ("Gtk/EnablePrimaryPaste", VariantType.INT32); +- if (current_value != null) { +- primary_paste_switch.active = current_value.get_int32 () == 1; +- } ++ var primary_paste_switch = new Gtk.Switch (); ++ primary_paste_switch.halign = Gtk.Align.START; ++ ++ var primary_paste_help = new Gtk.Label (_("Middle or three-finger clicking on an input will paste any selected text")); ++ primary_paste_help.margin_bottom = 18; ++ primary_paste_help.wrap = true; ++ primary_paste_help.xalign = 0; ++ primary_paste_help.get_style_context ().add_class (Gtk.STYLE_CLASS_DIM_LABEL); ++ ++ attach (new SettingLabel (_("Middle click paste:")), 0, 4); ++ attach (primary_paste_switch, 1, 4); ++ attach (primary_paste_help, 1, 5, 3); ++ ++ SettingsSchemaSource daemon_schema_source = new SettingsSchemaSource.from_directory ("@GSD_GSETTINGS@", null, true); ++ SettingsSchema xsettings_schema = daemon_schema_source.lookup ("org.gnome.settings-daemon.plugins.xsettings", false); ++ ++ var xsettings = new GLib.Settings.full (xsettings_schema, null, null); ++ primary_paste_switch.notify["active"].connect (() => on_primary_paste_switch_changed (primary_paste_switch, xsettings)); ++ ++ var current_value = xsettings.get_value ("overrides").lookup_value ("Gtk/EnablePrimaryPaste", VariantType.INT32); ++ if (current_value != null) { ++ primary_paste_switch.active = current_value.get_int32 () == 1; + } + +- var daemon_settings = new GLib.Settings ("org.gnome.settings-daemon.peripherals.mouse"); +- daemon_settings.bind ("locate-pointer", reveal_pointer_switch, "active", GLib.SettingsBindFlags.DEFAULT); ++ SettingsSchema daemon_mouse_schema = daemon_schema_source.lookup ("org.gnome.settings-daemon.peripherals.mouse", false); ++ ++ var daemon_mouse_settings = new GLib.Settings.full (daemon_mouse_schema, null, null); ++ daemon_mouse_settings.bind ("locate-pointer", reveal_pointer_switch, "active", GLib.SettingsBindFlags.DEFAULT); + + var a11y_mouse_settings = new GLib.Settings ("org.gnome.desktop.a11y.mouse"); + a11y_mouse_settings.bind ("secondary-click-enabled", hold_switch, "active", GLib.SettingsBindFlags.DEFAULT); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix new file mode 100644 index 000000000000..b3e4879fdae4 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix @@ -0,0 +1,67 @@ +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, substituteAll +, vala +, libgee +, granite +, gtk3 +, networkmanager +, networkmanagerapplet +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-network"; + version = "2.1.4"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "12lvcc15jngzsa40fjhxa6kccs58h5qq4lqrc7lcx5przmfaik8k"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + networkmanager + networkmanagerapplet + switchboard + ]; + + patches = [ + (substituteAll { + src = ./nma.patch; + networkmanagerapplet = "${networkmanagerapplet}"; + }) + ]; + + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Networking Plug"; + homepage = https://github.com/elementary/switchboard-plug-network; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch new file mode 100644 index 000000000000..a5fff9d6a32b --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch @@ -0,0 +1,43 @@ +diff --git a/src/Widgets/SettingsButton.vala b/src/Widgets/SettingsButton.vala +index 19fd514..bc800d9 100644 +--- a/src/Widgets/SettingsButton.vala ++++ b/src/Widgets/SettingsButton.vala +@@ -23,7 +23,7 @@ + label = _("Edit Connections…"); + clicked.connect (() => { + try { +- var appinfo = AppInfo.create_from_commandline ("nm-connection-editor", null, AppInfoCreateFlags.NONE); ++ var appinfo = AppInfo.create_from_commandline ("@networkmanagerapplet@/bin/nm-connection-editor", null, AppInfoCreateFlags.NONE); + appinfo.launch (null, null); + } catch (Error e) { + warning ("%s", e.message); +@@ -61,13 +61,13 @@ + label = title; + clicked.connect (() => { + edit_connection_uuid (connection.get_uuid ()); +- }); ++ }); + } + + private void edit_connection_uuid (string uuid) { + 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/VPNPage.vala b/src/Widgets/VPN/VPNPage.vala +index 23c3ae9..c71984c 100644 +--- a/src/Widgets/VPN/VPNPage.vala ++++ b/src/Widgets/VPN/VPNPage.vala +@@ -86,8 +86,7 @@ namespace Network { + add_button.tooltip_text = _("Add VPN Connection…"); + add_button.clicked.connect (() => { + add_button.sensitive = false; +- var command = new Granite.Services.SimpleCommand ("/usr/bin", +- "nm-connection-editor --create --type=vpn"); ++ var command = new Granite.Services.SimpleCommand ("@networkmanagerapplet@", "bin/nm-connection-editor --create --type=vpn"); + command.done.connect ((exit) => { + if (exit != 0) { + var dialog = new Gtk.MessageDialog (null, Gtk.DialogFlags.MODAL, Gtk.MessageType.ERROR, Gtk.ButtonsType.CLOSE, "%s", _("Failed to run Connection Editor.")); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix new file mode 100644 index 000000000000..a61124954698 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix @@ -0,0 +1,54 @@ +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-notifications"; + version = "2.1.5"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0p0aj3bbjrh6x8wajqqb5yqm2iqfnj7kp16zf4hdr4siw0sx5p8n"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + switchboard + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Notifications Plug"; + homepage = https://github.com/elementary/switchboard-plug-notifications; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix new file mode 100644 index 000000000000..aa9cdfa0ddde --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix @@ -0,0 +1,70 @@ +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, libaccounts-glib +, libsignon-glib +, json-glib +, librest +, webkitgtk +, libsoup +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-onlineaccounts"; + version = "2.0.1"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "03h8ii8zz59fpp4fwlvyx3m3550096fn7a6w612b1rbj3dqhlmh9"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + json-glib + libaccounts-glib + libgee + libsignon-glib + libsoup + librest + switchboard + webkitgtk + ]; + + PKG_CONFIG_LIBACCOUNTS_GLIB_PROVIDERFILESDIR = "${placeholder "out"}/share/accounts/providers"; + PKG_CONFIG_LIBACCOUNTS_GLIB_SERVICEFILESDIR = "${placeholder "out"}/share/accounts/services"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; + + + meta = with stdenv.lib; { + description = "Switchboard Online Accounts Plug"; + homepage = https://github.com/elementary/switchboard-plug-onlineaccounts; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; + +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/backgrounds.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/backgrounds.patch new file mode 100644 index 000000000000..a1b019179d1b --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/backgrounds.patch @@ -0,0 +1,26 @@ +diff --git a/set-wallpaper-contract/set-wallpaper.vala b/set-wallpaper-contract/set-wallpaper.vala +index 3e02089..7ce7041 100644 +--- a/set-wallpaper-contract/set-wallpaper.vala ++++ b/set-wallpaper-contract/set-wallpaper.vala +@@ -38,7 +38,7 @@ namespace SetWallpaperContractor { + </transition> + """; + +- const string SYSTEM_BACKGROUNDS_PATH = "/usr/share/backgrounds"; ++ const string SYSTEM_BACKGROUNDS_PATH = "/run/current-system/sw/share/backgrounds"; + + private int delay_value = 60; + +diff --git a/src/Views/Wallpaper.vala b/src/Views/Wallpaper.vala +index 4be14fa..aa8832f 100644 +--- a/src/Views/Wallpaper.vala ++++ b/src/Views/Wallpaper.vala +@@ -38,7 +38,7 @@ public class Wallpaper : Gtk.Grid { + FileAttribute.THUMBNAIL_IS_VALID + }; + +- const string SYSTEM_BACKGROUNDS_PATH = "/usr/share/backgrounds"; ++ const string SYSTEM_BACKGROUNDS_PATH = "/run/current-system/sw/share/backgrounds"; + + public Switchboard.Plug plug { get; construct set; } + private GLib.Settings settings; diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix new file mode 100644 index 000000000000..35dd958483d6 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix @@ -0,0 +1,70 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig, vala, glib +, libgee, granite, gexiv2, elementary-settings-daemon, gtk3, gnome-desktop +, gala, wingpanel, plank, switchboard, gettext, bamf, fetchpatch }: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-pantheon-shell"; + version = "2.8.1"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1vrnzxqzl84k8gbrais4j1jyap10kvil4cr769jpr3q3bkbblwrw"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gettext + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + bamf + elementary-settings-daemon + gexiv2 + glib + gnome-desktop + granite + gtk3 + libgee + plank + switchboard + ]; + + patches = [ + ./backgrounds.patch # Having https://github.com/elementary/switchboard-plug-pantheon-shell/issues/166 would make this patch uneeded + ./hardcode-gsettings.patch + # Fixes https://github.com/elementary/switchboard-plug-pantheon-shell/issues/172 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-pantheon-shell/commit/e4f86df6a6be402db4c979a4b005573618b744d1.patch"; + sha256 = "0sa8611k6sqg96mnp2plmxd30w6zq76bfwszl8ankr9kwsgyc66y"; + }) + ]; + + postPatch = '' + substituteInPlace src/Views/Appearance.vala \ + --subst-var-by GALA_GSETTINGS_PATH ${glib.getSchemaPath gala} + substituteInPlace src/Views/Appearance.vala \ + --subst-var-by WINGPANEL_GSETTINGS_PATH ${glib.getSchemaPath wingpanel} + ''; + + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Desktop Plug"; + homepage = https://github.com/elementary/switchboard-plug-pantheon-shell; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch new file mode 100644 index 000000000000..d023e1b55ce6 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch @@ -0,0 +1,23 @@ +diff --git a/src/Views/Appearance.vala b/src/Views/Appearance.vala +index 721d458..17e1c58 100644 +--- a/src/Views/Appearance.vala ++++ b/src/Views/Appearance.vala +@@ -66,10 +66,16 @@ public class Appearance : Gtk.Grid { + attach (text_size_label, 0, 2); + attach (text_size_modebutton, 1, 2); + +- var animations_settings = new Settings (ANIMATIONS_SCHEMA); ++ SettingsSchemaSource gala_schema_source = new SettingsSchemaSource.from_directory ("@GALA_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); ++ SettingsSchema animations_schema = gala_schema_source.lookup (ANIMATIONS_SCHEMA, false); ++ ++ var animations_settings = new Settings.full (animations_schema, null, null); + animations_settings.bind (ANIMATIONS_KEY, animations_switch, "active", SettingsBindFlags.DEFAULT); + +- var panel_settings = new Settings (PANEL_SCHEMA); ++ SettingsSchemaSource panel_schema_source = new SettingsSchemaSource.from_directory ("@WINGPANEL_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); ++ SettingsSchema panel_schema = panel_schema_source.lookup (PANEL_SCHEMA, false); ++ ++ var panel_settings = new Settings.full (panel_schema, null, null); + panel_settings.bind (TRANSLUCENCY_KEY, translucency_switch, "active", SettingsBindFlags.DEFAULT); + + var interface_settings = new Settings (INTERFACE_SCHEMA); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix new file mode 100644 index 000000000000..1c90cc0e6627 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix @@ -0,0 +1,81 @@ +{ stdenv +, fetchFromGitHub +, pantheon +, substituteAll +, meson +, ninja +, pkgconfig +, vala +, libgee +, elementary-dpms-helper +, elementary-settings-daemon +, granite +, gtk3 +, glib +, dbus +, polkit +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-power"; + version = "2.3.5"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1wcxz4jxyv8kms9gxpwvrb356h10qvcwmdjzjzl2bvj5yl1rfcs9"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + dbus + glib + granite + gtk3 + libgee + polkit + switchboard + ]; + + patches = [ + (substituteAll { + src = ./dpms-helper-exec.patch; + elementary_dpms_helper = "${elementary-dpms-helper}"; + }) + ./hardcode-gsettings.patch + ]; + + postPatch = '' + substituteInPlace src/MainView.vala \ + --subst-var-by DPMS_HELPER_GSETTINGS_PATH ${glib.getSchemaPath elementary-dpms-helper} + substituteInPlace src/MainView.vala \ + --subst-var-by GSD_GSETTINGS_PATH ${glib.getSchemaPath elementary-settings-daemon} + ''; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; + PKG_CONFIG_DBUS_1_SYSTEM_BUS_SERVICES_DIR = "${placeholder "out"}/share/dbus-1/system-services"; + PKG_CONFIG_DBUS_1_SYSCONFDIR = "${placeholder "out"}/etc"; + PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions"; + + meta = with stdenv.lib; { + description = "Switchboard Power Plug"; + homepage = https://github.com/elementary/switchboard-plug-power; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch new file mode 100644 index 000000000000..335d3f296262 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch @@ -0,0 +1,13 @@ +diff --git a/src/MainView.vala b/src/MainView.vala +index 1654e68..175f220 100644 +--- a/src/MainView.vala ++++ b/src/MainView.vala +@@ -317,7 +317,7 @@ public class Power.MainView : Gtk.Grid { + + private static void run_dpms_helper () { + try { +- string[] argv = { "io.elementary.dpms-helper" }; ++ string[] argv = { "@elementary_dpms_helper@/bin/io.elementary.dpms-helper" }; + Process.spawn_async (null, argv, Environ.get (), + SpawnFlags.SEARCH_PATH | SpawnFlags.STDERR_TO_DEV_NULL | SpawnFlags.STDOUT_TO_DEV_NULL, + null, null); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch new file mode 100644 index 000000000000..caacdad6eda9 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch @@ -0,0 +1,20 @@ +diff --git a/src/MainView.vala b/src/MainView.vala +index 1654e68..ad8fed9 100644 +--- a/src/MainView.vala ++++ b/src/MainView.vala +@@ -46,8 +46,13 @@ public class Power.MainView : Gtk.Grid { + + var label_size = new Gtk.SizeGroup (Gtk.SizeGroupMode.HORIZONTAL); + +- settings = new GLib.Settings ("org.gnome.settings-daemon.plugins.power"); +- elementary_dpms_settings = new GLib.Settings ("io.elementary.dpms"); ++ SettingsSchemaSource gsd_sss = new SettingsSchemaSource.from_directory ("@GSD_GSETTINGS_PATH@", null, true); ++ SettingsSchema gsd_schema = gsd_sss.lookup ("org.gnome.settings-daemon.plugins.power", false); ++ settings = new GLib.Settings.full (gsd_schema, null, null); ++ ++ SettingsSchemaSource dpms_sss = new SettingsSchemaSource.from_directory ("@DPMS_HELPER_GSETTINGS_PATH@", null, true); ++ SettingsSchema elementary_dpms_schema = dpms_sss.lookup ("io.elementary.dpms", false); ++ elementary_dpms_settings = new GLib.Settings.full (elementary_dpms_schema, null, null); + + battery = new Battery (); + power_supply = new PowerSupply (); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix new file mode 100644 index 000000000000..d1feaaf0ea4f --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix @@ -0,0 +1,57 @@ +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, cups +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-printers"; + version = "2.1.6"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "05pkf3whh51gd9d0h2h4clgf7r3mvzl4ybas7834vhy19dzcbzmc"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + cups + granite + gtk3 + libgee + switchboard + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Printers Plug"; + homepage = https://github.com/elementary/switchboard-plug-printers; + license = licenses.lgpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; + +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix new file mode 100644 index 000000000000..fd67440a43c2 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix @@ -0,0 +1,78 @@ +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, python3 +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, glib +, polkit +, zeitgeist +, switchboard +, lightlocker +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-security-privacy"; + version = "2.2.1"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0k2bq7l0m7qfpy1mkb3qvsinqd8n4lp0vwz3x64wlgfn2qipm1fn"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkgconfig + python3 + vala + ]; + + buildInputs = [ + glib + granite + gtk3 + libgee + polkit + switchboard + zeitgeist + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; + + patches = [ + ./hardcode-gsettings.patch + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + + substituteInPlace src/Views/LockPanel.vala \ + --subst-var-by LIGHTLOCKER_GSETTINGS_PATH ${glib.getSchemaPath lightlocker} + substituteInPlace src/Views/FirewallPanel.vala \ + --subst-var-by SWITCHBOARD_SEC_PRIV_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"} + ''; + + meta = with stdenv.lib; { + description = "Switchboard Security & Privacy Plug"; + homepage = https://github.com/elementary/switchboard-plug-security-privacy; + license = licenses.lgpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; + +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch new file mode 100644 index 000000000000..ffaf1ecf5db1 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch @@ -0,0 +1,36 @@ +diff --git a/src/Views/FirewallPanel.vala b/src/Views/FirewallPanel.vala +index 994c4d1..5702de2 100644 +--- a/src/Views/FirewallPanel.vala ++++ b/src/Views/FirewallPanel.vala +@@ -49,10 +49,13 @@ public class SecurityPrivacy.FirewallPanel : Granite.SimpleSettingsPage { + } + + construct { +- settings = new Settings ("io.elementary.switchboard.security-privacy"); ++ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@SWITCHBOARD_SEC_PRIV_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); ++ SettingsSchema security_privacy_schema = sss.lookup ("io.elementary.switchboard.security-privacy", false); ++ settings = new Settings.full (security_privacy_schema, null, null); ++ + disabled_rules = new Gee.HashMap<string, UFWHelpers.Rule> (); + load_disabled_rules (); +- ++ + status_switch.notify["active"].connect (() => { + if (loading == false) { + view.sensitive = status_switch.active; +diff --git a/src/Views/LockPanel.vala b/src/Views/LockPanel.vala +index 081cf10..42f6118 100644 +--- a/src/Views/LockPanel.vala ++++ b/src/Views/LockPanel.vala +@@ -30,7 +30,10 @@ public class SecurityPrivacy.LockPanel : Granite.SimpleSettingsPage { + } + + construct { +- locker = new Settings ("apps.light-locker"); ++ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@LIGHTLOCKER_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); ++ SettingsSchema locker_schema = sss.lookup ("apps.light-locker", false); ++ ++ locker = new Settings.full (locker_schema, null, null); + + var lock_suspend_label = new Gtk.Label (_("Lock on sleep:")); + var lock_suspend_switch = new Gtk.Switch (); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix new file mode 100644 index 000000000000..87ae233916d8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix @@ -0,0 +1,54 @@ +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-sharing"; + version = "2.1.3"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1yi6aga9i18wwn22zwmfbhsk16f92fka837is5r8xghqb7a50hyh"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + switchboard + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Sharing Plug"; + homepage = https://github.com/elementary/switchboard-plug-sharing; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix new file mode 100644 index 000000000000..dee2f851e3fd --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix @@ -0,0 +1,60 @@ +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, pulseaudio +, libcanberra +, libcanberra-gtk3 +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-sound"; + version = "2.2.1"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0frml591r82j7hf1zlccgv8pzk3w10x470f9nzvdgdjpz0r776k2"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libcanberra + libcanberra-gtk3 + libgee + pulseaudio + switchboard + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Sound Plug"; + homepage = https://github.com/elementary/switchboard-plug-sound; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} |