summaryrefslogtreecommitdiff
path: root/.config/guix/modules/services/xorg.scm
blob: 070a3600eeb84ee71a900d3a3d666e984a1728ad (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
(define-module (services xorg)
  #:use-module (gnu)
  #:use-module (gnu home services)
  #:use-module (gnu home services desktop)
  #:use-module (guix gexp)
  #:use-module (guix packages)
  #:use-module (gnu packages suckless)
  #:use-module (ymir)
  #:export (bd-desktop-system-services
            bd-desktop-home-services
            ))

(use-service-modules audio desktop networking
                     sound xorg)

(define %keyboard-udev-rule
  (udev-rule
   "90-keyboard-hotplug.rules"
   (string-append "ATTR{idVendor}==\"04b4\", ATTR{idProduct}==\"0510\", ACTION==\"add\", RUN+=\"/run/current-system/profile/bin/touch /tmp/keyboard_plugged\" RUN+=\"/run/current-system/profile/bin/chown " username " /tmp/keyboard_plugged\"")))

(define bd-desktop-system-services
  (list
   (service screen-locker-service-type
            (screen-locker-configuration
             (name "slock")
             (program (file-append slock "/bin/slock"))))

   (service x11-socket-directory-service-type)
   (udev-rules-service 'keyboard-hotplug %keyboard-udev-rule)

   (service pulseaudio-service-type)
   (service alsa-service-type)))

(define bd-desktop-home-services
  (list
   (simple-service 'dotfiles
                   home-files-service-type
                   `((".Xmodmap"
                      ,(plain-file "Xmodmap" "
clear      lock
clear   control
clear      mod1
clear      mod2
clear      mod3
clear      mod4
clear      mod5
keycode      37 = Hyper_L
keycode      66 = Control_L
add     control = Control_L Control_R
add        mod1 = Alt_L Alt_R Meta_L
add        mod2 = Num_Lock
add        mod3 = Hyper_L
add        mod4 = Super_L Super_R
add        mod5 = Mode_switch ISO_Level3_Shift
"))
                     (".Xresources"
                      ,(plain-file "Xresources" "
Nsxiv.window.background: #000000
Nsxiv.window.foreground: #FFFFFF
Nsxiv.bar.font: Terminus:size=9
"))
                     (".xinitrc"
                      ,(plain-file "xinitrc" "
#!/bin/sh

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap

# merge in defaults and keymaps

if [ -f \"$userresources\" ]; then

    xrdb -merge \"$userresources\"

fi

if [ -f \"$usermodmap\" ]; then
    xmodmap \"$usermodmap\"
fi

picom --backend=glx &
xss-lock -- slock &
xset r rate 250 70
xset s 600
touchpad-defaults
xrandr-toggle
xkeyboard-auto &
exec emacs -mm"))
                     (".config/gtk-2.0/settings.ini"
                      ,(plain-file "settings.ini" "
[Settings]
gtk-application-prefer-dark-theme=1\n"))
                     (".config/gtk-3.0/settings.ini"
                      ,(plain-file "settings.ini" "
[Settings]
gtk-application-prefer-dark-theme=1\n"))))))