(define-module (oni home services zsh) #:use-module (gnu services configuration) #:use-module (gnu packages shellutils) #:use-module (gnu home services) #:use-module (gnu home services shells) #:use-module (gnu home services utils) #:use-module (guix packages) #:use-module (guix gexp) #:export (home-zsh-autosuggestions-service-type home-zsh-autosuggestions-configuration home-zsh-syntax-highlighting-service-type home-zsh-syntax-highlighting-configuration)) (define-configuration/no-serialization home-zsh-autosuggestions-configuration (package (package zsh-autosuggestions) "Package to use for setting zsh-autosuggestions")) (define (add-zsh-autosuggestions config) (home-zsh-extension (zshrc (list (mixed-text-file "zshrc" "source " (home-zsh-autosuggestions-configuration-package config) "/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh"))))) (define home-zsh-autosuggestions-service-type (service-type (name 'home-zsh-autosuggestions) (extensions (list (service-extension home-zsh-service-type add-zsh-autosuggestions))) (compose identity) (default-value (home-zsh-autosuggestions-configuration)) (description "Install and configure zsh-autosuggestions."))) (define-configuration/no-serialization home-zsh-syntax-highlighting-configuration (package (package zsh-syntax-highlighting) "Package to use for setting zsh-syntax-highlighting.")) (define (add-zsh-syntax-highlighting config) (home-zsh-extension (zshrc (list (mixed-text-file "zshrc" "source " (home-zsh-syntax-highlighting-configuration-package config) "/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"))))) (define home-zsh-syntax-highlighting-service-type (service-type (name 'home-zsh-syntax-highlighting) (extensions (list (service-extension home-zsh-service-type add-zsh-syntax-highlighting))) (compose identity) (default-value (home-zsh-syntax-highlighting-configuration)) (description "Install and configure zsh-syntax-highlighting.")))