300 lines
8.7 KiB
Scheme
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")))))))))))
|