diff --git a/.envrc b/.envrc index 30453fb..a80d039 100644 --- a/.envrc +++ b/.envrc @@ -1,4 +1,3 @@ -watch_file ./home watch_file ./languages watch_file ./.vale/styles use flake diff --git a/flake.lock b/flake.lock index b1aef72..a8cacf7 100644 --- a/flake.lock +++ b/flake.lock @@ -94,12 +94,15 @@ } }, "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -171,11 +174,11 @@ ] }, "locked": { - "lastModified": 1751990210, - "narHash": "sha256-krWErNDl9ggMLSfK00Q2BcoSk3+IRTSON/DiDgUzzMw=", + "lastModified": 1752286566, + "narHash": "sha256-A4nftqiNz2bNihz0bKY94Hq/6ydR6UQOcGioeL7iymY=", "owner": "nix-community", "repo": "home-manager", - "rev": "218da00bfa73f2a61682417efe74549416c16ba6", + "rev": "392ddb642abec771d63688c49fa7bcbb9d2a5717", "type": "github" }, "original": { @@ -187,11 +190,11 @@ "lix": { "flake": false, "locked": { - "lastModified": 1751931138, - "narHash": "sha256-Q0pIV16Vx9PZQRVXc1GS/IcKYlmcVMdkSGPdBsiLyKU=", - "rev": "fc3261c3405b122c8c2e5bdc3da6c4fb7ffa80a9", + "lastModified": 1751825501, + "narHash": "sha256-6Jve3xCvRJGkz0A9D8dXH/DMWYE8MkFt+KJWQs9cLkw=", + "rev": "378b360bf8e0d04e8dd3733acd20d7a9b70360f1", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/fc3261c3405b122c8c2e5bdc3da6c4fb7ffa80a9.tar.gz?rev=fc3261c3405b122c8c2e5bdc3da6c4fb7ffa80a9" + "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/378b360bf8e0d04e8dd3733acd20d7a9b70360f1.tar.gz?rev=378b360bf8e0d04e8dd3733acd20d7a9b70360f1" }, "original": { "type": "tarball", @@ -227,11 +230,11 @@ ] }, "locked": { - "lastModified": 1713543440, - "narHash": "sha256-lnzZQYG0+EXl/6NkGpyIz+FEOc/DSEG57AP1VsdeNrM=", + "lastModified": 1752054764, + "narHash": "sha256-Ob/HuUhANoDs+nvYqyTKrkcPXf4ZgXoqMTQoCK0RFgQ=", "owner": "nix-community", "repo": "nixGL", - "rev": "310f8e49a149e4c9ea52f1adf70cdc768ec53f8a", + "rev": "a8e1ce7d49a149ed70df676785b07f63288f53c5", "type": "github" }, "original": { @@ -274,11 +277,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1749776303, - "narHash": "sha256-OHibOvVwKqO1qvRg0r3agtd1EagW4THBcoWT7QGgcNo=", + "lastModified": 1751949589, + "narHash": "sha256-mgFxAPLWw0Kq+C8P3dRrZrOYEQXOtKuYVlo9xvPntt8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6e7721e37bf00fa7ea44ac3cfc9d2411284ec3ef", + "rev": "9b008d60392981ad674e04016d25619281550a9d", "type": "github" }, "original": { @@ -290,11 +293,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1749285348, - "narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=", + "lastModified": 1751984180, + "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3e3afe5174c561dee0df6f2c2b2236990146329f", + "rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0", "type": "github" }, "original": { @@ -323,15 +326,14 @@ "nur": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_4", - "treefmt-nix": "treefmt-nix" + "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1749874339, - "narHash": "sha256-QKj0+WJm9LiZulDdQI8duXAckKVmj6952C9gww/flB0=", + "lastModified": 1752315995, + "narHash": "sha256-6QPwU4YNJmJ2LP0WqEX1SGS2rKQQma41h+KgreOxsFY=", "owner": "nix-community", "repo": "NUR", - "rev": "c70ec5f29a4642d6f412186a9f4d68f536089814", + "rev": "7e693e65ef86c44082253854520e4f3ef416bf1d", "type": "github" }, "original": { @@ -351,7 +353,7 @@ "nixpkgs": "nixpkgs_3", "nur": "nur", "sops-nix": "sops-nix", - "treefmt-nix": "treefmt-nix_2" + "treefmt-nix": "treefmt-nix" } }, "sops-nix": { @@ -389,37 +391,31 @@ "type": "github" } }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nur", - "nixpkgs" - ] - }, + "systems_2": { "locked": { - "lastModified": 1733222881, - "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "49717b5af6f80172275d47a418c9719a31a78b53", + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { - "owner": "numtide", - "repo": "treefmt-nix", + "owner": "nix-systems", + "repo": "default", "type": "github" } }, - "treefmt-nix_2": { + "treefmt-nix": { "inputs": { "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1750931469, - "narHash": "sha256-0IEdQB1nS+uViQw4k3VGUXntjkDp7aAlqcxdewb/hAc=", + "lastModified": 1752055615, + "narHash": "sha256-19m7P4O/Aw/6+CzncWMAJu89JaKeMh3aMle1CNQSIwM=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "ac8e6f32e11e9c7f153823abc3ab007f2a65d3e1", + "rev": "c9d477b5d5bd7f26adddd3f96cfd6a904768d4f9", "type": "github" }, "original": { diff --git a/home/home.nix b/home/home.nix index 2e74fec..2c300f3 100644 --- a/home/home.nix +++ b/home/home.nix @@ -28,60 +28,59 @@ in homeDirectory = "/home/sudoer777"; language.base = "eo.utf8"; packages = [ - pkgs.nixd - pkgs.teams-for-linux # TODO: Move to flake in UTD folder - # pkgs.simplex-chat-desktop - not available on aarch64 - pkgs.signal-desktop + pkgs.acpi pkgs.bitwarden-desktop # TODO: switch to rbw + pkgs.bzip3 + # pkgs.cacert - TODO: should be used on NixOS + # pkgs.cups - TODO: should be used on NixOS + pkgs.curl + pkgs.dino + pkgs.e2fsprogs pkgs.element-desktop # TODO: switch to programs.element-desktop - pkgs.logseq # TODO: switch to joplin-desktop - (config.lib.nixGL.wrap pkgs.kdePackages.audiotube) - pkgs.librewolf # TODO: switch to programs.librewolf - # pkgs.firefoxpwa - requires system access - # pkgs.widevine-cdm - doesn't work + pkgs.file # pkgs.firefox + # pkgs.firefoxpwa - requires system access + pkgs.gzip + pkgs.gnutar + # pkgs.high-tide - doesn't work + pkgs.iproute2 + pkgs.iputils + pkgs.julia + (config.lib.nixGL.wrap pkgs.kdePackages.audiotube) + pkgs.kdePackages.dolphin + pkgs.kdePackages.falkon + pkgs.ladybird + # pkgs.languagetool - TODO: should be used on NixOS + pkgs.libreoffice-fresh + pkgs.librewolf # TODO: switch to programs.librewolf + pkgs.lm_sensors + pkgs.logseq # TODO: switch to joplin-desktop + pkgs.lsof + pkgs.mailutils + pkgs.mupdf + # pkgs.ncurses + pkgs.nixd + pkgs.pijul + pkgs.procps # TODO: switch to uutils when available + pkgs.procs + pkgs.psmisc + pkgs.signal-desktop + # pkgs.simplex-chat-desktop - not available on aarch64 + # pkgs.slacky - doesn't work, requires update + pkgs.speedtest-cli + pkgs.strace + # pkgs.sudo-rs - TODO: should be used on NixOS + pkgs.tcpdump + pkgs.teams-for-linux # TODO: Move to flake in UTD folder + pkgs.telegram-desktop + # pkgs.tidal-hifi - aarch64 build broken + pkgs.util-linux # TODO: switch to uutils when available pkgs.uutils-coreutils-noprefix pkgs.uutils-diffutils pkgs.uutils-findutils - pkgs.util-linux # TODO: switch to uutils when available - pkgs.iputils - pkgs.procps # TODO: switch to uutils when available - pkgs.procs - # pkgs.sudo-rs - TODO: should be used on NixOS - pkgs.psmisc - pkgs.dino - pkgs.julia - pkgs.telegram-desktop - pkgs.gzip - pkgs.gnutar - pkgs.iproute2 - # pkgs.ncurses - pkgs.bzip3 - pkgs.xz - pkgs.ladybird - pkgs.kdePackages.falkon - pkgs.curl + # pkgs.widevine-cdm - doesn't work pkgs.wget - pkgs.mailutils - pkgs.lsof - pkgs.strace - pkgs.tcpdump - pkgs.file - pkgs.e2fsprogs - pkgs.speedtest-cli - pkgs.pijul - pkgs.lm_sensors - pkgs.libreoffice-fresh - pkgs.kdePackages.dolphin - pkgs.mupdf - pkgs.acpi - # pkgs.cacert - TODO: should be used on NixOS - # pkgs.cups - TODO: should be used on NixOS - # pkgs.languagetool - TODO: should be used on NixOS - # (config.lib.nixGL.wrap pkgs.firefox-devedition) - # pkgs.slacky - doesn't work, requires update - # pkgs.high-tide - doesn't work - # pkgs.tidal-hifi - aarch64 build broken + pkgs.xz ]; file = { }; sessionVariables = { }; @@ -188,7 +187,6 @@ in # clipboard_control = ["write-primary" "write-clipboard" "no-append"]; # }; # }; - # TODO: Disable Guix integration git = { enable = true; delta = { @@ -341,87 +339,277 @@ in }; }; floorp = { - # TODO: Add nixOS configuration bookmark, helix language and formatter, and languages.toml GitHub - # Add documentation for flake-parts for treefmt and pre-commit, and Vale supported languages, Harper supported languages enable = true; package = (config.lib.nixGL.wrap pkgs.floorp); languagePacks = [ "eo" - "en" + "en-US" ]; + policies = { + ExtensionSettings = + let + # mozilla.github.io/policy-templates + mkMozillaAddonUrl = id: "https://addons.mozilla.org/firefox/downloads/latest/${id}/latest.xpi"; + in + { + "*".installation_mode = "blocked"; + # PopUpOFF + "{154cddeb-4c8b-4627-a478-c7e5b427ffdf}" = { + installation_mode = "force_installed"; + install_url = mkMozillaAddonUrl "{154cddeb-4c8b-4627-a478-c7e5b427ffdf}"; + }; + # The wall + "{4df1496d-becb-4eb8-9f3e-08a52cf3dd6a}" = { + installation_mode = "force_installed"; + install_url = mkMozillaAddonUrl "{4df1496d-becb-4eb8-9f3e-08a52cf3dd6a}"; + }; + # MWMBL Web Crawler + "{53f57a68-a73e-4b31-ba0c-97cf722602ae}" = { + installation_mode = "force_installed"; + install_url = mkMozillaAddonUrl "{53f57a68-a73e-4b31-ba0c-97cf722602ae}"; + }; + # Video Speed Controller + "{7be2ba16-0f1e-4d93-9ebc-5164397477a9}" = { + installation_mode = "force_installed"; + install_url = mkMozillaAddonUrl "{7be2ba16-0f1e-4d93-9ebc-5164397477a9}"; + }; + # Boycat + "boycat@extension.io" = { + installation_mode = "force_installed"; + install_url = mkMozillaAddonUrl "boycat@extension.io"; + }; + # Go European + "goeuropean@example.com" = { + installation_mode = "force_installed"; + install_url = mkMozillaAddonUrl "goeuropean@example.com"; + }; + # Bypass Paywalls Clean + "magnolia@12.34.xpi" = { + installation_mode = "force_installed"; + install_url = "https://gitflic.ru/project/magnolia1234/bpc_uploads/blob/?file=bypass_paywalls_clean-latest.xpi&branch=main"; + }; + # Sky Follower Bridge + "sky-follower-bridge@ryo.kawamata" = { + installation_mode = "force_installed"; + install_url = mkMozillaAddonUrl "sky-follower-bridge@ryo.kawamata"; + }; + # Support Canadian + "supportcanadian@example.com" = { + installation_mode = "force_installed"; + install_url = mkMozillaAddonUrl "supportcanadian@example.com"; + }; + # Syrup + "syrup@extension" = { + installation_mode = "force_installed"; + install_url = mkMozillaAddonUrl "syrup@extension"; + }; + # TrackMeNot + "trackmenot@mrl.nyu.edu" = { + installation_mode = "force_installed"; + install_url = mkMozillaAddonUrl "trackmenot@mrl.nyu.edu"; + }; + # Unhook + "myallychou@gmail.com" = { + installation_mode = "force_installed"; + install_url = mkMozillaAddonUrl "myallychou@gmail.com"; + }; + }; + SanitizeOnShutdown = true; + }; profiles.main = { - # extensions = { - # packages = with pkgs.nur.repos.rycee.firefox-addons; [ - # ublock-origin - # ]; - # }; + extensions = { + packages = with pkgs; [ + # https://nur.nix-community.org/repos/rycee/ + nur.repos.rycee.firefox-addons.adnauseam + nur.repos.rycee.firefox-addons.amp2html + nur.repos.rycee.firefox-addons.aria2-integration + nur.repos.rycee.firefox-addons.bitwarden + nur.repos.rycee.firefox-addons.blocktube + nur.repos.rycee.firefox-addons.clearurls + nur.repos.rycee.firefox-addons.cliget + nur.repos.rycee.firefox-addons.control-panel-for-twitter + nur.repos.rycee.firefox-addons.dearrow + nur.repos.rycee.firefox-addons.don-t-fuck-with-paste + nur.repos.rycee.firefox-addons.fediact + nur.repos.rycee.firefox-addons.foxyproxy-standard + nur.repos.rycee.firefox-addons.geminize + nur.repos.rycee.firefox-addons.github-file-icons + nur.repos.rycee.firefox-addons.github-issue-link-status + nur.repos.rycee.firefox-addons.ipfs-companion + nur.repos.rycee.firefox-addons.istilldontcareaboutcookies + nur.repos.rycee.firefox-addons.kagi-search + nur.repos.rycee.firefox-addons.leechblock-ng + nur.repos.rycee.firefox-addons.localcdn + nur.repos.rycee.firefox-addons.lovely-forks + nur.repos.rycee.firefox-addons.notifier-for-github + nur.repos.rycee.firefox-addons.octotree + nur.repos.rycee.firefox-addons.old-reddit-redirect + nur.repos.rycee.firefox-addons.peertubeify + nur.repos.rycee.firefox-addons.private-grammar-checker-harper + nur.repos.rycee.firefox-addons.protoots + nur.repos.rycee.firefox-addons.reddit-enhancement-suite + nur.repos.rycee.firefox-addons.shinigami-eyes + nur.repos.rycee.firefox-addons.simple-translate + nur.repos.rycee.firefox-addons.snowflake + nur.repos.rycee.firefox-addons.sponsorblock + nur.repos.rycee.firefox-addons.streetpass-for-mastodon + nur.repos.rycee.firefox-addons.terms-of-service-didnt-read + nur.repos.rycee.firefox-addons.twiter-x-video-downloader + nur.repos.rycee.firefox-addons.ublacklist + nur.repos.rycee.firefox-addons.user-agent-string-switcher + nur.repos.rycee.firefox-addons.web-archives + nur.repos.rycee.firefox-addons.web-scrobbler + nur.repos.rycee.firefox-addons.youtube-high-definition + nur.repos.rycee.firefox-addons.youtube-no-translation + nur.repos.rycee.firefox-addons.youtube-shorts-block + ]; + }; isDefault = true; name = "Main"; settings = { - autoDisableScopes = 0; + "extensions.autoDisableScopes" = 0; + "sidebar.verticalTabs" = true; }; bookmarks = { force = true; settings = [ { - name = "Comet Calendar"; - url = "https://calendar.utdallas.edu/"; + name = "DFW"; + toolbar = true; + bookmarks = [ + { + name = "DART Trip Planner"; + url = "https://www.dart.org/trip/trip-planner/trip-planner-map"; + } + ]; } { - name = "UT Dallas Map"; - url = "https://map.utdallas.edu/"; + name = "Documentation"; + toolbar = true; + bookmarks = [ + { + name = "Firefox Policy Templates"; + url = "mozilla.github.io/policy-templates"; + } + { + name = "flake-parts treefmt-nix Documentation"; + url = "flake.parts/options/treefmt-nix.html"; + } + { + name = "flake-parts git-hook-nix Documentation"; + url = "https://flake.parts/options/git-hooks-nix.html"; + } + { + name = "Guix Packages"; + url = "https://toys.whereis.social/"; + } + { + name = "Harper Supported Languages"; + url = "https://writewithharper.com/docs/integrations/language-server#Supported-Languages"; + } + { + name = "Helix Language Support"; + url = "https://docs.helix-editor.com/lang-support.html"; + } + { + name = "Helix Formatter Support"; + url = "https://helix-editor.vercel.app/reference/formatters"; + } + { + name = "Helix languages.toml"; + url = "https://github.com/helix-editor/helix/blob/master/languages.toml"; + } + { + name = "Home Manager Configuration Options"; + url = "https://nix-community.github.io/home-manager/options.xhtml"; + } + { + name = "ltex-plus Supported Languages"; + url = "https://ltex-plus.github.io/ltex-plus/supported-languages.html"; + } + { + name = "Nix Firefox Addons Search"; + url = "https://nur.nix-community.org/repos/rycee/"; + } + { + name = "NixOS Configuration Options"; + url = "https://nixos.org/manual/nixos/unstable/options"; + } + { + name = "NixOS Package Search"; + url = "https://search.nixos.org/packages"; + } + { + name = "Vale Supported Languages"; + url = "https://vale.sh/docs/formats/code"; + } + ]; } { - name = "eLearning"; - url = "https://elearning.utdallas.edu/"; + name = "Local Sites"; + toolbar = true; + bookmarks = [ + { + name = "CUPS"; + url = "http://localhost:631/"; + } + { + name = "Syncthing"; + url = "http://localhost:8384/"; + } + ]; } { - name = "DART Trip Planner"; - url = "https://www.dart.org/trip/trip-planner/trip-planner-map"; + name = "Self-Hosting"; + toolbar = true; + bookmarks = [ + { + name = "ArchiveTeam Warrior"; + url = "http://docker:8001/"; + } + { + name = "OpenRouter Chat"; + url = "https://openrouter.ai/chat"; + } + { + name = "Proxmox"; + url = "https://gamingserver:8006"; + } + { + name = "Portainer"; + url = "http://docker:9000"; + } + { + name = "Syncthing"; + url = "http://docker:8384/"; + } + { + name = "The Indie Beat"; + url = "https://theindiebeat.fm/"; + } + { + name = "TrueNAS"; + url = "https://10.10.10.5:444/"; + } + ]; } { - name = "Guix Packages"; - url = "https://toys.whereis.social/"; - } - { - name = "Syncthing Docker"; - url = "http://docker:8384/"; - } - { - name = "Syncthing Local"; - url = "http://localhost:8384/"; - } - { - name = "NixOS Package Search"; - url = "https://search.nixos.org/packages"; - } - { - name = "TrueNAS"; - url = "https://10.10.10.5:444/"; - } - { - name = "Proxmox"; - url = "https://gamingserver:8006"; - } - { - name = "Portainer"; - url = "http://docker:9000"; - } - { - name = "ArchiveTeam Warrior"; - url = "http://docker:8001/"; - } - { - name = "The Indie Beat"; - url = "https://theindiebeat.fm/"; - } - { - name = "OpenRouter Chat"; - url = "https://openrouter.ai/chat"; - } - { - name = "Home Manager Configuration Options"; - url = "https://nix-community.github.io/home-manager/options.xhtml"; + name = "UT Dallas"; + toolbar = true; + bookmarks = [ + { + name = "Comet Calendar"; + url = "https://calendar.utdallas.edu/"; + } + { + name = "eLearning"; + url = "https://elearning.utdallas.edu/"; + } + { + name = "UT Dallas Map"; + url = "https://map.utdallas.edu/"; + } + ]; } ]; };