diff --git a/home/config.scm b/home/config.scm new file mode 100755 index 0000000..7925a69 --- /dev/null +++ b/home/config.scm @@ -0,0 +1,263 @@ +(use-modules + (gnu) + (gnu home) + (gnu home services) + (gnu home services shells) + (gnu home services shepherd) + (gnu packages) + (gnu packages bittorrent) + (gnu packages cvassistant) + (gnu packages disk) + (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 + cvassistant + emacs + libreoffice) + ;; Security + (list + gnupg + gpa + pinentry + polkit-gnome) + ;; Utilities + (list + blueman + mupdf + pavucontrol + spacefm + udiskie + xfe) + ;; Web + (list + icecat + nyxt + uget))) + (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"))))))))))) +