summaryrefslogtreecommitdiff
path: root/profiles/graphical/suckless.nix
blob: 47d989e416a95321189fdfdbed4f88f61c229e66 (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
{
  self,
  pkgs,
  lib,
  machine,
  ...
}: with lib; mkIf (!machine.isDarwin) {
  nixpkgs.overlays = [(import (self + "/overlays/suckless.nix") {inherit pkgs; home = self;})];
  services.xserver.enable = true;
  services.xserver.displayManager.startx.enable = true;
  services.libinput.enable = true;
  hm = {
    xsession = {
      enable = true;
    };
    services.picom = {
      enable = true;
      activeOpacity = 1;
      inactiveOpacity = 0.7;
      opacityRules = [
        "100:class_g = 'Wfica'"
        "100:class_g = 'dwm'"
        "100:class_g = 'Zathura'"
        "100:name *= 'Firefox'"
        "100:name *= 'mpv'"
        "100:name *= 'LibreWolf'"
        "100:name *= 'Steam'"
        "100:name *= 'Risk of Rain'"
        "100:name *= 'KVM'"
      ];
      settings = {
        inactive-opacity-override = false;
        frame-opacity = 1;
      };
    };
    services.dunst = {
      enable = true;
      settings = {
        global = {
          monitor = 0;
          follow = "keyboard";
          width = 370;
          height = 350;
          offset = "0x19";
          padding = 2;
          horizontal_padding = 2;
          transparency = 0;
          font = "Monospace 12";
          format = "<b>%s</b>\\n%b";
        };
        urgency_low = {
          background = "#1d2021";
          foreground = "#928374";
          timeout = 3;
        };
        urgency_normal = {
          foreground = "#ebdbb2";
          background = "#458588";
          timeout = 5;
        };
        urgency_critical = {
          background = "#1cc24d";
          foreground = "#ebdbb2";
          frame_color = "#fabd2f";
          timeout = 10;
        };
      };
    };
    home.packages = with pkgs; [
      libnotify
      sxiv
      st
      dwm
      dwmblocks
      pywal
      inotify-tools

      (nerdfonts.override {fonts = ["FiraCode" "JetBrainsMono"];})
      dmenu
      librewolf
      xclip
      xdotool
      maim
      asciinema
      asciinema-agg
    ];
  };
}