From 0d28d7c601788f29bdc67dcac4545f56439e57e1 Mon Sep 17 00:00:00 2001 From: Kat Inskip Date: Sun, 6 Apr 2025 17:11:05 -0700 Subject: [PATCH] feat(..., firefox): break up --- flake.lock | 150 +++++----- home/environments/i3/i3.nix | 1 - home/environments/i3/konawall.nix | 1 + home/profiles/devops/kubectl-completion.nix | 9 - home/profiles/devops/packages.nix | 25 -- home/profiles/graphical/firefox.nix | 269 ------------------ home/profiles/graphical/firefox/config.nix | 116 ++++++++ .../profiles/graphical/firefox/containers.nix | 31 ++ home/profiles/graphical/firefox/firefox.nix | 57 ++++ home/profiles/graphical/firefox/mtab.nix | 123 ++++++++ home/profiles/graphical/firefox/tst.nix | 43 +++ home/profiles/graphical/firefox/ublock.nix | 42 +++ home/profiles/graphical/vscode.nix | 2 +- home/profiles/shell/zsh.nix | 12 +- nixos/common/nix.nix | 4 + nixos/profiles/gaming/quest.nix | 1 - nixos/profiles/graphical/packages.nix | 8 + nixos/profiles/graphical/sound.nix | 7 + shells/rust.nix | 12 - shells/work.nix | 12 - systems/goliath.nix | 4 +- 21 files changed, 520 insertions(+), 409 deletions(-) delete mode 100644 home/profiles/devops/kubectl-completion.nix delete mode 100644 home/profiles/devops/packages.nix delete mode 100644 home/profiles/graphical/firefox.nix create mode 100644 home/profiles/graphical/firefox/config.nix create mode 100644 home/profiles/graphical/firefox/containers.nix create mode 100644 home/profiles/graphical/firefox/firefox.nix create mode 100644 home/profiles/graphical/firefox/mtab.nix create mode 100644 home/profiles/graphical/firefox/tst.nix create mode 100644 home/profiles/graphical/firefox/ublock.nix delete mode 100644 shells/rust.nix delete mode 100644 shells/work.nix diff --git a/flake.lock b/flake.lock index f6455b51..adf45aad 100644 --- a/flake.lock +++ b/flake.lock @@ -75,11 +75,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1741985801, - "narHash": "sha256-EnjiCpEi8p1kFgNUCVPuDUYoOSYBlr7ByMEF8qMGZws=", + "lastModified": 1743801669, + "narHash": "sha256-RxQQQCGqywOPbdNrWGbFyFdcrdrXM4YBHW7vYt13OeI=", "owner": "catppuccin", "repo": "nix", - "rev": "f833a338ff6c091c84e041ee77ce88f8b242ca79", + "rev": "07beb389d69a52c4dd5895da9553463c3740a26a", "type": "github" }, "original": { @@ -97,11 +97,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1741962175, - "narHash": "sha256-ZydxDII0DOv1Ut/QXFL9WtKLs9D+rS/khV8Nu0X+D3I=", + "lastModified": 1743940759, + "narHash": "sha256-ibmY/dAM391sz/5Hv8gbj5L6QFkc+nr71qqcG6SN4Do=", "owner": "chaotic-cx", "repo": "nyx", - "rev": "30d7b193ce1e6d39390d7f6ffb700d33aedeffe6", + "rev": "a9ea7729d13d6e762f4e7bfd3bb28685ca693b66", "type": "github" }, "original": { @@ -156,11 +156,11 @@ ] }, "locked": { - "lastModified": 1741906019, - "narHash": "sha256-c9L0yCdpBzPVTcExcqTti6vP6GuPVaCaVCDf0M8eu+I=", + "lastModified": 1743496612, + "narHash": "sha256-emPWa5lmKbnyuj8c1mSJUkzJNT+iJoU9GMcXwjp2oVM=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "4d8a451649b6de429ea7e169378488305d0d9399", + "rev": "73d59580d01e9b9f957ba749f336a272869c42dd", "type": "github" }, "original": { @@ -221,11 +221,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1741847799, - "narHash": "sha256-muvsng8/+e9AC+xg5HuHgHwuQ/etKlTevNgr8fw5r9s=", + "lastModified": 1742452566, + "narHash": "sha256-sVuLDQ2UIWfXUBbctzrZrXM2X05YjX08K7XHMztt36E=", "owner": "nix-community", "repo": "fenix", - "rev": "05f331e61277f70f55769060f783457fdacf8da1", + "rev": "7d9ba794daf5e8cc7ee728859bc688d8e26d5f06", "type": "github" }, "original": { @@ -611,11 +611,11 @@ ] }, "locked": { - "lastModified": 1741879521, - "narHash": "sha256-GylyCwdUe2Kd69bC8txEX+A3H/DXBZl2a+GcmTcJw/g=", + "lastModified": 1743869639, + "narHash": "sha256-Xhe3whfRW/Ay05z9m1EZ1/AkbV1yo0tm1CbgjtCi4rQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "1b0efe3d335f452595512c7b275e5dddfbfb28a5", + "rev": "d094c6763c6ddb860580e7d3b4201f8f496a6836", "type": "github" }, "original": { @@ -631,11 +631,11 @@ ] }, "locked": { - "lastModified": 1741955947, - "narHash": "sha256-2lbURKclgKqBNm7hVRtWh0A7NrdsibD0EaWhahUVhhY=", + "lastModified": 1743948087, + "narHash": "sha256-B6cIi2ScgVSROPPlTti6len+TdR0K25B9R3oKvbw3M8=", "owner": "nix-community", "repo": "home-manager", - "rev": "4e12151c9e014e2449e0beca2c0e9534b96a26b4", + "rev": "ef3b2a6b602c3f1a80c6897d6de3ee62339a3eb7", "type": "github" }, "original": { @@ -686,11 +686,11 @@ ] }, "locked": { - "lastModified": 1741994450, - "narHash": "sha256-jlJnDeRaWZjfC6gCvmi8BXA53eDmmRHOxDRUpiitUk0=", + "lastModified": 1742077894, + "narHash": "sha256-fSlFGF34RXn82XmuFXAizrBA3RIYmpwUlQZw6Md/hOE=", "owner": "gensokyo-zone", "repo": "infrastructure", - "rev": "d8ca3a9bd425ff7b0b344ddc18468b4b7adde55a", + "rev": "e4e2802c9e028e1ba8bfcc82148e261fc3702cbe", "type": "github" }, "original": { @@ -709,11 +709,11 @@ ] }, "locked": { - "lastModified": 1741874414, - "narHash": "sha256-gtIrDkG/iap32MYyaSAlWaixshiqMyFB9eKyhcF66eM=", + "lastModified": 1743879910, + "narHash": "sha256-jAr345BODeDluX6DfO3TdY7pB77olVOcYFYjxz6rPxo=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "662d117ac0ffc81f3e91b5f0fb800c3effd904a1", + "rev": "96a7fbb4a892696ff89d3d42fc743ab5d6714222", "type": "github" }, "original": { @@ -732,11 +732,11 @@ ] }, "locked": { - "lastModified": 1740777143, - "narHash": "sha256-G3UbDY6x+VzjNytO296KyTNleHYGSr5ecz5geaUkeXY=", + "lastModified": 1743972087, + "narHash": "sha256-eHr2RYh4xIZvCBLchrXxfMJy70EXtpgztH+/2wod2QQ=", "owner": "kittywitch", "repo": "konawall-py", - "rev": "b503cc87a9cb17dde3e2d6b5b61accf6174e30e6", + "rev": "55c51028af579813641da3e91e02cbf11ab9d87d", "type": "github" }, "original": { @@ -806,11 +806,11 @@ ] }, "locked": { - "lastModified": 1741917036, - "narHash": "sha256-xuSv3MSi+yyKWQjQBhVFfZDhNr00aMddEGUtnkjOeiM=", + "lastModified": 1743731670, + "narHash": "sha256-CiAsYNtZy+5tMyId4OoJQwkXy6iROvP9hoFkXzuoAFI=", "owner": "Infinidoge", "repo": "nix-minecraft", - "rev": "0eca0c6771d7b355f7ef6f734c5ce7e16addf81f", + "rev": "5822965a54c2439c004918cbb7bf1f64b64f3352", "type": "github" }, "original": { @@ -822,11 +822,11 @@ "neorg": { "flake": false, "locked": { - "lastModified": 1741966512, - "narHash": "sha256-6sl/061ME0b3P2in8hARTn5JdDbKrkRQC8+A9zssEPU=", + "lastModified": 1743268154, + "narHash": "sha256-gLcECqBRPbdpAJUa011CKCVhpc3E8GYl/jYjdCpk4dI=", "owner": "nvim-neorg", "repo": "neorg", - "rev": "6f0b4eefa591fbc4c9344f110b0c0bac5b49078c", + "rev": "a1e19618c012a712c5ed7cd5ebd01b48ad9f4b5b", "type": "github" }, "original": { @@ -845,11 +845,11 @@ "norg-meta": "norg-meta" }, "locked": { - "lastModified": 1741969223, - "narHash": "sha256-i5DJtkD/I8eXLLtycCh1zEOicWw00n4XU1dk8SGidUg=", + "lastModified": 1743920610, + "narHash": "sha256-LldknoVOz0RmHuaDzkaT9TjdvJQ93qf7HQpJYZtN+jo=", "owner": "nvim-neorg", "repo": "nixpkgs-neorg-overlay", - "rev": "204fda90319f10653f3d1113d37e99e1dd538b35", + "rev": "35f375a6c50340eeff32495560faef53a256ae58", "type": "github" }, "original": { @@ -904,11 +904,11 @@ ] }, "locked": { - "lastModified": 1741619381, - "narHash": "sha256-koZtlJRqi0/MD/AKd0KrXLA2NuBOVzlIyAJprjzpxZE=", + "lastModified": 1743911143, + "narHash": "sha256-4j4JPwr0TXHH4ZyorXN5yIcmqIQr0WYacsuPA4ktONo=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "66537fb185462ba9b07f4e6f2d54894a1b2d04ab", + "rev": "a36f6a7148aec2c77d78e4466215cceb2f5f4bfb", "type": "github" }, "original": { @@ -949,11 +949,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1741792691, - "narHash": "sha256-f0BVt1/cvA0DQ/q3rB+HY4g4tKksd03ZkzI4xehC2Ew=", + "lastModified": 1743420942, + "narHash": "sha256-b/exDDQSLmENZZgbAEI3qi9yHkuXAXCPbormD8CSJXo=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "e1f12151258b12c567f456d8248e4694e9390613", + "rev": "de6fc5551121c59c01e2a3d45b277a6d05077bc4", "type": "github" }, "original": { @@ -1010,11 +1010,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1741851582, - "narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=", + "lastModified": 1743583204, + "narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6607cf789e541e7873d40d3a8f7815ea92204f32", + "rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434", "type": "github" }, "original": { @@ -1026,11 +1026,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1741513245, - "narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=", + "lastModified": 1743827369, + "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1", + "rev": "42a1c966be226125b48c384171c44c651c236c22", "type": "github" }, "original": { @@ -1042,11 +1042,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1741865919, - "narHash": "sha256-4thdbnP6dlbdq+qZWTsm4ffAwoS8Tiq1YResB+RP6WE=", + "lastModified": 1743814133, + "narHash": "sha256-drDyYyUmjeYGiHmwB9eOPTQRjmrq3Yz26knwmMPLZFk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "573c650e8a14b2faa0041645ab18aed7e60f0c9a", + "rev": "250b695f41e0e2f5afbf15c6b12480de1fe0001b", "type": "github" }, "original": { @@ -1090,11 +1090,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1742288794, - "narHash": "sha256-Txwa5uO+qpQXrNG4eumPSD+hHzzYi/CdaM80M9XRLCo=", + "lastModified": 1743827369, + "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b6eaf97c6960d97350c584de1b6dcff03c9daf42", + "rev": "42a1c966be226125b48c384171c44c651c236c22", "type": "github" }, "original": { @@ -1106,11 +1106,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1741851582, - "narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=", + "lastModified": 1743827369, + "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6607cf789e541e7873d40d3a8f7815ea92204f32", + "rev": "42a1c966be226125b48c384171c44c651c236c22", "type": "github" }, "original": { @@ -1182,11 +1182,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1741986038, - "narHash": "sha256-LEu/GCV4LVhikw1IXDMe2IuPVBZSjnewCXs1gXr2Dq8=", + "lastModified": 1743968724, + "narHash": "sha256-iGDMsuLA0L1EdD4BUdr2FRxSHHJTjwxYb0mV07wdKcw=", "owner": "nix-community", "repo": "NUR", - "rev": "23fb3cc211add382809379c2d652a7a807f88fb1", + "rev": "b5f57b70bbd03a7822347391217e1f2108b1b358", "type": "github" }, "original": { @@ -1205,11 +1205,11 @@ ] }, "locked": { - "lastModified": 1740569341, - "narHash": "sha256-WV8nY2IOfWdzBF5syVgCcgOchg/qQtpYh6LECYS9XkY=", + "lastModified": 1742765550, + "narHash": "sha256-2vVIh2JrL6GAGfgCeY9e6iNKrBjs0Hw3bGQEAbwVs68=", "owner": "pjones", "repo": "plasma-manager", - "rev": "5eeb0172fb74392053b66a8149e61b5e191b2845", + "rev": "b70be387276e632fe51232887f9e04e2b6ef8c16", "type": "github" }, "original": { @@ -1329,11 +1329,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1741807049, - "narHash": "sha256-/tH4gSW/0ePa2+0DAzk5xuHAa5qeaB4T8RnmiG3Ex4w=", + "lastModified": 1742296961, + "narHash": "sha256-gCpvEQOrugHWLimD1wTFOJHagnSEP6VYBDspq96Idu0=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "3fc655b239058deb93f503f9d25cc69a32ca7675", + "rev": "15d87419f1a123d8f888d608129c3ce3ff8f13d4", "type": "github" }, "original": { @@ -1488,11 +1488,11 @@ ] }, "locked": { - "lastModified": 1741861888, - "narHash": "sha256-ynOgXAyToeE1UdLNfrUn/hL7MN0OpIS2BtNdLjpjPf0=", + "lastModified": 1743910657, + "narHash": "sha256-zr2jmWeWyhCD8WmO2aWov2g0WPPuZfcJDKzMJZYGq3Y=", "owner": "Mic92", "repo": "sops-nix", - "rev": "d016ce0365b87d848a57c12ffcfdc71da7a2b55f", + "rev": "523f58a4faff6c67f5f685bed33a7721e984c304", "type": "github" }, "original": { @@ -1753,11 +1753,11 @@ }, "locked": { "dir": "nix", - "lastModified": 1741559821, - "narHash": "sha256-LWD3DlXIRXnv5hS4i9Z84qIrwxMertI60TxmAc8veRw=", + "lastModified": 1742480467, + "narHash": "sha256-y4iRZ3bUpN8prKIbVQw++4yM4LtXLED7/D/9HJjGjJI=", "owner": "wez", "repo": "wezterm", - "rev": "12b971ac44738f37c120160da165cd9072c0e6d2", + "rev": "a87358516004a652ad840bc1661bdf65ffc89b43", "type": "github" }, "original": { @@ -1778,11 +1778,11 @@ ] }, "locked": { - "lastModified": 1741870048, - "narHash": "sha256-odXRdNZGdXg1LmwlAeWL85kgy/FVHsgKlDwrvbR2BsU=", + "lastModified": 1743125458, + "narHash": "sha256-0z+5AMacL2Eqo92fAd0eCWeKVecWrxPJwd5/BIfcdJ8=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "5d76001e33ee19644a598ad80e7318ab0957b122", + "rev": "394c77f61ac76399290bfc2ef9d47b1fba31b215", "type": "github" }, "original": { diff --git a/home/environments/i3/i3.nix b/home/environments/i3/i3.nix index 780fada3..48e57b6d 100644 --- a/home/environments/i3/i3.nix +++ b/home/environments/i3/i3.nix @@ -15,7 +15,6 @@ in { pcmanfm pavucontrol xclip - obs-studio ]; services.i3gopher.enable = true; xsession.windowManager.i3 = let diff --git a/home/environments/i3/konawall.nix b/home/environments/i3/konawall.nix index 31d07bfb..69b8204c 100644 --- a/home/environments/i3/konawall.nix +++ b/home/environments/i3/konawall.nix @@ -10,6 +10,7 @@ source = "e621"; tags = [ "rating:s" + "-five_nights_at_freddy's" #"touhou" "-large_breasts" "-scalie" diff --git a/home/profiles/devops/kubectl-completion.nix b/home/profiles/devops/kubectl-completion.nix deleted file mode 100644 index e60c2f6e..00000000 --- a/home/profiles/devops/kubectl-completion.nix +++ /dev/null @@ -1,9 +0,0 @@ -_: { - programs = { - zsh = { - initExtra = '' - source <(kubectl completion zsh) - ''; - }; - }; -} diff --git a/home/profiles/devops/packages.nix b/home/profiles/devops/packages.nix deleted file mode 100644 index 532d5029..00000000 --- a/home/profiles/devops/packages.nix +++ /dev/null @@ -1,25 +0,0 @@ -{pkgs, ...}: { - home.packages = with pkgs; [ - # IAC - - terraform # iac tool - - # Kubernetes - - kubectl # kubectl - k9s # cute k8s client, canines~ - kubernetes-helm # k8s package manager - kustomize # config management and patching, ... - - # AWS - - awscli2 # awscli v2 - - # Nix - - deadnix # nix dead-code scanner - alejandra # nix code formatter - statix # nix anti-pattern finder - deploy-rs.deploy-rs # deployment system - ]; -} diff --git a/home/profiles/graphical/firefox.nix b/home/profiles/graphical/firefox.nix deleted file mode 100644 index 39497872..00000000 --- a/home/profiles/graphical/firefox.nix +++ /dev/null @@ -1,269 +0,0 @@ -{pkgs, nur, ...}: let - defaultFont = "Monaspace Krypton"; -in { - home.sessionVariables = { - BROWSER = "firefox"; - }; - - home.packages = [ pkgs.ff2mpv-rust ]; - programs.firefox = { - nativeMessagingHosts = [ - pkgs.ff2mpv-rust - ]; - enable = true; - profiles = { - main = { - id = 0; - isDefault = true; - containers = { - main = { - name = "Main"; - id = 0; - color = "turquoise"; - icon = "pet"; - }; - gay = { - name = "Gay"; - id = 1; - color = "purple"; - icon = "pet"; - }; - work = { - name = "Work"; - id = 2; - color = "pink"; - icon = "briefcase"; - }; - banking = { - name = "Banking"; - id = 3; - color = "turquoise"; - }; - }; - containersForce = true; - extensions = { - packages = with nur.repos.rycee.firefox-addons; [ - sponsorblock - link-cleaner - canvasblocker - a11ycss - view-image - wappalyzer - auto-tab-discard - bitwarden - darkreader - decentraleyes - clearurls - df-youtube - old-reddit-redirect - privacy-badger - tree-style-tab - move-unloaded-tabs-for-tst - tab-unload-for-tree-style-tab - tst-bookmarks-subpanel - tst-indent-line - tst-tab-search - tst-wheel-and-double - tst-more-tree-commands - reddit-enhancement-suite - refined-github - stylus - temporary-containers - multi-account-containers - dearrow - ublock-origin - betterttv - violentmonkey - return-youtube-dislikes - ff2mpv - ]; - force = true; - settings = { - "uBlock@raymondhill.net".settings = { - selectedFilterLists = [ - "user-filters" - "ublock-filters" - "ublock-badware" - "ublock-privacy" - "ublock-quick-fixes" - "ublock-unbreak" - "easylist" - "adguard-generic" - "adguard-mobile" - "easyprivacy" - "adguard-spyware" - "adguard-spyware-url" - "urlhaus-1" - "plowe-0" - "fanboy-cookiemonster" - "ublock-cookies-easylist" - "adguard-cookies" - "ublock-cookies-adguard" - "fanboy-social" - "adguard-social" - "easylist-chat" - "easylist-newsletters" - "easylist-notifications" - "easylist-annoyances" - "adguard-mobile-app-banners" - "adguard-other-annoyances" - "adguard-popup-overlays" - "adguard-widgets" - "ublock-annoyances" - ]; - }; - "treestyletab@piro.sakura.ne.jp".settings = { - cachedExternalAddons = [ - "tst-active-tab-on-scrollbar@piro.sakura.ne.jp" - "tst-indent-line@piro.sakura.ne.jp" - ]; - faviconizePinnedTabs = false; - lastSelectedSubPanelProviderId = "tst-bookmarks-subpanel@piro.sakura.ne.jp"; - showExpertOptions = true; - skipCollapsedTabsForTabSwitchingShortcuts = true; - tabPreviewTooltip = true; - }; - }; - }; - settings = { - # Stylin' - font = { - default = { - x-western = defaultFont; - x-unicode = defaultFont; - }; - }; - # Derived from https://github.com/arcnmx/home/blob/9eb1cd4dd43883e1a0c6a2a55c00d7c3bede1776/cfg/firefox/default.nix#L7 - # and https://git.ztn.sh/zotan/snowleopard/src/branch/dev/assets/prefs.js - "services.sync.engine.prefs" = false; - "services.sync.engine.prefs.modified" = false; - "services.sync.engine.passwords" = false; - "services.sync.declinedEngines" = "passwords,adblockplus,prefs"; - "media.eme.enabled" = true; # whee drm - "gfx.webrender.all.qualified" = true; - "gfx.webrender.all" = true; - "webgl.enable-draft-extensions" = true; - "layers.acceleration.force-enabled" = true; - "gfx.canvas.azure.accelerated" = true; - "browser.ctrlTab.recentlyUsedOrder" = false; - "privacy.resistFingerprinting.block_mozAddonManager" = true; - "extensions.webextensions.restrictedDomains" = ""; - "browser.shell.checkDefaultBrowser" = false; - "spellchecker.dictionary" = "en-CA"; - "ui.context_menus.after_mouseup" = true; - "browser.warnOnQuit" = false; - "browser.quitShortcut.disabled" = true; - "browser.startup.homepage" = "about:blank"; - "browser.contentblocking.category" = "strict"; - "browser.discovery.enabled" = false; - "browser.tabs.multiselect" = true; - "browser.tabs.remote.separatedMozillaDomains" = ""; - "browser.tabs.remote.separatePrivilegedContentProcess" = false; - "browser.tabs.remote.separatePrivilegedMozillaWebContentProcess" = false; - "browser.tabs.unloadOnLowMemory" = true; - "browser.tabs.closeWindowWithLastTab" = false; - "browser.newtab.privateAllowed" = true; - "browser.newtabpage.enabled" = false; - "browser.urlbar.placeholderName" = ""; - "extensions.privatebrowsing.notification" = false; - "browser.startup.page" = 3; - "devtools.chrome.enabled" = true; - #"devtools.debugger.remote-enabled" = true; - "devtools.inspector.showUserAgentStyles" = true; - "services.sync.prefs.sync.privacy.donottrackheader.value" = false; - "services.sync.prefs.sync.browser.safebrowsing.malware.enabled" = false; - "services.sync.prefs.sync.browser.safebrowsing.phishing.enabled" = false; - "app.shield.optoutstudies.enabled" = true; - "datareporting.healthreport.uploadEnabled" = false; - "datareporting.policy.dataSubmissionEnabled" = false; - "datareporting.sessions.current.clean" = true; - "devtools.onboarding.telemetry.logged" = false; - "toolkit.telemetry.updatePing.enabled" = false; - "browser.ping-centre.telemetry" = false; - "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false; - "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false; - "toolkit.telemetry.bhrPing.enabled" = false; - "toolkit.telemetry.enabled" = false; - "toolkit.telemetry.firstShutdownPing.enabled" = false; - "toolkit.telemetry.hybridContent.enabled" = false; - "toolkit.telemetry.newProfilePing.enabled" = false; - "toolkit.telemetry.reportingpolicy.firstRun" = false; - "toolkit.telemetry.shutdownPingSender.enabled" = false; - "toolkit.telemetry.unified" = false; - "toolkit.telemetry.server" = ""; - "toolkit.telemetry.archive.enabled" = false; - "toolkit.telemetry.coverage.opt-out" = true; - "toolkit.coverage.enabled" = false; - "toolkit.coverage.endpoint.base" = ""; - "toolkit.crashreporter.infoURL" = ""; - "browser.onboarding.enabled" = false; - "experiments.enabled" = false; - "network.allow-experiments" = false; - "social.directories" = ""; - "social.remote-install.enabled" = false; - "social.toast-notifications.enabled" = false; - "social.whitelist" = ""; - "browser.safebrowsing.malware.enabled" = false; - "browser.safebrowsing.blockedURIs.enabled" = false; - "browser.safebrowsing.downloads.enabled" = false; - "browser.safebrowsing.downloads.remote.enabled" = false; - "browser.safebrowsing.phishing.enabled" = false; - "dom.ipc.plugins.reportCrashURL" = false; - "breakpad.reportURL" = ""; - "beacon.enabled" = false; - "browser.search.geoip.url" = ""; - "browser.search.region" = "CA"; - "browser.search.suggest.enabled" = true; - "browser.search.update" = false; - "browser.selfsupport.url" = ""; - "extensions.getAddons.cache.enabled" = false; - "extensions.pocket.enabled" = false; - "geo.enabled" = false; - "geo.wifi.uri" = false; - "keyword.enabled" = true; - "media.getusermedia.screensharing.enabled" = false; - "media.video_stats.enabled" = false; - "device.sensors.enabled" = false; - "dom.battery.enabled" = false; - "dom.enable_performance" = false; - "network.dns.disablePrefetch" = false; - "network.http.speculative-parallel-limit" = 8; - "network.predictor.cleaned-up" = true; - "network.predictor.enabled" = true; - "network.prefetch-next" = true; - "security.dialog_enable_delay" = 300; - "dom.event.contextmenu.enabled" = true; - "reader.parse-on-load.enabled" = false; - "media.webspeech.synth.enabled" = false; - "privacy.trackingprotection.enabled" = true; - "privacy.trackingprotection.fingerprinting.enabled" = true; - "privacy.trackingprotection.cryptomining.enabled" = true; - "privacy.trackingprotection.introCount" = 20; - "signon.rememberSignons" = false; - "xpinstall.whitelist.required" = false; - "xpinstall.signatures.required" = false; - "general.smoothScroll" = false; - "general.warnOnAboutConfig" = false; - "toolkit.legacyUserProfileCustomizations.stylesheets" = true; - }; - userChrome = '' - #urlbar { - font-family: "${defaultFont}", monospace; - } - /* Hide horizontal tabs at the top of the window */ - #main-window[tabsintitlebar="true"]:not([extradragspace="true"]) #TabsToolbar { - opacity: 0; - pointer-events: none; - } - #main-window #TabsToolbar { - visibility: collapse !important; - } - /* Hide the "Tree Style Tab" header at the top of the sidebar */ - #sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header { - display: none; - } - ''; - }; - }; - }; -} diff --git a/home/profiles/graphical/firefox/config.nix b/home/profiles/graphical/firefox/config.nix new file mode 100644 index 00000000..1000650e --- /dev/null +++ b/home/profiles/graphical/firefox/config.nix @@ -0,0 +1,116 @@ +_: { + programs.firefox.profiles.main.settings = { + # Derived from https://github.com/arcnmx/home/blob/9eb1cd4dd43883e1a0c6a2a55c00d7c3bede1776/cfg/firefox/default.nix#L7 + # and https://git.ztn.sh/zotan/snowleopard/src/branch/dev/assets/prefs.js + "services.sync.engine.prefs" = false; + "services.sync.engine.prefs.modified" = false; + "services.sync.engine.passwords" = false; + "services.sync.declinedEngines" = "passwords,adblockplus,prefs"; + "media.eme.enabled" = true; # whee drm + "gfx.webrender.all.qualified" = true; + "gfx.webrender.all" = true; + "webgl.enable-draft-extensions" = true; + "layers.acceleration.force-enabled" = true; + "gfx.canvas.azure.accelerated" = true; + "browser.ctrlTab.recentlyUsedOrder" = false; + "privacy.resistFingerprinting.block_mozAddonManager" = true; + "extensions.webextensions.restrictedDomains" = ""; + "browser.shell.checkDefaultBrowser" = false; + "spellchecker.dictionary" = "en-CA"; + "ui.context_menus.after_mouseup" = true; + "browser.warnOnQuit" = false; + "browser.quitShortcut.disabled" = true; + "browser.startup.homepage" = "about:blank"; + "browser.contentblocking.category" = "strict"; + "browser.discovery.enabled" = false; + "browser.tabs.multiselect" = true; + "browser.tabs.remote.separatedMozillaDomains" = ""; + "browser.tabs.remote.separatePrivilegedContentProcess" = false; + "browser.tabs.remote.separatePrivilegedMozillaWebContentProcess" = false; + "browser.tabs.unloadOnLowMemory" = true; + "browser.tabs.closeWindowWithLastTab" = false; + "browser.newtab.privateAllowed" = true; + "browser.newtabpage.enabled" = false; + "browser.urlbar.placeholderName" = ""; + "extensions.privatebrowsing.notification" = false; + "browser.startup.page" = 3; + "devtools.chrome.enabled" = true; + #"devtools.debugger.remote-enabled" = true; + "devtools.inspector.showUserAgentStyles" = true; + "services.sync.prefs.sync.privacy.donottrackheader.value" = false; + "services.sync.prefs.sync.browser.safebrowsing.malware.enabled" = false; + "services.sync.prefs.sync.browser.safebrowsing.phishing.enabled" = false; + "app.shield.optoutstudies.enabled" = true; + "datareporting.healthreport.uploadEnabled" = false; + "datareporting.policy.dataSubmissionEnabled" = false; + "datareporting.sessions.current.clean" = true; + "devtools.onboarding.telemetry.logged" = false; + "toolkit.telemetry.updatePing.enabled" = false; + "browser.ping-centre.telemetry" = false; + "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false; + "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false; + "toolkit.telemetry.bhrPing.enabled" = false; + "toolkit.telemetry.enabled" = false; + "toolkit.telemetry.firstShutdownPing.enabled" = false; + "toolkit.telemetry.hybridContent.enabled" = false; + "toolkit.telemetry.newProfilePing.enabled" = false; + "toolkit.telemetry.reportingpolicy.firstRun" = false; + "toolkit.telemetry.shutdownPingSender.enabled" = false; + "toolkit.telemetry.unified" = false; + "toolkit.telemetry.server" = ""; + "toolkit.telemetry.archive.enabled" = false; + "toolkit.telemetry.coverage.opt-out" = true; + "toolkit.coverage.enabled" = false; + "toolkit.coverage.endpoint.base" = ""; + "toolkit.crashreporter.infoURL" = ""; + "browser.onboarding.enabled" = false; + "experiments.enabled" = false; + "network.allow-experiments" = false; + "social.directories" = ""; + "social.remote-install.enabled" = false; + "social.toast-notifications.enabled" = false; + "social.whitelist" = ""; + "browser.safebrowsing.malware.enabled" = false; + "browser.safebrowsing.blockedURIs.enabled" = false; + "browser.safebrowsing.downloads.enabled" = false; + "browser.safebrowsing.downloads.remote.enabled" = false; + "browser.safebrowsing.phishing.enabled" = false; + "dom.ipc.plugins.reportCrashURL" = false; + "breakpad.reportURL" = ""; + "beacon.enabled" = false; + "browser.search.geoip.url" = ""; + "browser.search.region" = "CA"; + "browser.search.suggest.enabled" = true; + "browser.search.update" = false; + "browser.selfsupport.url" = ""; + "extensions.getAddons.cache.enabled" = false; + "extensions.pocket.enabled" = false; + "geo.enabled" = false; + "geo.wifi.uri" = false; + "keyword.enabled" = true; + "media.getusermedia.screensharing.enabled" = false; + "media.video_stats.enabled" = false; + "device.sensors.enabled" = false; + "dom.battery.enabled" = false; + "dom.enable_performance" = false; + "network.dns.disablePrefetch" = false; + "network.http.speculative-parallel-limit" = 8; + "network.predictor.cleaned-up" = true; + "network.predictor.enabled" = true; + "network.prefetch-next" = true; + "security.dialog_enable_delay" = 300; + "dom.event.contextmenu.enabled" = true; + "reader.parse-on-load.enabled" = false; + "media.webspeech.synth.enabled" = false; + "privacy.trackingprotection.enabled" = true; + "privacy.trackingprotection.fingerprinting.enabled" = true; + "privacy.trackingprotection.cryptomining.enabled" = true; + "privacy.trackingprotection.introCount" = 20; + "signon.rememberSignons" = false; + "xpinstall.whitelist.required" = false; + "xpinstall.signatures.required" = false; + "general.smoothScroll" = false; + "general.warnOnAboutConfig" = false; + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; + }; +} diff --git a/home/profiles/graphical/firefox/containers.nix b/home/profiles/graphical/firefox/containers.nix new file mode 100644 index 00000000..d97d7b63 --- /dev/null +++ b/home/profiles/graphical/firefox/containers.nix @@ -0,0 +1,31 @@ +{ ... }: { + programs.firefox.profiles.main = { + containersForce = true; + containers = { + main = { + name = "Primary"; + id = 0; + color = "turquoise"; + icon = "pet"; + }; + gay = { + name = "Gay"; + id = 1; + color = "purple"; + icon = "pet"; + }; + work = { + name = "Work"; + id = 2; + color = "pink"; + icon = "briefcase"; + }; + banking = { + name = "Banking"; + id = 3; + color = "turquoise"; + }; + }; + }; +} + diff --git a/home/profiles/graphical/firefox/firefox.nix b/home/profiles/graphical/firefox/firefox.nix new file mode 100644 index 00000000..fc90ef50 --- /dev/null +++ b/home/profiles/graphical/firefox/firefox.nix @@ -0,0 +1,57 @@ +{pkgs, nur, ...}: let + defaultFont = "Monaspace Krypton"; +in { + home.sessionVariables = { + BROWSER = "firefox"; + }; + + home.packages = [ pkgs.ff2mpv-rust ]; + programs.firefox = { + nativeMessagingHosts = [ + pkgs.ff2mpv-rust + ]; + enable = true; + profiles = { + main = { + id = 0; + isDefault = true; + containersForce = true; + extensions = { + packages = with nur.repos.rycee.firefox-addons; [ + sponsorblock + link-cleaner + canvasblocker + a11ycss + view-image + wappalyzer + auto-tab-discard + bitwarden + darkreader + decentraleyes + clearurls + df-youtube + old-reddit-redirect + privacy-badger + reddit-enhancement-suite + refined-github + stylus + temporary-containers + multi-account-containers + dearrow + betterttv + violentmonkey + return-youtube-dislikes + ff2mpv + terms-of-service-didnt-read + ]; + force = true; + }; + userChrome = '' + #urlbar { + font-family: "${defaultFont}", monospace; + } + ''; + }; + }; + }; +} diff --git a/home/profiles/graphical/firefox/mtab.nix b/home/profiles/graphical/firefox/mtab.nix new file mode 100644 index 00000000..0637a540 --- /dev/null +++ b/home/profiles/graphical/firefox/mtab.nix @@ -0,0 +1,123 @@ +{ nur, ... }: { + programs.firefox.profiles.main.extensions = { + packages = with nur.repos.rycee.firefox-addons; [ + mtab + ]; + settings."contact@maxhu.dev".settings = { + config = { + animations = { + bookmarkTiming = "left"; + bookmarkType = "animate-page-up"; + enabled = true; + initialType = "animate-up-bouncy"; + searchType = "animate-page-shrink"; + }; + bookmarks = { + bookmarksLocationFirefox = "toolbar"; + defaultBlockyColor = "#ffffff"; + defaultBlockyColorType = "custom"; + defaultBlockyCols = 4; + defaultFaviconSource = "duckduckgo"; + defaultFolderIconType = "ri-folder-fill"; + lineOrientation = "top"; + numberKeys = false; + showBookmarkNames = true; + type = "default-blocky"; + userDefined = [ + ]; + userDefinedCols = null; + }; + extras = { + snow = { enabled = "off"; }; + }; + hotkeys = { + activationKey = " "; + closePageKey = "x"; + enabled = true; + searchBookmarksKey = "b"; + }; + message = { + customText = "your custom text"; + enabled = false; + font = { + custom = ""; + type = "default"; + }; + textColor = "#ffffff"; + textSize = 3.75; + type = "afternoon-morning"; + weather = { unitsType = "f"; }; + }; + options = { showOptionsButton = true; }; + search = { + assist = { + conversions = true; + date = true; + definitions = true; + math = true; + }; + bookmarkIconColor = "#3b82f6"; + bookmarkPlaceholderText = "find bookmark..."; + customEngineURL = ""; + enabled = true; + engine = "duckduckgo"; + focusedBorderColor = "#0ea5e9"; + font = { + custom = ""; + type = "default"; + }; + placeholderText = "search..."; + placeholderTextColor = "#a1a1aa"; + searchIconColor = "#14b8a6"; + selectIconColor = "#f59e0b"; + textColor = "#ffffff"; + useCustomEngine = false; + }; + title = { + defaultTitle = "mtab"; + dynamic = { enabled = true; }; + faviconType = "default"; + }; + ui = { + backgroundColor = "#171717"; + blurStrength = "32px"; + cornerStyle = "round"; + customCSS = '' + .top-distance { + top: 0vh !important; + } + ''; + foregroundColor = "#262626"; + glassColor = "#ffffff20"; + highlightColor = "#ffffff20"; + style = "glass"; + }; + user = { name = "kat"; }; + wallpaper = { + enabled = false; + filters = { + blur = "0px"; + brightness = "1"; + }; + type = "url"; + url = "./wallpapers/default.png"; + }; + }; + optionsData = { + sectionsExpanded = { + animations = true; + bookmarks = true; + extras = true; + hotkeys = true; + message = true; + options = true; + search = true; + title = true; + ui = true; + user = true; + wallpaper = true; + }; + }; + }; + }; +} diff --git a/home/profiles/graphical/firefox/tst.nix b/home/profiles/graphical/firefox/tst.nix new file mode 100644 index 00000000..916dd6fe --- /dev/null +++ b/home/profiles/graphical/firefox/tst.nix @@ -0,0 +1,43 @@ +{ nur, ... }: { + programs.firefox.profiles.main = { + extensions = { + packages = with nur.repos.rycee.firefox-addons; [ + tree-style-tab + move-unloaded-tabs-for-tst + tab-unload-for-tree-style-tab + tst-bookmarks-subpanel + tst-indent-line + tst-tab-search + tst-wheel-and-double + tst-more-tree-commands + ]; + settings = { + "treestyletab@piro.sakura.ne.jp".settings = { + cachedExternalAddons = [ + "tst-active-tab-on-scrollbar@piro.sakura.ne.jp" + "tst-indent-line@piro.sakura.ne.jp" + ]; + faviconizePinnedTabs = false; + lastSelectedSubPanelProviderId = "tst-bookmarks-subpanel@piro.sakura.ne.jp"; + showExpertOptions = true; + skipCollapsedTabsForTabSwitchingShortcuts = true; + tabPreviewTooltip = true; + }; + }; + }; + userChrome = '' + /* Hide horizontal tabs at the top of the window */ + #main-window[tabsintitlebar="true"]:not([extradragspace="true"]) #TabsToolbar { + opacity: 0; + pointer-events: none; + } + #main-window #TabsToolbar { + visibility: collapse !important; + } + /* Hide the "Tree Style Tab" header at the top of the sidebar */ + #sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header { + display: none; + } + ''; + }; +} diff --git a/home/profiles/graphical/firefox/ublock.nix b/home/profiles/graphical/firefox/ublock.nix new file mode 100644 index 00000000..80fe8665 --- /dev/null +++ b/home/profiles/graphical/firefox/ublock.nix @@ -0,0 +1,42 @@ +{ nur, ... }: { + programs.firefox.profiles.main.extensions = { + packages = with nur.repos.rycee.firefox-addons; [ + ublock-origin + ]; + settings = { + "uBlock@raymondhill.net".settings = { + selectedFilterLists = [ + "user-filters" + "ublock-filters" + "ublock-badware" + "ublock-privacy" + "ublock-quick-fixes" + "ublock-unbreak" + "easylist" + "adguard-generic" + "adguard-mobile" + "easyprivacy" + "adguard-spyware" + "adguard-spyware-url" + "urlhaus-1" + "plowe-0" + "fanboy-cookiemonster" + "ublock-cookies-easylist" + "adguard-cookies" + "ublock-cookies-adguard" + "fanboy-social" + "adguard-social" + "easylist-chat" + "easylist-newsletters" + "easylist-notifications" + "easylist-annoyances" + "adguard-mobile-app-banners" + "adguard-other-annoyances" + "adguard-popup-overlays" + "adguard-widgets" + "ublock-annoyances" + ]; + }; + }; + }; +} diff --git a/home/profiles/graphical/vscode.nix b/home/profiles/graphical/vscode.nix index 90bdd394..03fe35c5 100644 --- a/home/profiles/graphical/vscode.nix +++ b/home/profiles/graphical/vscode.nix @@ -1,6 +1,6 @@ {pkgs, ...}: { programs.vscode = { - enable = true; + enable = false; extensions = with pkgs.vscode-extensions; [ vscodevim.vim catppuccin.catppuccin-vsc diff --git a/home/profiles/shell/zsh.nix b/home/profiles/shell/zsh.nix index 416b7806..aab68404 100644 --- a/home/profiles/shell/zsh.nix +++ b/home/profiles/shell/zsh.nix @@ -1,10 +1,12 @@ { + self, config, lib, std, pkgs, ... }: let + inherit (lib.attrsets) nameValuePair listToAttrs; inherit (lib.modules) mkMerge mkIf; inherit (std) string list serde; in { @@ -90,7 +92,15 @@ in { else "" } ''; - shellAliases = mkMerge [ + shellAliases = let + packages = [ + "sidequest" + ]; + flake = self; + makeAliasForBin = package: nameValuePair package "nix run kat#${package}"; + packages' = builtins.listToAttrs (map makeAliasForBin packages); + in mkMerge [ + packages' { nixdirfmt = "nixpkgs-fmt $(fd -e nix)"; dmesg = "dmesg -HP"; diff --git a/nixos/common/nix.nix b/nixos/common/nix.nix index 2f4147f1..9061a645 100644 --- a/nixos/common/nix.nix +++ b/nixos/common/nix.nix @@ -1,5 +1,9 @@ _: { nix = { + gc = { + automatic = true; + dates = "weekly"; + }; settings = { auto-optimise-store = true; trusted-users = [ diff --git a/nixos/profiles/gaming/quest.nix b/nixos/profiles/gaming/quest.nix index 400ee65f..d37cebe2 100644 --- a/nixos/profiles/gaming/quest.nix +++ b/nixos/profiles/gaming/quest.nix @@ -1,6 +1,5 @@ {pkgs, ...}: { environment.systemPackages = with pkgs; [ - sidequest gsettings-desktop-schemas ]; programs.adb.enable = true; diff --git a/nixos/profiles/graphical/packages.nix b/nixos/profiles/graphical/packages.nix index 42c5911f..54444be2 100644 --- a/nixos/profiles/graphical/packages.nix +++ b/nixos/profiles/graphical/packages.nix @@ -9,7 +9,15 @@ usbutils plexamp super-slicer-beta + nvidia-vaapi-driver ]; + programs.obs-studio = { + enable = true; + enableVirtualCamera = true; + plugins = with pkgs.obs-studio-plugins; [ + obs-vaapi + ]; + }; services.udev.packages = [ pkgs.android-udev-rules pkgs.zsa-udev-rules diff --git a/nixos/profiles/graphical/sound.nix b/nixos/profiles/graphical/sound.nix index b1c80d33..c986cd57 100644 --- a/nixos/profiles/graphical/sound.nix +++ b/nixos/profiles/graphical/sound.nix @@ -5,6 +5,13 @@ security.rtkit.enable = true; + services.pipewire.extraConfig.pipewire-pulse."92-subpar-latency" = { + pulse.properties = { + pulse.min.req = "1024/48000"; + pulse.default.req = "1024/48000"; + pulse.min.quantum = "1024/48000"; + }; + }; services.pipewire = { enable = true; pulse.enable = true; diff --git a/shells/rust.nix b/shells/rust.nix deleted file mode 100644 index 1a9fea11..00000000 --- a/shells/rust.nix +++ /dev/null @@ -1,12 +0,0 @@ -{pkgs, ...}: -with pkgs; - mkShell { - nativeBuildInputs = [ - cargo - rustc - rustfmt - rustPackages.clippy - rust-analyzer - ]; - RUST_SRC_PATH = rustPlatform.rustLibSrc; - } diff --git a/shells/work.nix b/shells/work.nix deleted file mode 100644 index 58ee32bc..00000000 --- a/shells/work.nix +++ /dev/null @@ -1,12 +0,0 @@ -{pkgs, ...}: -with pkgs; - mkShell { - nativeBuildInputs = [ - jq - ripgrep - kubectl - k9s - terraform - awscli - ]; - } diff --git a/systems/goliath.nix b/systems/goliath.nix index bb62f982..3cd15e7f 100644 --- a/systems/goliath.nix +++ b/systems/goliath.nix @@ -8,7 +8,6 @@ _: let }: let inherit (lib.lists) singleton; inherit (lib.attrsets) nameValuePair listToAttrs; - datasets = [ "root" "nix" @@ -19,7 +18,7 @@ _: let datasetEntry = dataset: nameValuePair (if dataset == "root" then "/" else "/${dataset}") { device = "zpool/${dataset}"; fsType = "zfs"; - options = [ "zfsutils" ]; + options = [ "zfsutil" ]; }; datasetEntries = listToAttrs (map datasetEntry datasets); @@ -52,7 +51,6 @@ _: let home-manager.users.kat.imports = (with tree.home.profiles; [ graphical - devops ]) ++ (with tree.home.environments; [ i3