Add home configuration.

This commit is contained in:
Raghav Gururajan 2021-12-19 00:38:29 -05:00
parent 3719183b30
commit 3e7bd9f1b4
Signed by: raghavgururajan
GPG Key ID: 5F5816647F8BE551
1 changed files with 263 additions and 0 deletions

263
home/config.scm Executable file
View File

@ -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")))))))))))