diff --git a/homes/x86_64-linux/kb@LoyAdjo/chromium.nix b/homes/x86_64-linux/kb@LoyAdjo/chromium.nix deleted file mode 100644 index 5fc653d..0000000 --- a/homes/x86_64-linux/kb@LoyAdjo/chromium.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ config, pkgs, lib, inputs, ... }: -{ - programs.chromium = { - enable = true; - package = pkgs.ungoogled-chromium; - commandLineArgs = [ - "--extension-mime-request-handling=always-prompt-for-install" # Enable Extension-Install Dialogue - "--enable-features=ClearDataOnExit,NoReferrers,SpoofWebGLInfo" # Feature Flags - "--no-default-browser-check" - ]; - extensions = [ - { # Chromium Web Store - id = "ocaahdebbfolfmndjeplogmgcagdmblk"; - updateUrl = "https://github.com/NeverDecaf/chromium-web-store/releases/latest/download/Chromium.Web.Store.crx"; - } - { id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # uBlock Origin - { id = "edibdbjcniadpccecjdfdjjppcpchdlm"; } # I still don't care about cookies - { id = "oboonakemofpalcgghocfoadofidjkkk"; } # KeePassXC-Browser - { id = "oldceeleldhonbafppcapldpdifcinji"; } # LanguageTool - { id = "eimadpbcbfnmbkopoojfekhnkhdbieeh"; } # dark reader - ]; - }; -} diff --git a/homes/x86_64-linux/kb@LoyAdjo/default.nix b/homes/x86_64-linux/kb@LoyAdjo/default.nix index 8d737a5..f43aad8 100644 --- a/homes/x86_64-linux/kb@LoyAdjo/default.nix +++ b/homes/x86_64-linux/kb@LoyAdjo/default.nix @@ -1,11 +1,14 @@ { config, pkgs, lib, inputs, ... }: { - imports = [ - ./firefox.nix - ./chromium.nix - ]; + #imports = []; home.username = "kb"; home.homeDirectory = "/home/kb"; + + nixpkgs.config.allowUnfree = false; + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ + "ungoogled-chromium" + ]; + home.packages = with pkgs; [ # System kdePackages.kate @@ -39,7 +42,6 @@ webcord # Customization razergenie - firefoxpwa # Development vscodium scrcpy @@ -69,5 +71,7 @@ services.ssh-agent.enable = true; + suits.desktop.enable = true; + home.stateVersion = "24.05"; } diff --git a/homes/x86_64-linux/kb@LoyAdjo/firefox.nix b/homes/x86_64-linux/kb@LoyAdjo/firefox.nix deleted file mode 100644 index e9be148..0000000 --- a/homes/x86_64-linux/kb@LoyAdjo/firefox.nix +++ /dev/null @@ -1,176 +0,0 @@ -{ config, pkgs, lib, inputs, ... }: -let - # Firefox Profile Setting States - lock-false = { - Value = false; - Status = "locked"; - }; - lock-true = { - Value = true; - Status = "locked"; - }; - lock-empty-string = { - Value = ""; - Status = "locked"; - }; -in { - programs.firefox = { - enable = true; - nativeMessagingHosts = [ pkgs.firefoxpwa ]; - policies = { - # --------- Privacy --------- - DisableTelemetry = true; - DisableFirefoxStudies = true; - DisablePocket = true; - DisableFirefoxAccounts = true; - AutofillAddressEnabled = false; - AutofillCreditCardEnabled = false; - OfferToSaveLogins = false; - FirefoxHome.TopSites = false; - FirefoxHome.SponsoredTopSites = false; - Preferences = { - "browser.newtabpage.pinned" = lock-empty-string; - "browser.topsites.contile.enabled" = lock-false; - }; - # -------- Opiniated -------- - DontCheckDefaultBrowser = true; - DisableProfileImport = true; - SearchBar = "unified"; - SearchEngines.Add = [ # Only Available in ESR Releases https://mozilla.github.io/policy-templates/#searchengines--add - { - Name = "Brave"; - URLTemplate = "https://search.brave.com/search?q={SearchTerms}"; - Alias = "br"; - } - ]; - # Extensions https://mozilla.github.io/policy-templates#extensionsettings - ExtensionSettings = { - "uBlock0@raymondhill.net" = { # uBlock Origin: https://addons.mozilla.org/en-US/firefox/addon/ublock-origin - install_url = "https://addons.mozilla.org/firefox/downloads/file/4458450/ublock_origin-1.63.2.xpi"; - installation_mode = "normal_installed"; - private_browsing = true; - }; - "idcac-pub@guus.ninja" = { # I still don't care about cookies: https://addons.mozilla.org/en-US/firefox/addon/istilldontcareaboutcookies/ - install_url = "https://addons.mozilla.org/firefox/downloads/file/4216095/istilldontcareaboutcookies-1.1.4.xpi"; - installation_mode = "normal_installed"; - private_browsing = true; - }; - "keepassxc-browser@keepassxc.org" = { # KeePassXC-Browser: https://addons.mozilla.org/en-US/firefox/addon/keepassxc-browser - install_url = "https://addons.mozilla.org/firefox/downloads/file/4441759/keepassxc_browser-1.9.7.xpi"; - installation_mode = "normal_installed"; - }; - "offline-qr-code@rugk.github.io" = { # Offline QR Code Generator: https://addons.mozilla.org/en-US/firefox/addon/offline-qr-code-generator/ - install_url = "https://addons.mozilla.org/firefox/downloads/file/4349427/offline_qr_code_generator-1.9.xpi"; - installation_mode = "normal_installed"; - }; - "addon@darkreader.org" = { # Dark Reader: https://addons.mozilla.org/en-US/firefox/addon/darkreader/ - install_url = "https://addons.mozilla.org/firefox/downloads/file/4439735/darkreader-4.9.103.xpi"; - installation_mode = "normal_installed"; - }; - "languagetool-webextension@languagetool.org" = { # LanguageTool: https://addons.mozilla.org/en-US/firefox/addon/languagetool - install_url = "https://addons.mozilla.org/firefox/downloads/file/4470413/languagetool-8.19.4.xpi"; - installation_mode = "normal_installed"; - }; - }; - Bookmarks = [ - { - Title = "Syncthing"; - URL = "localhost:8384"; - Placement = "toolbar"; - } - { - Title = "BayZeit"; - URL = "https://bayzeit-web.ur.de/"; - Placement = "toolbar"; - Folder = "OHM"; - } - { - Title = "Zimbra"; - URL = "https://my.ohmportal.de/zimbra/#1"; - Placement = "toolbar"; - Folder = "OHM"; - } - { - Title = "Moodle"; - URL = "https://elearning.ohmportal.de/my/courses.php"; - Placement = "toolbar"; - Folder = "OHM"; - } - { - Title = "Ohmportal"; - URL = "https://my.ohmportal.de/"; - Placement = "toolbar"; - Folder = "OHM"; - } - { - Title = "Intranet"; - URL = "https://intern.ohmportal.de/seitenbaum/home/page.html"; - Placement = "toolbar"; - Folder = "OHM"; - } - { - Title = "Kantine Hohfederstraße"; - URL = "https://www.werkswelt.de/?id=hohf"; - Placement = "toolbar"; - Folder = "OHM"; - } - { - Title = "Kantine Keßlerplatz"; - URL = "https://www.werkswelt.de/index.php?id=mohm"; - Placement = "toolbar"; - Folder = "OHM"; - } - { - Title = "NixOS Search - Packages"; - URL = "https://search.nixos.org/packages?channel=unstable"; - Placement = "toolbar"; - Folder = "NixOS"; - } - { - Title = "NixOS Search - Options"; - URL = "https://search.nixos.org/options?channel=unstable"; - Placement = "toolbar"; - Folder = "NixOS"; - } - { - Title = "Home Manager Search - Options"; - URL = "https://home-manager-options.extranix.com/?release=master"; - Placement = "toolbar"; - Folder = "NixOS"; - } - { - Title = "Lix"; - URL = "https://lix.systems/"; - Placement = "toolbar"; - Folder = "NixOS"; - } - { - Title = "AUX - Homepage"; - URL = "https://auxolotl.org/en/"; - Placement = "toolbar"; - Folder = "NixOS"; - } - { - Title = "AUX - Forum"; - URL = "https://forum.aux.computer/"; - Placement = "toolbar"; - Folder = "NixOS"; - } - { - Title = "NixOS & Flakes Book"; - URL = "https://nixos-and-flakes.thiscute.world/introduction/"; - Placement = "toolbar"; - Folder = "NixOS"; - } - { - Title = "Nix Pills"; - URL = "https://nixos.org/guides/nix-pills/"; - Placement = "toolbar"; - Folder = "NixOS"; - } - ]; - }; - }; - -} - diff --git a/homes/x86_64-linux/kb@Ohybke/chromium.nix b/homes/x86_64-linux/kb@Ohybke/chromium.nix index 749823f..d9b37b0 100644 --- a/homes/x86_64-linux/kb@Ohybke/chromium.nix +++ b/homes/x86_64-linux/kb@Ohybke/chromium.nix @@ -23,7 +23,7 @@ { # Chromium Web Store id = "ocaahdebbfolfmndjeplogmgcagdmblk"; crxPath = builtins.fetchurl { - url = "https://github.com/NeverDecaf/chromium-web-store/releases/download/v1.5.4.3/Chromium.Web.Store.crx"; + url = "https://github.com/NeverDecaf/chromium-web-store/releases/download/v1.5.5/Chromium.Web.Store.crx"; name = "ocaahdebbfolfmndjeplogmgcagdmblk.crx"; sha256 = "sha256:0ck5k4gs5cbwq1wd5i1aka5hwzlnyc4c513sv13vk9s0dlhbz4z5"; }; diff --git a/modules/home/suits/desktop/default.nix b/modules/home/suits/desktop/default.nix new file mode 100644 index 0000000..7729ff7 --- /dev/null +++ b/modules/home/suits/desktop/default.nix @@ -0,0 +1,269 @@ +{ lib, config, pkgs, ... }: +let + cfg = config.suits.desktop; +in +{ + options.suits.desktop = { + enable = lib.mkEnableOption "Desktop"; + + firefox.enable = lib.mkOption { + type = with lib.types; bool; + default = cfg.enable; + example = true; + description = "Enable Firefox"; + }; + firefox.disableuBlockOrigin = lib.mkOption { + type = with lib.types; bool; + default = false; + example = true; + }; + firefox.disableIDontCareAboutCookies = lib.mkOption { + type = with lib.types; bool; + default = false; + example = true; + }; + firefox.disableKeepassxcBrowser = lib.mkOption { + type = with lib.types; bool; + default = false; + example = true; + }; + firefox.disableOfflineQr = lib.mkOption { + type = with lib.types; bool; + default = false; + example = true; + }; + firefox.disableDarkReader = lib.mkOption { + type = with lib.types; bool; + default = false; + example = true; + }; + firefox.disableLanguageTool = lib.mkOption { + type = with lib.types; bool; + default = false; + example = true; + }; + firefox.disableDefaultBookmarks = lib.mkOption { + type = with lib.types; bool; + default = false; + example = true; + }; + + chromium.enable = lib.mkOption { + type = with lib.types; bool; + default = cfg.enable; + example = true; + description = "Enable Chromium"; + }; + chromium.enableWideVine = lib.mkOption { + type = with lib.types; bool; + default = true; + example = false; + }; + chromium.disableChromiumWebStore = lib.mkOption { + type = with lib.types; bool; + default = false; + example = true; + }; + chromium.disableuBlockOrigin = lib.mkOption { + type = with lib.types; bool; + default = false; + example = true; + }; + chromium.disableIDontCareAboutCookies = lib.mkOption { + type = with lib.types; bool; + default = false; + example = true; + }; + chromium.disableKeepassxcBrowser = lib.mkOption { + type = with lib.types; bool; + default = false; + example = true; + }; + chromium.disableLanguageTool = lib.mkOption { + type = with lib.types; bool; + default = false; + example = true; + }; + chromium.disableDarkReader = lib.mkOption { + type = with lib.types; bool; + default = false; + example = true; + }; + }; + + config = lib.mkIf cfg.enable { + + programs.firefox = lib.mkIf cfg.firefox.enable { + enable = true; + nativeMessagingHosts = []; # pkgs.firefoxpwa removed. I use ungoogled-chromiums PWA Implementation for better stability. + policies = { + # --------- Privacy --------- + DisableTelemetry = true; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableFirefoxAccounts = true; + AutofillAddressEnabled = false; + AutofillCreditCardEnabled = false; + OfferToSaveLogins = false; + FirefoxHome.TopSites = false; + FirefoxHome.SponsoredTopSites = false; + Preferences = { + "browser.newtabpage.pinned" = { + Value = ""; + Status = "locked"; + }; + "browser.topsites.contile.enabled" = { + Value = false; + Status = "locked"; + }; + }; + # -------- Opiniated -------- + DontCheckDefaultBrowser = true; + DisableProfileImport = true; + SearchBar = "unified"; + SearchEngines.Add = [ # Only Available in ESR Releases https://mozilla.github.io/policy-templates/#searchengines--add + { + Name = "Brave"; + URLTemplate = "https://search.brave.com/search?q={searchTerms}"; + Alias = "br"; + IconURL = "https://cdn.search.brave.com/serp/v3/_app/immutable/assets/brave-search-icon.CsIFM2aN.svg"; + } + ]; + # Extensions https://mozilla.github.io/policy-templates#extensionsettings + ExtensionSettings = { + "uBlock0@raymondhill.net" = lib.mkIf (cfg.firefox.disableuBlockOrigin == false) { # uBlock Origin: https://addons.mozilla.org/en-US/firefox/addon/ublock-origin + install_url = "https://addons.mozilla.org/firefox/downloads/file/4573289/ublock_origin-1.66.0.xpi"; + installation_mode = "normal_installed"; + private_browsing = true; + }; + "idcac-pub@guus.ninja" = lib.mkIf (cfg.firefox.disableIDontCareAboutCookies == false) { # I still don't care about cookies: https://addons.mozilla.org/en-US/firefox/addon/istilldontcareaboutcookies/ + install_url = "https://addons.mozilla.org/firefox/downloads/file/4216095/istilldontcareaboutcookies-1.1.4.xpi"; + installation_mode = "normal_installed"; + private_browsing = true; + }; + "keepassxc-browser@keepassxc.org" = lib.mkIf (cfg.firefox.disableKeepassxcBrowser == false) { # KeePassXC-Browser: https://addons.mozilla.org/en-US/firefox/addon/keepassxc-browser + install_url = "https://addons.mozilla.org/firefox/downloads/file/4575368/keepassxc_browser-1.9.9.6.xpi"; + installation_mode = "normal_installed"; + }; + "offline-qr-code@rugk.github.io" = lib.mkIf (cfg.firefox.disableOfflineQr == false) { # Offline QR Code Generator: https://addons.mozilla.org/en-US/firefox/addon/offline-qr-code-generator/ + install_url = "https://addons.mozilla.org/firefox/downloads/file/4349427/offline_qr_code_generator-1.9.xpi"; + installation_mode = "normal_installed"; + }; + "addon@darkreader.org" = lib.mkIf (cfg.firefox.disableDarkReader == false) { # Dark Reader: https://addons.mozilla.org/en-US/firefox/addon/darkreader/ + install_url = "https://addons.mozilla.org/firefox/downloads/file/4535824/darkreader-4.9.110.xpi"; + installation_mode = "normal_installed"; + }; + "languagetool-webextension@languagetool.org" = lib.mkIf (cfg.firefox.disableLanguageTool == false) { # LanguageTool: https://addons.mozilla.org/en-US/firefox/addon/languagetool + install_url = "https://addons.mozilla.org/firefox/downloads/file/4538560/languagetool-9.0.1.xpi"; + installation_mode = "normal_installed"; + }; + }; + Bookmarks = lib.mkIf (cfg.firefox.disableDefaultBookmarks == false) [ + { + Title = "Syncthing"; + URL = "localhost:8384"; + Placement = "toolbar"; + } + { + Title = "NixOS Search - Packages"; + URL = "https://search.nixos.org/packages?channel=unstable"; + Placement = "toolbar"; + Folder = "NixOS"; + } + { + Title = "NixOS Search - Options"; + URL = "https://search.nixos.org/options?channel=unstable"; + Placement = "toolbar"; + Folder = "NixOS"; + } + { + Title = "Home Manager Search - Options"; + URL = "https://home-manager-options.extranix.com/?release=master"; + Placement = "toolbar"; + Folder = "NixOS"; + } + { + Title = "Lix"; + URL = "https://lix.systems/"; + Placement = "toolbar"; + Folder = "NixOS"; + } + { + Title = "AUX - Homepage"; + URL = "https://auxolotl.org/en/"; + Placement = "toolbar"; + Folder = "NixOS"; + } + { + Title = "AUX - Forum"; + URL = "https://forum.aux.computer/"; + Placement = "toolbar"; + Folder = "NixOS"; + } + { + Title = "Nix Pills"; + URL = "https://nixos.org/guides/nix-pills/"; + Placement = "toolbar"; + Folder = "NixOS"; + } + ]; + }; + }; + + programs.chromium = lib.mkIf cfg.chromium.enable { + enable = true; + package = pkgs.ungoogled-chromium.override { enableWideVine = cfg.chromium.enableWideVine; }; + commandLineArgs = [ + "--extension-mime-request-handling=always-prompt-for-install" # Enable Extension-Install Dialogue + "--enable-features=NoReferrers,SpoofWebGLInfo" # Feature Flags + "--no-default-browser-check" + ]; + extensions = let + createChromiumExtensionFor = browserVersion: { id, sha256, version }: { + inherit id; + crxPath = builtins.fetchurl { + url = "https://clients2.google.com/service/update2/crx?response=redirect&acceptformat=crx2,crx3&prodversion=${browserVersion}&x=id%3D${id}%26installsource%3Dondemand%26uc"; + name = "${id}.crx"; + inherit sha256; + }; + inherit version; + }; + createChromiumExtension = createChromiumExtensionFor (lib.versions.major pkgs.ungoogled-chromium.version); + in (lib.lists.optionals (cfg.chromium.disableChromiumWebStore == false) [{ # Chromium Web Store + id = "ocaahdebbfolfmndjeplogmgcagdmblk"; + crxPath = builtins.fetchurl { + url = "https://github.com/NeverDecaf/chromium-web-store/releases/download/v1.5.5/Chromium.Web.Store.crx"; + name = "ocaahdebbfolfmndjeplogmgcagdmblk.crx"; + sha256 = "sha256-0g4AKed9vPf0TPI6OawpjiusvyBJEab5XYNHmg9BpfE="; + }; + version = "1.5.5"; + }]) ++ + (lib.lists.optionals (cfg.chromium.disableuBlockOrigin == false) [(createChromiumExtension { # uBlock Origin + id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; + sha256 = "sha256-HFD1A9b9958FbtjJGjWl5FnsttsNZBTsdVyaE5N151A="; + version = "1.66.0"; + })]) ++ + (lib.lists.optionals (cfg.chromium.disableIDontCareAboutCookies == false) [(createChromiumExtension { # I still don't care about cookies + id = "edibdbjcniadpccecjdfdjjppcpchdlm"; + sha256 = "sha256:11k7cxcjafs8ziaxl4bilbfwbgl2yf1p6v1bvwszadcr14xyvgsj"; + version = "1.1.4"; + })]) ++ + (lib.lists.optionals (cfg.chromium.disableKeepassxcBrowser == false) [(createChromiumExtension { # KeePassXC-Browser + id = "oboonakemofpalcgghocfoadofidjkkk"; + sha256 = "sha256-N/CRVkNiNmtGn5A7C3SD+5rnnyKG+VA3Pkn1s9vr7EM="; + version = "1.9.9.6"; + })]) ++ + (lib.lists.optionals (cfg.chromium.disableLanguageTool == false) [(createChromiumExtension { # LanguageTool + id = "oldceeleldhonbafppcapldpdifcinji"; + sha256 = "sha256-eTBLiCz8V1eoXFOdrZYXxuxv/amjCspuN+90PeTkJS4="; + version = "9.3.1"; + })]) ++ + (lib.lists.optionals (cfg.chromium.disableDarkReader == false) [(createChromiumExtension { # dark reader + id = "eimadpbcbfnmbkopoojfekhnkhdbieeh"; + sha256 = "sha256-8/tzlj4xc1h/+Zeek4r9l0I4/Kw3EJgLaqTTxZbRGcU="; + version = "4.9.110"; + })]); + }; + + }; +}