commit a385912261da0ee11b99b69a9754147bda06017e
parent 3375dbe7d34029a3d868f7599cebc2e77a9b845e
Author: vin <git@vineetk.net>
Date: Wed, 23 Jul 2025 06:22:31 -0400
switch to zsh from ksh for slightly better support in guix home
Diffstat:
3 files changed, 99 insertions(+), 27 deletions(-)
diff --git a/epistemia/home/config.scm b/epistemia/home/config.scm
@@ -0,0 +1,95 @@
+(define-module (epistemia home config)
+ #:use-module (gnu home)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages admin)
+ #:use-module (gnu packages compton)
+ #:use-module (gnu packages curl)
+ #:use-module (gnu packages emacs)
+ #:use-module (gnu packages golang-crypto)
+ #:use-module (gnu packages rsync)
+ #:use-module (gnu packages version-control)
+ #:use-module (gnu packages web-browsers)
+ #:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages xorg)
+ #:use-module (gnu services)
+ #:use-module (gnu home services)
+ #: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-aliases
+ (plain-file "aliases.zsh"
+ "
+set -o emacs
+
+HISTFILE=$HOME/.zsh_history
+HISTSIZE=1000000
+
+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=\"yt-dlp\"
+"))
+
+(home-environment
+ (packages (list age
+ curl
+ htop
+ git
+ rsync
+
+ emacs-no-x-toolkit
+
+ xorg-server
+ xf86-input-evdev
+ xf86-video-amdgpu
+
+ xwallpaper
+ picom
+
+ 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-aliases))))
+ (service home-dotfiles-service-type
+ (home-dotfiles-configuration
+ (layout 'stow)
+ (directories '("../files")))))))
diff --git a/epistemia/home/home-configuration.scm b/epistemia/home/home-configuration.scm
@@ -1,23 +0,0 @@
-(define-module (epistemia home home-configuration)
- #:use-module (gnu home)
- #:use-module (gnu packages)
- #:use-module (gnu services)
- #:use-module (gnu home services shells)
- #:use-module (guix gexp))
-
-(home-environment
- (packages (specifications->packages (list "curl"
- "htop"
- "git"
- "rsync"
-
- "emacs-no-x-toolkit"
-
- "xorg-server"
- "xf86-input-evdev"
- "xf86-video-amdgpu"
-
- "xwallpaper"
- "picom"
-
- "qutebrowser"))))
diff --git a/epistemia/systems/base-system.scm b/epistemia/systems/base-system.scm
@@ -1,10 +1,10 @@
(define-module (epistemia systems base-system)
#:use-module (gnu)
+ #:use-module (gnu packages shells)
+ #:use-module (gnu packages ssh)
#:use-module (guix)
#:export (base-system))
-(use-package-modules shells ssh)
-
(define base-system
(operating-system
(host-name "base")
@@ -14,7 +14,7 @@
(users (cons (user-account
(name "vin")
(comment "Vineet")
- (shell (file-append loksh "/bin/ksh"))
+ (shell (file-append zsh "/bin/zsh"))
(group "users")
(supplementary-groups '("wheel" "audio" "video" "input" "seat" "tty")))
%base-user-accounts))
@@ -39,7 +39,7 @@
(type "vfat")))
%base-file-systems))
- (packages (append (list loksh)
+ (packages (append (list zsh)
%base-packages))
(services (append (list (service dhcp-client-service-type)