diff options
author | Alyssa Ross <hi@alyssa.is> | 2020-07-13 22:00:09 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-07-13 23:10:03 +0000 |
commit | add8759f14c9ebb65bca21a95e317e4316d3f6be (patch) | |
tree | 3a67356df4b197a7add4034478499bc91d2258dc /overlays/patches/dino | |
parent | 424dfb57297d0d1af4467571b8d739b08b02fca8 (diff) | |
download | nixlib-add8759f14c9ebb65bca21a95e317e4316d3f6be.tar nixlib-add8759f14c9ebb65bca21a95e317e4316d3f6be.tar.gz nixlib-add8759f14c9ebb65bca21a95e317e4316d3f6be.tar.bz2 nixlib-add8759f14c9ebb65bca21a95e317e4316d3f6be.tar.lz nixlib-add8759f14c9ebb65bca21a95e317e4316d3f6be.tar.xz nixlib-add8759f14c9ebb65bca21a95e317e4316d3f6be.tar.zst nixlib-add8759f14c9ebb65bca21a95e317e4316d3f6be.zip |
overlays: don't apply to all nixpkgs trees
Since the nixlib root is the NIX_PATH root, overlays were in the NIX_PATH as "nixpkgs-overlays". Nixpkgs imports that by default to look for overlays. This meant that an arbitrary Nixpkgs tree would end up trying to use the Nixlib overlays, which wouldn't always work. It would also mean that derivations built from those trees wouldn't match the ones other people would try to build, which is undesirable for working on nixpkgs. I think this is unfortunate behaviour for anybody working on nixpkgs, and nixpkgs probably shouldn't load overlays from impurely at all by default, but it is what it is. Since I can't really change what upstream nixpkgs does here, the best I can do is change the nixpkgs in nixlib. It will now load overlays from a sibling "overlays" directory. Renaming the "nixpkgs-overlays" directory at the nixlib root to "overlays" means that it will be loaded by default _only_ by the nixpkgs it is colocated with. It also means that it is still accessible in the NIX_PATH as <overlays>, which is fine and convenient as long as nothing starts looking at that by default.
Diffstat (limited to 'overlays/patches/dino')
-rw-r--r-- | overlays/patches/dino/0001-add-an-option-to-enable-omemo-by-default-in-new-conv.patch | 115 | ||||
-rw-r--r-- | overlays/patches/dino/default.nix | 16 |
2 files changed, 131 insertions, 0 deletions
diff --git a/overlays/patches/dino/0001-add-an-option-to-enable-omemo-by-default-in-new-conv.patch b/overlays/patches/dino/0001-add-an-option-to-enable-omemo-by-default-in-new-conv.patch new file mode 100644 index 000000000000..030c165d87b8 --- /dev/null +++ b/overlays/patches/dino/0001-add-an-option-to-enable-omemo-by-default-in-new-conv.patch @@ -0,0 +1,115 @@ +From cee5e27b157081a3ce55869bd5f649560a6127ea Mon Sep 17 00:00:00 2001 +From: lumi <lumi@pew.im> +Date: Thu, 17 Oct 2019 16:43:40 +0200 +Subject: [PATCH] add an option to enable omemo by default in new conversations + +--- + libdino/src/entity/settings.vala | 10 ++++++++++ + libdino/src/service/conversation_manager.vala | 5 +++++ + main/data/settings_dialog.ui | 12 ++++++++++++ + main/src/ui/settings_dialog.vala | 3 +++ + 4 files changed, 30 insertions(+) + +diff --git a/libdino/src/entity/settings.vala b/libdino/src/entity/settings.vala +index bf1ebed..f9cd734 100644 +--- a/libdino/src/entity/settings.vala ++++ b/libdino/src/entity/settings.vala +@@ -11,6 +11,7 @@ public class Settings : Object { + send_marker_ = col_to_bool_or_default("send_marker", true); + notifications_ = col_to_bool_or_default("notifications", true); + convert_utf8_smileys_ = col_to_bool_or_default("convert_utf8_smileys", true); ++ omemo_default_ = col_to_bool_or_default("omemo_default", false); + } + + private bool col_to_bool_or_default(string key, bool def) { +@@ -53,6 +54,15 @@ public class Settings : Object { + convert_utf8_smileys_ = value; + } + } ++ ++ private bool omemo_default_; ++ public bool omemo_default { ++ get { return omemo_default_; } ++ set { ++ db.settings.insert().or("REPLACE").value(db.settings.key, "omemo_default").value(db.settings.value, value.to_string()).perform(); ++ omemo_default_ = value; ++ } ++ } + } + + } +diff --git a/libdino/src/service/conversation_manager.vala b/libdino/src/service/conversation_manager.vala +index c473ea7..e980e08 100644 +--- a/libdino/src/service/conversation_manager.vala ++++ b/libdino/src/service/conversation_manager.vala +@@ -8,6 +8,8 @@ public class ConversationManager : StreamInteractionModule, Object { + public static ModuleIdentity<ConversationManager> IDENTITY = new ModuleIdentity<ConversationManager>("conversation_manager"); + public string id { get { return IDENTITY.id; } } + ++ private Dino.Entities.Settings settings = Dino.Application.get_default().settings; ++ + public signal void conversation_activated(Conversation conversation); + public signal void conversation_deactivated(Conversation conversation); + +@@ -46,6 +48,9 @@ public class ConversationManager : StreamInteractionModule, Object { + + // Create a new converation + Conversation conversation = new Conversation(jid, account, type); ++ if (settings.omemo_default) { ++ conversation.encryption = Encryption.OMEMO; ++ } + add_conversation(conversation); + conversation.persist(db); + return conversation; +diff --git a/main/data/settings_dialog.ui b/main/data/settings_dialog.ui +index c76f347..23ee7b8 100644 +--- a/main/data/settings_dialog.ui ++++ b/main/data/settings_dialog.ui +@@ -65,6 +65,18 @@ + <property name="height">1</property> + </packing> + </child> ++ <child> ++ <object class="GtkCheckButton" id="omemo_default_checkbutton"> ++ <property name="label" translatable="yes">Enable OMEMO by default</property> ++ <property name="visible">True</property> ++ </object> ++ <packing> ++ <property name="left_attach">0</property> ++ <property name="top_attach">4</property> ++ <property name="width">1</property> ++ <property name="height">1</property> ++ </packing> ++ </child> + </object> + </child> + </object> +diff --git a/main/src/ui/settings_dialog.vala b/main/src/ui/settings_dialog.vala +index 68c711d..6401a2d 100644 +--- a/main/src/ui/settings_dialog.vala ++++ b/main/src/ui/settings_dialog.vala +@@ -9,6 +9,7 @@ class SettingsDialog : Dialog { + [GtkChild] private CheckButton marker_checkbutton; + [GtkChild] private CheckButton notification_checkbutton; + [GtkChild] private CheckButton emoji_checkbutton; ++ [GtkChild] private CheckButton omemo_default_checkbutton; + + Dino.Entities.Settings settings = Dino.Application.get_default().settings; + +@@ -19,11 +20,13 @@ class SettingsDialog : Dialog { + marker_checkbutton.active = settings.send_marker; + notification_checkbutton.active = settings.notifications; + emoji_checkbutton.active = settings.convert_utf8_smileys; ++ omemo_default_checkbutton.active = settings.omemo_default; + + typing_checkbutton.toggled.connect(() => { settings.send_typing = typing_checkbutton.active; } ); + marker_checkbutton.toggled.connect(() => { settings.send_marker = marker_checkbutton.active; } ); + notification_checkbutton.toggled.connect(() => { settings.notifications = notification_checkbutton.active; } ); + emoji_checkbutton.toggled.connect(() => { settings.convert_utf8_smileys = emoji_checkbutton.active; }); ++ omemo_default_checkbutton.toggled.connect(() => { settings.omemo_default = omemo_default_checkbutton.active; }); + } + } + +-- +2.23.0 + diff --git a/overlays/patches/dino/default.nix b/overlays/patches/dino/default.nix new file mode 100644 index 000000000000..2a23ee5e0cc9 --- /dev/null +++ b/overlays/patches/dino/default.nix @@ -0,0 +1,16 @@ +{ dino, fetchpatch }: + +dino.overrideAttrs ({ patches ? [], ... }: { + patches = patches ++ [ + ./0001-add-an-option-to-enable-omemo-by-default-in-new-conv.patch + (fetchpatch { + url = "https://github.com/dino/dino/commit/f85bf7af3d355794a2a5208aea21efeb5b6e529d.patch"; + sha256 = "0y8dldydvj75i2n53brki9czvzw1qwlk5646k3xrx5pnl31c7p5b"; + }) + ]; + + postInstall = '' + mkdir -p $out/share/man/man1 + mv ../doc/dino.1 $out/share/man/man1 + ''; +}) |