nix/home/gui.nix

166 lines
3.9 KiB
Nix

{
lib,
pkgs,
config,
inputs,
...
}:
{
imports = [
./i3
./hammerspoon.nix
./kitty.nix
./ghostty.nix
./zathura.nix
./sioyek.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";
};
qutebrowser = {
enable = mkEnableOption "Enable qutebrowser";
};
};
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 {
home.packages = with pkgs; [
qutebrowser
];
})
(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 = [ ];
})
(lib.mkIf config.custom.gui.linux.enable {
xdg.mimeApps = {
enable = true;
defaultApplications = {
"text/html" = "firefox.desktop";
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = "firefox.desktop";
"x-scheme-handler/about" = "firefox.desktop";
"x-scheme-handler/unknown" = "firefox.desktop";
};
};
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
show-battery-percentage = true;
clock-format = "12h";
};
};
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
};
qt = {
enable = true;
style = {
name = "adwaita-dark";
};
};
home.packages = with pkgs; [
zotero
zoom-us
spotify
slack
webex
wasistlos
teams-for-linux
inputs.zen-browser.packages."${system}".twilight
chromium
arandr
autorandr
seahorse # gnome keyring
xfce.thunar
xfce.thunar-volman
xclip
quickemu
gf # debugger
];
})
];
}