modern_lisp-machine/home-configuration/home-configuration.scm

331 lines
11 KiB
Scheme

;; This "home-environment" file can be passed to 'guix home reconfigure'
;; to reproduce the content of your profile. This is "symbolic": it only
;; specifies package names. To reproduce the exact same profile, you also
;; need to capture the channels being used, as returned by "guix describe".
;; See the "Replicating Guix" section in the manual.
(use-modules (gnu home)
(gnu packages)
(gnu services)
(gnu packages haskell)
(gnu packages ebook)
(gnu home services syncthing)
(gnu packages package-management)
(gnu packages syncthing)
(guix gexp)
(gnu home services)
(gnu home services shells)
(gnu home services fontutils)
(gnu home services xdg)
(gnu packages image)
(gnu packages mpd)
(gnu packages disk)
(gnu packages emacs-xyz)
(gnu packages text-editors)
(gnu packages xfce)
(gnu packages image-viewers)
(gnu packages gnupg)
(gnu packages freedesktop)
(gnu packages fonts)
(gnu packages qt)
(gnu packages mail)
(gnu packages compression)
(gnu packages xml)
(gnu packages bittorrent)
(gnu packages xorg)
(gnu packages gstreamer)
(gnu packages xdisorg)
(gnu packages video)
(gnu packages emulators)
(gnu packages web-browsers)
(gnu packages tmux)
(gnu packages terminals)
(gnu packages linux)
(gnu packages python)
(gnu packages cmake)
(gnu packages readline)
(gnu packages curl)
(gnu packages pdf)
(gnu packages glib)
(gnu packages admin)
(gnu packages lisp-xyz)
(gnu packages wm)
(gnu packages compton)
(gnu packages lisp)
(gnu packages music)
(gnu packages version-control)
(gnu packages lxqt)
(gnu packages emacs)
(srfi srfi-26))
(define fontconfig
'(fontconfig
(comment " Set subpixel arrangement for all fonts ")
(match ((target "font")
(edit ((name "rgba") (mode "assign"))
(const "bgr"))
(edit ((name "hrgba") (mode "assign"))
(const "bgr"))
(edit ((name "hinting") (mode "assign"))
(bool "true")))
(comment " Alias for Motomachi font ")
(alias ((family "sans-serif")
(prefer (family "Motomachi")))))))
(define-syntax-rule
(associate-right (association keys) ...)
`(,@(map (cut cons <> association) keys) ...))
(home-environment
(packages (cons* flameshot
ncmpcpp
;; gd-tools
wmctrl
lf
ranger
emacs-org-roam
;; multimonitor
xset
arandr
;;
;;
;;
;; sselp
syncthing
nano
thunar
mcomix
pinentry
;; goldendict-ng
xdg-utils
font-google-material-design-icons
gst-plugins-good-qt
;;unrar
qtmultimedia
sylpheed
;; xpad-module
unzip
zip
emacs-esxml
html-xml-utils
emacs-rainbow-delimiters
aria2
xdg-desktop-portal
xdg-desktop-portal-gtk
gnupg
xprop
;;nicotine+
yt-dlp
higan
nyxt
emacs-nyxt
tmux
alacritty
lm-sensors
;; anki
emacs-olivetti
;; foliate
emacs-slime
python
xrdb
dbus
;; steam
;; make
p7zip
cmake
;;
emacs-dirvish
readline
curl
qpdfview
xclip
emacs-nerd-icons
emacs-telega
;; anki
flatpak
flatpak-xdg-utils
;;----
htop
cl-clx
neofetch
kitty
picom
calibre
feh
xsel
rofi
sbcl
cmus
;; xmonad
xmonad
ghc
xmobar
ghc-xmonad-contrib
;;-----------------
zstd
;; suckless-dictpopup
scrot
cl-css
git
gst-plugins-good
gst-plugins-bad
gstreamer
pavucontrol-qt
mpv
emacs
(specifications->packages
(list "steam"
"guile"
"ueberzug++"
"fcitx5-gtk4"
"fcitx5-qt"
"ungoogled-chromium"
"fcitx5-gtk"
"unrar"
"nicotine+"
"foliate"
"make"
"calibre"
"element-desktop"
"font-apple-color-emoji"))))
;; Below is the list of Home services. To search for available
;; services, run 'guix home search KEYWORD' in a terminal.
(services
(list (service home-bash-service-type
(home-bash-configuration
(aliases '(("analyze_video" . "~/.local/bin/analyze_video.sh")
("ct" . "~/.local/bin/compatibility.sh")
("grep" . "grep --color=auto")
("lf" . "~/.local/bin/lf/lfrun")
("ll" . "ls -l")
("ls" . "ls -p --color=auto")
;; todo fix this ("size" . "dured_func(){ du -sh \"$1\" | awk '{printf \"\\\\033[31m%s\\\\033[0m%s\\\\n\", \\$1, substr(\\$0, length(\\$1)+1)}'; unset -f dured_func; }; dured_func")
("record" . "ffmpeg -f x11grab -r 25 -s 1366x768 -i $DISPLAY -c:v libx264 -pix_fmt yuv420p -preset ultrafast -crf 23 -y /tmp/output.mp4")
("revive" . "xmodmap -e '\\''clear mod4'\\'' && xmodmap -e '\\''keycode 133 = F20'\\''")))
(bashrc (list (local-file
"/home/hashirama/src/guix-config/.bashrc"
"bashrc")))
(bash-profile (list (local-file
"/home/hashirama/src/guix-config/.bash_profile"
"bash_profile")))
(environment-variables
'(
("GUILE_LOAD_PATH"
. "$HOME/dev/guix_channel/ajatt-tools-guix:$GUILE_LOAD_PATH")
("XMONAD_CONFIG_DIR"
. "$HOME/.xmonad")
))
))
(service home-syncthing-service-type
(for-home
(syncthing-configuration
(user "hashirama"))))
(service home-xdg-mime-applications-service-type
(home-xdg-mime-applications-configuration
(default (associate-right
('nyxt.desktop
`("text/html"
"application/xhtml+xml"
"application/x-extension-htm"
"application/x-extension-xhtml"
"application/x-extension-xht"
"x-scheme-handler/http"
"x-scheme-handler/https"))
('emacs.desktop
`("text/plain"
"text/troff"
"text/xml"
"text/x-c"
"text/x-c++"
"text/x-diff"
"text/x-lisp"
"text/x-scheme"
"text/x-shellscript"
"text/x-tex"))
('lf.desktop
`("inode/directory"
"x-scheme-handler/ftp"
"x-scheme-handler/nfs"
"x-scheme-handler/smb"
"x-scheme-handler/ssh"
"application/x-directory"))
('mpv.desktop
`("image/gif"
"audio/mpeg"
"audio/ogg"
"audio/opus"
"audio/x-opus+ogg"
"audio/flac"
"video/mp4"
"video/x-matroska"
"video/webm"))
('nsxiv.desktop
`("image/avif"
"image/bmp"
"image/jpeg"
"image/png"
"image/svg+xml"
"image/webp"))
('emacs.desktop
`("image/vnd.djvu"))
('foliate.desktop
`("application/epub+zip"))
('sioyek.desktop
`("application/pdf"))
))))
(simple-service 'font-antialias
home-fontconfig-service-type
(list "~/.local/share/fonts" fontconfig))
(simple-service 'bash-fancy-prompt
home-bash-service-type
(home-bash-extension
(environment-variables
'(("PS1" . "\\u \\wλ ")))))
(simple-service 'environment-variables-service
home-environment-variables-service-type
`(#|Shells|#
("PATH" . "$HOME/.local/bin:$PATH")
("XINITRC" . "$XDG_CONFIG_HOME/.xinitrc")
#|Guile|#
("GUILE_WARN_DEPRECATED" . "detailed")
("GUILE_LOAD_PATH"
. "$HOME/dev/guix_channel/ajatt-tools-guix:$GUILE_LOAD_PATH")
#|IME|#
("GTK_IM_MODULE" . "fcitx")
("QT_IM_MODULE" . "fcitx")
("XMODIFIERS" . "@im=fctix")
#|Dictionary|#
("STARDICT_DATA_DIR" . "/mnt/Data/Japanese_Resources/languages-study(japanesAndRussian)/dicts/stardict/being_used")
#|Language|#
("LANG" . "en_US.UTF-8")
("LANGUAGE" . "en_US.UTF-8")
("LC_COLLATE" . "C")
#|Default applications|#
("BROWSER" . "nyxt")
("EDITOR" . "emacs")
("FCEDIT" . "emacs")
("PAGER" . "less")
("READER" . "emacs")
("SHELL" . "bash")
("TERMINAL" . "alacritty")
("VISUAL" . "emacs")
("WM" . "xmonad")))))
)