270 lines
6.7 KiB
Scheme
Executable File
270 lines
6.7 KiB
Scheme
Executable File
(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")))))))))))
|
|
|