Change data configuration

- Replace Herbstluftwm with Sawfish WM.

- Install Emacs through Guix.
This commit is contained in:
Tom Willemse 2023-12-19 22:19:47 -08:00
parent de25f6332e
commit 079078c7eb

View file

@ -3,6 +3,11 @@
#:use-module (gnu home services) #:use-module (gnu home services)
#:use-module (gnu home) #:use-module (gnu home)
#:use-module (gnu packages admin) #: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 shellutils)
#:use-module (gnu packages wm) #:use-module (gnu packages wm)
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
@ -12,21 +17,75 @@
#:use-module (oni home config common) #:use-module (oni home config common)
#:use-module (oni home services cmst) #:use-module (oni home services cmst)
#:use-module (oni home services dunst) #: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 environment)
#:use-module (oni home services herbstluftwm) ;; #:use-module (oni home services herbstluftwm)
#:use-module (oni home services kdeconnect) #:use-module (oni home services kdeconnect)
#:use-module ((oni home services picom) #:use-module ((oni home services picom)
#:select (home-picom-service-type #:select (home-picom-service-type
home-picom-configuration)) home-picom-configuration))
#:use-module (oni home services polybar) #:use-module (oni home services polybar)
#:use-module (oni home services rofi) #:use-module (oni home services rofi)
#:use-module (oni home services sawfish)
#:use-module (oni home services syncthing) #:use-module (oni home services syncthing)
#:use-module (oni home services unclutter) #: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 xsession)
#:use-module (oni home services zsh) #: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 hlwm-run-or-raise)
#:use-module (oni packages pick-random-wallpaper) #:use-module (oni packages pick-random-wallpaper)
#:use-module (oni packages sawfish)
#:use-module (oni packages shutdown-rofi) #:use-module (oni packages shutdown-rofi)
#:use-module (oni packages zsh)) #:use-module (oni packages zsh))
@ -48,7 +107,48 @@
(specification->package+output "font-comic-neue") (specification->package+output "font-comic-neue")
hlwm-run-or-raise hlwm-run-or-raise
pick-random-wallpaper 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 (services
(list (list
@ -56,7 +156,7 @@
home-rofi-default-service home-rofi-default-service
home-dunst-default-service home-dunst-default-service
home-redshift-service home-redshift-service
home-xbindkeys-service ;; home-xbindkeys-service
home-zsh-service home-zsh-service
home-guile-service home-guile-service
home-xmodmap-service home-xmodmap-service
@ -81,73 +181,75 @@
"xrandr --auto\n" "xrandr --auto\n"
"xrandr --dpi 96\n"))))) "xrandr --dpi 96\n")))))
(service home-herbstluftwm-service-type ;; (service home-herbstluftwm-service-type
(home-herbstluftwm-configuration ;; (home-herbstluftwm-configuration
(tags '(dev web game)) ;; (tags '(dev web game))
(key-bindings ;; (key-bindings
'(("s-S-q" . "quit") ;; '(("s-S-q" . "quit")
("s-S-e" . "reload"))) ;; ("s-S-e" . "reload")))
(mouse-bindings ;; (mouse-bindings
'(("s-Button1" . "move") ;; '(("s-Button1" . "move")
("s-Button2" . "zoom") ;; ("s-Button2" . "zoom")
("s-Button3" . "resize"))) ;; ("s-Button3" . "resize")))
(settings ;; (settings
'((default_frame_layout . 2) ;; '((default_frame_layout . 2)
(frame_border_active_color . "#3d3d3d") ;; (frame_border_active_color . "#3d3d3d")
(frame_border_normal_color . "#222222") ;; (frame_border_normal_color . "#222222")
(frame_bg_normal_color . "#111111") ;; (frame_bg_normal_color . "#111111")
(frame_bg_active_color . "#263f1f") ;; (frame_bg_active_color . "#263f1f")
(frame_border_width . 0) ;; (frame_border_width . 0)
(window_border_width . 2) ;; (window_border_width . 2)
(window_border_inner_width . 0) ;; (window_border_inner_width . 0)
(window_border_normal_color . "#222222") ;; (window_border_normal_color . "#222222")
(window_border_active_color . "#1f3f3f") ;; (window_border_active_color . "#1f3f3f")
(window_border_inner_color . "#111111") ;; (window_border_inner_color . "#111111")
(always_show_frame . 0) ;; (always_show_frame . 0)
(frame_gap . 30) ;; (frame_gap . 30)
(window_gap . 30) ;; (window_gap . 30)
(frame_padding . -30) ;; (frame_padding . -30)
(frame_bg_transparent . 1) ;; (frame_bg_transparent . 1)
(smart_window_surroundings . 0) ;; (smart_window_surroundings . 0)
(smart_frame_surroundings . 0) ;; (smart_frame_surroundings . 0)
(mouse_recenter_gap . 0) ;; (mouse_recenter_gap . 0)
(swap_monitors_to_get_tag . 0) ;; (swap_monitors_to_get_tag . 0)
(update_dragged_clients . 1) ;; (update_dragged_clients . 1)
(tree_style . "╾│ ├└╼─┐"))) ;; (tree_style . "╾│ ├└╼─┐")))
(attributes ;; (attributes
'(((theme tiling reset) . 1) ;; '(((theme tiling reset) . 1)
((theme floating reset) . 1))) ;; ((theme floating reset) . 1)))
(rules ;; (rules
'(("focus=on") ;; '(("focus=on")
("class=Emacs" "tag=dev" "index=01" "switchtag=on" "hook=emacs") ;; ("class=Emacs" "tag=dev" "index=01" "switchtag=on" "hook=emacs")
("class~'URxvt|kitty'" "tag=dev" "index=1" "switchtag=on" "hook=urxvt") ;; ("class~'URxvt|kitty'" "tag=dev" "index=1" "switchtag=on" "hook=urxvt")
("class~'Conkeror|[Ff]irefox|Chromium'" "tag=web" "index=0" "switchtag=on") ;; ("class~'Conkeror|[Ff]irefox|Chromium'" "tag=web" "index=0" "switchtag=on")
("class=Pinentry" "pseudotile=on") ;; ("class=Pinentry" "pseudotile=on")
("class=Alsaplayer" "pseudotile=on") ;; ("class=Alsaplayer" "pseudotile=on")
("class=Gcr-prompter" "pseudotile=on") ;; ("class=Gcr-prompter" "pseudotile=on")
("class=Steam" "title='Steam Login'" "pseudotile=on") ;; ("class=Steam" "title='Steam Login'" "pseudotile=on")
("class=Steam" "title~'Steam - News .*'" "pseudotile=on") ;; ("class=Steam" "title~'Steam - News .*'" "pseudotile=on")
("class=" "title=Steam" "pseudotile=on") ;; ("class=" "title=Steam" "pseudotile=on")
("class=xfreerdp" "floating=on" "tag=work" "index=0" "switchtag=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|UTILITY|SPLASH)'" "pseudotile=on")
("windowtype='_NET_WM_WINDOW_TYPE_DIALOG'" "focus=on") ;; ("windowtype='_NET_WM_WINDOW_TYPE_DIALOG'" "focus=on")
("windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK|DESKTOP)'" "manage=off") ;; ("windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK|DESKTOP)'" "manage=off")
("class=pinball.exe" "pseudotile=on"))) ;; ("class=pinball.exe" "pseudotile=on")))
(padding '(0 0 0 16 16)) ;; (padding '(0 0 0 16 16))
(layouts ;; (layouts
'((web clients max:0) ;; '((web clients max:0)
(dev split horizontal:0.54:1 (clients max:0) (clients vertical:0)))) ;; (dev split horizontal:0.54:1 (clients max:0) (clients vertical:0))))
(extra ;; (extra
(list ;; (list
(mixed-text-file ;; (mixed-text-file
"autostart" ;; "autostart"
"set_monitors 1920x1080+0+0\n" ;; "set_monitors 1920x1080+0+0\n"
"focus_edge left\n" ;; "focus_edge left\n"
"keybind Mod4-apostrophe spawn dunstctl close\n" ;; "keybind Mod4-apostrophe spawn dunstctl close\n"
"keybind Mod4-quotedbl spawn dunstctl close-all\n" ;; "keybind Mod4-quotedbl spawn dunstctl close-all\n"
"keybind Mod4-Control-apostrophe spawn dunstctl history-pop\n" ;; "keybind Mod4-Control-apostrophe spawn dunstctl history-pop\n"
"keybind Mod4-Mod1-apostrophe spawn dunstctl context\n" ;; "keybind Mod4-Mod1-apostrophe spawn dunstctl context\n"
"spawn pick-random-wallpaper\n"))))) ;; "spawn pick-random-wallpaper\n")))))
(service home-sawfish-service-type)
(service home-polybar-service-type (service home-polybar-service-type
(home-polybar-configuration (home-polybar-configuration
@ -162,4 +264,32 @@
(service home-unclutter-service-type (service home-unclutter-service-type
(home-unclutter-configuration (home-unclutter-configuration
(package unclutter-xfixes) (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))))