diff options
| author | Natasha Moongrave <natasha@256phi.eu> | 2026-04-05 17:39:14 +0200 |
|---|---|---|
| committer | Natasha Moongrave <natasha@256phi.eu> | 2026-04-05 17:39:14 +0200 |
| commit | 65b13cda8d89386961c725b6a77c29a26c5af72a (patch) | |
| tree | 7ec914119e3ebdf089ec549ad9cfb3e4133fc3aa /home/rices/cassette-futurism/xfce.nix | |
| parent | d9a13ba9e7b38c1f03049e7d79377661e0b9c036 (diff) | |
Refactor cassette-futurism rice from KDE Plasma to XFCE
- Replace KDE Plasma 6 with XFCE desktop environment
- Remove plasma.nix (KDE config), add xfce.nix (XFCE config via xfconf)
- Add picom.nix compositor with CRT green glow effects (#00FF00 shadows)
- Configure XFCE with hidden menubars, dark theme, and retro aesthetics
- Replace KDE packages with XFCE equivalents (konsole→xfce4-terminal, kate→mousepad, gwenview→ristretto, spectacle→xfce4-screenshooter)
- Keep ly display manager, preserve all Stylix theming (cassette colors, NGE wallpaper, fonts)
- Lower memory usage and faster startup compared to KDE Plasma
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'home/rices/cassette-futurism/xfce.nix')
| -rw-r--r-- | home/rices/cassette-futurism/xfce.nix | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/home/rices/cassette-futurism/xfce.nix b/home/rices/cassette-futurism/xfce.nix new file mode 100644 index 0000000..3f920d8 --- /dev/null +++ b/home/rices/cassette-futurism/xfce.nix @@ -0,0 +1,137 @@ +{ + config, + pkgs, + ... +}: let + vars = import ./variables.nix; +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 = { + # Wallpaper is handled by Stylix + image-style = 3; # Scaled + }; + }; + }; + }; + + 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 + xsettings = { + # Dark theme preference + "Net/ThemeName" = "Adwaita-dark"; + "Gtk/ApplicationPreferDarkTheme" = 1; + + # Toolbar icons only (no text) + "Gtk/ToolbarStyle" = 3; # Icons only + "Gtk/ToolbarIconSize" = 3; # Large icons + + # Font rendering + "Xft/Antialias" = 1; + "Xft/Hinting" = 1; + "Xft/HintStyle" = "hintslight"; + "Xft/RGBA" = "rgb"; + "Xft/DPI" = 96; + }; + }; + + # Additional GTK settings for menubar hiding + gtk.gtk3.extraCss = '' + /* Hide menubars globally in GTK3 applications */ + .menubar { + opacity: 0; + min-height: 0; + padding: 0; + margin: 0; + } + ''; + + # Session variables + home.sessionVariables = { + # Ensure GTK uses dark theme + GTK_THEME = "Adwaita-dark"; + }; +} |
