diff --git a/home/dot_config/vimium-options.json b/home/dot_config/vimium-options.json new file mode 100644 index 00000000..6ad0aa19 --- /dev/null +++ b/home/dot_config/vimium-options.json @@ -0,0 +1,6 @@ +{ + "newTabUrl": "https://blank.org/", + "searchEngines": "# Daily\ng: https://www.google.ie/search?q=%s Google\nyt: http://www.youtube.com/results?search_query=%s Youtube\ndw: http://www.merriam-webster.com/dictionary/%s Merriam-Webster\n\n# NixOS\npu: https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=%s Nixos Packages (Unstable)\nps: https://search.nixos.org/packages?channel=23.05&from=0&size=50&sort=relevance&type=packages&query=%s Nixos Packages (23.05)", + "settingsVersion": "2.0.5", + "userDefinedLinkHintCss": "/*\nDracula theme for Vimium\nby Trollwut (trollwut@trollwut.org). This code is in the public domain.\nTo use:\n 1. Copy the code.\n 2. Go to the Vimium options.\n 3. Click Show Advanced Options.\n 4. Under Advanced Options, scroll down to CSS for link hints.\n 5. Paste the code in the text field.\n 6. Click Save Changes.\n 7. Go to the website of your choice (or, if you have it open already, reload it) and check out the results.\n*/\n\n/* Link hint boxes */\ndiv > .vimiumHintMarker {\n background: #282a36;\n font-size: 12px;\n border: 0.25em solid #ffb86c;\n border-radius: 0.34em;\n box-shadow: 0em 0.1em 0.6em 0.1em rgba(0, 0, 0, 0.4);\n}\n\n/* Link hint text */\ndiv > .vimiumHintMarker span {\n color: #f8f8f2;\n font-size: inherit;\n text-shadow: none;\n}\n\n/* Link hint matching characters */\ndiv > .vimiumHintMarker > .matchingCharacter {\n color: #6272a4;\n}\n\n/* HUD (\"heads-up display\") bar */\ndiv.vimiumHUD {\n background: #282a36;\n border: 1px solid #6272a4;\n}\n\ndiv.vimiumHUD .vimiumHUDSearchArea {\n background: #282a36;\n}\n\ndiv.vimiumHUD .hud-find {\n background: #282a36;\n border: none;\n color: #f8f8f2;\n}\n\ndiv.vimiumHUD span#hud-find-input{\n color: #f8f8f2; /* 'Foreground' color */\n}\n\ndiv.vimiumHUD span#hud-match-count {\n color: #6272a4; /* 'Comment' color */\n}\n\ndiv.vimiumHUD .vimiumHUDSearchAreaInner {\n color: #6272a4; /* 'Comment' color */\n}\n\n#vomnibar{\n background-color: #44475A;\n}\n\n#vomnibar input {\n color: #f8f8f2;\n font: -moz-window;\n /*font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;*/\n font-size: 20px;\n height: 34px;\n margin-bottom: 0;\n padding: 4px;\n background-color: #282a36;\n border-radius: 3px;\n border: 1px solid #6272a4;\n box-shadow: #bd93f9 0px 0px 1px;\n width: 100%;\n outline: none;\n box-sizing: border-box;\n}\n\n#vomnibar .vomnibarSearchArea {\n display: block;\n padding: 10px;\n background-color: #6272a4;\n border-radius: 4px 4px 0 0;\n border-bottom: 0px solid #bd93f9;\n}\n\n#vomnibar ul {\n background-color: #44475a;\n border-radius: 0 0 4px 4px;\n list-style: none;\n padding-top: 0;\n padding-bottom: 0;\n margin-block-start: 2px;\n margin-block-end: 0px;\n}\n\n#vomnibar li {\n border-bottom: 1px solid #6272a4;\n line-height: 1.1em;\n padding: 7px 10px;\n font-size: 16px;\n color: #f8f8f2;\n position: relative;\n display: list-item;\n margin: auto;\n}\n\n#vomnibar li .vomnibarBottomHalf {\n font-size: 15px;\n margin-top: 3px;\n padding: 2px 0;\n}\n\n#vomnibar li .vomnibarSource {\n color: #bd93f9;\n margin-right: 4px;\n}\n#vomnibar li .vomnibarRelevancy {\n position: absolute;\n right: 0;\n top: 0;\n padding: 5px;\n background-color: #282a36;\n color: #f8f8f2;\n font-family: monospace;\n width: 100px;\n overflow: hidden;\n}\n\n#vomnibar li .vomnibarUrl {\n white-space: nowrap;\n color: #50fa7b;\n}\n\n#vomnibar li .vomnibarMatch {\n font-weight: bold;\n color: #ffb86c;\n}\n\n#vomnibar li em, #vomnibar li .vomnibarTitle {\n color: #f8f8f2;\n margin-left: 4px;\n font-weight: normal;\n}\n#vomnibar li em { font-style: italic; }\n#vomnibar li em .vomnibarMatch, #vomnibar li .vomnibarTitle .vomnibarMatch {\n color: #ffb86c;\n}\n\n#vomnibar li.vomnibarSelected {\n background-color: #6272a4;\n font-weight: normal;\n}\n\n#vomnibarInput::selection {\n background-color: #8be9fd;\n}" +} diff --git a/provision/additional-setup.md b/provision/additional-setup.md index 38b4403e..2dd1c612 100644 --- a/provision/additional-setup.md +++ b/provision/additional-setup.md @@ -79,3 +79,18 @@ The applications can be run within the box with the following commands: # CQ-editor cd ~/cq-editor && ./run.sh ``` + +## Chromium + +The vast majority of Chromium is setup with [browser.nix](./modules/desktop/browser.nix) +including installing plugins and various settings. However, setup for [vimium](https://chromewebstore.google.com/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb) +and [New Tab Redirect](https://chromewebstore.google.com/detail/new-tab-redirect/icpgjfneehieebagbmdbhnlpiopdcmna) +could not be fully automated. + +- Upon launch New Tab Redirect should prompt to set the new tab page. +Set to `https://blank.org`. + +- Vimium config is saved in chezmoi. Open the vimium [plugin page](chrome-extension://dbepggeogbaibhgnhhndojpepiihcmeb/pages/options.html) +and restore config from `~/.config/vimium-options.json`. + + diff --git a/provision/modules/desktop/browser.nix b/provision/modules/desktop/browser.nix index a59aeeb4..6873ba35 100644 --- a/provision/modules/desktop/browser.nix +++ b/provision/modules/desktop/browser.nix @@ -12,21 +12,56 @@ in { programs.chromium = { enable = true; extraOpts = { - "BrowserSignin" = 0; - "SyncDisabled" = true; + + # Disable all manner of account-related things. + "BrowserSignin" = 0; # disable + "BrowserAddPersonEnabled" = false; + "BrowserGuestModeEnabled" = false; + "UserDisplayName" = "PolicyUser"; + "UserFeedbackAllowed" = false; + "BackgroundModeEnabled" = false; + "MetricsReportingEnabled" = false; + "BlockExternalExtensions" = true; + "AutofillAddressEnabled" = false; + "AutofillCreditCardEnabled" = false; "PasswordManagerEnabled" = false; - "MetricsReportingEnabled" = true; + "PromptForDownloadLocation" = true; + "SyncDisabled" = true; "SpellcheckEnabled" = true; "SpellcheckLanguage" = [ "en-US" ]; "CloudPrintSubmitEnabled" = false; "EnableMediaRouter" = false; "ShowCastIconInToolbar" = false; + + # Install extensions "ExtensionInstallForcelist" = [ "gfapcejdoghpoidkfodoiiffaaibpaem" # Dracula Theme "fkeaekngjflipcockcnpobkpbbfbhmdn" # Copy as Markdown "nngceckbapebfimnlniiiahkandclblb" # Bitwarden "hkgfoiooedgoejojocmhlaklaeopbecg" # Picture-in-Picture (by Google) "dbepggeogbaibhgnhhndojpepiihcmeb" # Viumium + "icpgjfneehieebagbmdbhnlpiopdcmna" # New Tab Redirect + ]; + + # Setup bookmarks + "BookmarkBarEnabled" = true; + "ShowAppsShortcutInBookmarkBar" = false; + "ManagedBookmarks" = [ + { "toplevel_name" = "Bookmarks"; } + { "name" = "Daily"; "children" = [ + { "url" = "https://www.youtube.com/feed/subscriptions"; name = "Youtube"; } + { "url" = "https://gmail.com/"; name = "Mail"; } + { "url" = "https://github.com/"; name = "GitHub"; } + ]; } + { "name" = "Nix"; "children" = [ + { "url" = "https://nixos.org/nix/manual/"; name = "nix-manual"; } + { "url" = "https://nixos.org/nixpkgs/manual/"; name = "nixpkgs-manual"; } + { "url" = "https://nixos.org/nixos/manual/"; name = "nixos-manual"; } + { "url" = "https://nixos.org/nixos/options.html"; name = "nixos-options"; } + { "url" = "https://discourse.nixos.org/"; name = "nixos-discourse"; } + { "url" = "https://old.reddit.com/r/nixos/"; name = "nixos-reddit"; } + { "url" = "https://nixos.wiki/"; name = "nixos-wiki"; } + ]; } ]; }; };