314 lines
15 KiB
Scheme
314 lines
15 KiB
Scheme
(define-module (oni home data config)
|
|
#:use-module (gnu home)
|
|
#:use-module (gnu home services)
|
|
#:use-module (gnu home services shells)
|
|
#:use-module (gnu home services desktop)
|
|
#:use-module (gnu services)
|
|
#:use-module (gnu packages)
|
|
#:use-module (gnu packages admin)
|
|
#:use-module (gnu packages shellutils)
|
|
#:use-module (gnu packages wm)
|
|
#:use-module (guix gexp)
|
|
#:use-module (oni home services xdisorg)
|
|
#:use-module (oni home services xmodmap)
|
|
#:use-module (oni home services kitty)
|
|
#:use-module (oni home services xsession)
|
|
#:use-module (oni home services compton)
|
|
#:use-module (oni home services xbindkeys)
|
|
#:use-module (oni home services zsh)
|
|
#:use-module (oni home services herbstluftwm)
|
|
#:use-module (oni home services polybar))
|
|
|
|
(home-environment
|
|
(packages (list (specification->package+output "glibc-locales")
|
|
(specification->package+output "font-fantasque-sans")
|
|
(specification->package+output "font-comic-neue")))
|
|
|
|
(services
|
|
(list
|
|
(simple-service 'some-useful-env-vars-service
|
|
home-environment-variables-service-type
|
|
`(("LESS" . "FXRSi")
|
|
("MY_GUIX_CONFIGURED" . "1")
|
|
("DOTNET_CLI_TELEMETRY_OPTOUT" . "1")
|
|
("EDITOR" . "emacsclient")
|
|
("CALIBRE_USE_DARK_PALETTE" . "1")
|
|
("GUIX_LOCPATH" . "$HOME/.guix-home/profile/lib/locale")))
|
|
|
|
(service home-redshift-service-type
|
|
(home-redshift-configuration
|
|
(location-provider 'manual)
|
|
(latitude 49.2127205)
|
|
(longitude 122.9267927)))
|
|
|
|
(service home-zsh-service-type
|
|
(home-zsh-configuration
|
|
(environment-variables
|
|
'(("HISTFILE" . "$HOME/.zsh/histfile")
|
|
("HISTSIZE" . "1000")
|
|
("SAVEHIST" . "1000")))
|
|
(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"
|
|
"setopt SHARE_HISTORY\n"
|
|
"setopt HIST_IGNORE_ALL_DUPS\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"
|
|
"autoload -Uz compinit\n"
|
|
"compinit\n")))))
|
|
|
|
;; 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-rofi-service-type
|
|
(home-rofi-configuration
|
|
(config
|
|
'((kb-cancel . "Escape,Control+g")
|
|
(window-format . "{c} {t}")))
|
|
(theme
|
|
'((* ((text-color . "#bfbfbf")
|
|
(background-color . "#3f4242")
|
|
(lightbg . "#5b6161")
|
|
(red . "#a85454")
|
|
(orange . "#faa41a")
|
|
(blue . "#1f2c3f")
|
|
|
|
(selected-normal-foreground . "@foreground")
|
|
(normal-foreground . "@foreground")
|
|
(alternate-normal-background . "@background")
|
|
(selected-urgent-foreground . "@foreground")
|
|
(urgent-foreground . "@foreground")
|
|
(alternate-urgent-background . "@background")
|
|
(active-foreground . "@text-color")
|
|
(selected-active-foreground . "@foreground")
|
|
(alternate-normal-foreground . "@foreground")
|
|
(alternate-active-background . "@blue")
|
|
(bordercolor . "@foreground")
|
|
(normal-background . "@background")
|
|
(selected-normal-background . "@blue")
|
|
(separatorcolor . "@orange")
|
|
(spacing . 2)
|
|
(urgent-background . "@red")
|
|
(alternate-urgent-foreground . "@foreground")
|
|
(selected-urgent-background . "@red")
|
|
(alternate-active-foreground . "@foreground")
|
|
(selected-active-background . "@blue")
|
|
(active-background . "@red")
|
|
|
|
(font . "Fantasque Sans Mono 14")))
|
|
(window ((border . 0)
|
|
(text-color . "@foreground")
|
|
(background-color . "rgba(0, 0, 0, 0%)")
|
|
(padding . 5)
|
|
(text-color . "@bordercolor")
|
|
(background-color . "@background")))
|
|
(mainbox ((border . 0)
|
|
(padding . 0)))
|
|
(message ((border . "1px dash 0px 0px")
|
|
(text-color . "@separatorcolor")
|
|
(padding . "2px 0px 0px")))
|
|
(textbox ((text-color . "@foreground")))
|
|
(listview ((fixed-height . 0)
|
|
(border . "2px 0px 0px")
|
|
(padding . "2px 0px 0px")
|
|
(text-color . "@separatorcolor")))
|
|
(element ((border . 0)
|
|
(children "element-icon" "element-text")
|
|
(spacing . "5px")))
|
|
(element-text
|
|
element-icon ((background-color . "inherit")
|
|
(text-color . "inherit")))
|
|
(element.normal.normal ((text-color . "@normal-foreground")
|
|
(background-color . "@normal-background")))
|
|
(element.normal.urgent ((text-color . "@urgent-foreground")
|
|
(background-color . "@urgent-background")))
|
|
(element.normal.active ((text-color . "@active-foreground")
|
|
(background-color . "@active-background")))
|
|
(element.selected.normal ((text-color . "@selected-normal-foreground")
|
|
(background-color . "@selected-normal-background")))
|
|
(element.selected.urgent ((text-color . "@selected-urgent-foreground")
|
|
(background-color . "@selected-urgent-background")))
|
|
(element.selected.active ((text-color . "@selected-active-foreground")
|
|
(background-color . "@selected-active-foreground")))
|
|
(element.alternate.normal ((text-color . "@alternate-normal-foreground")
|
|
(background-color . "@alternate-normal-background")))
|
|
(element.alternate.urgent ((text-color . "@alternate-urgent-foreground")
|
|
(background-color . "@alternate-urgent-background")))
|
|
(element.alternate.active ((text-color . "@alternate-active-foreground")
|
|
(background-color . "@alternate-active-background")))
|
|
(mode-switcher ((border . "1px dash 0px 0px")))
|
|
(#{button selected}# ((text-color . "@selected-normal-foreground")
|
|
(background-color . "@selected-normal-background")))
|
|
(inputbar ((spacing . 0)
|
|
(border . "0px")
|
|
(children "prompt" "textbox-prompt-colon" "entry" "case-indicator")))
|
|
(#{button normal}# ((text-color . "@foreground")))
|
|
(text-prompt-color ((expand . #f)
|
|
(str . ":")
|
|
(margin . "0px 0.3em 0em 0em")
|
|
(text-color . "@normal-foreground")))))))
|
|
|
|
(service home-xmodmap-service-type
|
|
(home-xmodmap-configuration
|
|
(pointer '(3 2 1))
|
|
(extra '("remove Mod5 = ISO_Level3_Shift"
|
|
"keycode 108 = Alt_L"
|
|
"add Mod1 = Alt_L"))))
|
|
|
|
(service home-kitty-service-type
|
|
(home-kitty-configuration
|
|
(configuration
|
|
'((font-family . "Fantasque Sans Mono")
|
|
(bold-font . "Fantasque Sans Mono Bold")
|
|
(italic-font . "Fantasque Sans Mono Italic")
|
|
(bold-italic-font . "Fantasque Sans Mono Bold Italic")
|
|
(font-size . 14)
|
|
(symbol-map . "U+f002 Font Awesome 5 Free Solid")
|
|
(cursor-shape . beam)
|
|
(cursor-blink-interval . 0)
|
|
(url-style . single)
|
|
(open-url-with . firefox)
|
|
(copy-on-select . #f)
|
|
(enable-audio-bell . #f)
|
|
(visual-bell-duration . 0)
|
|
(window-padding-width . 11.25)
|
|
(active-tab-font-style . normal)
|
|
(editor . emacsclient)
|
|
(allow-remote-control . #t)
|
|
(enabled-layouts vertical stack tall fat grid horizontal)
|
|
(cursor . "#969696")
|
|
(url-color . "#a88654")
|
|
(active-border-color . "#1f2c3f")
|
|
(inactive-border-color . "#3d3d3d")
|
|
(bell-border-color . "#3f1a1a")
|
|
(active-tab-foreground . "#65a854")
|
|
(active-tab-background . "#1f2c3f")
|
|
(inactive-tab-foreground . "#65a854")
|
|
(inactive-tab-background . "#3d3d3d")
|
|
(foreground . "#bfbfbf")
|
|
(background . "#222424")
|
|
(selection-foreground . "#bfbfbf")
|
|
(selection-background . "#1f2c3f")
|
|
(color0 . "#222222")
|
|
(color8 . "#3d3d3d")
|
|
(color1 . "#3f1a1a")
|
|
(color9 . "#da9d9d")
|
|
(color2 . "#65a854")
|
|
(color10 . "#a9d39e")
|
|
(color3 . "#8d995c")
|
|
(color11 . "#c2ca9e")
|
|
(color4 . "#5476a8")
|
|
(color12 . "#a2b8b8")
|
|
(color5 . "#9754a8")
|
|
(color13 . "#d0a8da")
|
|
(color6 . "#54a8a8")
|
|
(color14 . "#abdddd")
|
|
(color7 . "#969696")
|
|
(color15 . "#ededed")))))
|
|
|
|
(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-picom-service-type
|
|
(home-picom-configuration
|
|
(config
|
|
'((detect-transient . #t)
|
|
(shadow . #t)
|
|
(wintypes ((dnd ((shadow . #f)))
|
|
(dock ((shadow . #f)))))
|
|
(shadow-radius . 10)
|
|
(shadow-exclude ("name = 'mowedline'"
|
|
"class_g = 'trayer'"
|
|
"bounding_shaped"))))))
|
|
|
|
(service home-xbindkeys-service-type)
|
|
|
|
(service home-herbstluftwm-service-type
|
|
(home-herbstluftwm-configuration
|
|
(tags '(dev web game))
|
|
(mouse-bindings
|
|
'(("Mod4-Button1" . "move")
|
|
("Mod4-Button2" . "zoom")
|
|
("Mod4-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=dev" "index=00" "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-r spawn rofi -show run"
|
|
"keybind Mod4-w spawn rofi -show window -window-command \"$HOME/usr/bin/hlwm-switch-to-window {window}\""
|
|
"systemctl --user start cmst"
|
|
"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"))))
|
|
|
|
(service home-polybar-service-type
|
|
(home-polybar-configuration
|
|
(bar "data"))))))
|