aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom Willemse2025-12-18 01:53:42 -0800
committerGravatar Tom Willemse2025-12-18 01:53:42 -0800
commit1e79ffeec86054762d84a751a5abc12920f609ae (patch)
tree9dac46fa2ef9b16b44b9496ef24fe3815fc420c0
parent5e1bc8b2ca23600c4b7be208af73e98e97f73f09 (diff)
downloadnew-dotfiles-1e79ffeec86054762d84a751a5abc12920f609ae.tar.gz
new-dotfiles-1e79ffeec86054762d84a751a5abc12920f609ae.zip
Unify zsh configurations
Combine all of my zsh configurations in a single variable and import it in all the configurations. This also adds my custom zsh functions to the configuration so that every configuration can use them.
-rw-r--r--oni/home/config/common.scm145
-rw-r--r--oni/home/config/data.scm281
-rw-r--r--oni/home/config/pop-os.scm133
-rw-r--r--oni/home/config/rincewind.scm417
4 files changed, 477 insertions, 499 deletions
diff --git a/oni/home/config/common.scm b/oni/home/config/common.scm
index 093f99f..7db270a 100644
--- a/oni/home/config/common.scm
+++ b/oni/home/config/common.scm
@@ -8,6 +8,7 @@
#:use-module (oni home services guile)
#:use-module (oni home services xmodmap)
#:use-module (oni home services kitty)
+ #:use-module (oni home services zsh)
#:use-module ((gnu services)
#:select (simple-service))
#:use-module ((gnu home services guix)
@@ -21,7 +22,7 @@
#:export (home-redshift-service
home-xbindkeys-service
- home-zsh-service
+ home-zsh-services
home-guile-service
home-xmodmap-service
home-openssh-service
@@ -95,52 +96,6 @@
("f" . "flameshot full ~/pictures/screenshots/")
("c" . "flameshot gui")))))))
-(define home-zsh-service
- (service home-zsh-service-type
- (home-zsh-configuration
- (environment-variables
- '(("HISTFILE" . "$HOME/.zsh/histfile")
- ("HISTSIZE" . "1000")
- ("SAVEHIST" . "1000")
- ("WORDCHARS" . "")))
- (zshrc
- (list
- (mixed-text-file
- "zshrc"
- "fpath=($HOME/.zsh/functions $fpath)\n"
- "autoload -U $HOME/.zsh/functions/*(:t)\n"
- "alias csi=\"rlwrap csi\"\n"
- "alias scsh=\"rlwrap scsh\"\n"
- "alias sbcl=\"rlwrap sbcl\"\n"
- "alias hc=herbstclient\n"
- "alias reco=\"pushd ~/projects/new-dotfiles/ && guix home reconfigure config.scm; popd\"\n"
- "alias abcde=\"guix shell abcde -- abcde\"\n"
- "setopt SHARE_HISTORY\n"
- "setopt HIST_IGNORE_ALL_DUPS\n"
- "setopt HIST_IGNORE_SPACE\n"
- "setopt PROMPT_SUBST\n"
- "zle -N x-copy-region-as-kill\n"
- "zle -N x-kill-region\n"
- "zle -N x-yank\n"
- "bindkey -e '^[w' x-copy-region-as-kill\n"
- "bindkey -e '^W' x-kill-region\n"
- "bindkey -e '^Y' x-yank\n"
- "bindkey -e '^[f' emacs-forward-word\n"
- "bindkey -e '^[F' emacs-forward-word\n"
- "bindkey -e '^[b' emacs-backward-word\n"
- "bindkey -e '^[B' emacs-backward-word\n"
- "autoload -Uz compinit\n"
- "compinit\n"
- "function horizontal-rule() {\n"
- " local width=$(tput cols)\n"
- " echo -e \"\\033[0;32m${(pl:$width::━:)}\\033[0m\"\n"
- "}\n"
- "preexec_functions+=(horizontal-rule)\n"
- "precmd_functions+=(horizontal-rule)\n"
- "PROMPT=\"%T \\$(spwd) %B%(?.%F{2}.%F{1}[%?])>%b%f \"")
- (local-file "zsh/spwd.zsh")
- (local-file "zsh/guix-environment.zsh"))))))
-
(define home-guile-service
(service home-guile-service-type
(home-guile-configuration
@@ -274,3 +229,99 @@ LocalForward 19999 localhost:19999"))
"1db24ca92c28255b28076792b93d533eabb3dc6a"
(openpgp-fingerprint
"F4C2D1DF3FDEEA63D1D30776ACC66D09CA528292")))))))
+
+(define home-zsh-services
+ (list (service home-zsh-service-type
+ (home-zsh-configuration
+ (environment-variables
+ '(("HISTFILE" . "$HOME/.zsh/histfile")
+ ("HISTSIZE" . "1000")
+ ("SAVEHIST" . "1000")
+ ("WORDCHARS" . "")))
+ (zshrc
+ (list
+ (mixed-text-file
+ "zshrc"
+ "fpath=($HOME/.zsh/functions $fpath)\n"
+ "autoload -U $HOME/.zsh/functions/*(:t)\n"
+ "alias csi=\"rlwrap csi\"\n"
+ "alias scsh=\"rlwrap scsh\"\n"
+ "alias sbcl=\"rlwrap sbcl\"\n"
+ "alias hc=herbstclient\n"
+ "alias reco=\"pushd ~/projects/new-dotfiles/ && guix home reconfigure config.scm; popd\"\n"
+ "alias abcde=\"guix shell abcde -- abcde\"\n"
+ "setopt SHARE_HISTORY\n"
+ "setopt HIST_IGNORE_ALL_DUPS\n"
+ "setopt HIST_IGNORE_SPACE\n"
+ "setopt PROMPT_SUBST\n"
+ "zle -N x-copy-region-as-kill\n"
+ "zle -N x-kill-region\n"
+ "zle -N x-yank\n"
+ "bindkey -e '^[w' x-copy-region-as-kill\n"
+ "bindkey -e '^W' x-kill-region\n"
+ "bindkey -e '^Y' x-yank\n"
+ "bindkey -e '^[f' emacs-forward-word\n"
+ "bindkey -e '^[F' emacs-forward-word\n"
+ "bindkey -e '^[b' emacs-backward-word\n"
+ "bindkey -e '^[B' emacs-backward-word\n"
+ "autoload -Uz compinit\n"
+ "compinit\n"
+ "function horizontal-rule() {\n"
+ " local width=$(tput cols)\n"
+ " echo -e \"\\033[0;32m${(pl:$width::━:)}\\033[0m\"\n"
+ "}\n"
+ "preexec_functions+=(horizontal-rule)\n"
+ "precmd_functions+=(horizontal-rule)\n"
+ "PROMPT=\"%T \\$(spwd) %B%(?.%F{2}.%F{1}[%?])>%b%f \"")
+ (local-file "zsh/spwd.zsh")
+ (local-file "zsh/guix-environment.zsh")))))
+ ;; This has to be the first extension because it needs to be added to the
+ ;; configuration last.
+ (service home-zsh-syntax-highlighting-service-type)
+ (service home-zsh-autosuggestions-service-type)
+ (service home-zsh-autopair-service-type)
+ (service home-zsh-atuin-service-type
+ (home-zsh-atuin-configuration
+ (inline-height 20)
+ (filter-mode 'directory)
+ (history-filter
+ '("^ +"))
+ (enter-accept #t)
+ (common-subcommands
+ '("guix"
+ "guix home"
+ "nala"
+ "apt"
+ "cargo"
+ "composer"
+ "dnf"
+ "docker"
+ "docker-compose"
+ "docker compose"
+ "git"
+ "go"
+ "ip"
+ "kubectl"
+ "nix"
+ "nmcli"
+ "npm"
+ "pecl"
+ "pnpm"
+ "podman"
+ "port"
+ "systemctl"
+ "tmux"
+ "yarn"))
+ (sync-address "http://phoenix.fold-kanyu.ts.net:8888")
+ (search-mode "skim")))
+ (service home-files-service-type
+ `((".zsh/functions/spwd"
+ ,(local-file "../../../zsh/.zsh/functions/spwd"))
+ (".zsh/functions/unzip"
+ ,(local-file "../../../zsh/.zsh/functions/unzip"))
+ (".zsh/functions/x-copy-region-as-kill"
+ ,(local-file "../../../zsh/.zsh/functions/x-copy-region-as-kill"))
+ (".zsh/functions/x-kill-region"
+ ,(local-file "../../../zsh/.zsh/functions/x-kill-region"))
+ (".zsh/functions/x-yank"
+ ,(local-file "../../../zsh/.zsh/functions/x-yank"))))))
diff --git a/oni/home/config/data.scm b/oni/home/config/data.scm
index 8577a4f..860d4c5 100644
--- a/oni/home/config/data.scm
+++ b/oni/home/config/data.scm
@@ -52,7 +52,6 @@
#:use-module ((oni home services xdisorg)
#:select (home-xss-lock-service-type))
#:use-module (oni home services xsession)
- #:use-module (oni home services zsh)
#:use-module ((oni packages emacs)
#:select (emacs-outli
emacs-syncthing-status))
@@ -99,8 +98,7 @@
;; #:use-module (oni packages hlwm-run-or-raise)
#:use-module (oni packages pick-random-wallpaper)
#:use-module (oni packages sawfish)
- #:use-module (oni packages shutdown-rofi)
- #:use-module (oni packages zsh))
+ #:use-module (oni packages shutdown-rofi))
(define data-picom-service
(service home-picom-service-type
@@ -171,155 +169,150 @@
gforth)))
(services
- (list
- home-channels-service
- home-environment-service
- home-rofi-default-service
- home-dunst-default-service
- home-redshift-service
- ;; home-xbindkeys-service
- home-zsh-service
- home-guile-service
- home-xmodmap-service
- home-openssh-service
- home-kitty-service
- data-picom-service
+ (append
+ home-zsh-services
+ (list
+ home-channels-service
+ home-environment-service
+ home-rofi-default-service
+ home-dunst-default-service
+ home-redshift-service
+ ;; home-xbindkeys-service
+ home-guile-service
+ home-xmodmap-service
+ home-openssh-service
+ home-kitty-service
+ data-picom-service
- ;; This has to be the first extension because it needs to be added to the
- ;; configuration last.
- (service home-zsh-syntax-highlighting-service-type)
- (service home-zsh-autosuggestions-service-type)
- (service home-zsh-contextual-abbrevs-service-type)
+ (service home-xsession-service-type
+ (home-xsession-configuration
+ (configuration
+ (list
+ (mixed-text-file
+ "xsession"
+ "xrdb -cpp m4 -merge \"${HOME}/.config/X11/Xresources\" -I\"${HOME}/.config/X11/Xresources.d\"\n"
+ "xrandr --setprovideroutputsource modesetting NVIDIA-0\n"
+ "xrandr --auto\n"
+ "xrandr --dpi 96\n")))))
- (service home-xsession-service-type
- (home-xsession-configuration
- (configuration
- (list
- (mixed-text-file
- "xsession"
- "xrdb -cpp m4 -merge \"${HOME}/.config/X11/Xresources\" -I\"${HOME}/.config/X11/Xresources.d\"\n"
- "xrandr --setprovideroutputsource modesetting NVIDIA-0\n"
- "xrandr --auto\n"
- "xrandr --dpi 96\n")))))
+ ;; (service home-herbstluftwm-service-type
+ ;; (home-herbstluftwm-configuration
+ ;; (tags '(dev web game))
+ ;; (key-bindings
+ ;; '(("s-S-q" . "quit")
+ ;; ("s-S-e" . "reload")))
+ ;; (mouse-bindings
+ ;; '(("s-Button1" . "move")
+ ;; ("s-Button2" . "zoom")
+ ;; ("s-Button3" . "resize")))
+ ;; (settings
+ ;; '((default_frame_layout . 2)
+ ;; (frame_border_active_color . "#3d3d3d")
+ ;; (frame_border_normal_color . "#222222")
+ ;; (frame_bg_normal_color . "#111111")
+ ;; (frame_bg_active_color . "#263f1f")
+ ;; (frame_border_width . 0)
+ ;; (window_border_width . 2)
+ ;; (window_border_inner_width . 0)
+ ;; (window_border_normal_color . "#222222")
+ ;; (window_border_active_color . "#1f3f3f")
+ ;; (window_border_inner_color . "#111111")
+ ;; (always_show_frame . 0)
+ ;; (frame_gap . 30)
+ ;; (window_gap . 30)
+ ;; (frame_padding . -30)
+ ;; (frame_bg_transparent . 1)
+ ;; (smart_window_surroundings . 0)
+ ;; (smart_frame_surroundings . 0)
+ ;; (mouse_recenter_gap . 0)
+ ;; (swap_monitors_to_get_tag . 0)
+ ;; (update_dragged_clients . 1)
+ ;; (tree_style . "╾│ ├└╼─┐")))
+ ;; (attributes
+ ;; '(((theme tiling reset) . 1)
+ ;; ((theme floating reset) . 1)))
+ ;; (rules
+ ;; '(("focus=on")
+ ;; ("class=Emacs" "tag=dev" "index=01" "switchtag=on" "hook=emacs")
+ ;; ("class~'URxvt|kitty'" "tag=dev" "index=1" "switchtag=on" "hook=urxvt")
+ ;; ("class~'Conkeror|[Ff]irefox|Chromium'" "tag=web" "index=0" "switchtag=on")
+ ;; ("class=Pinentry" "pseudotile=on")
+ ;; ("class=Alsaplayer" "pseudotile=on")
+ ;; ("class=Gcr-prompter" "pseudotile=on")
+ ;; ("class=Steam" "title='Steam Login'" "pseudotile=on")
+ ;; ("class=Steam" "title~'Steam - News .*'" "pseudotile=on")
+ ;; ("class=" "title=Steam" "pseudotile=on")
+ ;; ("class=xfreerdp" "floating=on" "tag=work" "index=0" "switchtag=on")
+ ;; ("windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)'" "pseudotile=on")
+ ;; ("windowtype='_NET_WM_WINDOW_TYPE_DIALOG'" "focus=on")
+ ;; ("windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK|DESKTOP)'" "manage=off")
+ ;; ("class=pinball.exe" "pseudotile=on")))
+ ;; (padding '(0 0 0 16 16))
+ ;; (layouts
+ ;; '((web clients max:0)
+ ;; (dev split horizontal:0.54:1 (clients max:0) (clients vertical:0))))
+ ;; (extra
+ ;; (list
+ ;; (mixed-text-file
+ ;; "autostart"
+ ;; "set_monitors 1920x1080+0+0\n"
+ ;; "focus_edge left\n"
+ ;; "keybind Mod4-apostrophe spawn dunstctl close\n"
+ ;; "keybind Mod4-quotedbl spawn dunstctl close-all\n"
+ ;; "keybind Mod4-Control-apostrophe spawn dunstctl history-pop\n"
+ ;; "keybind Mod4-Mod1-apostrophe spawn dunstctl context\n"
+ ;; "spawn pick-random-wallpaper\n")))))
- ;; (service home-herbstluftwm-service-type
- ;; (home-herbstluftwm-configuration
- ;; (tags '(dev web game))
- ;; (key-bindings
- ;; '(("s-S-q" . "quit")
- ;; ("s-S-e" . "reload")))
- ;; (mouse-bindings
- ;; '(("s-Button1" . "move")
- ;; ("s-Button2" . "zoom")
- ;; ("s-Button3" . "resize")))
- ;; (settings
- ;; '((default_frame_layout . 2)
- ;; (frame_border_active_color . "#3d3d3d")
- ;; (frame_border_normal_color . "#222222")
- ;; (frame_bg_normal_color . "#111111")
- ;; (frame_bg_active_color . "#263f1f")
- ;; (frame_border_width . 0)
- ;; (window_border_width . 2)
- ;; (window_border_inner_width . 0)
- ;; (window_border_normal_color . "#222222")
- ;; (window_border_active_color . "#1f3f3f")
- ;; (window_border_inner_color . "#111111")
- ;; (always_show_frame . 0)
- ;; (frame_gap . 30)
- ;; (window_gap . 30)
- ;; (frame_padding . -30)
- ;; (frame_bg_transparent . 1)
- ;; (smart_window_surroundings . 0)
- ;; (smart_frame_surroundings . 0)
- ;; (mouse_recenter_gap . 0)
- ;; (swap_monitors_to_get_tag . 0)
- ;; (update_dragged_clients . 1)
- ;; (tree_style . "╾│ ├└╼─┐")))
- ;; (attributes
- ;; '(((theme tiling reset) . 1)
- ;; ((theme floating reset) . 1)))
- ;; (rules
- ;; '(("focus=on")
- ;; ("class=Emacs" "tag=dev" "index=01" "switchtag=on" "hook=emacs")
- ;; ("class~'URxvt|kitty'" "tag=dev" "index=1" "switchtag=on" "hook=urxvt")
- ;; ("class~'Conkeror|[Ff]irefox|Chromium'" "tag=web" "index=0" "switchtag=on")
- ;; ("class=Pinentry" "pseudotile=on")
- ;; ("class=Alsaplayer" "pseudotile=on")
- ;; ("class=Gcr-prompter" "pseudotile=on")
- ;; ("class=Steam" "title='Steam Login'" "pseudotile=on")
- ;; ("class=Steam" "title~'Steam - News .*'" "pseudotile=on")
- ;; ("class=" "title=Steam" "pseudotile=on")
- ;; ("class=xfreerdp" "floating=on" "tag=work" "index=0" "switchtag=on")
- ;; ("windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)'" "pseudotile=on")
- ;; ("windowtype='_NET_WM_WINDOW_TYPE_DIALOG'" "focus=on")
- ;; ("windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK|DESKTOP)'" "manage=off")
- ;; ("class=pinball.exe" "pseudotile=on")))
- ;; (padding '(0 0 0 16 16))
- ;; (layouts
- ;; '((web clients max:0)
- ;; (dev split horizontal:0.54:1 (clients max:0) (clients vertical:0))))
- ;; (extra
- ;; (list
- ;; (mixed-text-file
- ;; "autostart"
- ;; "set_monitors 1920x1080+0+0\n"
- ;; "focus_edge left\n"
- ;; "keybind Mod4-apostrophe spawn dunstctl close\n"
- ;; "keybind Mod4-quotedbl spawn dunstctl close-all\n"
- ;; "keybind Mod4-Control-apostrophe spawn dunstctl history-pop\n"
- ;; "keybind Mod4-Mod1-apostrophe spawn dunstctl context\n"
- ;; "spawn pick-random-wallpaper\n")))))
+ (service home-sawfish-service-type)
- (service home-sawfish-service-type)
+ (service home-polybar-service-type
+ (home-polybar-configuration
+ (bar "data")))
- (service home-polybar-service-type
- (home-polybar-configuration
- (bar "data")))
+ (service home-kdeconnect-service-type)
- (service home-kdeconnect-service-type)
+ (service home-cmst-service-type)
- (service home-cmst-service-type)
+ (service home-syncthing-service-type)
- (service home-syncthing-service-type)
+ (service home-unclutter-service-type
+ (home-unclutter-configuration
+ (package unclutter-xfixes)
+ (exclude-root #t)))
- (service home-unclutter-service-type
- (home-unclutter-configuration
- (package unclutter-xfixes)
- (exclude-root #t)))
+ (service home-emacs-service-type
+ (home-emacs-configuration
+ (helpful-configuration
+ (home-emacs-helpful-configuration
+ (configurations
+ (list
+ (local-file "../services/emacs/oni-helpful.el")))))
+ (yasnippet-capf
+ (home-emacs-yasnippet-capf-configuration))
+ (envrc
+ (home-emacs-envrc-configuration))
+ (configurations
+ (list
+ (local-file "../services/emacs/init.el")
+ (mixed-text-file
+ "init.el"
+ "(with-eval-after-load 'project (require 'oni-project))\n"
+ "(projectile-mode)\n"
+ "(setq custom-file \"~/.config/emacs/custom.el\")\n"
+ "(load custom-file)\n"
+ "(provide 'init)\n"
+ ";;; init.el ends here\n")))))
+ (service home-emacs-eros-service-type)
+ (service home-emacs-ace-link-service-type
+ (home-emacs-ace-link-configuration
+ (default-key "C-S-e")
+ (goto-address-key "C-S-e")
+ (org-mode-key "C-S-e")))
+ (service home-emacs-golden-ratio-service-type)
+ (service home-emacs-pinentry-service-type)
+ (service home-emacs-org-caldav-service-type)
- (service home-emacs-service-type
- (home-emacs-configuration
- (helpful-configuration
- (home-emacs-helpful-configuration
- (configurations
- (list
- (local-file "../services/emacs/oni-helpful.el")))))
- (yasnippet-capf
- (home-emacs-yasnippet-capf-configuration))
- (envrc
- (home-emacs-envrc-configuration))
- (configurations
- (list
- (local-file "../services/emacs/init.el")
- (mixed-text-file
- "init.el"
- "(with-eval-after-load 'project (require 'oni-project))\n"
- "(projectile-mode)\n"
- "(setq custom-file \"~/.config/emacs/custom.el\")\n"
- "(load custom-file)\n"
- "(provide 'init)\n"
- ";;; init.el ends here\n")))))
- (service home-emacs-eros-service-type)
- (service home-emacs-ace-link-service-type
- (home-emacs-ace-link-configuration
- (default-key "C-S-e")
- (goto-address-key "C-S-e")
- (org-mode-key "C-S-e")))
- (service home-emacs-golden-ratio-service-type)
- (service home-emacs-pinentry-service-type)
- (service home-emacs-org-caldav-service-type)
+ (service home-xss-lock-service-type)
+ (service home-cbatticon-service-type)
- (service home-xss-lock-service-type)
- (service home-cbatticon-service-type)
-
- (service home-mbsync-service-type))))
+ (service home-mbsync-service-type)))))
diff --git a/oni/home/config/pop-os.scm b/oni/home/config/pop-os.scm
index 734ae67..fd9a8b8 100644
--- a/oni/home/config/pop-os.scm
+++ b/oni/home/config/pop-os.scm
@@ -24,11 +24,7 @@
#:use-module ((guix gexp)
#:select (local-file
mixed-text-file))
- #:use-module ((oni home config common)
- #:select (home-channels-service
- home-zsh-service
- home-kitty-service
- foreign-distro-compatibility-packages))
+ #:use-module (oni home config common)
#:use-module ((oni home services dunst)
#:select (home-dunst-default-service))
#:use-module ((oni home services emacs)
@@ -63,7 +59,6 @@
;; home-stumpwm-pamixer-service-type
;; home-stumpwm-pamixer-configuration))
#:use-module (oni home services xdisorg)
- #:use-module (oni home services zsh)
#:use-module (oni packages emacs)
#:use-module ((oni packages emacs-config)
#:select (emacs-oni-bookmark
@@ -112,49 +107,6 @@
(services home-module-services
(default '())))
-(define oni-home-zsh-configuration
- (home-module
- (services (list home-zsh-service
- ;; This has to be the first extension because it needs to be added to the
- ;; configuration last.
- (service home-zsh-syntax-highlighting-service-type)
- (service home-zsh-autosuggestions-service-type)
- (service home-zsh-contextual-abbrevs-service-type)
- (service home-zsh-atuin-service-type
- (home-zsh-atuin-configuration
- (inline-height 20)
- (filter-mode 'directory)
- (history-filter
- '("^ +"))
- (enter-accept #t)
- (common-subcommands
- '("guix"
- "guix home"
- "nala"
- "apt"
- "cargo"
- "composer"
- "dnf"
- "docker"
- "docker-compose"
- "docker compose"
- "git"
- "go"
- "ip"
- "kubectl"
- "nix"
- "nmcli"
- "npm"
- "pecl"
- "pnpm"
- "podman"
- "port"
- "systemctl"
- "tmux"
- "yarn"))
- (sync-address "http://phoenix.fold-kanyu.ts.net:8888")
- (search-mode "skim")))))))
-
(define oni-home-herbstluftwm-configuration
(home-module
(packages (list hlwm-run-or-raise))
@@ -259,7 +211,6 @@
(apply append (map home-module-services modules)))))
(home-modules->home-environment
- oni-home-zsh-configuration
oni-home-herbstluftwm-configuration
(home-module
(packages (append
@@ -320,48 +271,50 @@
emacs-rainbow-identifiers
emacs-vundo)))
- (services (list home-channels-service
- home-dunst-default-service
- home-environment-service
- home-kitty-service
- home-rofi-default-service
+ (services (append
+ oni-home-zsh-services
+ (list home-channels-service
+ home-dunst-default-service
+ home-environment-service
+ home-kitty-service
+ home-rofi-default-service
- (service home-emacs-service-type
- (home-emacs-configuration
- (helpful-configuration
- (home-emacs-helpful-configuration
- (configurations
- (list
- (local-file "../services/emacs/oni-helpful.el")))))
- (yasnippet-capf
- (home-emacs-yasnippet-capf-configuration))
- (envrc
- (home-emacs-envrc-configuration))
- (configurations
- (list
- (local-file "../services/emacs/init.el")
- (local-file "pop-os/emacs.el")
- (mixed-text-file
- "init.el"
- "(with-eval-after-load 'project (require 'oni-project))\n"
- "(require 'oni-gui)\n"
- "(provide 'oni-gnus)\n"
- "(add-to-list 'auto-mode-alist '(\"\\.vue$\" . web-mode))\n")))))
- (service home-emacs-org-journal-service-type)
- (service home-wakatime-service-type
- (home-wakatime-configuration
- (api-url "https://waka.ryuslash.org/api")
- (exclude '("^COMMIT_EDITMSG$"
- "^TAG_EDITMSG$"))))
- (service home-emacs-vterm-service-type
- (home-emacs-vterm-configuration
- (buffer-name-string "*vterm* %s")))
+ (service home-emacs-service-type
+ (home-emacs-configuration
+ (helpful-configuration
+ (home-emacs-helpful-configuration
+ (configurations
+ (list
+ (local-file "../services/emacs/oni-helpful.el")))))
+ (yasnippet-capf
+ (home-emacs-yasnippet-capf-configuration))
+ (envrc
+ (home-emacs-envrc-configuration))
+ (configurations
+ (list
+ (local-file "../services/emacs/init.el")
+ (local-file "pop-os/emacs.el")
+ (mixed-text-file
+ "init.el"
+ "(with-eval-after-load 'project (require 'oni-project))\n"
+ "(require 'oni-gui)\n"
+ "(provide 'oni-gnus)\n"
+ "(add-to-list 'auto-mode-alist '(\"\\.vue$\" . web-mode))\n")))))
+ (service home-emacs-org-journal-service-type)
+ (service home-wakatime-service-type
+ (home-wakatime-configuration
+ (api-url "https://waka.ryuslash.org/api")
+ (exclude '("^COMMIT_EDITMSG$"
+ "^TAG_EDITMSG$"))))
+ (service home-emacs-vterm-service-type
+ (home-emacs-vterm-configuration
+ (buffer-name-string "*vterm* %s")))
- (service home-flameshot-service-type)
- (service home-mbsync-service-type)
+ (service home-flameshot-service-type)
+ (service home-mbsync-service-type)
- (service home-gpg-agent-service-type
- (home-gpg-agent-configuration
+ (service home-gpg-agent-service-type
+ (home-gpg-agent-configuration
(ssh-support? #t)
(extra-content
- "allow-emacs-pinentry\n")))))))
+ "allow-emacs-pinentry\n"))))))))
diff --git a/oni/home/config/rincewind.scm b/oni/home/config/rincewind.scm
index ffb807e..1459d1a 100644
--- a/oni/home/config/rincewind.scm
+++ b/oni/home/config/rincewind.scm
@@ -1,6 +1,7 @@
(define-module (oni home config rincewind)
#:use-module ((gnu home)
#:select (home-environment))
+ #:use-module (gnu home services)
#:use-module ((gnu home services mail)
#:select (home-msmtp-service-type
home-msmtp-configuration
@@ -9,6 +10,7 @@
#:use-module ((gnu home services gnupg)
#:select (home-gpg-agent-service-type
home-gpg-agent-configuration))
+ #:use-module (gnu home services shells)
#:use-module ((gnu home services ssh)
#:select (home-ssh-agent-service-type))
#:use-module ((gnu packages cdrom)
@@ -61,16 +63,7 @@
#:select (options->transformation))
#:use-module ((nongnu packages emacs)
#:select (emacs-org-roam-ui))
- #:use-module ((oni home config common)
- #:select (home-redshift-service
- ;; home-xbindkeys-service
- home-zsh-service
- home-guile-service
- home-xmodmap-service
- home-openssh-service
- home-kitty-service
- home-channels-service
- foreign-distro-compatibility-packages))
+ #:use-module (oni home config common)
#:use-module ((oni home services autokey)
#:select (home-autokey-service-type))
#:use-module ((oni home services copyq)
@@ -376,232 +369,220 @@
emacs-gnuplot)))
(services
- (list
- home-environment-service
- home-dunst-default-service
- home-redshift-service
- home-zsh-service
- home-guile-service
- home-xmodmap-service
- home-openssh-service
- home-kitty-service
- rincewind-picom-service
+ (append
+ home-zsh-services
+ (list
+ home-environment-service
+ home-dunst-default-service
+ home-redshift-service
+ home-guile-service
+ home-xmodmap-service
+ home-openssh-service
+ home-kitty-service
+ rincewind-picom-service
- ;; This has to be the first extension because it needs to be added to the
- ;; configuration last.
- (service home-zsh-syntax-highlighting-service-type)
- (service home-zsh-autosuggestions-service-type)
- (service home-zsh-autopair-service-type)
- (service home-zsh-atuin-service-type
- (home-zsh-atuin-configuration
- (inline-height 20)
- (filter-mode 'directory)
- (history-filter
- '("^ +"))
- (enter-accept #t)))
+ home-channels-service
- home-channels-service
+ ;; (service home-polybar-service-type
+ ;; (home-polybar-configuration
+ ;; (bar "rincewind")))
- ;; (service home-polybar-service-type
- ;; (home-polybar-configuration
- ;; (bar "rincewind")))
+ (service home-kdeconnect-service-type)
+ (service home-syncthing-service-type)
- (service home-kdeconnect-service-type)
- (service home-syncthing-service-type)
+ (service home-emacs-service-type
+ (home-emacs-configuration
+ (package my-emacs)
+ (helpful-configuration
+ (home-emacs-helpful-configuration
+ (configurations
+ (list
+ (local-file "../services/emacs/oni-helpful.el")))))
+ (yasnippet-capf
+ (home-emacs-yasnippet-capf-configuration))
+ (envrc
+ (home-emacs-envrc-configuration))
+ (configurations
+ (list
+ (local-file "../services/emacs/init.el")
+ (mixed-text-file
+ "init.el"
+ "(with-eval-after-load 'hy-mode (require 'oni-hy))\n"
+ "(with-eval-after-load 'project (require 'oni-project))\n"
+ "(projectile-mode)\n"
+ "(setq custom-file \"~/.config/emacs/custom.el\")\n"
+ "(load custom-file)\n"
+ "(provide 'init)\n"
+ ";;; init.el ends here\n")))))
+ (service home-emacs-dashboard-service-type
+ (home-emacs-dashboard-configuration
+ (configurations
+ (list
+ (local-file "../services/emacs/oni-dashboard.el")))))
+ (service home-emacs-eros-service-type)
+ (service home-emacs-ace-link-service-type
+ (home-emacs-ace-link-configuration
+ (default-key "C-S-e")
+ (goto-address-key "C-S-e")
+ (org-mode-key "C-S-e")))
+ (service home-emacs-ace-link-notmuch-service-type
+ (home-emacs-ace-link-notmuch-configuration
+ (default-key "C-S-e")))
+ (service home-emacs-golden-ratio-service-type)
+ (service home-emacs-pinentry-service-type)
+ (service home-emacs-vterm-service-type
+ (home-emacs-vterm-configuration
+ (buffer-name-string "*vterm* %s")))
+ (service home-emacs-org-modern-service-type
+ (home-emacs-org-modern-configuration
+ (package emacs-next-org-modern)))
+ (service home-emacs-org-journal-service-type)
+ (service home-wakatime-service-type
+ (home-wakatime-configuration
+ (api-url "https://waka.ryuslash.org/api")
+ (exclude '("COMMIT_EDITMSG$"
+ "TAG_EDITMSG$"))))
- (service home-emacs-service-type
- (home-emacs-configuration
- (package my-emacs)
- (helpful-configuration
- (home-emacs-helpful-configuration
- (configurations
- (list
- (local-file "../services/emacs/oni-helpful.el")))))
- (yasnippet-capf
- (home-emacs-yasnippet-capf-configuration))
- (envrc
- (home-emacs-envrc-configuration))
- (configurations
- (list
- (local-file "../services/emacs/init.el")
- (mixed-text-file
- "init.el"
- "(with-eval-after-load 'hy-mode (require 'oni-hy))\n"
- "(with-eval-after-load 'project (require 'oni-project))\n"
- "(projectile-mode)\n"
- "(setq custom-file \"~/.config/emacs/custom.el\")\n"
- "(load custom-file)\n"
- "(provide 'init)\n"
- ";;; init.el ends here\n")))))
- (service home-emacs-dashboard-service-type
- (home-emacs-dashboard-configuration
- (configurations
- (list
- (local-file "../services/emacs/oni-dashboard.el")))))
- (service home-emacs-eros-service-type)
- (service home-emacs-ace-link-service-type
- (home-emacs-ace-link-configuration
- (default-key "C-S-e")
- (goto-address-key "C-S-e")
- (org-mode-key "C-S-e")))
- (service home-emacs-ace-link-notmuch-service-type
- (home-emacs-ace-link-notmuch-configuration
- (default-key "C-S-e")))
- (service home-emacs-golden-ratio-service-type)
- (service home-emacs-pinentry-service-type)
- (service home-emacs-vterm-service-type
- (home-emacs-vterm-configuration
- (buffer-name-string "*vterm* %s")))
- (service home-emacs-org-modern-service-type
- (home-emacs-org-modern-configuration
- (package emacs-next-org-modern)))
- (service home-emacs-org-journal-service-type)
- (service home-wakatime-service-type
- (home-wakatime-configuration
- (api-url "https://waka.ryuslash.org/api")
- (exclude '("COMMIT_EDITMSG$"
- "TAG_EDITMSG$"))))
+ (service home-flameshot-service-type)
- (service home-flameshot-service-type)
-
- (service home-git-service-type
- (home-git-configuration
- (user-name "Tom Willemse")
- (user-email "tom@ryuslash.org")
- (sendemail-sendmailcmd "/usr/bin/msmtp")
- (init-default-branch "main")
- (init-default-branchname "main")
- (advice-detached-head #f)
- (extra "
+ (service home-git-service-type
+ (home-git-configuration
+ (user-name "Tom Willemse")
+ (user-email "tom@ryuslash.org")
+ (sendemail-sendmailcmd "/usr/bin/msmtp")
+ (init-default-branch "main")
+ (init-default-branchname "main")
+ (advice-detached-head #f)
+ (extra "
[diff \"org\"]
xfuncname = \"^\\\\*+ +(.+)\"
[diff \"lisp\"]
xfuncname = \"^[[:space:]]*?\\\\(def\\\\w+? ((\\\\w|-|'|:|=|<|>)+)\"
")))
- (service home-mpd-service-type
- (home-mpd-configuration
- (music-directory "~/music")
- (playlist-directory "~/music/playlists")
- (log-file "~/.local/share/mpd/mpd.log")
- (pid-file "~/.local/share/mpd/mpd.pid")
- (db-file "~/.local/share/mpd/mpd.db")
- (state-file "~/.local/share/mpd/mpdstate")
- (audio-outputs
- (list (make <home-mpd-audio-output> #:type "pulse" #:name "MPD Pulse")
- (make <home-mpd-audio-output>
- #:type "fifo"
- #:name "Visualizer"
- #:path "/tmp/mpd.fifo"
- #:format "44100:16:2")))))
- (service home-mpc-update-service-type)
- (service home-mpd-notify-service-type)
- (service home-mpdscrobble-service-type)
+ (service home-mpd-service-type
+ (home-mpd-configuration
+ (music-directory "~/music")
+ (playlist-directory "~/music/playlists")
+ (log-file "~/.local/share/mpd/mpd.log")
+ (pid-file "~/.local/share/mpd/mpd.pid")
+ (db-file "~/.local/share/mpd/mpd.db")
+ (state-file "~/.local/share/mpd/mpdstate")
+ (audio-outputs
+ (list (make <home-mpd-audio-output> #:type "pulse" #:name "MPD Pulse")
+ (make <home-mpd-audio-output>
+ #:type "fifo"
+ #:name "Visualizer"
+ #:path "/tmp/mpd.fifo"
+ #:format "44100:16:2")))))
+ (service home-mpc-update-service-type)
+ (service home-mpd-notify-service-type)
+ (service home-mpdscrobble-service-type)
- (service home-mpv-service-type)
- ;; [2024-01-05 Fri] mpv-mpris fails to compile:
- ;; mpris.c:1:10: fatal error: gio/gio.h: No such file or directory
- ;; Since I don't actually use it right now I really don't need it.
+ (service home-mpv-service-type)
+ ;; [2024-01-05 Fri] mpv-mpris fails to compile:
+ ;; mpris.c:1:10: fatal error: gio/gio.h: No such file or directory
+ ;; Since I don't actually use it right now I really don't need it.
; (service home-mpv-mpris-service-type)
- (service home-stumpwm-service-type
- (home-stumpwm-configuration
- (package stumpwm+swank)
- (configurations
- (list (local-file "../services/stumpwm/stumpwm.lisp")))))
- (service home-stumpwm-gaps-service-type
- (home-stumpwm-gaps-configuration
- (configurations
- (list (local-file "../services/stumpwm/config-gaps")))))
- (service home-stumpwm-stumptray-service-type
- (home-stumpwm-stumptray-configuration
- (configurations
- (list (mixed-text-file "config-stumptray"
- "(require 'stumptray)\n"
- "(stumptray::stumptray)\n")))))
+ (service home-stumpwm-service-type
+ (home-stumpwm-configuration
+ (package stumpwm+swank)
+ (configurations
+ (list (local-file "../services/stumpwm/stumpwm.lisp")))))
+ (service home-stumpwm-gaps-service-type
+ (home-stumpwm-gaps-configuration
+ (configurations
+ (list (local-file "../services/stumpwm/config-gaps")))))
+ (service home-stumpwm-stumptray-service-type
+ (home-stumpwm-stumptray-configuration
+ (configurations
+ (list (mixed-text-file "config-stumptray"
+ "(require 'stumptray)\n"
+ "(stumptray::stumptray)\n")))))
- (service home-inkplate-display-service-type)
- (service home-notmuch-service-type
- (home-notmuch-configuration
- (database-path "/home/chelys/documents/mail")
- (user-primary-email "tom@ryuslash.org")
- (user-other-email '("ryuslash@gmail.com" "tom@iactor.nl"))
- (new-ignore '(".nnmaildir" ".mbsyncstate" ".uidvalidity"
- ".mbsyncstate.journal" ".mbsyncstate.new"))))
+ (service home-inkplate-display-service-type)
+ (service home-notmuch-service-type
+ (home-notmuch-configuration
+ (database-path "/home/chelys/documents/mail")
+ (user-primary-email "tom@ryuslash.org")
+ (user-other-email '("ryuslash@gmail.com" "tom@iactor.nl"))
+ (new-ignore '(".nnmaildir" ".mbsyncstate" ".uidvalidity"
+ ".mbsyncstate.journal" ".mbsyncstate.new"))))
- (service home-autokey-service-type)
- (service home-copyq-service-type)
+ (service home-autokey-service-type)
+ (service home-copyq-service-type)
- (service home-msmtp-service-type
- (home-msmtp-configuration
- (defaults (msmtp-configuration
- (auth? #t)
- (tls? #t)
- (tls-starttls? #t)
- (port 587)))
- (accounts
- (list (msmtp-account
- (name "gmail")
- ;; Use `secret-tool store --label=msmtp host smtp.gmail.com
- ;; service smtp user ryuslash@gmail.com' to store the
- ;; password.
- (configuration (msmtp-configuration
- (host "smtp.gmail.com")
- (from "ryuslash@gmail.com")
- (user "ryuslash@gmail.com"))))
- (msmtp-account
- (name "ryuslash")
- ;; Use `secret-tool store --label=msmtp host
- ;; smtp-ryuslash.alwaysdata.net service smtp user
- ;; tom@ryuslash.org' to store the password.
- (configuration (msmtp-configuration
- (host "smtp-ryuslash.alwaysdata.net")
- (from "tom@ryuslash.org")
- (user "tom@ryuslash.org"))))))
- (default-account "ryuslash")))
+ (service home-msmtp-service-type
+ (home-msmtp-configuration
+ (defaults (msmtp-configuration
+ (auth? #t)
+ (tls? #t)
+ (tls-starttls? #t)
+ (port 587)))
+ (accounts
+ (list (msmtp-account
+ (name "gmail")
+ ;; Use `secret-tool store --label=msmtp host smtp.gmail.com
+ ;; service smtp user ryuslash@gmail.com' to store the
+ ;; password.
+ (configuration (msmtp-configuration
+ (host "smtp.gmail.com")
+ (from "ryuslash@gmail.com")
+ (user "ryuslash@gmail.com"))))
+ (msmtp-account
+ (name "ryuslash")
+ ;; Use `secret-tool store --label=msmtp host
+ ;; smtp-ryuslash.alwaysdata.net service smtp user
+ ;; tom@ryuslash.org' to store the password.
+ (configuration (msmtp-configuration
+ (host "smtp-ryuslash.alwaysdata.net")
+ (from "tom@ryuslash.org")
+ (user "tom@ryuslash.org"))))))
+ (default-account "ryuslash")))
- (service home-gpg-agent-service-type
- (home-gpg-agent-configuration
- (ssh-support? #t)
- (extra-content
- "allow-emacs-pinentry\n")))
+ (service home-gpg-agent-service-type
+ (home-gpg-agent-configuration
+ (ssh-support? #t)
+ (extra-content
+ "allow-emacs-pinentry\n")))
- (service home-icecat-service-type
- (home-icecat-configuration
- (package librewolf)
- (settings
- '(("extensions.pocket.enabled" #f)
- ("view_source.editor.args" "--no-wait")
- ("view_source.editor.external" #t)
- ("view_source.editor.path" "/home/chelys/.guix-home/profile/bin/emacsclient")
- ;; Visual modifications. Don't let websites pick the colors or
- ;; the fonts, use mine instead.
- ("browser.display.document_color_use" 2)
- ("browser.display.use_document_fonts" 0)
- ("browser.display.background_color" "#222424")
- ("browser.display.foreground_color" "#bfbfbf")
- ("browser.anchor_color" "#ff9800")
- ("browser.visited_color" "#0babab")
- ("browser.newtabpage.activity-stream.showWeather" #f)
- ("font.default.x-western" "sans-serif")
- ("font.minimum-size.x-western" 18)
- ("font.name.monospace.x-western" "Fantasque Sans Mono")
- ("font.name.sans-serif.x-western" "Dosis")
- ;; Sadly, with this option on it won't accept my color
- ;; modifications, so I turn it off, even though I would prefer
- ;; being able to leave everything (except the forced light
- ;; theme) on.
- ("privacy.resistFingerprinting" #f)
- ;; Change the accelerator key (modifier key for most keyboard
- ;; shortcuts) to the super key (from control).
- ("ui.key.accelKey" 91)
- ("browser.tabs.hoverPreview.enabled" #f)
- ("browser.tabs.hoverPreview.showThumbnails" #f)
- ("sidebar.main.tools" "syncedtabs,history,bookmarks")
- ("sidebar.position_start" #f)
- ("sidebar.verticalTabs" #t)
- ("sidebar.revamp" #t)
- ("sidebar.visibility" "hide-sidebar")
- ("ui.key.menuAccessKeyFocuses" #f)))))
+ (service home-icecat-service-type
+ (home-icecat-configuration
+ (package librewolf)
+ (settings
+ '(("extensions.pocket.enabled" #f)
+ ("view_source.editor.args" "--no-wait")
+ ("view_source.editor.external" #t)
+ ("view_source.editor.path" "/home/chelys/.guix-home/profile/bin/emacsclient")
+ ;; Visual modifications. Don't let websites pick the colors or
+ ;; the fonts, use mine instead.
+ ("browser.display.document_color_use" 2)
+ ("browser.display.use_document_fonts" 0)
+ ("browser.display.background_color" "#222424")
+ ("browser.display.foreground_color" "#bfbfbf")
+ ("browser.anchor_color" "#ff9800")
+ ("browser.visited_color" "#0babab")
+ ("browser.newtabpage.activity-stream.showWeather" #f)
+ ("font.default.x-western" "sans-serif")
+ ("font.minimum-size.x-western" 18)
+ ("font.name.monospace.x-western" "Fantasque Sans Mono")
+ ("font.name.sans-serif.x-western" "Dosis")
+ ;; Sadly, with this option on it won't accept my color
+ ;; modifications, so I turn it off, even though I would prefer
+ ;; being able to leave everything (except the forced light
+ ;; theme) on.
+ ("privacy.resistFingerprinting" #f)
+ ;; Change the accelerator key (modifier key for most keyboard
+ ;; shortcuts) to the super key (from control).
+ ("ui.key.accelKey" 91)
+ ("browser.tabs.hoverPreview.enabled" #f)
+ ("browser.tabs.hoverPreview.showThumbnails" #f)
+ ("sidebar.main.tools" "syncedtabs,history,bookmarks")
+ ("sidebar.position_start" #f)
+ ("sidebar.verticalTabs" #t)
+ ("sidebar.revamp" #t)
+ ("sidebar.visibility" "hide-sidebar")
+ ("ui.key.menuAccessKeyFocuses" #f)))))
- (service home-udiskie-service-type))))
+ (service home-udiskie-service-type)))))