aboutsummaryrefslogtreecommitdiff
path: root/home/rices/cassette-futurism/system.nix
blob: 1a4cc59d02282de1252cb3c3999a3ec422ca1293 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
{pkgs, ...}: let
  vars = import ./variables.nix;
in {
  # Desktop environment - XFCE
  services.xserver.desktopManager.xfce.enable = true;

  # Note: Using ly display manager from system/services.nix (not LightDM)

  services.xserver = {
    enable = true;
    xkb = {
      layout = "cz";
      options = "eurosign:e,caps:escape";
    };
  };

  # XFCE-specific packages
  environment.systemPackages = with pkgs; [
    # Core XFCE components
    xfce.xfce4-panel
    xfce.xfce4-settings
    xfce.xfce4-power-manager
    xfce.xfce4-notifyd
    xfce.thunar
    xfce.thunar-volman
    xfce.tumbler

    # XFCE applications (KDE replacements)
    xfce.xfce4-terminal    # replaces konsole
    xfce.mousepad          # replaces kate
    xfce.ristretto         # replaces gwenview
    xfce.xfce4-screenshooter  # replaces spectacle

    # Compositor for effects
    picom
  ];

  # Stylix configuration - cassette futurism
  # Only enable for TTY and system-level theming, XFCE is manually configured
  stylix = {
    enable = true;
    autoEnable = false;  # Disable auto-theming, we'll enable specific targets

    base16Scheme = vars.base16;

    # Use local cassette futurism wallpaper (NGE themed)
    image = ../../../assets/wallpapers/NGE_CF.jpg;

    fonts = {
      monospace = {
        package = pkgs.nerd-fonts.jetbrains-mono;
        name = "JetBrainsMono Nerd Font";
      };
      sansSerif = {
        package = pkgs.noto-fonts;
        name = "Noto Sans";
      };
      serif = {
        package = pkgs.nerd-fonts.jetbrains-mono;
        name = "JetBrainsMono Nerd Font";
      };
      emoji = {
        package = pkgs.noto-fonts-color-emoji;
        name = "Noto Color Emoji";
      };
      sizes = {
        terminal = 11;
        applications = 11;
        desktop = 11;
      };
    };

    cursor = {
      package = pkgs.bibata-cursors;
      name = "Bibata-Modern-Classic";
      size = 24;
    };

    opacity = {
      terminal = 0.90;
      applications = 0.95;
      desktop = 1.0;
      popups = 0.90;
    };

    polarity = "dark";

    # Enable only specific targets (TTY, not XFCE/GTK)
    targets = {
      console.enable = true;  # TTY theming
      nixos-icons.enable = false;
    };
  };
}