diff --git a/home/modules/gui.nix b/home/modules/gui.nix index 1710836..06890d4 100644 --- a/home/modules/gui.nix +++ b/home/modules/gui.nix @@ -1,11 +1,14 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.greg.gui; - excludes = systems: opts: ( - if (builtins.all (x: pkgs.system != x) systems) then opts else [ ] - ); + excludes = systems: opts: (if (builtins.all (x: pkgs.system != x) systems) then opts else [ ]); # For now, we ignore this and don't install it ffPkgs = pkgs.firefox.override { cfg.enableGnomeExtensions = true; }; @@ -17,105 +20,152 @@ in { options.greg.gui = lib.mkEnableOption "Enable GUI programs"; - config = (lib.mkIf cfg { - # These packages are Linux only - home.packages = with pkgs; (excludes [ "x86_64-darwin" "aarch64-darwin" ] - [ - cdrtools - element-desktop - freetube - qpwgraph - vlc - x265 - ]) ++ + config = ( + lib.mkIf cfg { + # These packages are Linux only + home.packages = + with pkgs; + (excludes + [ + "x86_64-darwin" + "aarch64-darwin" + ] + [ + cdrtools + element-desktop + freetube + qpwgraph + vlc + x265 + ] + ) + ++ - # x86_64-linux only - (excludes [ "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ] - [ - bitwarden - discord - endeavour - gnucash - jellyfin-media-player - #logseq - nextcloud-client - slack - ]) ++ + # x86_64-linux only + (excludes + [ + "x86_64-darwin" + "aarch64-darwin" + "aarch64-linux" + ] + [ + bitwarden + discord + endeavour + gnucash + jellyfin-media-player + #logseq + nextcloud-client + slack + ] + ) + ++ - # Items that are not supported on ARM/Linux - (excludes [ "aarch64-linux" ] - [ - onlyoffice-bin - synology-drive-client - zoom-us - ]); + # Items that are not supported on ARM/Linux + (excludes [ "aarch64-linux" ] [ + onlyoffice-bin + synology-drive-client + zoom-us + ]); - programs.firefox = { - enable = (! pkgs.stdenv.hostPlatform.isDarwin); - package = ffPkgs; - policies = { - DisableAppUpdate = true; - }; - profiles = { - default = { - bookmarks = import ./gui/bookmarks.nix; - id = 0; - isDefault = true; - search = { - default = "DuckDuckGo"; - force = true; - engines = { - Google.metaData.alias = "@g"; - "Nix Packages" = { - urls = [{ - template = "https://search.nixos.org/packages"; - params = [ - { name = "type"; value = "packages"; } - { name = "query"; value = "{searchTerms}"; } + programs.firefox = { + enable = (!pkgs.stdenv.hostPlatform.isDarwin); + package = ffPkgs; + policies = { + DisableAppUpdate = true; + }; + profiles = { + default = { + bookmarks = import ./gui/bookmarks.nix; + id = 0; + isDefault = true; + search = { + default = "DuckDuckGo"; + force = true; + engines = { + Google.metaData.alias = "@g"; + "Nix Packages" = { + urls = [ + { + template = "https://search.nixos.org/packages"; + params = [ + { + name = "type"; + value = "packages"; + } + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } ]; - }]; - icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - definedAliases = [ "@np" ]; - }; - "Nix Options" = { - urls = [{ - template = "https://search.nixos.org/options"; - params = [ - { name = "type"; value = "packages"; } - { name = "query"; value = "{searchTerms}"; } + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@np" ]; + }; + "Nix Options" = { + urls = [ + { + template = "https://search.nixos.org/options"; + params = [ + { + name = "type"; + value = "packages"; + } + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } ]; - }]; - icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - definedAliases = [ "@no" ]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@no" ]; + }; + "Noogle" = { + urls = [ + { + template = "https://noogle.dev/q"; + params = [ + { + name = "term"; + value = "{searchTerms}"; + } + ]; + } + ]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@nl" ]; + }; }; }; + settings = { + "app.update.auto" = false; + "browser.ctrlTab.sortByRecentlyUsed" = true; + "browser.startup.page" = 3; + "browser.startup.homepage" = "https://thehellings.com"; + "doh-rollout.doorhanger-decision" = "UIDisabled"; + "doh-rollout.doneFirstRun" = true; + "signon.rememberSignons" = false; + }; + extensions = with pkgs.nur.repos.rycee.firefox-addons; [ + bitwarden + gsconnect + foxyproxy-standard + multi-account-containers + octotree + okta-browser-plugin + refined-github + tree-style-tab + ublock-origin + ]; }; - settings = { - "app.update.auto" = false; - "browser.ctrlTab.sortByRecentlyUsed" = true; - "browser.startup.page" = 3; - "browser.startup.homepage" = "https://thehellings.com"; - "doh-rollout.doorhanger-decision" = "UIDisabled"; - "doh-rollout.doneFirstRun" = true; - "signon.rememberSignons" = false; - }; - extensions = with pkgs.nur.repos.rycee.firefox-addons; [ - bitwarden - gsconnect - foxyproxy-standard - multi-account-containers - octotree - okta-browser-plugin - refined-github - tree-style-tab - ublock-origin - ]; }; }; - }; - # This is supposed to be in support of Firefox, but I dunno... - programs.bash.sessionVariables = vars; - programs.xonsh.sessionVariables = vars; - }); + # This is supposed to be in support of Firefox, but I dunno... + programs.bash.sessionVariables = vars; + programs.xonsh.sessionVariables = vars; + } + ); } diff --git a/home/modules/gui/bookmarks.nix b/home/modules/gui/bookmarks.nix index 1dd10a3..b033e13 100644 --- a/home/modules/gui/bookmarks.nix +++ b/home/modules/gui/bookmarks.nix @@ -130,6 +130,10 @@ name = "Nixpkgs functions"; url = "https://ryantm.github.io/nixpkgs/functions/library/strings/#sec-functions-library-strings"; } + { + name = "Noogle"; + url = "https://noogle.dev/"; + } { name = "NUR search"; url = "https://nur.nix-community.org/";