From f50e87c161b886fa98d05771d20fd6766e3c16ca Mon Sep 17 00:00:00 2001 From: Nikolaos Karaolidis Date: Fri, 26 Jul 2024 11:39:47 +0100 Subject: [PATCH] Add chromium Signed-off-by: Nikolaos Karaolidis --- flake.lock | 46 +++++++++++------ flake.nix | 4 ++ .../{persist => impermanence}/default.nix | 0 .../{persist => impermanence}/impermanence.sh | 0 hosts/common/system/configs/nix/default.nix | 2 - .../common/system/configs/nixpkgs/default.nix | 6 +++ .../configs/console/home-manager/default.nix | 2 +- .../{persist => impermanence}/default.nix | 0 .../user/configs/console/nixpkgs/default.nix | 9 ++++ .../user/configs/gui/chromium/default.nix | 51 +++++++++++++++++++ .../user/configs/gui/firefox/default.nix | 15 +++++- .../user/configs/gui/obsidian/default.nix | 4 ++ hosts/eirene/default.nix | 3 +- hosts/eirene/nick.nix | 6 ++- 14 files changed, 127 insertions(+), 21 deletions(-) rename hosts/common/system/configs/{persist => impermanence}/default.nix (100%) rename hosts/common/system/configs/{persist => impermanence}/impermanence.sh (100%) create mode 100644 hosts/common/system/configs/nixpkgs/default.nix rename hosts/common/user/configs/console/{persist => impermanence}/default.nix (100%) create mode 100644 hosts/common/user/configs/console/nixpkgs/default.nix create mode 100644 hosts/common/user/configs/gui/chromium/default.nix diff --git a/flake.lock b/flake.lock index 8894992..3da41e5 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1721417620, - "narHash": "sha256-6q9b1h8fI3hXg2DG6/vrKWCeG8c5Wj2Kvv22RCgedzg=", + "lastModified": 1721871128, + "narHash": "sha256-NyWVCnSeePnJHGJxZ0l3zdGQGrVjUcx2IJbV8KIsPf0=", "owner": "nix-community", "repo": "disko", - "rev": "bec6e3cde912b8acb915fecdc509eda7c973fb42", + "rev": "55e874b9c14764cb791e5740f0e92202e41393fc", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1720880905, - "narHash": "sha256-HTQhSHuLeVAcUqmYyYggHjinR9ZMfoMja3chp/5uCJw=", + "lastModified": 1721900142, + "narHash": "sha256-iHIWZxwDfoqpNKxvjSzqzXNIPxI/5KgPmhtNrY2Z+40=", "owner": "karaolidis", "repo": "home-manager", - "rev": "d60b0a5ff6e8a3004016f072e4d110033c2c7d06", + "rev": "0828ae6830ae112ce36c8338e3223a751cefa05d", "type": "github" }, "original": { @@ -80,11 +80,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1721430942, - "narHash": "sha256-umtjLBZTpyPxi92BaHGnzlAg1RVZE8odRhjMxY7hVCc=", + "lastModified": 1721928253, + "narHash": "sha256-xuLwutgAyYIwb2mmBJgWHTTfnS0lIDXVzjZUBK6d9hk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f29426dca8ccacd68ea6afb1bbc317158b5e1df2", + "rev": "45cbf8d42fff56fcac72bbd31292eb381134be93", "type": "github" }, "original": { @@ -96,11 +96,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1720915306, - "narHash": "sha256-6vuViC56+KSr+945bCV8akHK+7J5k6n/epYg/W3I5eQ=", + "lastModified": 1721524707, + "narHash": "sha256-5NctRsoE54N86nWd0psae70YSLfrOek3Kv1e8KoXe/0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "74348da2f3a312ee25cea09b98cdba4cb9fa5d5d", + "rev": "556533a23879fc7e5f98dd2e0b31a6911a213171", "type": "github" }, "original": { @@ -110,6 +110,21 @@ "type": "github" } }, + "nur": { + "locked": { + "lastModified": 1721983543, + "narHash": "sha256-6JmRrY7nIwKYadzJkolIXfGOC5JliYnB1EfGOY/Oh5g=", + "owner": "nix-community", + "repo": "NUR", + "rev": "4807c89cf4ece6a96eed72957dcf0d9b8e29b052", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "root": { "inputs": { "ags": "ags", @@ -117,6 +132,7 @@ "home-manager": "home-manager", "impermanence": "impermanence", "nixpkgs": "nixpkgs", + "nur": "nur", "sops-nix": "sops-nix" } }, @@ -128,11 +144,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1720926522, - "narHash": "sha256-eTpnrT6yu1vp8C0B5fxHXhgKxHoYMoYTEikQx///jxY=", + "lastModified": 1721688883, + "narHash": "sha256-9jsjsRKtJRqNSTXKj9zuDFRf2PGix30nMx9VKyPgD2U=", "owner": "Mic92", "repo": "sops-nix", - "rev": "0703ba03fd9c1665f8ab68cc3487302475164617", + "rev": "aff2f88277dabe695de4773682842c34a0b7fd54", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index b04e36a..bf4d9d1 100644 --- a/flake.nix +++ b/flake.nix @@ -55,6 +55,10 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + nur = { + url = "github:nix-community/NUR"; + }; + ags = { url = "github:Aylur/ags"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/hosts/common/system/configs/persist/default.nix b/hosts/common/system/configs/impermanence/default.nix similarity index 100% rename from hosts/common/system/configs/persist/default.nix rename to hosts/common/system/configs/impermanence/default.nix diff --git a/hosts/common/system/configs/persist/impermanence.sh b/hosts/common/system/configs/impermanence/impermanence.sh similarity index 100% rename from hosts/common/system/configs/persist/impermanence.sh rename to hosts/common/system/configs/impermanence/impermanence.sh diff --git a/hosts/common/system/configs/nix/default.nix b/hosts/common/system/configs/nix/default.nix index 3393186..7e4243e 100644 --- a/hosts/common/system/configs/nix/default.nix +++ b/hosts/common/system/configs/nix/default.nix @@ -19,6 +19,4 @@ !include ${config.sops.secrets."nix/accessTokens/github".path} ''; }; - - nixpkgs.config.allowUnfree = true; } diff --git a/hosts/common/system/configs/nixpkgs/default.nix b/hosts/common/system/configs/nixpkgs/default.nix new file mode 100644 index 0000000..0272e90 --- /dev/null +++ b/hosts/common/system/configs/nixpkgs/default.nix @@ -0,0 +1,6 @@ +{ inputs, ... }: +{ + imports = [ inputs.nur.nixosModules.nur ]; + + nixpkgs.config.allowUnfree = true; +} diff --git a/hosts/common/user/configs/console/home-manager/default.nix b/hosts/common/user/configs/console/home-manager/default.nix index c932aa5..9f9011f 100644 --- a/hosts/common/user/configs/console/home-manager/default.nix +++ b/hosts/common/user/configs/console/home-manager/default.nix @@ -12,13 +12,13 @@ inherit inputs; }; backupFileExtension = "bak"; + useUserPackages = true; useGlobalPkgs = true; users.${username} = { home.stateVersion = "24.11"; systemd.user.startServices = "sd-switch"; nix.settings = config.nix.settings; - nixpkgs.config = config.nixpkgs.config; }; }; } diff --git a/hosts/common/user/configs/console/persist/default.nix b/hosts/common/user/configs/console/impermanence/default.nix similarity index 100% rename from hosts/common/user/configs/console/persist/default.nix rename to hosts/common/user/configs/console/impermanence/default.nix diff --git a/hosts/common/user/configs/console/nixpkgs/default.nix b/hosts/common/user/configs/console/nixpkgs/default.nix new file mode 100644 index 0000000..9a7d99a --- /dev/null +++ b/hosts/common/user/configs/console/nixpkgs/default.nix @@ -0,0 +1,9 @@ +{ + username ? throw "username argument is required", +}: +{ inputs, ... }: +{ + home-manager.users.${username} = { + imports = [ inputs.nur.hmModules.nur ]; + }; +} diff --git a/hosts/common/user/configs/gui/chromium/default.nix b/hosts/common/user/configs/gui/chromium/default.nix new file mode 100644 index 0000000..293158d --- /dev/null +++ b/hosts/common/user/configs/gui/chromium/default.nix @@ -0,0 +1,51 @@ +{ + username ? throw "username argument is required", +}: +{ + config, + lib, + pkgs, + ... +}: +let + userConfig = config.users.users.${username}; +in +{ + programs.chromium = { + enable = true; + extraOpts = { + DefaultSearchProviderEnabled = true; + DefaultSearchProviderName = "DuckDuckGo"; + DefaultSearchProviderIconURL = "https://duckduckgo.com/favicon.ico"; + DefaultSearchProviderSearchURL = "https://duckduckgo.com/?q={searchTerms}"; + DefaultSearchProviderSuggestURL = "https://duckduckgo.com/ac/?q={searchTerms}&type=list"; + DefaultBrowserSettingEnabled = false; + DefaultDownloadDirectory = "$HOME/Downloads"; + PasswordManagerEnabled = false; + HomepageIsNewTabPage = true; + }; + }; + + home-manager.users.${username} = { + programs.chromium = { + enable = true; + + extensions = [ + "oldceeleldhonbafppcapldpdifcinji" # LanguageTool + "nngceckbapebfimnlniiiahkandclblb" # Bitwarden + "eimadpbcbfnmbkopoojfekhnkhdbieeh" # Dark Reader + "doojmbjmlfjjnbmnoijecmcbfeoakpjm" # NoScript + "gebbhagfogifgggkldgodflihgfeippi" # Return YouTube Dislike + "mnjggcdmjocbbbhaepdhchncahnbgone" # Sponsorblock + "cjpalhdlnbpafiamejdnhcphjbkeiagm" # uBlock Origin + "jinjaccalgkegednnccohejagnlnfdag" # Violentmonkey + "fpnmgdkabkmnadcjpehmlllkndpkmiak" # Wayback Machine + ]; + }; + + home.persistence = { + "/persist${userConfig.home}".directories = [ ".config/chromium" ]; + "/cache${userConfig.home}".directories = [ ".cache/chromium" ]; + }; + }; +} diff --git a/hosts/common/user/configs/gui/firefox/default.nix b/hosts/common/user/configs/gui/firefox/default.nix index 0981deb..f55988a 100644 --- a/hosts/common/user/configs/gui/firefox/default.nix +++ b/hosts/common/user/configs/gui/firefox/default.nix @@ -20,7 +20,7 @@ in DisableFirefoxStudies = true; DontCheckDefaultBrowser = true; DisablePocket = true; - DefaultDownloadDirectory = "\${HOME}/Downloads"; + DefaultDownloadDirectory = "$HOME/Downloads"; OfferToSaveLogins = false; AutofillAddressEnabled = false; AutofillCreditCardEnabled = false; @@ -39,6 +39,19 @@ in }; profiles.default = { + settings."extensions.autoDisableScopes" = 0; + + extensions = with config.nur.repos.rycee.firefox-addons; [ + languagetool + bitwarden + darkreader + noscript + sponsorblock + ublock-origin + violentmonkey + wayback-machine + ]; + search = { default = "DuckDuckGo"; privateDefault = "DuckDuckGo"; diff --git a/hosts/common/user/configs/gui/obsidian/default.nix b/hosts/common/user/configs/gui/obsidian/default.nix index 506fe56..10d5719 100644 --- a/hosts/common/user/configs/gui/obsidian/default.nix +++ b/hosts/common/user/configs/gui/obsidian/default.nix @@ -718,6 +718,10 @@ in sops.secrets."google/geocoding" = { }; + wayland.windowManager.hyprland.settings.bind = [ + "$mod, o, exec, ${pkgs.obsidian}/bin/obsidian" + ]; + home.persistence."/cache${userConfig.home}".directories = [ ".config/obsidian" ]; }; } diff --git a/hosts/eirene/default.nix b/hosts/eirene/default.nix index f18de8b..abfbac8 100644 --- a/hosts/eirene/default.nix +++ b/hosts/eirene/default.nix @@ -8,11 +8,12 @@ ../common/system/configs/getty ../common/system/configs/git ../common/system/configs/gpg-agent + ../common/system/configs/impermanence ../common/system/configs/neovim ../common/system/configs/networking ../common/system/configs/nix ../common/system/configs/nix-ld - ../common/system/configs/persist + ../common/system/configs/nixpkgs ../common/system/configs/pipewire ../common/system/configs/plymouth ../common/system/configs/ranger diff --git a/hosts/eirene/nick.nix b/hosts/eirene/nick.nix index 24b1b01..c7fdf04 100644 --- a/hosts/eirene/nick.nix +++ b/hosts/eirene/nick.nix @@ -11,11 +11,14 @@ in (import ../common/user/configs/console/bluetooth { inherit username; }) (import ../common/user/configs/console/brightnessctl { inherit username; }) (import ../common/user/configs/console/btop { inherit username; }) + (import ../common/user/configs/console/ffmpeg { inherit username; }) (import ../common/user/configs/console/git { inherit username; }) (import ../common/user/configs/console/gpg-agent { inherit username; }) (import ../common/user/configs/console/home-manager { inherit username; }) + (import ../common/user/configs/console/imagemagick { inherit username; }) + (import ../common/user/configs/console/impermanence { inherit username; }) (import ../common/user/configs/console/neovim { inherit username; }) - (import ../common/user/configs/console/persist { inherit username; }) + (import ../common/user/configs/console/nixpkgs { inherit username; }) (import ../common/user/configs/console/pipewire { inherit username; }) (import ../common/user/configs/console/sops { inherit username; }) (import ../common/user/configs/console/syncthing { inherit username; }) @@ -26,6 +29,7 @@ in (import ../common/user/configs/gui/brightnessctl { inherit username; }) (import ../common/user/configs/gui/btop { inherit username; }) # (import ../common/user/configs/gui/cbatticon { inherit username; }) + (import ../common/user/configs/gui/chromium { inherit username; }) (import ../common/user/configs/gui/cliphist { inherit username; }) (import ../common/user/configs/gui/firefox { inherit username; }) (import ../common/user/configs/gui/gtk { inherit username; })