aboutsummaryrefslogtreecommitdiff
path: root/home/rices/cassette-futurism/xfce.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home/rices/cassette-futurism/xfce.nix')
-rw-r--r--home/rices/cassette-futurism/xfce.nix137
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";
+ };
+}