dotfiles/oni/home/config/data.scm

317 lines
13 KiB
Scheme

(define-module (oni home config data)
#:use-module (gnu home services desktop)
#: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 fonts)
#:select (font-dosis))
#:use-module ((gnu packages forth)
#:select (gforth))
#:use-module (gnu packages shellutils)
#:use-module (gnu packages wm)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages)
#:use-module (gnu services)
#:use-module (guix gexp)
#:use-module (oni home config common)
#:use-module ((oni home services admin)
#:select (home-cbatticon-service-type))
#: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
home-emacs-org-caldav-service-type))
#:use-module (oni home services environment)
;; #: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 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))
#: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
emacs-oni-python
emacs-oni-yaml
emacs-oni-gnus))
;; #: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))
(define data-picom-service
(service home-picom-service-type
(home-picom-configuration
(detect-transient #t)
(shadow #t)
(wintypes '((dnd (shadow . #f))
(dock (shadow . #f))))
(shadow-radius 10)
(shadow-exclude '("name = 'mowedline'"
"class_g = 'trayer'"
"bounding_shaped")))))
(home-environment
(packages (list (specification->package+output "glibc-locales")
(specification->package+output "font-fantasque-sans")
(specification->package+output "font-comic-neue")
font-dosis
;; hlwm-run-or-raise
pick-random-wallpaper
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
emacs-oni-python
emacs-oni-yaml
emacs-oni-gnus
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
;; 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-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
(bar "data")))
(service home-kdeconnect-service-type)
(service home-cmst-service-type)
(service home-syncthing-service-type)
(service home-unclutter-service-type
(home-unclutter-configuration
(package unclutter-xfixes)
(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)
(service home-emacs-org-caldav-service-type)
(service home-xss-lock-service-type)
(service home-cbatticon-service-type))))