nix/home/gui.nix
2025-12-02 23:00:51 -06:00

131 lines
3 KiB
Nix

{
lib,
pkgs,
config,
inputs,
...
}:
{
imports = [
./i3
./hammerspoon.nix
./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";
};
vscode = {
enable = mkEnableOption "Enable VSCode";
};
firefox = {
enable = mkEnableOption "Enable Firefox";
};
};
config = lib.mkMerge [
{
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
nerd-fonts.symbols-only
];
}
(lib.mkIf config.custom.gui.default.enable {
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
show-battery-percentage = true;
clock-format = "12h";
};
};
})
(lib.mkIf config.custom.gui.vscode.enable {
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=";
}
];
};
};
})
(lib.mkIf config.custom.gui.firefox.enable {
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";
};
})
(lib.mkIf config.custom.gui.darwin.enable {
home.packages = with pkgs; [
];
})
(lib.mkIf config.custom.gui.linux.enable {
home.packages = with pkgs; [
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
];
})
];
}