Files
opalfiles/archive/guix/home/guix-home.scm
opalvault 6f29d506ef refactor
2022-01-06 00:06:04 -08:00

300 lines
8.7 KiB
Scheme

(use-modules
(gnu)
(gnu home)
(gnu home services)
(gnu home services shells)
(gnu home services shepherd)
(gnu packages)
(gnu packages linux)
(gnu packages admin)
(gnu packages shells)
(gnu packages pulseaudio)
(gnu packages web-browsers)
(gnu packages guile)
(gnu packages wget)
(gnu packages curl)
(gnu packages pdf)
(gnu packages ebook)
(gnu packages compton)
(gnu packages dunst)
(gnu packages image-viewers)
(gnu packages gnome)
(gnu packages gnome-xyz)
(gnu packages compression)
(gnu packages cmake)
(gnu packages autotools)
(gnu packages gstreamer)
(gnu packages video)
(gnu packages mpd)
(gnu packages terminals)
(gnu packages xdisorg)
(gnu packages gnupg)
(gnu packages password-utils)
(gnu packages emacs)
(gnu packages emacs-xyz)
(gnu packages gnuzilla)
(gnu packages ruby)
(gnu packages python)
(gnu packages lisp)
(gnu packages python-xyz)
(gnu packages fonts)
(gnu packages wm)
(gnu packages music)
(gnu packages base)
(gnu packages xorg)
(gnu packages dns)
(gnu packages kde-frameworks)
(gnu services)
(guix gexp))
(home-environment
(packages
(append
(list
;; Interfacing
xclip
xset
xss-lock
polybar
playerctl
xbacklight
xmodmap
rofi
dunst
arandr
feh
picom)
;; Admin
(list
inetutils
wget
curl
zip
seahorse
network-manager
networkmanager-qt
network-manager-applet)
;; Tools/Libraries
(list
unzip
zip
cmake
libtool
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gst-libav
playerctl
gnu-make)
;; Applications
(list
alacritty
nyxt
zathura-pdf-mupdf
mpv
mpd
ncmpcpp
icedove
keepassxc
nautilus
pavucontrol)
;; Emacs
(list
emacs-vterm
emacs-geiser
emacs-geiser-guile
emacs-doom-modeline
emacs-all-the-icons
emacs-all-the-icons-dired
emacs-general
emacs-which-key
emacs-alert
emacs-helpful
emacs-pinentry
emacs-doom-themes
emacs-evil
emacs-evil-collection
emacs-vertico
emacs-orderless
emacs-consult
emacs-company
emacs-marginalia
emacs-perspective
emacs-dired-rsync
emacs-dired-hacks
emacs-org-bullets
emacs-org-make-toc
emacs-visual-fill-column
emacs-flycheck
emacs-rainbow-mode
emacs-rainbow-delimiters
emacs-magit
emacs-projectile
emacs-lsp-mode
emacs-lsp-ui
emacs-treemacs
emacs-lsp-treemacs
emacs-parinfer-mode
emacs-yasnippet
emacs-pdf-tools)
;; Languages
(list
ruby
picolisp
python
guile-3.0
sbcl
python-lsp-server
ruby-solargraph)
;; Aesthetics/Fonts
(list
gnome-tweaks
papirus-icon-theme
arc-theme
font-fira-mono
font-fira-code
font-fira-sans
font-abattis-cantarell
font-google-noto
font-awesome
pfetch)))
(services
(append
;; Shell
(list
(service home-zsh-service-type
(home-zsh-configuration
;; Place all configs to $XDG_CONFIG_HOME/zsh. Makes
;; ~/.zshenv set ZDOTDIR to $XDG_CONFIG_HOME/zsh
;; and shell process starts with ~/.config/zsh/.zshenv
(xdg-flavor? #t)
;; .zshenv
(zshenv
(list
(local-file "files/zsh/zshenv")))
;; .zprofile
(zprofile
(list
(local-file "files/zsh/zprofile")))
;; .zshrc
(zshrc
(list
(local-file "files/zsh/zshrc"))))))
;; Files
(list
(simple-service 'i3-config
home-files-service-type
(list
`("config/i3/config"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/i3/config")))))
(simple-service 'i3status-config
home-files-service-type
(list
`("config/i3status/config"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/i3status/config")))))
(simple-service 'picom-config
home-files-service-type
(list
`("config/picom/picom.conf"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/picom/picom.conf")))))
(simple-service 'dunst-config
home-files-service-type
(list
`("config/dunst/dunstrc"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/dunst/dunstrc")))))
(simple-service 'rofi-config
home-files-service-type
(list
`("config/rofi/config.rasi"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/rofi/config.rasi")))))
(simple-service 'zsh-aliases
home-files-service-type
(list
`("config/zsh/zsh_aliases"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/zsh/zsh_aliases")))))
(simple-service 'zsh-functions
home-files-service-type
(list
`("config/zsh/zsh_functions"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/zsh/zsh_functions")))))
(simple-service 'redshift-config
home-files-service-type
(list
`("config/redshift/redshift.conf"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/redshift/redshift.conf")))))
(simple-service 'xmodmap-config
home-files-service-type
(list
`("config/xmodmap/xmodmap"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/xmodmap/xmodmap")))))
(simple-service 'user-dirs-config
home-files-service-type
(list
`("config/user-dirs.dirs"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/user-dirs.dirs")))))
(simple-service 'emacs-config
home-files-service-type
(list
`("config/emacs/init.el"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/emacs/init.el")))))
(simple-service 'nyxt-config
home-files-service-type
(list
`("config/nyxt/init.lisp"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/nyxt/init.lisp")))))
(simple-service 'mbsync-config
home-files-service-type
(list
`("config/mbsync/mbsyncrc"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/mbsync/mbsyncrc")))))
(simple-service 'alacritty-config
home-files-service-type
(list
`("config/alacritty/alacritty.yml"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/alacritty/alacritty.yml"))))))
;; 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-constructor "emacsclient -e '(kill-emacs)'")))
(shepherd-service
(provision '(gnome-keyring-daemon))
(start #~(make-system-contructor "gnome-keyring-daemon --daemonize "))
(stop #~(make-system-contructor "pkill gnome-keyring-daemon")))))))))))