dotfiles/oni/home/config/rincewind.scm

132 lines
4.9 KiB
Scheme

(define-module (oni home config rincewind)
#:use-module (gnu home services guix)
#:use-module (gnu home services)
#:use-module (gnu home)
#:use-module (gnu packages commencement)
#:use-module (gnu packages emacs)
#:use-module (gnu packages emacs-xyz)
#:use-module (gnu packages file-systems)
#:use-module (gnu packages linux)
#:use-module (gnu packages music)
#:use-module (gnu packages video)
#:use-module (gnu packages)
#:use-module (gnu services)
#:use-module (guix channels)
#:use-module (guix derivations)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix store)
#:use-module (guix transformations)
#:use-module (oni home config common)
#:use-module (oni home services dunst)
#:use-module (oni home services emacs)
#:use-module (oni home services environment)
#:use-module (oni home services flameshot)
#:use-module (oni home services kdeconnect)
#:use-module (oni home services polybar)
#:use-module (oni home services rofi)
#:use-module (oni home services syncthing)
#:use-module (oni home services zsh)
#:use-module (oni packages count-emails)
#:use-module (oni packages hlwm-run-or-raise)
#:use-module (oni packages inbox-size)
#:use-module (oni packages notmuch-collect-tasks)
#:use-module (oni packages notmuch-tag-mailinglists)
#:use-module (oni packages pick-random-wallpaper)
#:use-module (oni packages shutdown-rofi)
#:use-module (oni packages mpd-random-albums)
#:use-module (oni home services mpd)
#:use-module (oop goops))
(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))
(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
))
(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
;; 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))))