Compare commits

..

5 commits

Author SHA1 Message Date
f198c3b83d [chore] format code
Signed-off-by: SouthFox <master@southfox.me>
2024-11-18 17:44:45 +08:00
55f584edcf [feat] add GUIX_LOCPATH env
Signed-off-by: SouthFox <master@southfox.me>
2024-11-18 17:17:57 +08:00
e8ff7d23d6 [feat] add default value for omz service
Signed-off-by: SouthFox <master@southfox.me>
2024-11-18 17:17:08 +08:00
42e327b4e6 [feat] add emacs shepherd services
Signed-off-by: SouthFox <master@southfox.me>
2024-11-18 17:15:58 +08:00
e863074b3c [feat] add zellij
Signed-off-by: SouthFox <master@southfox.me>
2024-11-18 15:02:16 +08:00
3 changed files with 70 additions and 15 deletions

View file

@ -73,6 +73,7 @@ export LC_COLLATE=C
. $HOME/.guix-home/setup-environment . $HOME/.guix-home/setup-environment
export GUIX_PROFILE="$HOME/.guix-home/profile" export GUIX_PROFILE="$HOME/.guix-home/profile"
export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"
export ZSH_CUSTOM="$GUIX_PROFILE/share/zsh" export ZSH_CUSTOM="$GUIX_PROFILE/share/zsh"
.reload() { .reload() {
autoload compinit && compinit autoload compinit && compinit
@ -97,3 +98,5 @@ eval "$(fzf --zsh)"
export PYENV_ROOT="$HOME/.pyenv" export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH" [[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)" eval "$(pyenv init -)"
eval "$(zellij setup --generate-auto-start zsh)"

View file

@ -14,25 +14,24 @@
(load "packages.scm") (load "packages.scm")
(home-environment (home-environment
;; Below is the list of packages that will show up in your ;; Below is the list of packages that will show up in your
;; Home profile, under ~/.guix-home/profile. ;; Home profile, under ~/.guix-home/profile.
(packages (specifications->packages (list "guile-hoot" (packages (append (specifications->packages
(list
"guile-hoot"
"guile-next" "guile-next"
"zsh" "zsh"
"zsh-autosuggestions" "zsh-autosuggestions"
"zsh-syntax-highlighting" "zsh-syntax-highlighting"
"fzf"))) "fzf"))
(list
zellij)))
(services (services
(list (list
(service oh-my-zsh-service-type '()) (service oh-my-zsh-service-type)
(service home-emacs-service-type)
(service home-zsh-service-type (service home-zsh-service-type
(home-zsh-configuration (home-zsh-configuration
(zshrc (list (local-file "files/zshrc"))) (zshrc (list (local-file "files/zshrc"))))))))
))
)
)
)

View file

@ -4,6 +4,8 @@
(guix git-download) (guix git-download)
(guix utils) (guix utils)
(gnu packages) (gnu packages)
(gnu packages emacs)
(gnu home services shepherd)
(guix build-system copy) (guix build-system copy)
(gnu services)) (gnu services))
@ -36,4 +38,55 @@ your morning, and an auto-update tool that makes it easy to keep up with the lat
(extensions (extensions
(list (service-extension (list (service-extension
home-files-service-type home-files-service-type
(lambda (_) (list `(".oh-my-zsh" ,oh-my-zsh)))))))) (lambda (_) (list `(".oh-my-zsh" ,oh-my-zsh))))))
(default-value '())))
(define-public zellij
(package
(name "zellij")
(version "0.41.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/zellij-org/zellij/releases/download/v"
version "/zellij-x86_64-unknown-linux-musl.tar.gz"))
(sha256
(base32 "113c9agbx36hiq6a1kf2jydrv3h3cd8s0albnwxi0qd1c0n1rxyw"))))
(build-system copy-build-system)
(arguments
(list
#:substitutable? #f
#:install-plan
#~'(("zellij" "bin/"))
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(lambda* (#:key source #:allow-other-keys)
(invoke "tar" "-xvf" source))))))
(home-page "https://github.com/zellij-org/zellij")
(synopsis "A terminal workspace with batteries included.")
(description
"A terminal workspace with batteries included.")
(license expat)))
(define (home-emacs-shepherd-service config)
(list
(shepherd-service
(documentation "Start Emacs")
(provision '(emacs))
(auto-start? #t)
(start
#~(make-forkexec-constructor
(list #$(file-append emacs "/bin/emacs")
"--fg-daemon")
#:log-file (format #f "~a/.local/var/log/emacs.log" (getenv "HOME"))))
(stop #~(make-kill-destructor)))))
(define home-emacs-service-type
(service-type (name 'emacs-configuration)
(extensions
(list (service-extension
home-shepherd-service-type
home-emacs-shepherd-service)))
(default-value '())
(description "Configures Emacs and installs packages to home-profile.")))