diff options
author | ene <ene@sils.li> | 2023-02-17 16:51:44 +0100 |
---|---|---|
committer | ene <ene@sils.li> | 2023-02-17 16:51:44 +0100 |
commit | 32d4278611a8e9a88ca54a27a072985087015039 (patch) | |
tree | 3f3d73e246be7ba75d1b368e50dcbc37c8429609 /home-manager/firefox/default.nix | |
parent | Feat(impermanence): Add full stack tempfs (diff) | |
download | nixos-config-32d4278611a8e9a88ca54a27a072985087015039.tar.gz nixos-config-32d4278611a8e9a88ca54a27a072985087015039.zip |
Feat(home-manager): Move configs in their own directory
Diffstat (limited to 'home-manager/firefox/default.nix')
-rw-r--r-- | home-manager/firefox/default.nix | 232 |
1 files changed, 0 insertions, 232 deletions
diff --git a/home-manager/firefox/default.nix b/home-manager/firefox/default.nix deleted file mode 100644 index 88fad227..00000000 --- a/home-manager/firefox/default.nix +++ /dev/null @@ -1,232 +0,0 @@ -# vim: ts=2 -{ - config, - pkgs, - lib, - stdenv, - strip_js_comments, - generate_extensions, - user_js, - system, - ... -}: let - userChrome = builtins.readFile ./chrome/userChrome.css; - - user_js_override = pkgs.writeText "user.override.js" (builtins.readFile ./settings/override.js); - user_js_nix = pkgs.runCommand "user.js" {} '' - mkdir $out; - cat "${user_js}/user.js" > $out/user.js; - cat "${user_js_override}" >> $out/user.js; - - "${strip_js_comments.app.${system}.default.program}" $out/user.js > $out/user_clean.js; - # echo "{" > $out/user.nix.tmp - # sed 's/user_pref(\(.*\)",\(.*\));/\1" = \2;/' $out/user_clean.js >> $out/user.nix.tmp; - # echo "}" >> $out/user.nix.tmp - # awk '!/"_user.js.parrot"/' $out/user.nix.tmp >> $out/user.nix; # delete duplicate keys - ''; - - extensions = builtins.map buildFirefoxXpiAddon ( - lib.attrValues ( - lib.importJSON ./settings/extensions.json - ) - ); - - # source: https://gitlab.com/rycee/nur-expressions/-/blob/master/pkgs/firefox-addons/default.nix - buildFirefoxXpiAddon = { - pname, - version, - addonId, - url, - sha256, -#meta, - ... - }: - pkgs.stdenv.mkDerivation { - name = "${pname}-${version}"; - -#inherit meta; - - src = builtins.fetchurl {inherit url sha256;}; - - preferLocalBuild = true; - allowSubstitutes = true; - - buildCommand = '' - dst="$out/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" - mkdir -p "$dst" - install -v -m644 "$src" "$dst/${addonId}.xpi" - ''; - }; - - settings = { - # Allow my custom css - "toolkit.legacyUserProfileCustomizations.stylesheets" = true; - - # might improve performance TODO - "gfx.webrender.all" = true; - - # disable updates (pretty pointless with nix) - "extensions.update.autoUpdateDefault" = false; - "extensions.update.enabled" = false; - "app.update.channel" = "default"; - - "browser.ctrlTab.recentlyUsedOrder" = false; - - "browser.download.useDownloadDir" = true; - "browser.download.dir" = "${config.home.homeDirectory}/media/downloads"; - "browser.download.folderList" = 2; # TODO - "browser.download.viewableInternally.typeWasRegistered.svg" = true; - "browser.download.viewableInternally.typeWasRegistered.webp" = true; - "browser.download.viewableInternally.typeWasRegistered.xml" = true; - - # TODO what does this do? - "browser.search.widget.inNavBar" = true; - - "browser.shell.checkDefaultBrowser" = false; - "browser.tabs.loadInBackground" = true; - "browser.urlbar.placeholderName" = "Brave"; - - "general.autoScroll" = true; - - # Set the tabs and bookmarks - "browser.tabs.inTitlebar" = 1; - "browser.toolbars.bookmarks.visibility" = "always"; - - # Theme - "extensions.activeThemeID" = "firefox-alpenglow@mozilla.org"; - "extensions.extensions.activeThemeID" = "firefox-alpenglow@mozilla.org"; - - # highlight all entries when searching - "findbar.highlightAll" = true; - - # TODO - #"extensions.webcompat.enable_picture_in_picture_overrides" = true; - #"extensions.webcompat.enable_shims" = true; - #"extensions.webcompat.perform_injections" = true; - #"extensions.webcompat.perform_ua_overrides" = true; - - # onlykey / copied from a yubikey config - #"security.webauth.u2f" = true; - #"security.webauth.webauthn" = true; - #"security.webauth.webauthn_enable_softtoken" = true; - #"security.webauth.webauthn_enable_usbtoken" = true; - }; -in { - home.packages = [ - pkgs.firefox-wayland - ]; - home.sessionVariables = { - # improve touch input & make scrolling smother - MOZ_USE_XINPUT2 = "1"; - # improve wayland support - MOZ_ENABLE_WAYLAND = 1; - XDG_CURRENT_DESKTOP = "river"; - }; - xdg.mimeApps = { - enable = true; - defaultApplications = { - "text/html" = ["firefox.desktop"]; - "x-scheme-handler/http" = ["firefox.desktop"]; - "x-scheme-handler/https" = ["firefox.desktop"]; - "x-scheme-handler/about" = ["firefox.desktop"]; - "x-scheme-handler/unknown" = ["firefox.desktop"]; - }; - }; - programs.firefox = { - enable = true; - package = pkgs.firefox; - profiles."default" = { - inherit extensions; - isDefault = true; - id = 0; - name = "default"; - - inherit userChrome; - - search = { - default = "Brave Search"; - force = true; - - engines = { - "Brave Search" = { - urls = [{template = "https://search.brave.com/search?q={searchTerms}";}]; - iconUpdateURL = "https://cdn.search.brave.com/serp/v1/static/brand/8eabe183f0d1f2cb3e2916b7b20c310efd196d740c8cecd341732fcd396fb665-apple-touch-icon.png"; - updateInterval = 24 * 60 * 60 * 1000; # every day - definedAliases = ["@bs"]; - }; - - "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"]; - }; - - "NixOS Wiki" = { - urls = [{template = "https://nixos.wiki/index.php?search={searchTerms}";}]; - iconUpdateURL = "https://nixos.wiki/favicon.png"; - updateInterval = 24 * 60 * 60 * 1000; # every day - definedAliases = ["@nw"]; - }; - "Bing".metaData.hidden = true; - "Google".metaData.hidden = true; - "Amazon.de".metaData.hidden = true; - }; - }; - - bookmarks = [ - { - name = "Rust::std"; - # TODO - url = "file:///home/dt/.local/share/rustup/toolchains/stable-x86_64-unknown-linux-gnu/share/doc/rust/html/std/all.html"; - } - - { - name = "Feed - Piped"; - url = "https://piped.kavin.rocks/feed"; - } - - { - name = "DeepL Translate"; - url = "https://www.deepl.com/translator#en/de/test"; - } - - { - name = "Google Scholar"; - url = "https://scholar.google.com/"; - } - - { - name = "ArchWiki"; - url = "https://wiki.archlinux.org/"; - } - - { - name = "Arch Package "; - url = "https://archlinux.org/packages/"; - } - - { - name = "layout.css.devPixelsPerPx"; - url = "about:config"; - } - ]; - inherit settings; - extraConfig = builtins.readFile "${user_js_nix}/user.js"; - }; - }; -} |