(use-modules (gnu) (gnu home) (gnu home services) (gnu home services shells) (gnu home services shepherd) (gnu packages) (gnu packages bittorrent) (gnu packages browser-extensions) (gnu packages chromium) (gnu packages cvassistant) (gnu packages disk) (gnu packages ebook) (gnu packages emacs) (gnu packages freedesktop) (gnu packages gnupg) (gnu packages gnuzilla) (gnu packages irc) (gnu packages libreoffice) (gnu packages linphone) (gnu packages lxde) (gnu packages mail) (gnu packages messaging) (gnu packages networking) (gnu packages pdf) (gnu packages polkit) (gnu packages pulseaudio) (gnu packages ssh) (gnu packages telegram) (gnu packages telephony) (gnu packages version-control) (gnu packages video) (gnu packages web-browsers) (gnu services) (guix gexp)) (home-environment (packages (append ;; Communication (list gajim gajim-omemo gajim-openpgp icedove linphone-desktop mumble mutt poezio telegram-desktop weechat) ;; DevOps (list git `(,git "send-email") openssh) ;; Multimedia (list mpv pipe-viewer youtube-dl yt-dlp) ;; Network (list `(,transmission "gui")) ;; Productivity (list calibre cvassistant emacs libreoffice) ;; Security (list gnupg gpa pinentry polkit-gnome) ;; Utilities (list blueman mupdf pavucontrol spacefm udiskie xfe) ;; Web (list icecat nyxt ublock-origin/chromium uget ungoogled-chromium))) (services (append ;; Shells (list (service home-bash-service-type (home-bash-configuration (bash-profile (list (local-file (string-append (getenv "HOME") "/dotfiles/bash/bash_profile") "bash_profile")))))) ;; Files (list (simple-service 'emacs-config home-files-service-type (list `("emacs.d/init.el" ,(local-file (string-append (getenv "HOME") "/dotfiles/emacs/init.el"))))) (simple-service 'git-config home-files-service-type (list `("config/git/config" ,(local-file (string-append (getenv "HOME") "/dotfiles/git/config"))))) (simple-service 'gnupg-dirmngr-config home-files-service-type (list `("gnupg/dirmngr.conf" ,(local-file (string-append (getenv "HOME") "/dotfiles/gnupg/dirmngr.conf"))))) (simple-service 'gnupg-gpa-config home-files-service-type (list `("gnupg/gpa.conf" ,(local-file (string-append (getenv "HOME") "/dotfiles/gnupg/gpa.conf"))))) (simple-service 'gnupg-gpg-config home-files-service-type (list `("gnupg/gpg.conf" ,(local-file (string-append (getenv "HOME") "/dotfiles/gnupg/gpg.conf"))))) (simple-service 'gnupg-gpg-agent-config home-files-service-type (list `("gnupg/gpg-agent.conf" ,(local-file (string-append (getenv "HOME") "/dotfiles/gnupg/gpg-agent.conf"))))) (simple-service 'gnupg-scdaemon-config home-files-service-type (list `("gnupg/scdaemon.conf" ,(local-file (string-append (getenv "HOME") "/dotfiles/gnupg/scdaemon.conf"))))) (simple-service 'gnupg-sshcontrol-config home-files-service-type (list `("gnupg/sshcontrol" ,(local-file (string-append (getenv "HOME") "/dotfiles/gnupg/sshcontrol"))))) (simple-service 'gtk-gtk2-config home-files-service-type (list `("gtkrc-2.0" ,(local-file (string-append (getenv "HOME") "/dotfiles/gtk/gtkrc-2.0"))))) (simple-service 'gtk-gtk3-config home-files-service-type (list `("config/gtk-3.0/settings.ini" ,(local-file (string-append (getenv "HOME") "/dotfiles/gtk/settings.ini"))))) (simple-service 'guix-channels-config home-files-service-type (list `("config/guix/channels.scm" ,(local-file (string-append (getenv "HOME") "/dotfiles/guix/channels.scm"))))) (simple-service 'nano-config home-files-service-type (list `("config/nano/nanorc" ,(local-file (string-append (getenv "HOME") "/dotfiles/nano/nanorc"))))) (simple-service 'poezio-config home-files-service-type (list `("config/poezio/poezio.cfg" ,(local-file (string-append (getenv "HOME") "/dotfiles/poezio/poezio.cfg"))))) (simple-service 'poezio-irc-config home-files-service-type (list `("config/poezio/plugins/irc.cfg" ,(local-file (string-append (getenv "HOME") "/dotfiles/poezio/plugins/irc.cfg"))))) (simple-service 'poezio-link-config home-files-service-type (list `("config/poezio/plugins/link.cfg" ,(local-file (string-append (getenv "HOME") "/dotfiles/poezio/plugins/link.cfg"))))) (simple-service 'poezio-otr-config home-files-service-type (list `("config/poezio/plugins/otr.cfg" ,(local-file (string-append (getenv "HOME") "/dotfiles/poezio/plugins/otr.cfg"))))) (simple-service 'stumpwm-config home-files-service-type (list `("stumpwm.d/init.lisp" ,(local-file (string-append (getenv "HOME") "/dotfiles/stumpwm/init.lisp"))))) (simple-service 'termite-config home-files-service-type (list `("config/termite/config" ,(local-file (string-append (getenv "HOME") "/dotfiles/termite/config"))))) (simple-service 'x-xinit-config home-files-service-type (list `("xinitrc" ,(local-file (string-append (getenv "HOME") "/dotfiles/x/xinitrc"))))) (simple-service 'x-xserver-config home-files-service-type (list `("xserverrc" ,(local-file (string-append (getenv "HOME") "/dotfiles/x/xserverrc")))))) ;; Daemons (list (service home-shepherd-service-type (home-shepherd-configuration (services (list (shepherd-service (provision '(emacs)) (start #~(make-system-constructor "emacs --daemon")) (stop #~(make-system-destructor "emacsclient -e '(kill-emacs)'"))) (shepherd-service (provision '(gpg-agent)) (start #~(make-system-constructor "gpg-agent --daemon")) (stop #~(make-system-destructor "gpg-connect-agent killagent /bye"))) (shepherd-service (provision '(polkit-agent)) (start #~(make-system-constructor "$HOME/.guix-home/profile/libexec/polkit-gnome-authentication-agent-1 &")) (stop #~(make-system-destructor "pkill -9 polkit-gnome-authentication-agent-1"))) (shepherd-service (provision '(udiskie)) (start #~(make-system-constructor "udiskie &")) (stop #~(make-system-destructor "pkill -9 udiskie")))))))))))