{ config, pkgs, osConfig, ... }: let vars = import ./variables.nix; # Access system-level Stylix wallpaper wallpaperPath = osConfig.stylix.image; in { # XFCE configuration via xfconf # Cassette futurism aesthetic with hidden menubars and retro settings xfconf.settings = { # Panel configuration xfce4-panel = { panels = [{ position = "p=8;x=0;y=0"; # Top panel size = 32; length = 100; autohide = false; background-style = 0; # System style }]; }; # Window Manager (xfwm4) xfwm4 = { general = { # Disable built-in compositor (picom handles effects) use_compositing = false; # Window snapping snap_to_border = true; snap_to_windows = true; snap_width = 10; # Font title_font = "JetBrainsMono Nerd Font 11"; # Opacity inactive_opacity = 90; move_opacity = 90; resize_opacity = 90; popup_opacity = 90; }; }; # Desktop settings xfce4-desktop = { backdrop = { screen0 = { monitor0 = { workspace0 = { # Apply cassette futurism wallpaper color-style = 0; image-style = 3; # Scaled last-image = "${wallpaperPath}"; }; }; }; }; desktop-icons = { # Hide all desktop icons file-icons = { show-filesystem = false; show-home = false; show-trash = false; show-removable = false; }; }; }; # Thunar file manager thunar = { # Hide menubar last-menubar-visible = false; # Show hidden files by default last-show-hidden = true; # Icon view as default last-view = "ThunarIconView"; # Misc settings misc-single-click = false; misc-folders-first = true; }; # xfce4-terminal xfce4-terminal = { # Hide menubar misc-menubar-default = false; # Unlimited scrolling scrolling-unlimited = true; # Font (Stylix handles this, but set fallback) font-name = "JetBrainsMono Nerd Font 11"; # Misc misc-bell = false; misc-cursor-blinks = true; misc-cursor-shape = "TERMINAL_CURSOR_SHAPE_BLOCK"; }; # GTK settings (theme is handled by Stylix) xsettings = { # Prefer dark theme "Gtk/ApplicationPreferDarkTheme" = 1; # Toolbar icons only (no text) "Gtk/ToolbarStyle" = 3; # Icons only "Gtk/ToolbarIconSize" = 3; # Large icons # Font rendering (Stylix handles fonts, but these are good defaults) "Xft/Antialias" = 1; "Xft/Hinting" = 1; "Xft/HintStyle" = "hintslight"; "Xft/RGBA" = "rgb"; "Xft/DPI" = 96; }; }; # GTK theming - let Stylix handle colors, we just hide menubars gtk = { enable = true; gtk3.extraCss = '' /* Hide menubars globally in GTK3 applications */ .menubar { opacity: 0; min-height: 0; padding: 0; margin: 0; } ''; gtk4.extraCss = '' /* Hide menubars in GTK4 applications */ .menubar { opacity: 0; min-height: 0; padding: 0; margin: 0; } ''; }; }