Commit fb4d9c2
Changed files (9)
.forgejo
workflows
home
linux
gui
modules
desktop
apps
browser
.forgejo/workflows/update-firefox-addons.yaml
@@ -1,29 +0,0 @@
-name: Update Firefox Addons
-
-on:
- workflow_dispatch:
-
- schedule:
- - cron: "0 4 * * 1"
-
-jobs:
- update-firefox-addons:
- runs-on: nixos-latest
- steps:
- - uses: actions/checkout@v4
- - name: Update addons
- run: |
- nix run github:nix-community/NUR#legacyPackages.x86_64-linux.repos.rycee.mozilla-addons-to-nix -- \
- ./home/linux/gui/firefox/addons/addons.json \
- ./home/linux/gui/firefox/addons/default.nix
- - uses: peter-evans/create-pull-request@v6
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
- commit-author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
- commit-message: "chore(firefox): update addons"
- branch: "chore/update-firefox-addons-{random}"
- title: "chore(firefox): Update Firefox Addons"
- body: |
- Automated update of Firefox addons.
- This PR was generated by the `update-firefox-addons` GitHub Actions workflow.
- labels: "automated, dependencies"
home/linux/gui/firefox/addons/addons.json
@@ -1,6 +0,0 @@
-[
- {
- "slug": "欧路翻译-网页划词翻译工具",
- "pname": "lulu-translator"
- }
-]
\ No newline at end of file
home/linux/gui/firefox/addons/default.nix
@@ -1,26 +0,0 @@
-{ buildFirefoxXpiAddon, fetchurl, lib, stdenv }:
- {
- "lulu-translator" = buildFirefoxXpiAddon {
- pname = "lulu-translator";
- version = "25.7.0";
- addonId = "{20c4c749-556c-4659-8827-16dfaf0601f9}";
- url = "https://addons.mozilla.org/firefox/downloads/file/4539524/2818091-25.7.0.xpi";
- sha256 = "a87c7f30dde5125e48cc848d7af730dcabe38e455ffe254799591d79b514d211";
- meta = with lib;
- {
- description = "LuLu Translate, the world-leading cross-platform translation software, supports translation by selecting words.";
- mozPermissions = [
- "<all_urls>"
- "webRequest"
- "storage"
- "activeTab"
- "contextMenus"
- "scripting"
- "cookies"
- "file:///*"
- "*://*/*"
- ];
- platforms = platforms.all;
- };
- };
- }
\ No newline at end of file
home/linux/gui/firefox/default.nix
@@ -1,133 +0,0 @@
-{
- pkgs,
- pkgs-stable,
- ...
-}: {
- catppuccin.firefox.profiles.default.enable = false;
-
- programs.firefox = {
- enable = true;
- package = pkgs-stable.firefox;
- languagePacks = ["zh-CN" "en-US"];
- nativeMessagingHosts = with pkgs; [
- kdePackages.plasma-browser-integration
- ];
-
- policies = {
- DisableAppUpdate = true;
- DisablePocket = true;
- DisableSetDesktopBackground = true;
- DisableTelemetry = true;
- DontCheckDefaultBrowser = true;
- ExtensionUpdate = false;
- NoDefaultBookmarks = true;
- OfferToSaveLogins = false;
- PasswordManagerEnabled = false;
- };
-
- profiles.default = {
- id = 0;
- isDefault = true;
- search = {
- force = true;
- default = "bing";
- privateDefault = "duckduckgo";
- order = [
- "bing"
- "google"
- "duckduckgo"
- ];
- engines = {
- baidu.metaData.hidden = true;
- };
- };
- extensions.packages = let
- my-addons = import ./addons (with pkgs; {
- inherit lib fetchurl stdenv;
- buildFirefoxXpiAddon = pkgs.nur.repos.rycee.firefox-addons.buildFirefoxXpiAddon;
- });
- in
- with pkgs.nur.repos.rycee.firefox-addons; [
- ublock-origin
- bitwarden
- tampermonkey
- rsshub-radar
- auto-tab-discard
- aria2-integration
- firefox-color
- plasma-integration
- aw-watcher-web
- my-addons.lulu-translator
- ];
- settings = {
- # No First Run
- "app.normandy.first_run" = false;
- "doh-rollout.doneFirstRun" = true;
- "toolkit.telemetry.reportingpolicy.firstRun" = false;
- "trailhead.firstrun.didSeeAboutWelcome" = true;
- "browser.toolbarbuttons.introduced.sidebar-button" = true;
- "sidebar.old-sidebar.has-used" = true;
- "sidebar.new-sidebar.has-used" = true;
- # Language
- "general.useragent.locale" = "zh-CN";
- "intl.locale.requested" = "zh-CN,en-US";
- "browser.translations.mostRecentTargetLanguages" = "zh-Hans";
- # No Ads
- "browser.urlbar.suggest.topsites" = false;
- "browser.urlbar.suggest.trending" = false;
- "browser.newtabpage.pinned" = [];
- "browser.newtabpage.activity-stream.showSponsored" = false;
- "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
- # General
- "browser.startup.page" = 3; # Open prev session pages
- "browser.tabs.unloadOnLowMemory" = true;
- "widget.use-xdg-desktop-portal.file-picker" = 1;
- # Apperance
- "browser.newtabpage.activity-stream.feeds.topsites" = false;
- "browser.newtabpage.activity-stream.default.sites" = "";
- "browser.toolbars.bookmarks.visibility" = "always";
- "sidebar.verticalTabs" = true;
- "sidebar.main.tools" = "syncedtabs";
- "sidebar.visibility" = "expand-on-hover";
- "browser.uiCustomization.state" = {
- "placements" = {
- "widget-overflow-fixed-list" = [];
- "unified-extensions-area" = [];
- "nav-bar" = [
- "sidebar-button"
- "back-button"
- "forward-button"
- "stop-reload-button"
- "vertical-spacer"
- "customizableui-special-spring7"
- "urlbar-container"
- "customizableui-special-spring2"
- "unified-extensions-button"
- "fxa-toolbar-menu-button"
- ];
- "toolbar-menubar" = ["menubar-items"];
- "TabsToolbar" = [];
- "vertical-tabs" = ["tabbrowser-tabs"];
- "PersonalToolbar" = ["personal-bookmarks"];
- };
- "seen" = ["developer-button"];
- "dirtyAreaCache" = [];
- };
- # Disable Telemetry
- "toolkit.telemetry.unified" = false;
- "toolkit.telemetry.enabled" = false;
- "toolkit.telemetry.server" = "data:,";
- "toolkit.telemetry.archive.enabled" = false;
- "toolkit.telemetry.newProfilePing.enabled" = false;
- "toolkit.telemetry.shutdownPingSender.enabled" = false;
- "toolkit.telemetry.updatePing.enabled" = false;
- "toolkit.telemetry.bhrPing.enabled" = false;
- "toolkit.telemetry.firstShutdownPing.enabled" = false;
- "toolkit.telemetry.shutdownPingSender.enabledFirstsession" = false;
- "browser.ping-centre.telemetry" = false;
- "browser.newtabpage.activity-stream.feeds.telemetry" = false;
- "browser.newtabpage.activity-stream.telemetry" = false;
- };
- };
- };
-}
home/linux/gui/misc.nix
@@ -14,7 +14,6 @@
# Fix Chromium IME bug
cherrystudio = pkgs-unstable.cherry-studio.override {commandLineArgs = chromiumCLA;};
- chromium = pkgs.chromium.override {commandLineArgs = chromiumCLA ++ ["-–disable-features=GlobalShortcutsPortal"];};
qq = pkgs.qq.override {commandLineArgs = chromiumCLA;};
in {
home.packages = with pkgs; [
@@ -32,16 +31,6 @@ in {
blender
];
- programs.chromium = {
- enable = true;
- package = chromium;
- nativeMessagingHosts = [pkgs.kdePackages.plasma-browser-integration];
- extensions = [
- {id = "cimiefiiaegbelhefglklhhakcgmhkai";} # Plasma Integration
- # {id = "bpoadfkcbjbfhfodiogcnhhhpibjhbnh";} # Immersive Translate
- ];
- };
-
# Fix pcsc conflict
# https://github.com/LudovicRousseau/PCSC/issues/65
programs.gpg.scdaemonSettings.disable-ccid = true;
home/linux/gui/xdg.nix
@@ -1,32 +1,11 @@
{pkgs, ...}: {
xdg = {
mimeApps = {
- defaultApplications = let
- browser = ["firefox.desktop"];
- in {
- "application/json" = browser;
-
- "text/html" = browser;
- "text/xml" = browser;
- "application/xml" = browser;
- "application/xhtml+xml" = browser;
- "application/xhtml_xml" = browser;
- "application/rdf+xml" = browser;
- "application/rss+xml" = browser;
- "application/x-extension-htm" = browser;
- "application/x-extension-html" = browser;
- "application/x-extension-shtml" = browser;
- "application/x-extension-xht" = browser;
- "application/x-extension-xhtml" = browser;
-
- "x-scheme-handler/about" = browser;
- "x-scheme-handler/ftp" = browser;
- "x-scheme-handler/http" = browser;
- "x-scheme-handler/https" = browser;
+ defaultApplications = {
"x-scheme-handler/tg" = ["org.telegram.desktop.desktop "];
"x-scheme-handler/tonsite" = ["org.telegram.desktop.desktop "];
- "application/pdf" = ["okularApplication_pdf.desktop"] ++ browser;
+ "application/pdf" = ["okularApplication_pdf.desktop"];
"application/epub+zip" = ["okularApplication_epub.desktop"];
"audio/*" = ["mpv.desktop" "deadbeef.desktop"];
modules/desktop/apps/browser/chromium.nix
@@ -0,0 +1,30 @@
+{lib, ...}: {
+ flake.modules.homeManager.desktop = {
+ pkgs,
+ osConfig,
+ ...
+ }: let
+ linuxChromiumCLA = [
+ "--ozone-platform-hint=auto"
+ "--enable-wayland-ime"
+ "--wayland-text-input-version=3"
+ ];
+ isLinux = pkgs.stdenv.hostPlatform.isLinux;
+ isPlasma = isLinux && osConfig.services.desktopManager.plasma6.enable;
+ in {
+ programs.chromium = {
+ enable = true;
+ package = lib.mkIf isLinux (pkgs.chromium.override {
+ commandLineArgs =
+ linuxChromiumCLA
+ ++ ["-–disable-features=GlobalShortcutsPortal"];
+ });
+ nativeMessagingHosts = lib.optionals isPlasma [
+ pkgs.kdePackages.plasma-browser-integration
+ ];
+ extensions = lib.optionals isPlasma [
+ {id = "cimiefiiaegbelhefglklhhakcgmhkai";} # Plasma Integration
+ ];
+ };
+ };
+}
modules/desktop/apps/browser/firefox.nix
@@ -0,0 +1,133 @@
+{lib, ...}: {
+ flake.modules.homeManager.desktop = {
+ pkgs,
+ osConfig,
+ ...
+ }: {
+ catppuccin.firefox.profiles.default.enable = false;
+
+ programs.firefox = let
+ isPlasma =
+ pkgs.stdenv.hostPlatform.isLinux
+ && osConfig.services.desktopManager.plasma6.enable;
+ in {
+ enable = true;
+ languagePacks = ["zh-CN" "en-US"];
+ nativeMessagingHosts = lib.mkIf isPlasma (with pkgs; [
+ kdePackages.plasma-browser-integration
+ ]);
+
+ policies = {
+ DisableAppUpdate = true;
+ DisablePocket = true;
+ DisableSetDesktopBackground = true;
+ DisableTelemetry = true;
+ DontCheckDefaultBrowser = true;
+ ExtensionUpdate = false;
+ NoDefaultBookmarks = true;
+ OfferToSaveLogins = false;
+ PasswordManagerEnabled = false;
+ };
+ profiles.default = {
+ id = 0;
+ isDefault = true;
+ search = {
+ force = true;
+ default = "bing";
+ privateDefault = "duckduckgo";
+ order = [
+ "bing"
+ "google"
+ "duckduckgo"
+ ];
+ engines = {
+ baidu.metaData.hidden = true;
+ };
+ };
+ extensions.packages =
+ (with pkgs.nur.repos.rycee.firefox-addons; [
+ ublock-origin
+ bitwarden
+ tampermonkey
+ rsshub-radar
+ auto-tab-discard
+ aria2-integration
+ firefox-color
+ ])
+ ++ lib.optionals isPlasma
+ (with pkgs.nur.repos.rycee.firefox-addons; [
+ plasma-integration
+ ]);
+ settings = {
+ # No First Run
+ "app.normandy.first_run" = false;
+ "doh-rollout.doneFirstRun" = true;
+ "toolkit.telemetry.reportingpolicy.firstRun" = false;
+ "trailhead.firstrun.didSeeAboutWelcome" = true;
+ "browser.toolbarbuttons.introduced.sidebar-button" = true;
+ "sidebar.old-sidebar.has-used" = true;
+ "sidebar.new-sidebar.has-used" = true;
+ # Language
+ "general.useragent.locale" = "zh-CN";
+ "intl.locale.requested" = "zh-CN,en-US";
+ "browser.translations.mostRecentTargetLanguages" = "zh-Hans";
+ # No Ads
+ "browser.urlbar.suggest.topsites" = false;
+ "browser.urlbar.suggest.trending" = false;
+ "browser.newtabpage.pinned" = [];
+ "browser.newtabpage.activity-stream.showSponsored" = false;
+ "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
+ # General
+ "browser.startup.page" = 3; # Open prev session pages
+ "browser.tabs.unloadOnLowMemory" = true;
+ "widget.use-xdg-desktop-portal.file-picker" = 1;
+ # Apperance
+ "browser.newtabpage.activity-stream.feeds.topsites" = false;
+ "browser.newtabpage.activity-stream.default.sites" = "";
+ "browser.toolbars.bookmarks.visibility" = "always";
+ "sidebar.verticalTabs" = true;
+ "sidebar.main.tools" = "syncedtabs";
+ "sidebar.visibility" = "expand-on-hover";
+ "browser.uiCustomization.state" = {
+ "placements" = {
+ "widget-overflow-fixed-list" = [];
+ "unified-extensions-area" = [];
+ "nav-bar" = [
+ "sidebar-button"
+ "back-button"
+ "forward-button"
+ "stop-reload-button"
+ "vertical-spacer"
+ "customizableui-special-spring7"
+ "urlbar-container"
+ "customizableui-special-spring2"
+ "unified-extensions-button"
+ "fxa-toolbar-menu-button"
+ ];
+ "toolbar-menubar" = ["menubar-items"];
+ "TabsToolbar" = [];
+ "vertical-tabs" = ["tabbrowser-tabs"];
+ "PersonalToolbar" = ["personal-bookmarks"];
+ };
+ "seen" = ["developer-button"];
+ "dirtyAreaCache" = [];
+ };
+ # Disable Telemetry
+ "toolkit.telemetry.unified" = false;
+ "toolkit.telemetry.enabled" = false;
+ "toolkit.telemetry.server" = "data:,";
+ "toolkit.telemetry.archive.enabled" = false;
+ "toolkit.telemetry.newProfilePing.enabled" = false;
+ "toolkit.telemetry.shutdownPingSender.enabled" = false;
+ "toolkit.telemetry.updatePing.enabled" = false;
+ "toolkit.telemetry.bhrPing.enabled" = false;
+ "toolkit.telemetry.firstShutdownPing.enabled" = false;
+ "toolkit.telemetry.shutdownPingSender.enabledFirstsession" = false;
+ "browser.ping-centre.telemetry" = false;
+ "browser.newtabpage.activity-stream.feeds.telemetry" = false;
+ "browser.newtabpage.activity-stream.telemetry" = false;
+ };
+ };
+ };
+ };
+}
modules/desktop/apps/browser/xdg.nix
@@ -0,0 +1,27 @@
+{
+ flake.modules.homeManager.desktop = _: {
+ xdg.mimeApps.defaultApplications = let
+ browser = ["firefox.desktop"];
+ in {
+ "application/json" = browser;
+
+ "text/html" = browser;
+ "text/xml" = browser;
+ "application/xml" = browser;
+ "application/xhtml+xml" = browser;
+ "application/xhtml_xml" = browser;
+ "application/rdf+xml" = browser;
+ "application/rss+xml" = browser;
+ "application/x-extension-htm" = browser;
+ "application/x-extension-html" = browser;
+ "application/x-extension-shtml" = browser;
+ "application/x-extension-xht" = browser;
+ "application/x-extension-xhtml" = browser;
+
+ "x-scheme-handler/about" = browser;
+ "x-scheme-handler/ftp" = browser;
+ "x-scheme-handler/http" = browser;
+ "x-scheme-handler/https" = browser;
+ };
+ };
+}