inputs: { config, lib, pkgs, ... }: { imports = [ (import ./graphical/alacritty.nix inputs) (import ./graphical/firefox.nix inputs) (import ./graphical/mpv.nix inputs) (import ./graphical/rofi.nix inputs) (import ./graphical/sway.nix inputs) (import ./graphical/waybar.nix inputs) (import ./graphical/zathura.nix inputs) ]; users.extraUsers.minijackson.packages = with pkgs; [ arandr dconf gnome3.eog gnome3.evince gnome3.file-roller gnome3.gnome-disk-utility gnome3.gucharmap gnome3.nautilus jq qutebrowser xdg-utils xsel (wrapMpv mpv-unwrapped {scripts = with pkgs.mpvScripts; [mpris sponsorblock];}) ]; programs.evolution.enable = true; services.gnome.gnome-keyring.enable = true; services.gvfs.enable = true; fonts = { enableDefaultFonts = true; fonts = with pkgs; [ fira fira-mono dejavu_fonts freefont_ttf liberation_ttf noto-fonts-cjk #fira-mono-italic lmodern # Symbols unifont siji font-awesome_5 #joypixels # Collections league-of-moveable-type nerdfonts ]; fontconfig = { #ultimate.enable = true; defaultFonts = { serif = ["DejaVu Serif"]; sansSerif = ["DejaVu Sans"]; monospace = ["FiraMono Nerd Font"]; #emoji = [ "JoyPixels" ]; }; }; }; hardware.opengl.enable = true; programs.dconf.enable = true; qt5 = { enable = true; style = "adwaita-dark"; platformTheme = "gnome"; }; environment.systemPackages = with pkgs; [qgnomeplatform adwaita-qt]; xdg = { sounds.enable = true; portal = { enable = true; extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; gtkUsePortal = true; }; }; programs.gnupg.agent.pinentryFlavor = "gtk2"; # For KDEConnect networking.firewall.allowedTCPPortRanges = [ { from = 1714; to = 1764; } ]; networking.firewall.allowedUDPPortRanges = [ { from = 1714; to = 1764; } ]; home-manager.users.minijackson = { gtk = { enable = true; iconTheme = { # TODO: properly modify the colors package = pkgs.unstable.tela-circle-icon-theme.override { colorVariants = ["brown"]; }; name = "Tela-circle-brown-dark"; }; theme = let color = if config.theme.colors.dominantName == "cyan" then "teal" else config.theme.colors.dominantName; in { package = pkgs.unstable.graphite-gtk-theme.override { themeVariants = [color]; sizeVariants = ["compact"]; tweaks = ["normal" "rimless"]; }; name = "Graphite-${color}-dark-compact"; }; gtk4.extraConfig = { gtk-application-prefer-dark-theme = true; }; }; services.kdeconnect = { enable = true; indicator = true; }; }; }