diff --git a/configs/home-manager/foo-dogsquared/modules/programs/browsers.nix b/configs/home-manager/foo-dogsquared/modules/programs/browsers.nix index 2ba76c5c..676a0447 100644 --- a/configs/home-manager/foo-dogsquared/modules/programs/browsers.nix +++ b/configs/home-manager/foo-dogsquared/modules/programs/browsers.nix @@ -91,124 +91,150 @@ in { }; }; - profiles.personal = { - isDefault = true; + profiles.personal = lib.mkMerge [ + { + isDefault = true; - extensions = with pkgs.nur.repos.rycee.firefox-addons; - [ - aw-watcher-web - bitwarden - browserpass - facebook-container - firefox-color - firefox-translations - firenvim - languagetool - multi-account-containers - privacy-badger - search-by-image - tampermonkey - tridactyl - ublock-origin - vimium - wayback-machine - ] ++ (with pkgs.firefox-addons; [ - get-rss-feed-url - google-container - microsoft-container - regretsreporter - simple-translate - sourcegraph-for-firefox - tineye-reverse-image-search - updateswh - zhongwen - open-access-helper - rsshub-radar - ]) ++ lib.optionals config.programs.mpv.enable - (with pkgs.nur.repos.rycee.firefox-addons; [ ff2mpv ]); + extensions = with pkgs.nur.repos.rycee.firefox-addons; + [ + aw-watcher-web + bitwarden + browserpass + facebook-container + firefox-color + firefox-translations + firenvim + languagetool + multi-account-containers + privacy-badger + search-by-image + tampermonkey + tridactyl + ublock-origin + vimium + wayback-machine + ] ++ (with pkgs.firefox-addons; [ + get-rss-feed-url + google-container + microsoft-container + regretsreporter + simple-translate + sourcegraph-for-firefox + updateswh + zhongwen + open-access-helper + rsshub-radar + ]) ++ lib.optionals config.programs.mpv.enable + (with pkgs.nur.repos.rycee.firefox-addons; [ ff2mpv ]); - # Much of the settings are affected by the policies set in the - # package. See more information about them in - # https://mozilla.github.io/policy-templates/. - settings = { - # Disable the UI tour. - "browser.uitour.enabled" = false; + # Much of the settings are affected by the policies set in the + # package. See more information about them in + # https://mozilla.github.io/policy-templates/. + settings = lib.mkMerge [ + { + # Disable the UI tour. + "browser.uitour.enabled" = false; - # Some quality of lifes. - "browser.search.widget.inNavBar" = true; - "browser.search.openintab" = true; - "browser.startup.homepage" = - lib.mkIf userCfg.programs.custom-homepage.enable - "file://${config.xdg.dataHome}/foodogsquared/homepage"; + # Some quality of lifes. + "browser.search.widget.inNavBar" = true; + "browser.search.openintab" = true; - # Some privacy settings... - "privacy.donottrackheader.enabled" = true; + # Some privacy settings... + "privacy.donottrackheader.enabled" = true; - # Burn our own fingers. - "privacy.resistFingerprinting" = true; - "privacy.fingerprintingProtection" = true; - "privacy.fingerprintingProtection.pbmode" = true; + # Burn our own fingers. + "privacy.resistFingerprinting" = true; + "privacy.fingerprintingProtection" = true; + "privacy.fingerprintingProtection.pbmode" = true; - "privacy.query_stripping.enabled" = true; - "privacy.query_stripping.enabled.pbmode" = true; + "privacy.query_stripping.enabled" = true; + "privacy.query_stripping.enabled.pbmode" = true; - "dom.security.https_first" = true; - "dom.security.https_first_pbm" = true; + "dom.security.https_first" = true; + "dom.security.https_first_pbm" = true; - "privacy.firstparty.isolate" = true; - }; + "privacy.firstparty.isolate" = true; + } - search = { - default = "Brave"; - force = true; - order = [ "Brave" "Nix Packages" "Google" ]; - engines = { - "Brave" = { - urls = [{ - template = "https://search.brave.com/search"; - params = [ - { - name = "type"; - value = "search"; - } - { - name = "q"; - value = "{searchTerms}"; - } - ]; - }]; + (lib.mkIf userCfg.programs.custom-homepage.enable { + "browser.startup.homepage" = "file://${config.xdg.dataHome}/foodogsquared/homepage"; + }) + ]; - icon = - "${config.programs.brave.package}/share/icons/hicolor/64x64/apps/brave-browser.png"; - definedAliases = [ "@brave" "@b" ]; + search = { + default = "Brave"; + force = true; + order = [ "Brave" "Nix Packages" "Google" ]; + engines = { + "Brave" = { + urls = [{ + template = "https://search.brave.com/search"; + params = [ + { + name = "type"; + value = "search"; + } + { + name = "q"; + value = "{searchTerms}"; + } + ]; + }]; + + icon = + "${config.programs.brave.package}/share/icons/hicolor/64x64/apps/brave-browser.png"; + definedAliases = [ "@brave" "@b" ]; + }; + + "Nix Packages" = { + urls = [{ + template = "https://search.nixos.org/packages"; + params = [ + { + name = "type"; + value = "packages"; + } + { + name = "query"; + value = "{searchTerms}"; + } + ]; + }]; + + icon = + "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@np" ]; + }; + + "Bing".metaData.hidden = true; + "Duckduckgo".metaData.hidden = true; + "Google".metaData.alias = "@g"; }; - - "Nix Packages" = { - urls = [{ - template = "https://search.nixos.org/packages"; - params = [ - { - name = "type"; - value = "packages"; - } - { - name = "query"; - value = "{searchTerms}"; - } - ]; - }]; - - icon = - "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - definedAliases = [ "@np" ]; - }; - - "Bing".metaData.hidden = true; - "Duckduckgo".metaData.hidden = true; - "Google".metaData.alias = "@g"; }; - }; - }; + } + + (lib.mkIf userCfg.programs.doom-emacs.enable { + settings."network.protocol-handler.expose.org-protocol" = true; + + bookmarks = [ + { + name = "Refer to org-roam node"; + tags = [ "org-roam" ]; + + # Formatted like this for ease of modifying. + url = lib.concatStrings [ + "javascript:location.href=" + "'org-protocol://roam-ref?template=r&ref='" + "+encodeURIComponent(location.href)" + "+'&title='" + "+encodeURIComponent(document.title)" + "+'&body='" + "+encodeURIComponent(window.getSelection())" + ]; + } + ]; + }) + ]; profiles.guest = { search.default = "Google"; @@ -224,13 +250,15 @@ in { (pkgs.writeTextFile { name = "tridactyl-nix-generated"; - text = '' - set newtab file://${config.xdg.dataHome}/foodogsquared/homepage/index.html - '' - + lib.optionalString attrs.nixosConfig.services.miniflux.enable '' - # This is to take advantage of Miniflux shortcuts. - blacklistadd localhost:${builtins.toString attrs.nixosConfig.state.ports.miniflux.value} - ''; + text = + lib.optionalString userCfg.programs.custom-homepage.enable '' + bind gT tabopen file://${config.xdg.dataHome}/foodogsquared/homepage/index.html + set newtab file://${config.xdg.dataHome}/foodogsquared/homepage/index.html + '' + + lib.optionalString attrs.nixosConfig.services.miniflux.enable '' + # This is to take advantage of Miniflux shortcuts. + blacklistadd localhost:${builtins.toString attrs.nixosConfig.state.ports.miniflux.value} + ''; }) ]; }; diff --git a/configs/home-manager/foo-dogsquared/modules/programs/doom-emacs.nix b/configs/home-manager/foo-dogsquared/modules/programs/doom-emacs.nix index f94b0fe9..73f5a9f8 100644 --- a/configs/home-manager/foo-dogsquared/modules/programs/doom-emacs.nix +++ b/configs/home-manager/foo-dogsquared/modules/programs/doom-emacs.nix @@ -58,13 +58,12 @@ in { # :lang org +roam2 texlive.combined.scheme-medium sqlite - #anystyle-cli ]; programs.python = { enable = true; package = pkgs.python3; - modules = ps: with ps; [ jupyter jupyter-book ]; + modules = ps: with ps; [ jupyter ]; }; # Enable Emacs server for them quicknotes. @@ -75,10 +74,12 @@ in { # Add org-protocol support. xdg.desktopEntries.org-protocol = { - name = "Org protocol"; - exec = "emacsclient %u"; - icon = "emacs"; + name = "org-protocol"; + exec = "emacsclient -- %u"; mimeType = [ "x-scheme-handler/org-protocol" ]; + terminal = false; + comment = "Intercept calls from emacsclient to trigger custom actions"; + noDisplay = true; }; xdg.mimeApps.defaultApplications = { diff --git a/configs/home-manager/foo-dogsquared/modules/programs/nushell.nix b/configs/home-manager/foo-dogsquared/modules/programs/nushell.nix index fb84ece7..3e8e5da2 100644 --- a/configs/home-manager/foo-dogsquared/modules/programs/nushell.nix +++ b/configs/home-manager/foo-dogsquared/modules/programs/nushell.nix @@ -14,11 +14,8 @@ in { programs.nushell = { enable = true; plugins = with pkgs.nushellPlugins; [ - dbus query - skim polars - units formats highlight ]; diff --git a/configs/home-manager/foo-dogsquared/modules/programs/vs-code.nix b/configs/home-manager/foo-dogsquared/modules/programs/vs-code.nix index 2141714e..f7e028bf 100644 --- a/configs/home-manager/foo-dogsquared/modules/programs/vs-code.nix +++ b/configs/home-manager/foo-dogsquared/modules/programs/vs-code.nix @@ -32,7 +32,9 @@ in { alefragnani.project-manager fill-labs.dependi ] ++ lib.optionals userCfg.programs.browsers.firefox.enable - [ firefox-devtools.vscode-firefox-debug ]; + [ firefox-devtools.vscode-firefox-debug ] + ++ lib.optionals config.programs.python.enable + [ ms-toolsai.jupyter ms-toolsai.jupyter-renderers ]; userSettings = { "extensions.ignoreRecommendations" = true; }; }; diff --git a/configs/home-manager/foo-dogsquared/modules/setups/development.nix b/configs/home-manager/foo-dogsquared/modules/setups/development.nix index c9ed31a4..8ca84c68 100644 --- a/configs/home-manager/foo-dogsquared/modules/setups/development.nix +++ b/configs/home-manager/foo-dogsquared/modules/setups/development.nix @@ -149,7 +149,7 @@ in { home.packages = with pkgs; [ supercollider-with-plugins processing - #(puredata-with-plugins (with pkgs; [ zexy cyclone ])) + (puredata-with-plugins (with pkgs; [ zexy ])) ]; }) ]);