-
Notifications
You must be signed in to change notification settings - Fork 0
/
xmonad.nix
84 lines (76 loc) · 3.01 KB
/
xmonad.nix
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
# TODO this
# Enable the X11 windowing system.
services.xserver = {
enable = true;
# layout = "de";
# synaptics.enable = true;
# synaptics.accelFactor = "0.01";
# synaptics.twoFingerScroll = true;
# synaptics.additionalOptions = ''
# Option "VertScrollDelta" "-112"
# Option "HorizScrollDelta" "-112"
# Option "TapButton2" "3"
# Option "TapButton3" "2"
# '';
# xkbOptions = "ctrl:nocaps";
displayManager.job.logToJournal = true;
displayManager.lightdm.enable = true;
displayManager.lightdm.autoLogin = {
enable = true;
user = "david";
};
displayManager.lightdm.greeter.enable = false;
# TODO autologin only if hard drive is encrypted
desktopManager.session =
[ { name = "custom";
start = ''
# TODO put xresources into nixos config
${pkgs.xlibs.xrdb}/bin/xrdb -load ${./Xresources}
${pkgs.autocutsel}/bin/autocutsel -s PRIMARY -f
${pkgs.autocutsel}/bin/autocutsel -s SELECTION -f
${pkgs.compton}/bin/compton
${pkgs.unclutter}/bin/unclutter -idle 5 -root
${pkgs.xlibs.xset}/bin/xset -b
# TODO put conkyrc into nixos config
sleep 2 && ${pkgs.conky}/bin/conky
# TODO put dunstrc into nixos config
sleep 5 && ${pkgs.dunst}/bin/dunst
sleep 7 && ${pkgs.emacs}/bin/emacsclient -c -a emacs
sleep 7 && ${pkgs.chromium}/bin/chromium
'';
}
];
# [ { name = "custom";
# start = ''
# # Lock
# ${expr.lock}/bin/lock
# ${expr.lock-suspend}/bin/lock-on-suspend &
# ${pkgs.haskellPackages.xmobar}/bin/xmobar --dock --alpha 200 &
# ${pkgs.stalonetray}/bin/stalonetray --slot-size 22 --icon-size 20 --geometry 9x1-0 --icon-gravity NE --grow-gravity E -c /dev/null --kludges fix_window_pos,force_icons_size,use_icons_hints --transparent --tint-level 200 &> /dev/null &
# ${pkgs.xlibs.xrdb}/bin/xrdb -load ${./Xresources}
# # Autostart
# ${pkgs.lib.optionalString (!buildVM) ''
# ${pkgs.rxvt_unicode}/bin/urxvt -title "IRC bennofs" -e ${pkgs.weechat}/bin/weechat &
# ''}
# ${pkgs.rxvt_unicode}/bin/urxvtd &
# ${pkgs.pasystray}/bin/pasystray &> /dev/null &
# ${pkgs.unclutter}/bin/unclutter -idle 3 &
# ${pkgs.pythonPackages.udiskie}/bin/udiskie --tray &
# ${pkgs.wpa_supplicant_gui}/bin/wpa_gui -q -t &
# ${pkgs.dunst}/bin/dunst -cto 4 -nto 2 -lto 1 -config ${./dunstrc} &
# syndaemon -i 1 -R -K -t -d
# trap 'trap - SIGINT SIGTERM EXIT && kill 0 && wait' SIGINT SIGTERM EXIT
# ${pkgs.lib.optionalString buildVM '' ${pkgs.rxvt_unicode}/bin/urxvt '' }
# '';
# }
# ];
desktopManager.default = "custom";
desktopManager.xterm.enable = false;
# TODO is this needed?
windowManager.default = "xmonad";
windowManager.xmonad = {
enable = true;
enableContribAndExtras = true;
extraPackages = haskellPackages : [ haskellPackages.split ];
};
};