nixos-config/roles/gui.nix

111 lines
2.3 KiB
Nix

{
lib,
pkgs,
config,
username,
home-manager,
...
}:
with lib;
let
cfg = config.liv.gui;
in
{
options.liv.gui = {
enable = mkEnableOption "Enable GUI workflow";
};
config = mkIf cfg.enable {
services = {
gvfs = {
enable = true;
package = lib.mkForce pkgs.gnome.gvfs;
};
gnome.gnome-keyring.enable = true;
dbus.enable = true;
};
home-manager.users.${username} = {
fonts.fontconfig.enable = true;
gtk = {
enable = true;
font = {
name = "GohuFont 14 Nerd Font Mono";
size = 14;
};
theme = {
name = "Juno";
package = pkgs.juno-theme; # .override {
# colorVariants = [ "dark" ];
# themeVariants = [ "green" ];
# tweakVariants = [ "macos" ];
# };
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme.override {
color = "black";
};
};
cursorTheme = {
name = "Bibata-Modern-Ice";
package = pkgs.bibata-cursors;
size = 24;
};
};
home.pointerCursor = {
name = "Bibata-Modern-Ice";
package = pkgs.bibata-cursors;
size = 24;
};
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
};
home.packages = with pkgs; [
element-desktop
dino
signal-desktop
mumble
anki-bin
obs-studio
wdisplays
librewolf # main
ungoogled-chromium # for things that don't work with librewolf
nsxiv
imv
libreoffice
xfce.thunar
# spotify
spotify-player
thunderbird
lxqt.pavucontrol-qt
mpv
kdePackages.kdeconnect-kde
winbox
# onthespot-overlay
# Gaming
lunar-client
# Not GUI but specific to GUI usage
sshuttle
sshfs
# previously in hyprland config
# pkgs.nerdfonts
# (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
pkgs.twemoji-color-font
pkgs.noto-fonts-color-emoji
pkgs.swww
pkgs.swaylock
pkgs.pywal16
];
};
};
}