From 079078c7eba1e6964f1a8cc470fe357c87e2e2e2 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Tue, 19 Dec 2023 22:19:47 -0800 Subject: [PATCH] Change data configuration - Replace Herbstluftwm with Sawfish WM. - Install Emacs through Guix. --- oni/home/config/data.scm | 274 +++++++++++++++++++++++++++++---------- 1 file changed, 202 insertions(+), 72 deletions(-) diff --git a/oni/home/config/data.scm b/oni/home/config/data.scm index 23666f2..1784f68 100644 --- a/oni/home/config/data.scm +++ b/oni/home/config/data.scm @@ -3,6 +3,11 @@ #:use-module (gnu home services) #:use-module (gnu home) #:use-module (gnu packages admin) + #:use-module ((gnu packages emacs) + #:select (emacs)) + #:use-module ((gnu packages emacs-xyz) + #:select (emacs-guix + emacs-org-contacts)) #:use-module (gnu packages shellutils) #:use-module (gnu packages wm) #:use-module (gnu packages xdisorg) @@ -12,21 +17,75 @@ #:use-module (oni home config common) #:use-module (oni home services cmst) #:use-module (oni home services dunst) + #:use-module ((oni home services emacs) + #:select (home-emacs-service-type + home-emacs-configuration + home-emacs-helpful-service-type + home-emacs-helpful-configuration + home-emacs-yasnippet-capf-service-type + home-emacs-eros-service-type + home-emacs-ace-link-service-type + home-emacs-ace-link-configuration + home-emacs-golden-ratio-service-type + home-emacs-pinentry-service-type)) #:use-module (oni home services environment) - #:use-module (oni home services herbstluftwm) + ;; #:use-module (oni home services herbstluftwm) #:use-module (oni home services kdeconnect) #:use-module ((oni home services picom) #:select (home-picom-service-type home-picom-configuration)) #:use-module (oni home services polybar) #:use-module (oni home services rofi) + #:use-module (oni home services sawfish) #:use-module (oni home services syncthing) #:use-module (oni home services unclutter) - #:use-module (oni home services xbindkeys) + ;; #:use-module (oni home services xbindkeys) #:use-module (oni home services xsession) #:use-module (oni home services zsh) + #:use-module ((oni packages emacs) + #:select (emacs-syncthing-status)) + #:use-module ((oni packages emacs-config) + #:select (emacs-oni-org-roam + emacs-oni-vterm + emacs-oni-elisp + emacs-oni-eshell + emacs-oni-core + emacs-oni-compilation + emacs-oni-common-lisp + emacs-oni-gui + emacs-oni-magit + emacs-oni-project + emacs-oni-bookmark + emacs-oni-dired + emacs-oni-browse-url + emacs-oni-c + emacs-oni-circe + emacs-oni-conf + emacs-oni-css + emacs-oni-diff-hl + emacs-oni-ediff + emacs-oni-eww + emacs-oni-grep + emacs-oni-highlight-indent-guides + emacs-oni-html + emacs-oni-json + emacs-oni-log-edit + emacs-oni-lua + emacs-oni-makefile + emacs-oni-nxml + emacs-oni-package + emacs-oni-projectile + emacs-oni-scheme + emacs-oni-sh + emacs-oni-shr + emacs-oni-tramp + emacs-oni-embrace + emacs-oni-git-commit)) + #:use-module ((oni packages emacs-outli) + #:select (emacs-outli)) #: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)) @@ -48,7 +107,48 @@ (specification->package+output "font-comic-neue") hlwm-run-or-raise pick-random-wallpaper - shutdown-rofi)) + shutdown-rofi + emacs-sawfish + emacs-org-contacts + emacs-syncthing-status + emacs-outli + emacs-guix + + (emacs-oni-org-roam emacs) + emacs-oni-vterm + emacs-oni-elisp + emacs-oni-core + emacs-oni-eshell + emacs-oni-compilation + emacs-oni-common-lisp + emacs-oni-gui + emacs-oni-magit + emacs-oni-project + emacs-oni-bookmark + emacs-oni-dired + emacs-oni-browse-url + emacs-oni-c + emacs-oni-conf + emacs-oni-css + emacs-oni-diff-hl + emacs-oni-ediff + emacs-oni-embrace + emacs-oni-eww + emacs-oni-grep + emacs-oni-highlight-indent-guides + emacs-oni-html + emacs-oni-json + emacs-oni-log-edit + emacs-oni-lua + emacs-oni-makefile + emacs-oni-nxml + emacs-oni-package + emacs-oni-projectile + emacs-oni-scheme + emacs-oni-sh + emacs-oni-shr + emacs-oni-tramp + emacs-oni-git-commit)) (services (list @@ -56,7 +156,7 @@ home-rofi-default-service home-dunst-default-service home-redshift-service - home-xbindkeys-service + ;; home-xbindkeys-service home-zsh-service home-guile-service home-xmodmap-service @@ -81,73 +181,75 @@ "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-polybar-service-type (home-polybar-configuration @@ -162,4 +264,32 @@ (service home-unclutter-service-type (home-unclutter-configuration (package unclutter-xfixes) - (exclude-root #t)))))) + (exclude-root #t))) + + (service home-emacs-service-type + (home-emacs-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-helpful-service-type + (home-emacs-helpful-configuration + (configurations + (list + (local-file "../services/emacs/oni-helpful.el"))))) + (service home-emacs-yasnippet-capf-service-type) + (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))))