dotfiles/oni/home/config/data.scm
Tom Willemse f48c4fead0 Rewrite picom configuration
The previous version of the configuration was complaining that my ‘config’
section was not a valid value for the ‘package’ section. I didn't quite
understand why it would complain about that, so I decided to use my now improved
Guix Home knowledge (compared to when I copied the previous version) to just
rewrite the service in a way that matches my other services.
2023-03-07 23:05:58 -08:00

161 lines
6.4 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 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 cmst)
#:use-module ((oni home services compton)
#:select (home-picom-service-type
home-picom-configuration))
#:use-module (oni home services dunst)
#:use-module (oni home services environment)
#:use-module (oni home services herbstluftwm)
#:use-module (oni home services kdeconnect)
#:use-module (oni home services polybar)
#:use-module (oni home services rofi)
#:use-module (oni home services syncthing)
#:use-module (oni home services unclutter)
#:use-module (oni home services xbindkeys)
#:use-module (oni home services xsession)
#:use-module (oni home services zsh)
#:use-module (oni packages hlwm-run-or-raise)
#:use-module (oni packages pick-random-wallpaper)
#:use-module (oni packages shutdown-rofi))
(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")
hlwm-run-or-raise
pick-random-wallpaper
shutdown-rofi))
(services
(list
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-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
"set_monitors 1920x1080+0+0"
"focus_edge left"
"keybind Mod4-apostrophe spawn dunstctl close"
"keybind Mod4-quotedbl spawn dunstctl close-all"
"keybind Mod4-Control-apostrophe spawn dunstctl history-pop"
"keybind Mod4-Mod1-apostrophe spawn dunstctl context"
"spawn pick-random-wallpaper"))))
(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))))))