224 lines
5.9 KiB
Scheme
224 lines
5.9 KiB
Scheme
(use-modules
|
|
(gnu)
|
|
(gnu home)
|
|
(gnu home services)
|
|
(gnu home services shells)
|
|
(gnu home services shepherd)
|
|
(gnu packages)
|
|
(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 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 services)
|
|
(guix gexp))
|
|
|
|
(home-environment
|
|
(packages
|
|
(append
|
|
;; Tools/Libraries
|
|
(list
|
|
zsh
|
|
wget
|
|
curl
|
|
cmake
|
|
zip
|
|
unzip
|
|
libtool
|
|
gst-plugins-bad
|
|
gst-plugins-base
|
|
gst-plugins-good
|
|
gst-plugins-ugly
|
|
gst-libav
|
|
wl-clipboard
|
|
pavucontrol)
|
|
;; Applications
|
|
(list
|
|
alacritty
|
|
nyxt
|
|
zathura-pdf-mupdf
|
|
nautilus
|
|
wlr-randr
|
|
calibre
|
|
mpv
|
|
youtube-dl
|
|
icedove
|
|
keepassxc
|
|
nautilus)
|
|
;; 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
|
|
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)))
|
|
(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 'sway-config
|
|
home-files-service-type
|
|
(list
|
|
`("config/sway/config"
|
|
,(local-file
|
|
(string-append (getenv "HOME")
|
|
"/dotfiles/guix/home/files/sway/config")))))
|
|
(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 'dunst-config
|
|
home-files-service-type
|
|
(list
|
|
`("config/dunst/dunstrc"
|
|
,(local-file
|
|
(string-append (getenv "HOME")
|
|
"/dotfiles/guix/home/files/dunst/dunstrc")))))
|
|
|
|
(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")))))))))))
|