guixsd-config

GuixSD configs for my systems
Log | Files | Refs

commit f54a4a2448198c2b4298a0231312fc6ed29085d4
parent a41e2b406e9ebc9039221e780ab16198d5f094a3
Author: vin <git@vineetk.net>
Date:   Thu, 25 Dec 2025 00:07:20 -0500

update guix home config

Diffstat:
Mepistemia/channels.scm | 30+++++++++++++++++++-----------
Mepistemia/home/config.scm | 223++++++++++++++++++++++++++++++++++++-------------------------------------------
2 files changed, 121 insertions(+), 132 deletions(-)

diff --git a/epistemia/channels.scm b/epistemia/channels.scm @@ -1,22 +1,30 @@ (list (channel + (name 'emacs) + (url "https://github.com/garrgravarr/guix-emacs") + (introduction + (make-channel-introduction + "d676ef5f94d2c1bd32f11f084d47dcb1a180fdd4" + (openpgp-fingerprint + "2DDF 9601 2828 6172 F10C 51A4 E80D 3600 684C 71BA")))) + (channel (name 'nonguix) - (url "https://gitlab.com/nonguix/nonguix") + (url "https://codeberg.org/nonguix/nonguix-mirror") (branch "master") (commit - "a6376bff79bfccc5e9519cf20954a89197884fac") + "a6376bff79bfccc5e9519cf20954a89197884fac") (introduction - (make-channel-introduction - "897c1a470da759236cc11798f4e0a5f7d4d59fbc" - (openpgp-fingerprint - "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) + (make-channel-introduction + "897c1a470da759236cc11798f4e0a5f7d4d59fbc" + (openpgp-fingerprint + "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) (channel (name 'guix) (url "https://codeberg.org/guix/guix") (branch "master") (commit - "bb2263102ace6f178410cdc1e49a315bb51a20da") + "592a96db0532012ba09892fb85963c8bb825cfb0") (introduction - (make-channel-introduction - "9edb3f66fd807b096b48283debdcddccfea34bad" - (openpgp-fingerprint - "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))) + (make-channel-introduction + "9edb3f66fd807b096b48283debdcddccfea34bad" + (openpgp-fingerprint + "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))) diff --git a/epistemia/home/config.scm b/epistemia/home/config.scm @@ -3,144 +3,125 @@ #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages authentication) - #:use-module (gnu packages compton) #:use-module (gnu packages curl) #:use-module (gnu packages emacs) + #:use-module (gnu packages emacs-xyz) + #:use-module ((emacs packages melpa) #:prefix e/) #:use-module (gnu packages gnupg) #:use-module (gnu packages golang-crypto) - #:use-module (gnu packages image-viewers) + #:use-module (gnu packages image) #:use-module (gnu packages mail) #:use-module (gnu packages messaging) #:use-module (gnu packages python-web) #:use-module (gnu packages rsync) - #:use-module (gnu packages tmux) #:use-module (gnu packages version-control) #:use-module (gnu packages video) - #:use-module (gnu packages vim) + #:use-module (gnu packages wm) #:use-module (gnu packages web-browsers) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) - #:use-module (epistemia packages suckless) - #:use-module (gnu services) #:use-module (gnu home services) - #:use-module (gnu home services desktop) #:use-module (gnu home services dotfiles) - #:use-module (gnu home services shells) - #:use-module (gnu home services xdg) #:use-module (guix channels) #:use-module (guix packages) #:use-module (guix gexp)) -(define %zshrc-file - (plain-file "file.zsh" - " -set -o emacs - -# history stuff -HISTFILE=$HOME/.zsh_history -HISTSIZE=1000000 -SAVEHIST=$HISTSIZE -setopt APPEND_HISTORY -setopt INC_APPEND_HISTORY -setopt SHARE_HISTORY -setopt HIST_IGNORE_DUPS -setopt HIST_IGNORE_ALL_DUPS -setopt HIST_REDUCE_BLANKS - -WORDCHARS=${WORDCHARS//\\//} - -PATH=$HOME/bin:$PATH - -alias e=\"$EDITOR\" -alias p='less -Ri' -alias m='aerc' - -alias ls='ls -F --color=auto' -alias l='ls' -alias ll='ls -l' - -alias md='mkdir -p' -alias gc='git clone' - -alias mpv='mpv --save-position-on-quit' -alias rsync='rsync --no-inc-recursive' -alias wget='wget --no-hsts' -alias ytdl='noglob yt-dlp' - -alias gsu='sudo guix system -L /data/src/public/guixsd-config reconfigure /data/src/public/guixsd-config/epistemia/systems/demiurge.scm' -alias ghu='guix home -L /data/src/public/guixsd-config reconfigure /data/src/public/guixsd-config/epistemia/home/config.scm' -")) - (home-environment - (packages (list age - curl - htop - git - rsync - - gnupg - ;;sops - - emacs-no-x-toolkit - tmux - vim - - xauth - xinput - xorg-server - xf86-input-libinput - xf86-video-amdgpu - xsel - - vin-dwm - vin-st - - picom - scrot - sxiv - xwallpaper - - aerc - isync - msmtp - notmuch - oath-toolkit - oauth2ms - - profanity - - mpv - yt-dlp - - qutebrowser)) - - (services (list (service home-zsh-service-type - (home-zsh-configuration - (environment-variables '(("PS1" . "%m$ ") - ("PS2" . "> ") - ("XDG_CONFIG_HOME" . "$HOME/.config") - ("XDG_DATA_HOME" . "$HOME/.local/share") - ("XDG_STATE_HOME" . "$HOME/.local/state") - ("XDG_RUNTIME_DIR" . "$XDG_STATE_HOME/runtime") - ("BROWSER" . "qutebrowser") - ("EDITOR" . "emacs") - ("VISUAL" . "emacs -nw") - ("LESSHISTFILE" . "/dev/null") - ("GOPROXY" . "direct") - ("AGE_KEY" . "$HOME/.ssh/id_ed25519") - ("AGE_PUB" . "${AGE_KEY}.pub") - ("KASI_DIR" . "/data/kasi") - ("KASI_EXT" . "age") - ("KASI_CLIPBOARD" . "xsel -ib") - ("KASI_DECRYPT" . "age -d -i $AGE_KEY") - ("KASI_ENCRYPT" . "age -R $AGE_PUB") - ("CRAWL_DIR" . "$XDG_DATA_HOME/crawl"))) - (zprofile (list - (plain-file "zprofile" "[ ! -e $XDG_RUNTIME_DIR ] && mkdir -p $XDG_RUNTIME_DIR"))) - (zshrc (list - (plain-file "zshrc_ignore_etc-profile.d" "setopt nullglob") - %zshrc-file)))) - (service home-dotfiles-service-type - (home-dotfiles-configuration - (layout 'stow) - (directories '("../files"))))))) + (packages (list curl + htop + git + rsync + + ;; cryptography + age + gnupg + oath-toolkit + + ;; editor + emacs + emacs-age + emacs-auctex + e/emacs-clang-format + emacs-consult + emacs-eat + emacs-elfeed + emacs-empv + emacs-esup + emacs-exwm + emacs-geiser + emacs-geiser-guile + emacs-gptel + emacs-hl-todo + e/emacs-kaolin-themes + emacs-magit + emacs-magit-todos + emacs-marginalia + e/emacs-notmuch + emacs-orderless + emacs-org-mem + emacs-org-node + emacs-org-present + emacs-pdf-tools + emacs-rainbow-delimiters + emacs-skeletor + emacs-transient + emacs-undo-tree + emacs-vertico + + ;; wayland + grim + wf-recorder + wl-clipboard + wlr-randr + + ;; email + isync + msmtp + notmuch + oauth2ms + + ;; messaging + profanity + + ;; videos + mpv + yt-dlp + + ;; browser + qutebrowser)) + + (services (list (service home-environment-variables-service-type + '(("PS1" . "%m$ ") + ("PS2" . "> ") + ("PATH" . "$HOME/bin:$PATH") + ("XDG_CACHE_HOME" . "$HOME/.cache") + ("XDG_CONFIG_HOME" . "$HOME/.config") + ("XDG_DATA_HOME" . "$HOME/.local/share") + ("XDG_STATE_HOME" . "$HOME/.local/state") + ("XDG_RUNTIME_DIR" . "$XDG_STATE_HOME/runtime") + ("BROWSER" . "qutebrowser") + ("EDITOR" . "emacsclient -c") + ("VISUAL" . "emacsclient -t") + ("NOTMUCH_CONFIG" . "$XDG_CONFIG_HOME/notmuch/default/config") + ("TEXMFHOME" . "$XDG_CONFIG_HOME/texmf") + ("GOPROXY" . "direct") + ("AGE_KEY" . "$HOME/.ssh/id_ed25519") + ("AGE_PUB" . "${AGE_KEY}.pub") + ("KASI_DIR" . "/data/kasi") + ("KASI_EXT" . "age") + ("KASI_CLIPBOARD" . "xsel -ib") + ("KASI_DECRYPT" . "age -d -i $AGE_KEY") + ("KASI_ENCRYPT" . "age -R $AGE_PUB") + ("CRAWL_DIR" . "$XDG_DATA_HOME/crawl"))) + (simple-service 'ensure-xdg-runtime-dir + home-activation-service-type + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (let ((runtime-dir (string-append (getenv "HOME") "/.local/state/runtime"))) + (mkdir-p runtime-dir) + (chmod runtime-dir #o700))))) + (service home-dotfiles-service-type + (home-dotfiles-configuration + (layout 'stow) + (directories '("../files")))))))