231 lines
8.9 KiB
Scheme
231 lines
8.9 KiB
Scheme
(define-module (oni home config rincewind)
|
|
#:use-module ((gnu home services guix)
|
|
#:select (home-channels-service-type))
|
|
#:use-module ((gnu home)
|
|
#:select (home-environment))
|
|
#:use-module ((gnu packages emacs)
|
|
#:select (emacs-next))
|
|
#:use-module ((gnu packages emacs-xyz)
|
|
#:select (emacs-litable
|
|
emacs-org-roam
|
|
emacs-vterm))
|
|
#:use-module ((gnu packages file-systems)
|
|
#:select (tmsu))
|
|
#:use-module ((gnu packages linux)
|
|
#:select (fakeroot))
|
|
#:use-module ((gnu packages music)
|
|
#:select (easytag))
|
|
#:use-module ((gnu packages video)
|
|
#:select (mpv
|
|
mpv-mpris))
|
|
#:use-module ((gnu packages wm)
|
|
#:select (stumpwm))
|
|
#:use-module ((gnu packages)
|
|
#:select (specification->package+output))
|
|
#:use-module ((gnu services)
|
|
#:select (service
|
|
simple-service))
|
|
#:use-module ((guix channels)
|
|
#:select (channel
|
|
make-channel-introduction
|
|
openpgp-fingerprint))
|
|
#:use-module ((oni home config common)
|
|
#:select (home-redshift-service
|
|
home-xbindkeys-service
|
|
home-zsh-service
|
|
home-guile-service
|
|
home-xmodmap-service
|
|
home-openssh-service
|
|
home-kitty-service))
|
|
#:use-module ((oni home services dunst)
|
|
#:select (home-dunst-default-service))
|
|
#:use-module ((oni home services emacs)
|
|
#:select (home-emacs-service-type
|
|
home-emacs-configuration))
|
|
#:use-module ((oni home services environment)
|
|
#:select (home-environment-service))
|
|
#:use-module ((oni home services flameshot)
|
|
#:select (home-flameshot-service-type))
|
|
#:use-module ((oni home services kdeconnect)
|
|
#:select (home-kdeconnect-service-type))
|
|
#:use-module ((oni home services mpd)
|
|
#:select (home-mpd-service-type
|
|
home-mpd-configuration
|
|
<home-mpd-audio-output>
|
|
home-mpc-update-service-type
|
|
home-mpd-notify-service-type))
|
|
#:use-module ((oni home services picom)
|
|
#:select (home-picom-service-type
|
|
home-picom-configuration))
|
|
#:use-module ((oni home services polybar)
|
|
#:select (home-polybar-service-type
|
|
home-polybar-configuration))
|
|
#:use-module ((oni home services rofi)
|
|
#:select (home-rofi-default-service))
|
|
#:use-module ((oni home services syncthing)
|
|
#:select (home-syncthing-service-type))
|
|
#:use-module ((oni home services zsh)
|
|
#:select (home-zsh-syntax-highlighting-service-type
|
|
home-zsh-autosuggestions-service-type))
|
|
#:use-module ((oni packages count-emails)
|
|
#:select (count-emails))
|
|
#:use-module ((oni packages emacs)
|
|
#:select (emacs-inkplate))
|
|
#:use-module ((oni packages emacs-config)
|
|
#:select (emacs-oni-org-roam))
|
|
#:use-module ((oni packages hlwm-run-or-raise)
|
|
#:select (hlwm-run-or-raise))
|
|
#:use-module ((oni packages inbox-size)
|
|
#:select (inbox-size))
|
|
#:use-module ((oni packages mpd-random-albums)
|
|
#:select (mpd-random-albums))
|
|
#:use-module ((oni packages notmuch-collect-tasks)
|
|
#:select (notmuch-collect-tasks))
|
|
#:use-module ((oni packages notmuch-tag-mailinglists)
|
|
#:select (notmuch-tag-mailinglists))
|
|
#:use-module ((oni packages pick-random-wallpaper)
|
|
#:select (pick-random-wallpaper))
|
|
#:use-module ((oni packages shutdown-rofi)
|
|
#:select (shutdown-rofi))
|
|
#:use-module ((oni packages emacs-outli)
|
|
#:select (emacs-outli))
|
|
#:use-module ((oop goops)
|
|
#:select (make)))
|
|
|
|
(define (with-master-branch package)
|
|
"Apply a transformation to PACKAGE so that it uses the master branch."
|
|
((options->transformation
|
|
`((with-branch . ,(string-append (package-name package) "=master"))))
|
|
package))
|
|
|
|
(define rincewind-picom-service
|
|
(service home-picom-service-type
|
|
(home-picom-configuration
|
|
(backend "glx")
|
|
(glx-no-stencil #t)
|
|
(detect-transient #t)
|
|
(shadow #t)
|
|
(shadow-radius 5)
|
|
(shadow-opacity 85)
|
|
(shadow-offset-x 15)
|
|
(shadow-offset-y 15)
|
|
(shadow-exclude
|
|
'("name = 'mowedline'"
|
|
"class_g = 'trayer'"
|
|
"bounding_shaped"
|
|
"name = 'xfreerdp'"))
|
|
(wintypes
|
|
'((dnd (shadow . #f))
|
|
(dock (shadow . #f))))
|
|
(corner-radius 15)
|
|
(inactive-opacity 75)
|
|
(active-opacity 95)
|
|
(frame-opacity 100)
|
|
(inactive-opacity-override #t)
|
|
(blur-background #t)
|
|
(blur-background-frame #t)
|
|
(blur
|
|
'((method . "dual_kawase")
|
|
(strength . 6.9)))
|
|
(blur-background-fixed #t)
|
|
(blur-background-exclude
|
|
'("name *= 'rofi'"
|
|
"name = 'xfreerdp'"))
|
|
(focus-exclude
|
|
'("name *= 'rofi'"
|
|
"name = 'xfreerdp'"))
|
|
(fading #t)
|
|
(fade-in-step 3)
|
|
(fade-out-step 3))))
|
|
|
|
(home-environment
|
|
(packages (list mpv mpv-mpris easytag
|
|
(specification->package+output "glibc-locales")
|
|
(specification->package+output "font-fantasque-sans")
|
|
(specification->package+output "font-comic-neue")
|
|
hlwm-run-or-raise
|
|
pick-random-wallpaper
|
|
notmuch-collect-tasks
|
|
notmuch-tag-mailinglists
|
|
(inbox-size emacs-next)
|
|
count-emails
|
|
shutdown-rofi
|
|
emacs-org-roam
|
|
emacs-vterm
|
|
fakeroot ; Needed for build arch packages
|
|
tmsu
|
|
mpd-random-albums
|
|
emacs-inkplate
|
|
emacs-outli
|
|
emacs-oni-org-roam
|
|
stumpwm))
|
|
|
|
(services
|
|
(list
|
|
home-environment-service
|
|
home-rofi-default-service
|
|
home-dunst-default-service
|
|
home-redshift-service
|
|
home-xbindkeys-service
|
|
home-zsh-service
|
|
home-guile-service
|
|
home-xmodmap-service
|
|
home-openssh-service
|
|
home-kitty-service
|
|
rincewind-picom-service
|
|
|
|
;; This has to be the first extension because it needs to be added to the
|
|
;; configuration last.
|
|
(service home-zsh-syntax-highlighting-service-type)
|
|
(service home-zsh-autosuggestions-service-type)
|
|
|
|
(simple-service 'my-channel-service
|
|
home-channels-service-type
|
|
(list
|
|
(channel
|
|
(name 'oni)
|
|
(url "https://git.sr.ht/~ryuslash/guix-packages")
|
|
(introduction
|
|
(make-channel-introduction
|
|
"646573578b7adfbff415645fed201269076cebf6"
|
|
(openpgp-fingerprint
|
|
"061C C5C4 D936 C9A8 AECC 1A17 7D5C 407B 4350 25C1"))))
|
|
(channel
|
|
(name 'guix-gaming-games)
|
|
(url "https://gitlab.com/guix-gaming-channels/games.git")
|
|
(introduction
|
|
(make-channel-introduction
|
|
"c23d64f1b8cc086659f8781b27ab6c7314c5cca5"
|
|
(openpgp-fingerprint
|
|
"50F3 3E2E 5B0C 3D90 0424 ABE8 9BDC F497 A4BB CC7F"))))))
|
|
|
|
(service home-polybar-service-type
|
|
(home-polybar-configuration
|
|
(bar "rincewind")))
|
|
|
|
(service home-kdeconnect-service-type)
|
|
(service home-syncthing-service-type)
|
|
|
|
(service home-emacs-service-type
|
|
(home-emacs-configuration
|
|
(package emacs-next)))
|
|
|
|
(service home-flameshot-service-type)
|
|
|
|
(service home-mpd-service-type
|
|
(home-mpd-configuration
|
|
(music-directory "~/music")
|
|
(playlist-directory "~/music/playlists")
|
|
(log-file "~/.local/share/mpd/mpd.log")
|
|
(pid-file "~/.local/share/mpd/mpd.pid")
|
|
(db-file "~/.local/share/mpd/mpd.db")
|
|
(state-file "~/.local/share/mpd/mpdstate")
|
|
(audio-outputs
|
|
(list (make <home-mpd-audio-output> #:type "pulse" #:name "MPD Pulse")
|
|
(make <home-mpd-audio-output>
|
|
#:type "fifo"
|
|
#:name "Visualizer"
|
|
#:path "/tmp/mpd.fifo"
|
|
#:format "44100:16:2")))))
|
|
(service home-mpc-update-service-type)
|
|
(service home-mpd-notify-service-type))))
|