diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index ca84a2c91d0f..acb589a9141e 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -223,9 +223,12 @@ in # Settings from elementary-default-settings environment.sessionVariables.GTK_CSD = "1"; - environment.sessionVariables.GTK3_MODULES = [ "pantheon-filechooser-module" ]; environment.etc."gtk-3.0/settings.ini".source = "${pkgs.pantheon.elementary-default-settings}/etc/gtk-3.0/settings.ini"; + xdg.portal.extraPortals = [ + pkgs.pantheon.elementary-files + ]; + # Override GSettings schemas environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas"; diff --git a/pkgs/desktops/pantheon/apps/elementary-files/0001-filechooser-module-hardcode-gsettings-for-nixos.patch b/pkgs/desktops/pantheon/apps/elementary-files/0001-filechooser-module-hardcode-gsettings-for-nixos.patch deleted file mode 100644 index 9bcedac3f035..000000000000 --- a/pkgs/desktops/pantheon/apps/elementary-files/0001-filechooser-module-hardcode-gsettings-for-nixos.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f51974c9736c3e28755245d15729578214652343 Mon Sep 17 00:00:00 2001 -Message-Id: -From: worldofpeace -Date: Thu, 3 Sep 2020 20:08:15 -0400 -Subject: [PATCH] filechooser-module: hardcode gsettings for nixos - ---- - filechooser-module/FileChooserDialog.vala | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/filechooser-module/FileChooserDialog.vala b/filechooser-module/FileChooserDialog.vala -index a70fe10..08fde2c 100644 ---- a/filechooser-module/FileChooserDialog.vala -+++ b/filechooser-module/FileChooserDialog.vala -@@ -60,10 +60,14 @@ public class CustomFileChooserDialog : Object { - /* If not local only during creation, strange bug occurs on fresh installs */ - chooser_dialog.local_only = true; - -- var files_preferences = new Settings ("io.elementary.files.preferences"); -+ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@ELEMENTARY_FILES_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); -+ SettingsSchema preferences_schema = sss.lookup ("io.elementary.files.preferences", false); -+ SettingsSchema chooser_schema = sss.lookup ("io.elementary.files.file-chooser", false); -+ -+ var files_preferences = new Settings.full (preferences_schema, null, null); - is_single_click = files_preferences.get_boolean ("single-click"); - -- var chooser_settings = new Settings ("io.elementary.files.file-chooser"); -+ var chooser_settings = new Settings.full (chooser_schema, null, null); - - assign_container_box (); - remove_gtk_widgets (); - -base-commit: 57cb89b64fd2d5c08f4aaf23e8c74bfaa5d0384f --- -git-series 0.9.1 diff --git a/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/pkgs/desktops/pantheon/apps/elementary-files/default.nix index 99fd2a6555f5..3b9b0648c4d0 100644 --- a/pkgs/desktops/pantheon/apps/elementary-files/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-files/default.nix @@ -13,9 +13,9 @@ , gtk3 , glib , libgee +, libhandy , granite , libnotify -, libunity , pango , elementary-dock , bamf @@ -27,11 +27,12 @@ , libcloudproviders , libgit2-glib , wrapGAppsHook +, systemd }: stdenv.mkDerivation rec { pname = "elementary-files"; - version = "4.5.0"; + version = "6.0.2"; repoName = "files"; @@ -41,7 +42,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "sha256-wtQW1poX791DAlSFdVV9psnCfBDeVXI2fDZ2GcvvNn8="; + sha256 = "1i514r3adypmcwinmv4c1kybims16xi4i3akx0yy04dib92hbk7c"; }; passthru = { @@ -73,29 +74,30 @@ stdenv.mkDerivation rec { libdbusmenu-gtk3 libgee libgit2-glib + libhandy libnotify - libunity pango sqlite + systemd zeitgeist ]; patches = [ - ./0001-filechooser-module-hardcode-gsettings-for-nixos.patch + ./filechooser-portal-hardcode-gsettings-for-nixos.patch ]; postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py - substituteInPlace filechooser-module/FileChooserDialog.vala \ + substituteInPlace filechooser-portal/LegacyFileChooserDialog.vala \ --subst-var-by ELEMENTARY_FILES_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"} ''; meta = with lib; { description = "File browser designed for elementary OS"; homepage = "https://github.com/elementary/files"; - license = licenses.lgpl3; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; diff --git a/pkgs/desktops/pantheon/apps/elementary-files/filechooser-portal-hardcode-gsettings-for-nixos.patch b/pkgs/desktops/pantheon/apps/elementary-files/filechooser-portal-hardcode-gsettings-for-nixos.patch new file mode 100644 index 000000000000..b04208cc8b86 --- /dev/null +++ b/pkgs/desktops/pantheon/apps/elementary-files/filechooser-portal-hardcode-gsettings-for-nixos.patch @@ -0,0 +1,24 @@ +From 726ab4c0ab01273cb2197e4c151a5b69ff0954b6 Mon Sep 17 00:00:00 2001 +From: Bobby Rong +Date: Fri, 16 Jul 2021 18:24:58 +0800 +Subject: [PATCH] filechooser-portal: hardcode gsettings for nixos + +--- + filechooser-portal/LegacyFileChooserDialog.vala | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/filechooser-portal/LegacyFileChooserDialog.vala b/filechooser-portal/LegacyFileChooserDialog.vala +index 330718f..f383bb1 100644 +--- a/filechooser-portal/LegacyFileChooserDialog.vala ++++ b/filechooser-portal/LegacyFileChooserDialog.vala +@@ -60,7 +60,9 @@ public class Files.LegacyFileChooserDialog : Object { + /* If not local only during creation, strange bug occurs on fresh installs */ + chooser_dialog.local_only = true; + +- var chooser_settings = new Settings ("io.elementary.files.file-chooser"); ++ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@ELEMENTARY_FILES_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); ++ SettingsSchema chooser_schema = sss.lookup ("io.elementary.files.file-chooser", false); ++ var chooser_settings = new Settings.full (chooser_schema, null, null); + + action_area = (Gtk.ButtonBox) chooser_dialog.get_action_area (); +