(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 certs) #:select (nss-certs)) #:use-module ((gnu packages databases) #:select (recutils emacs-rec-mode)) #:use-module ((gnu packages emacs) #:select (emacs-next-tree-sitter)) #:use-module ((gnu packages emacs-xyz) #:select (emacs-org-roam emacs-vterm emacs-guix emacs-org-contacts)) #:use-module ((gnu packages file-systems) #:select (tmsu)) #:use-module ((gnu packages forth) #:select (gforth)) #:use-module ((gnu packages gnome) #:select (hicolor-icon-theme)) #:use-module ((gnu packages linux) #:select (fakeroot)) #:use-module ((gnu packages mail) #:select (notmuch emacs-notmuch)) #:use-module ((gnu packages music) #:select (easytag)) #:use-module ((gnu packages tree-sitter) #:select (tree-sitter-bash tree-sitter-scheme tree-sitter-python tree-sitter-org tree-sitter-json tree-sitter-css)) #:use-module ((gnu packages video) #:select (mpv mpv-mpris)) #: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 ((guix gexp) #:select (local-file mixed-text-file)) #:use-module ((guix packages) #:select (package-name)) #:use-module ((guix transformations) #:select (options->transformation)) #:use-module ((nongnu packages emacs) #:select (emacs-org-roam-ui)) #: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-mpc-update-service-type home-mpd-notify-service-type)) #:use-module ((oni home services notmuch) #:select (home-notmuch-service-type home-notmuch-configuration)) #: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 stumpwm) #:select (home-stumpwm-service-type home-stumpwm-configuration home-stumpwm-gaps-service-type home-stumpwm-gaps-configuration home-stumpwm-stumptray-service-type home-stumpwm-stumptray-configuration)) #:use-module ((oni home services syncthing) #:select (home-syncthing-service-type)) #:use-module ((oni home services utilities) #:select (home-inkplate-display-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 emacs-oni-vterm emacs-oni-elfeed emacs-oni-elisp emacs-oni-eshell emacs-oni-core emacs-oni-compilation emacs-oni-common-lisp emacs-oni-gui emacs-oni-magit emacs-oni-notmuch emacs-oni-hy emacs-oni-project)) #: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 stumpwm) #:select (stumpwm+swank)) #: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" "class_g = 'i3lock'")) (wintypes '((dnd (shadow . #f)) (dock (shadow . #f)))) (corner-radius 15) (inactive-opacity 75) (active-opacity 95) (frame-opacity 100) (inactive-opacity-override #t) (opacity-rule '("100:name *?= '(Meeting) | Microsoft Teams'" "100:name *?= 'freerdp'")) (blur-background #t) (blur-background-frame #t) (blur '((method . "dual_kawase") (strength . 6.9))) (blur-background-fixed #t) (blur-background-exclude '("name *= 'rofi'" "class_g = 'i3lock'")) (focus-exclude '("name *= 'rofi'" "class_g = 'i3lock'")) (fading #t) (fade-exclude `("class_g = 'i3lock'")) (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-tree-sitter) count-emails shutdown-rofi emacs-org-roam emacs-org-roam-ui emacs-vterm emacs-org-contacts fakeroot ; Needed for build arch packages tmsu mpd-random-albums notmuch emacs-notmuch emacs-inkplate emacs-outli emacs-guix emacs-oni-org-roam emacs-oni-vterm emacs-oni-elisp emacs-oni-core emacs-oni-elfeed emacs-oni-eshell emacs-oni-compilation emacs-oni-common-lisp emacs-oni-gui emacs-oni-magit emacs-oni-notmuch emacs-oni-hy emacs-oni-project tree-sitter-bash tree-sitter-scheme tree-sitter-python tree-sitter-org tree-sitter-json tree-sitter-css gforth recutils emacs-rec-mode ;; Might be needed for certain icons? hicolor-icon-theme ;; Might be needed for cetrificates nss-certs)) (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://code.ryuslash.org/ryuslash/guix-packages.git") (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")))) (channel (name 'rosenthal) (url "https://codeberg.org/hako/rosenthal.git") (branch "trunk") (introduction (make-channel-introduction "7677db76330121a901604dfbad19077893865f35" (openpgp-fingerprint "13E7 6CD6 E649 C28C 3385 4DF5 5E5A A665 6149 17F7")))))) ;; (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-tree-sitter) (configurations (list (local-file "../services/emacs/init.el") (mixed-text-file "init.el" "(with-eval-after-load 'hy-mode (require 'oni-hy))\n" "(with-eval-after-load 'project (require 'oni-project))\n" "(setq custom-file \"~/.config/emacs/custom.el\")\n" "(load custom-file)\n" "(provide 'init)\n" ";;; init.el ends here\n"))))) (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 #:type "pulse" #:name "MPD Pulse") (make #:type "fifo" #:name "Visualizer" #:path "/tmp/mpd.fifo" #:format "44100:16:2"))))) (service home-mpc-update-service-type) (service home-mpd-notify-service-type) (service home-stumpwm-service-type (home-stumpwm-configuration (package stumpwm+swank) (configurations (list (local-file "../services/stumpwm/config"))))) (service home-stumpwm-gaps-service-type (home-stumpwm-gaps-configuration (configurations (list (local-file "../services/stumpwm/config-gaps"))))) (service home-stumpwm-stumptray-service-type (home-stumpwm-stumptray-configuration (configurations (list (mixed-text-file "config-stumptray" "(require 'stumptray)\n" "(stumptray::stumptray)\n"))))) (service home-inkplate-display-service-type) (service home-notmuch-service-type (home-notmuch-configuration (database-path "/home/chelys/documents/mail") (user-primary-email "tom@ryuslash.org") (user-other-email '("ryuslash@gmail.com" "tom@iactor.nl")) (new-ignore '(".nnmaildir" ".mbsyncstate" ".uidvalidity" ".mbsyncstate.journal" ".mbsyncstate.new")))))))