345 lines
11 KiB
Scheme
345 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 guile-xyz)
|
|
(gnu packages haskell)
|
|
(gnu packages ebook)
|
|
(gnu home services syncthing)
|
|
(gnu packages tor)
|
|
(gnu packages package-management)
|
|
(gnu packages syncthing)
|
|
(guix gexp)
|
|
(gnu packages rust-apps)
|
|
(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
|
|
guile-ares-rs
|
|
emacs-arei
|
|
;; 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
|
|
ripgrep
|
|
emacs-olivetti
|
|
emacs-deadgrep
|
|
emacs-rg
|
|
emacs-dumb-jump
|
|
;; foliate
|
|
emacs-slime
|
|
python
|
|
xrdb
|
|
dbus
|
|
;; steam
|
|
;; make
|
|
p7zip
|
|
tor-client
|
|
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"
|
|
"torbrowser"
|
|
"unrar"
|
|
"nicotine+"
|
|
"foliate"
|
|
"tor-client"
|
|
"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")
|
|
("record" . "ffmpeg -f x11grab -r 25 -s 1366x768 -i $DISPLAY -c:v libx264 -pix_fmt yuv420p -preset ultrafast -crf 23 -y /tmp/output.mp4")
|
|
("isolate" . "guix shell --container --network --preserve='^DISPLAY$' \
|
|
--preserve='^XAUTHORITY$' --expose=$XAUTHORITY --expose=/etc/ssl/certs ")))
|
|
(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")
|
|
("GUIX_PROFILE=$HOME/.config/guix/current"
|
|
. "$GUIX_PROFILE/etc/profile")
|
|
))
|
|
))
|
|
|
|
(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" . "foliate")
|
|
("SHELL" . "bash")
|
|
("TERMINAL" . "alacritty")
|
|
("VISUAL" . "nsxiv")
|
|
("WM" . "xmonad")))))
|
|
|
|
|
|
)
|