(define-module (shell) #:use-module (gnu home services) #:use-module (gnu services) #:use-module (guix gexp) #:use-module (shell) #:use-module (gnu home services shells)) (define-public shell-service (list (service home-bash-service-type (home-bash-configuration (aliases '(("cp" . "cp -i") ("grep" . "grep --color=auto") ("guix-home" . "RUNNING_GUIX_HOME=1 guix home -L ${HOME}/.config/guix/modules/ reconfigure ${HOME}/.config/guix/${HOSTNAME}.scm") ("guix-system" . "RUNNING_GUIX_HOME=0 sudo guix system -L ${HOME}/.config/guix/modules/ reconfigure ${HOME}/.config/guix/${HOSTNAME}.scm") ("ll" . "ls -l") ("ls" . "ls -p --color=auto") ("mkd" . "mkdir -pv") ("mv" . "mv -i") ("rm" . "rm -i") ("suspend" . "sudo bash -c 'echo mem > /sys/power/state'") ("vi" . "vim") ("xeb" . "emacsclient -nce '(switch-to-buffer nil)'") ("xet" . "emacsclient -nce '(shell)'") ("ytta" . "yt-dlp --extract-audio --format bestaudio/best") ("yttv" . "yt-dlp -f b"))) (bashrc (list (plain-file "bashrc" " # converts above aliases into eshell aliases automatically alias | sed -E \"s/^alias ([^=]+)='(.*)'$/alias \\1 \\2 \\$*/g; s/'\\\\\\''/'/g;\" >~/.config/emacs/eshell/alias # add my scripts to path PATH=${HOME}/Personal/scripts:$PATH"))) (environment-variables '(("BROWSER" . "icecat")))))))