Files
nixos/modules/hm/gui.nix
T

176 lines
4.9 KiB
Nix
Raw Normal View History

2024-10-18 09:19:58 -05:00
{
config,
pkgs,
lib,
...
}:
2024-02-26 11:39:56 -06:00
let
cfg = config.greg.gui;
2024-02-26 11:39:56 -06:00
2024-10-18 09:19:58 -05:00
excludes = systems: opts: (if (builtins.all (x: pkgs.system != x) systems) then opts else [ ]);
2024-02-26 11:39:56 -06:00
vars = {
XDG_CURRENT_DESKTOP = "GNOME";
};
in
{
options.greg.gui = lib.mkEnableOption "Enable GUI programs";
2024-02-26 11:39:56 -06:00
2024-10-18 09:19:58 -05:00
config = (
lib.mkIf cfg {
# These packages are Linux only
home.packages =
with pkgs;
(excludes
[
"x86_64-darwin"
"aarch64-darwin"
]
[
cdrtools
element-desktop
freetube
onlyoffice-bin
2024-10-18 09:19:58 -05:00
qpwgraph
vlc
x265
]
)
++
2024-02-26 11:39:56 -06:00
2024-10-18 09:19:58 -05:00
# x86_64-linux only
(excludes
[
"x86_64-darwin"
"aarch64-darwin"
"aarch64-linux"
]
[
bitwarden
endeavour
jellyfin-media-player
nextcloud-client
slack
(pkgs.zoom-us.overrideAttrs {
version = "6.2.11.5069";
src = pkgs.fetchurl {
url = "https://zoom.us/client/6.2.11.5069/zoom_x86_64.pkg.tar.xz";
hash = "sha256-k8T/lmfgAFxW1nwEyh61lagrlHP5geT2tA7e5j61+qw=";
};
})
2024-10-18 09:19:58 -05:00
]
)
++
2024-02-26 11:39:56 -06:00
2024-10-18 09:19:58 -05:00
# Items that are not supported on ARM/Linux
(excludes [ "aarch64-linux" ] [
synology-drive-client
]);
2024-02-26 11:39:56 -06:00
2024-10-18 09:19:58 -05:00
programs.firefox = {
2025-07-28 22:13:03 -05:00
enable = true; # (!pkgs.stdenv.hostPlatform.isDarwin);
2024-10-22 13:07:49 -05:00
package = pkgs.firefox-bin;
2024-10-18 09:19:58 -05:00
policies = {
DisableAppUpdate = true;
};
profiles = {
default = {
2025-04-10 16:21:10 -05:00
bookmarks = {
force = true;
settings = import ./gui/bookmarks.nix;
};
2024-10-18 09:19:58 -05:00
id = 0;
isDefault = true;
search = {
2025-04-30 22:31:03 -05:00
default = "ddg";
2024-10-18 09:19:58 -05:00
force = true;
engines = {
2025-04-30 22:31:03 -05:00
google.metaData.alias = "@g";
2024-10-18 09:19:58 -05:00
"Nix Packages" = {
urls = [
{
template = "https://search.nixos.org/packages";
params = [
{
name = "type";
value = "packages";
}
{
name = "query";
value = "{searchTerms}";
}
];
}
];
2024-10-18 09:19:58 -05:00
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}";
}
];
}
];
2024-10-18 09:19:58 -05:00
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" ];
};
};
};
2024-10-18 09:19:58 -05:00
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;
};
2025-03-03 16:51:45 -06:00
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [
2024-10-18 09:19:58 -05:00
bitwarden
gsconnect
foxyproxy-standard
multi-account-containers
octotree
okta-browser-plugin
refined-github
2024-12-17 10:01:09 -06:00
sponsorblock
2024-10-18 09:19:58 -05:00
tree-style-tab
ublock-origin
];
};
};
};
2024-02-26 11:39:56 -06:00
2024-10-18 09:19:58 -05:00
# This is supposed to be in support of Firefox, but I dunno...
programs.bash.sessionVariables = vars;
programs.xonsh.sessionVariables = vars;
}
);
2024-02-26 11:39:56 -06:00
}