summaryrefslogtreecommitdiffstats
path: root/x11.nix
blob: 743ffd0f79e3d850438a223b53a0d85f5c40ef3d (plain) (blame)
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
{ config, pkgs, ... }:
{
  services.displayManager.ly = {
    enable = true;
    settings = {
      animation = "gameoflife";
      clock = "%c";
      vi_mode = true;
      vi_default_mode = "insert";
      numlock = true;
      bigclock = "en";
      bigclock_seconds = true;
    };

  };

  services.dunst = {
    enable = true;
  };

  services.xserver = {
    enable = true;
    autorun = true;
    enableTearFree = true;
    windowManager.dwm.enable = true;
    desktopManager.runXdgAutostartIfNone = false;
    displayManager = {
      setupCommands = "";
      sessionCommands = ''
        		#!/bin/sh
        		${pkgs.xrandr}/bin/xrandr --output DP-3 --primary --mode 2560x1440 --rate 180 --pos 0x0 --output DP-2 --mode 1920x1080 --rate 160 --pos 2560x360
        		${pkgs.feh}/bin/feh --no-fehbg --bg-fill '/home/andrew/Wallpapers/Daniel_in_the_Lions_Den_by_Briton_Riviere.jpg'
      '';
    };
    xkb = {
      layout = "us";
      options = "caps:escape";
    };
    config = ''
      Section "InputClass"
        Identifier "Kinesis Advantage 360"
        MatchIsKeyboard "on"
        MatchVendor "Kinesis"
        Option "XkbModel" "kinesis"
        Option "XkbLayout" "us"
      EndSection
    '';
  };

  services.picom = {
    enable = true;
  };

  hjem.users.andrew = {
    files = {
      ".config/sxhkd/sxhkdrc".text = builtins.readFile (
        pkgs.replaceVars ./dotfiles/sxhkd/sxhkdrc {
          dmenu = pkgs.dmenu;
          st = pkgs.st;
          surf = pkgs.surf;
          pamixer = pkgs.pamixer;
          maim = pkgs.maim;
          xdotool = pkgs.xdotool;
          xclip = pkgs.xclip;
          lockscreen = pkgs.lock-screen;
          sfeed = pkgs.sfeed;
          rmpc = pkgs.rmpc;
          mpc = pkgs.mpc;
          librewolf = pkgs.librewolf;
        }
      );
    };
  };

  systemd.user.services.sxhkd = {
    description = "Simple X Hot Key Daemon (sxhkd)";

    path = with pkgs; [
      dmenu
      st

      pamixer

      maim
      xdotool
      xclip

      lock-screen

      sfeed

      rmpc
      mpc

      surf
      librewolf
      surf_search
    ];

    environment = {
      SFEED_PLUMBER = "surf";
      SFEED_URL_FILE = "/home/andrew/.local/share/sfeed/sfeed_read_url_file";
    };

    serviceConfig = {
      ExecStart = "${pkgs.sxhkd}/bin/sxhkd";
      Restart = "on-failure";
    };
    wantedBy = [ "graphical-session.target" ];
  };

  systemd.user.services.slstatus = {
    description = "slstatus bar";
    wantedBy = [ "graphical-session.target" ];

    path = with pkgs; [
      pamixer
      scrolling-title
    ];

    serviceConfig = {
      ExecStart = "${pkgs.slstatus}/bin/slstatus";

      Restart = "always";
      RestartSec = "1s";
    };
  };
}