nix/home/gui.nix
2025-04-05 02:14:48 -05:00

140 lines
3.1 KiB
Nix

{
lib,
pkgs,
config,
inputs,
hm,
user,
...
}:
{
imports = [
./i3
./kitty.nix
./ghostty.nix
];
options.custom.gui = with lib; {
default = {
enable = mkEnableOption "Enable Default GUI";
};
linux = {
enable = mkEnableOption "Enable Linux-only GUI";
};
darwin = {
enable = mkEnableOption "Enable Darwin-only GUI";
};
};
config = lib.mkIf config.custom.gui.default.enable {
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
show-battery-percentage = true;
clock-format = "12h";
};
};
programs.vscode = {
enable = true;
package = pkgs.vscode;
profiles.default = {
extensions = with pkgs.vscode-extensions; [
bbenoist.nix
ms-python.python
ms-vscode-remote.remote-ssh
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "remote-ssh-edit";
publisher = "ms-vscode-remote";
version = "0.87.0";
sha256 = "sha256-yeX6RAJl07d+SuYyGQFLZNcUzVKAsmPFyTKEn+y3GuM=";
}
];
};
};
programs.firefox = {
enable = true;
# package = lib.mkIf custom.gui.darwin.enable pkgs.firefox-bin or pkgs.firefox;
package = if config.custom.gui.darwin.enable then pkgs.firefox-bin else pkgs.firefox;
};
home.sessionVariables = lib.mkIf config.custom.gui.darwin.enable {
MOZ_LEGACY_PROFILES = "1";
};
# launchd.user.envVariables = lib.mkIf config.custom.gui.darwin.enable {
# MOZ_LEGACY_PROFILES = "1";
# };
home.packages = with pkgs; [
# globalprotect-openconnect
# firefox
# fonts
custom.sf-mono
custom.sf-symbols
ultimate-oldschool-pc-font-pack
vista-fonts
nerd-fonts.ubuntu-mono
nerd-fonts.iosevka
nerd-fonts.fira-code
nerd-fonts.sauce-code-pro
nerd-fonts.inconsolata
nerd-fonts.inconsolata-go
nerd-fonts.droid-sans-mono
nerd-fonts.space-mono
nerd-fonts.dejavu-sans-mono
]
++ lib.optionals config.custom.gui.darwin.enable [
raycast
custom.whatsapp-for-mac
]
++ lib.optionals config.custom.gui.linux.enable [
zotero
zoom-us
spotify
slack
webex
whatsapp-for-linux
teams-for-linux
skypeforlinux
inputs.zen-browser.packages."${system}".twilight
chromium
arandr
seahorse # gnome keyring
xfce.thunar
xfce.thunar-volman
xclip
quickemu
gf # debugger
];
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
};
qt = {
enable = config.custom.gui.linux.enable;
platformTheme.name = "adwaita";
style.name = "adwaita-dark";
};
services.redshift = {
enable = config.custom.gui.linux.enable;
# provider = "geoclue2";
provider = "manual";
# madison
latitude = "43.07305000";
longitude = "-89.40123000";
# chicago
# latitude = "41.85003000";
# longitude = "-87.65005000";
};
};
}