feat(desktop): music, shepherd, mcron, aw

This commit is contained in:
Pavel Korytov 2021-06-18 17:05:28 +03:00
parent 4707940163
commit 198156ab88
7 changed files with 129 additions and 24 deletions

View file

@ -6,10 +6,13 @@
"copyq" "copyq"
"feh" "feh"
"network-manager-applet" "network-manager-applet"
"pavucontrol"
"ponymix"
"light" "light"
"arandr" "arandr"
"xprop" "xprop"
"xrandr" "xrandr"
"activitywatch-bin"
"flatpak" "flatpak"
"zathura-djvu" "zathura-djvu"
"zathura-pdf-poppler" "zathura-pdf-poppler"

View file

@ -0,0 +1,6 @@
(specifications->manifest
'(
"msmtp"
"parallel"
"notmuch"
"python-lieer"))

View file

@ -1,5 +1,6 @@
(specifications->manifest (specifications->manifest
'( '(
"mpd-mpc"
"mpd-watcher" "mpd-watcher"
"picard" "picard"
"ncmpcpp" "ncmpcpp"

View file

@ -311,13 +311,13 @@ mode "apps" {
# [[file:../../Desktop.org::*Media controls & brightness][Media controls & brightness:1]] # [[file:../../Desktop.org::*Media controls & brightness][Media controls & brightness:1]]
# Pulse Audio controls # Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id "pactl set-sink-volume @DEFAULT_SINK@ +5%" bindsym XF86AudioRaiseVolume exec --no-startup-id "ponymix increase 5"
bindsym XF86AudioLowerVolume exec --no-startup-id "pactl set-sink-volume @DEFAULT_SINK@ -5%" bindsym XF86AudioLowerVolume exec --no-startup-id "ponymix decrease 5"
bindsym XF86AudioMute exec --no-startup-id "pactl set-sink-mute @DEFAULT_SINK@ toggle" bindsym XF86AudioMute exec --no-startup-id "ponymix toggle"
exec --no-startup-id xmodmap -e 'keycode 135 = Super_R' && xset -r 135 exec --no-startup-id xmodmap -e 'keycode 135 = Super_R' && xset -r 135
bindsym $mod+F2 exec --no-startup-id "pactl set-sink-volume @DEFAULT_SINK@ -5%" bindsym $mod+F2 exec --no-startup-id "ponymix increase 5"
bindsym $mod+F3 exec --no-startup-id "pactl set-sink-volume @DEFAULT_SINK@ +5%" bindsym $mod+F3 exec --no-startup-id "ponymix decrease 5"
# Media player controls # Media player controls
bindsym XF86AudioPlay exec mpc toggle bindsym XF86AudioPlay exec mpc toggle
@ -390,12 +390,13 @@ exec --no-startup-id nm-applet
# Stuff # Stuff
# exec aw-qt # exec aw-qt
exec "bash ~/bin/aw-start" # exec "bash ~/bin/aw-start"
# exec shepherd
# exec "vnstatd -d" # exec "vnstatd -d"
exec dunst exec dunst
# exec kde-connect-indicator # exec kde-connect-indicator
exec copyq exec copyq
exec "xmodmap ~/.Xmodmap" exec "xmodmap ~/.Xmodmap"
# exec "xrdb -merge ~/.Xresources" # exec "xrdb -merge ~/.Xresources"
exec "bash ~/bin/autostart.sh" # exec "bash ~/bin/autostart.sh"
# Autostart:1 ends here # Autostart:1 ends here

View file

@ -16,15 +16,15 @@ audio_output {
format "44100:16:2" format "44100:16:2"
} }
visualizer_fifo_path = /tmp/mpd.fifo # visualizer_fifo_path = /tmp/mpd.fifo
visualizer_output_name = Visualizer feed visualizer_output_name = Visualizer feed
visualizer_in_stereo = yes visualizer_in_stereo = yes
visualizer_sync_interval = 30 # visualizer_sync_interval = 30
# Available values: spectrum, wave, wave_filled, ellipse. # Available values: spectrum, wave, wave_filled, ellipse.
visualizer_type = spectrum # visualizer_type = spectrum
visualizer_look = ●▮ visualizer_look = ●▮
#visualizer_color = blue, cyan, green, yellow, magenta, red #visualizer_color = blue, cyan, green, yellow, magenta, red
visualizer_color = 41, 83, 119, 155, 185, 215, 209, 203, 197, 161 visualizer_color = 41, 83, 119, 155, 185, 215, 209, 203, 197, 161

View file

@ -2,7 +2,7 @@
(make <service> (make <service>
#:provides '(mpd) #:provides '(mpd)
#:respawn? #t #:respawn? #t
#:start (make-system-constructor "mpd") #:start (make-forkexec-constructor '("mpd" "--no-daemon"))
#:stop (make-kill-destructor))) #:stop (make-kill-destructor)))
(define mpd-watcher (define mpd-watcher
@ -13,8 +13,44 @@
#:stop (make-kill-destructor) #:stop (make-kill-destructor)
#:requires '(mpd))) #:requires '(mpd)))
(register-services mpd mpd-watcher) (define mcron
(make <service>
#:provides '(mcron)
#:respawn? #t
#:start (make-forkexec-constructor '("mcron"))
#:stop (make-kill-destructor)))
(define aw-server
(make <service>
#:provides '(aw-server)
#:respawn? #t
#:start (make-forkexec-constructor '("aw-server"))
#:stop (make-kill-destructor)))
(define aw-watcher-afk
(make <service>
#:provides '(aw-watcher-afk)
#:requires '(aw-server)
#:respawn? #t
#:start (make-forkexec-constructor '("aw-watcher-afk"))
#:stop (make-kill-destructor)))
(define aw-watcher-window
(make <service>
#:provides '(aw-watcher-window)
#:requires '(aw-server)
#:respawn? #t
#:start (make-forkexec-constructor '("aw-watcher-window"))
#:stop (make-kill-destructor)))
(register-services
mpd
mpd-watcher
mcron
aw-server
aw-watcher-afk
aw-watcher-window)
(action 'shepherd 'daemonize) (action 'shepherd 'daemonize)
(for-each start '(mpd mpd-watcher)) (for-each start '(mpd mpd-watcher mcron aw-server aw-watcher-afk aw-watcher-window))

View file

@ -561,13 +561,13 @@ mode "apps" {
*** Media controls & brightness *** Media controls & brightness
#+begin_src conf-space #+begin_src conf-space
# Pulse Audio controls # Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id "pactl set-sink-volume @DEFAULT_SINK@ +5%" bindsym XF86AudioRaiseVolume exec --no-startup-id "ponymix increase 5"
bindsym XF86AudioLowerVolume exec --no-startup-id "pactl set-sink-volume @DEFAULT_SINK@ -5%" bindsym XF86AudioLowerVolume exec --no-startup-id "ponymix decrease 5"
bindsym XF86AudioMute exec --no-startup-id "pactl set-sink-mute @DEFAULT_SINK@ toggle" bindsym XF86AudioMute exec --no-startup-id "ponymix toggle"
exec --no-startup-id xmodmap -e 'keycode 135 = Super_R' && xset -r 135 exec --no-startup-id xmodmap -e 'keycode 135 = Super_R' && xset -r 135
bindsym $mod+F2 exec --no-startup-id "pactl set-sink-volume @DEFAULT_SINK@ -5%" bindsym $mod+F2 exec --no-startup-id "ponymix increase 5"
bindsym $mod+F3 exec --no-startup-id "pactl set-sink-volume @DEFAULT_SINK@ +5%" bindsym $mod+F3 exec --no-startup-id "ponymix decrease 5"
# Media player controls # Media player controls
bindsym XF86AudioPlay exec mpc toggle bindsym XF86AudioPlay exec mpc toggle
@ -578,7 +578,6 @@ bindsym XF86AudioPrev exec mpc prev
# Screen brightness # Screen brightness
bindsym XF86MonBrightnessUp exec light -A 5 bindsym XF86MonBrightnessUp exec light -A 5
bindsym XF86MonBrightnessDown exec light -U 5 bindsym XF86MonBrightnessDown exec light -U 5
#+end_src #+end_src
*** Screenshots *** Screenshots
#+begin_src conf-space #+begin_src conf-space
@ -694,14 +693,15 @@ exec --no-startup-id nm-applet
# Stuff # Stuff
# exec aw-qt # exec aw-qt
exec "bash ~/bin/aw-start" # exec "bash ~/bin/aw-start"
exec shepherd
# exec "vnstatd -d" # exec "vnstatd -d"
exec dunst exec dunst
# exec kde-connect-indicator # exec kde-connect-indicator
exec copyq exec copyq
exec "xmodmap ~/.Xmodmap" exec "xmodmap ~/.Xmodmap"
# exec "xrdb -merge ~/.Xresources" # exec "xrdb -merge ~/.Xresources"
exec "bash ~/bin/autostart.sh" # exec "bash ~/bin/autostart.sh"
#+end_src #+end_src
* Polybar * Polybar
:PROPERTIES: :PROPERTIES:
@ -2127,6 +2127,7 @@ I previously used supervisor, but shepherd also seems pretty capable.
| music | ncmpcpp | | music | ncmpcpp |
| music | picard | | music | picard |
| music | mpd-watcher | | music | mpd-watcher |
| music | mpd-mpc |
Music player daemon Music player daemon
#+begin_src scheme #+begin_src scheme
@ -2134,7 +2135,7 @@ Music player daemon
(make <service> (make <service>
#:provides '(mpd) #:provides '(mpd)
#:respawn? #t #:respawn? #t
#:start (make-system-constructor "mpd") #:start (make-forkexec-constructor '("mpd" "--no-daemon"))
#:stop (make-kill-destructor))) #:stop (make-kill-destructor)))
#+end_src #+end_src
@ -2148,10 +2149,65 @@ MPD watcher
#:stop (make-kill-destructor) #:stop (make-kill-destructor)
#:requires '(mpd))) #:requires '(mpd)))
#+end_src #+end_src
** GNU Mcron
[[https://www.gnu.org/software/mcron/][GNU Mcron]] is a replacement for cron, written in Scheme.
#+begin_src scheme
(define mcron
(make <service>
#:provides '(mcron)
#:respawn? #t
#:start (make-forkexec-constructor '("mcron"))
#:stop (make-kill-destructor)))
#+end_src
** ActivityWatch
[[https://activitywatch.net/][ActivityWatch]] is a FOSS time tracker. It tracks screen and application usage and has integrations with browsers, Emacs, etc.
| Guix dependency |
|-------------------|
| activitywatch-bin |
aw-server
#+begin_src scheme
(define aw-server
(make <service>
#:provides '(aw-server)
#:respawn? #t
#:start (make-forkexec-constructor '("aw-server"))
#:stop (make-kill-destructor)))
#+end_src
aw-watcher-afk
#+begin_src scheme
(define aw-watcher-afk
(make <service>
#:provides '(aw-watcher-afk)
#:requires '(aw-server)
#:respawn? #t
#:start (make-forkexec-constructor '("aw-watcher-afk"))
#:stop (make-kill-destructor)))
#+end_src
aw-watcher-window
#+begin_src scheme
(define aw-watcher-window
(make <service>
#:provides '(aw-watcher-window)
#:requires '(aw-server)
#:respawn? #t
#:start (make-forkexec-constructor '("aw-watcher-window"))
#:stop (make-kill-destructor)))
#+end_src
** Shepherd config ** Shepherd config
Register services Register services
#+begin_src scheme #+begin_src scheme
(register-services mpd mpd-watcher) (register-services
mpd
mpd-watcher
mcron
aw-server
aw-watcher-afk
aw-watcher-window)
#+end_src #+end_src
Daemonize shepherd Daemonize shepherd
@ -2161,7 +2217,7 @@ Daemonize shepherd
Run services Run services
#+begin_src scheme #+begin_src scheme
(for-each start '(mpd mpd-watcher)) (for-each start '(mpd mpd-watcher mcron aw-server aw-watcher-afk aw-watcher-window))
#+end_src #+end_src
* Guix settings * Guix settings
Other desktop programs I use are listed below. Other desktop programs I use are listed below.
@ -2172,6 +2228,8 @@ Other desktop programs I use are listed below.
| xprop | Tool to display properties of X windows | | xprop | Tool to display properties of X windows |
| arandr | GUI to xrandr | | arandr | GUI to xrandr |
| light | Control screen brightness | | light | Control screen brightness |
| ponymix | Control PulseAudio CLI |
| pavucontrol | Control PulseAudio GUI |
| network-manager-applet | Applet to manage network connections | | network-manager-applet | Applet to manage network connections |
| feh | Image viewer. Used to set background | | feh | Image viewer. Used to set background |
| copyq | Clipboard manager | | copyq | Clipboard manager |