summaryrefslogtreecommitdiff
path: root/.config/guix/modules/services/xorg.scm
blob: c3e585f2ba0ad4e4953df40afe85fff1c9a4ebba (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
(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
                   `((".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 &
test -f ~/.xkb/symbols/rocker &&
    xkbcomp -I$HOME/.xkb ~/.xkb/keymap/rocket $DISPLAY
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"))))))