summaryrefslogtreecommitdiff
path: root/config/plasma/default.nix
blob: 5135f14e5c5883af70d04779886b2fe922698f6d (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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
{ home, pkgs, ... }:

{
  home.packages = [
    pkgs.bibata-cursors
    pkgs.papirus-icon-theme
  ];

  gtk = {
    enable = true;

    theme = { name = "Breeze"; };
    iconTheme = { name = "Papirus-Dark"; };

    font = { name = "UbuntuMono Nerd Font Mono"; };
  };

  programs.plasma = {
    enable = true;

    workspace = {
      lookAndFeel = "org.kde.breezedark.desktop";
      cursor = {
        theme = "Bibata-Modern-Classic";
        size = 18;
      };
      iconTheme = "Papirus-Dark";
      wallpaper = "/config/dist/wallpaper.png";
    };

    kscreenlocker.appearance.wallpaper = "/config/dist/wallpaper.png";

    fonts = {
      general = {
        family = "UbuntuMono Nerd Font";
        pointSize = 10;
      };
      
      fixedWidth = {
        family = "UbuntuMono Nerd Font Mono";
        pointSize = 10;
      };
    };

    hotkeys.commands."launch-alacritty" = {
      name = "Launch Alacritty";
      key = "Ctrl+Alt+T";
      command = "alacritty";
    };

    hotkeys.commands."launch-lg" = {
      name = "Launch Looking Glass";
      key = "Meta+G";
      command = "looking-glass-client -m 97";
    };

    kwin = {
      edgeBarrier = 0;
      cornerBarrier = false;

      titlebarButtons.left = [];
      titlebarButtons.right = [ "minimize" "maximize" "close"];

      effects.shakeCursor.enable = true;
      effects.translucency.enable = true;
      effects.wobblyWindows.enable = true;
    };

    configFile.kwinrc.MouseBindings.CommandAllKey = "Alt";

    shortcuts = {
      kwin = {
        "Window Operations Menu" = "Alt+Space";
      };
    };

    input.mice = [
      {
        /* cat /proc/bus/input/devices */
        vendorId = "06cb";
        productId = "ce81";
        name = "DLL0C55:00 06CB:CE81 Touchpad";
        middleButtonEmulation = true;
        naturalScroll = true;
      }
    ];

    panels = [
      {
        location = "bottom";
        widgets = [
          {
            name = "org.kde.plasma.kickoff";
            config = {
              General = {
                alphaSort = true;
              };
            };
          }

          {
            iconTasks = {
              launchers = [];
            };
          }

          "org.kde.plasma.marginsseparator"

          {
            systemTray.items = {
              shown = [
                "org.kde.plasma.battery"
                "org.kde.plasma.bluetooth"
                "org.kde.plasma.networkmanagement"
                "org.kde.plasma.volume"
              ];
            };
          }
          {
            digitalClock = {
              time.format = "24h";
            };
          }
        ];
      }
    ];
  };
}