Switch rincewind over to using Guix Home
This commit is contained in:
parent
7771b3e1fd
commit
f33a2df7b9
10 changed files with 495 additions and 246 deletions
|
@ -1,2 +1,3 @@
|
||||||
(add-to-load-path (dirname (current-filename)))
|
(add-to-load-path (dirname (current-filename)))
|
||||||
(load-from-path "oni/home/data/config.scm")
|
|
||||||
|
(load-from-path (string-append "oni/home/" (gethostname) "/config.scm"))
|
||||||
|
|
203
oni/home/common/config.scm
Normal file
203
oni/home/common/config.scm
Normal file
|
@ -0,0 +1,203 @@
|
||||||
|
(define-module (oni home common config)
|
||||||
|
#:use-module (gnu home services)
|
||||||
|
#:use-module (gnu home services desktop)
|
||||||
|
#:use-module (gnu home services shells)
|
||||||
|
#:use-module (gnu home services ssh)
|
||||||
|
#:use-module (guix gexp)
|
||||||
|
#:use-module (oni home services xbindkeys)
|
||||||
|
#:use-module (oni home services guile)
|
||||||
|
#:use-module (oni home services xmodmap)
|
||||||
|
#:use-module (oni home services kitty)
|
||||||
|
#:use-module (oni home services compton)
|
||||||
|
|
||||||
|
#:export (home-redshift-service
|
||||||
|
home-xbindkeys-service
|
||||||
|
home-zsh-service
|
||||||
|
home-guile-service
|
||||||
|
home-xmodmap-service
|
||||||
|
home-openssh-service
|
||||||
|
home-kitty-service
|
||||||
|
home-picom-service))
|
||||||
|
|
||||||
|
(define home-redshift-service
|
||||||
|
(service home-redshift-service-type
|
||||||
|
(home-redshift-configuration
|
||||||
|
(location-provider 'manual)
|
||||||
|
(latitude 49.2127205)
|
||||||
|
(longitude 122.9267927))))
|
||||||
|
|
||||||
|
(define home-xbindkeys-service
|
||||||
|
(service home-xbindkeys-service-type
|
||||||
|
(home-xbindkeys-configuration
|
||||||
|
(keybindings
|
||||||
|
'(((mod4 k) . "hersbtclient close")
|
||||||
|
((mod4 mod1 k) . "herbstclient remove")
|
||||||
|
((mod4 Return) . "herbstclient spawn kitty")
|
||||||
|
((mod4 t) . "herbstclient spawn hlwm-run-or-raise \"\\(URxct\\|Hyper\\|kitty\\)\" kitty")
|
||||||
|
((mod4 b) . "herbstclient spawn hlwm-run-or-raise \"\\(Conkeror\\|[Ff]irefox\\|Chromium\\|Next\\|qutebrowser\\)\" firefox")
|
||||||
|
((mod4 e) . "herbstclient spawn hlwm-run-or-raise Emacs emacsclient --create-frame")
|
||||||
|
((control mod1 l) . "herbstclient spawn i3lock --color=000000")
|
||||||
|
((mod4 x) . "herbstclient spawn hlwm-switch-tags")
|
||||||
|
((mod4 shift b) . "herbstclient shift left")
|
||||||
|
((mod4 shift n) . "herbstclient shift down")
|
||||||
|
((mod4 shift p) . "herbstclient shift up")
|
||||||
|
((mod4 shift f) . "herbstclient shift right")
|
||||||
|
((mod4 control b) . "herbstclient resize left +0.05")
|
||||||
|
((mod4 control n) . "herbstclient resize down +0.05")
|
||||||
|
((mod4 control p) . "herbstclient resize up +0.05")
|
||||||
|
((mod4 control f) . "herbstclient resize right +0.05")
|
||||||
|
((mod4 shift underscore) . "herbstclient split bottom 0.5")
|
||||||
|
((mod4 shift bar) . "herbstclient split right 0.5")
|
||||||
|
((mod4 period) . "herbstclient use_index +1 --skip-visible")
|
||||||
|
((mod4 comma) . "herbstclient use_index -1 --skip-visible")
|
||||||
|
((mod4 shift control f) . "herbstclient floating toggle")
|
||||||
|
((mod4 f) . "herbstclient cycle_layout 1 vertical max")
|
||||||
|
((mod4 m) . "herbstclient fullscreen toggle")
|
||||||
|
((mod4 p) . "herbstclient pseudotile toggle")
|
||||||
|
((mod4 space) . "herbstclient or , and . compare tags.focus.curframe_wcount = 2 . cycle_layout +1 vertical horizontal max vertical grid , cycle_layout +1")
|
||||||
|
((mod4 BackSpace) . "herbstclient cycle_monitor")
|
||||||
|
((mod4 u) . "herbstclient jumpto urgent")
|
||||||
|
((XF86AudioPlay) . "herbstclient spawn mpc toggle")
|
||||||
|
((XF86AudioNext) . "herbstclient spawn mpc next")
|
||||||
|
((XF86AudioPrev) . "herbstclient spawn mpc prev")
|
||||||
|
((mod4 c)
|
||||||
|
("1" . "herbstclient move_index 0")
|
||||||
|
("2" . "herbstclient move_index 1")
|
||||||
|
("3" . "herbstclient move_index 2")
|
||||||
|
("4" . "herbstclient move_index 3")
|
||||||
|
("5" . "herbstclient move_index 4")
|
||||||
|
("6" . "herbstclient move_index 5")
|
||||||
|
("7" . "herbstclient move_index 6")
|
||||||
|
("8" . "herbstclient move_index 7")
|
||||||
|
("9" . "herbstclient move_index 8")
|
||||||
|
("0" . "herbstclient move_index 9"))
|
||||||
|
((mod4 s)
|
||||||
|
("f" . "flameshot full ~/pictures/screenshots/")
|
||||||
|
("c" . "flameshot gui")))))))
|
||||||
|
|
||||||
|
(define home-zsh-service
|
||||||
|
(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"
|
||||||
|
"setopt PROMPT_SUBST\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"
|
||||||
|
"PROMPT=\"%T \\$(spwd) %B%(?.%F{2}.%F{1}[%?])>%b%f \""))))))
|
||||||
|
|
||||||
|
(define home-guile-service
|
||||||
|
(service home-guile-service-type
|
||||||
|
(home-guile-configuration
|
||||||
|
(use-readline #t)
|
||||||
|
(use-colorized #t))))
|
||||||
|
|
||||||
|
(define home-xmodmap-service
|
||||||
|
(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"
|
||||||
|
"remove mod4 = Super_R"
|
||||||
|
"keycode 134 = Hyper_R"
|
||||||
|
"add mod3 = Hyper_R")))))
|
||||||
|
|
||||||
|
(define home-openssh-service
|
||||||
|
(service home-openssh-service-type
|
||||||
|
(home-openssh-configuration
|
||||||
|
(hosts (list (openssh-host
|
||||||
|
(name "ryuslash")
|
||||||
|
(host-name "ryuslash.org")
|
||||||
|
(user "slash")
|
||||||
|
(port 4511)
|
||||||
|
(extra-content "LocalForward 8090 localhost:8090
|
||||||
|
LocalForward 2812 localhost:2812"))
|
||||||
|
(openssh-host
|
||||||
|
(name "rincewind")
|
||||||
|
(host-name "192.168.1.135")
|
||||||
|
(port 4511)))))))
|
||||||
|
|
||||||
|
(define home-kitty-service
|
||||||
|
(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 . "#222424")
|
||||||
|
(selection-background . "#7126a3f0f01f")
|
||||||
|
(color0 . "#222222")
|
||||||
|
(color8 . "#3d3d3d")
|
||||||
|
(color1 . "#ca3c828e828e")
|
||||||
|
(color9 . "#f01f71267126")
|
||||||
|
(color2 . "#90e4ca3c828e")
|
||||||
|
(color10 . "#8a8bf01f7126")
|
||||||
|
(color3 . "#bbe6ca3c828e")
|
||||||
|
(color11 . "#d6baf01f7126")
|
||||||
|
(color4 . "#828e9f3aca3c")
|
||||||
|
(color12 . "#7126a3f0f01f")
|
||||||
|
(color5 . "#bbe6828eca3c")
|
||||||
|
(color13 . "#d6ba7126f01f")
|
||||||
|
(color6 . "#828eca3cca3c")
|
||||||
|
(color14 . "#7126f01ff01f")
|
||||||
|
(color7 . "#969696")
|
||||||
|
(color15 . "#ededed"))))))
|
||||||
|
|
||||||
|
(define home-picom-service
|
||||||
|
(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")))))))
|
2
oni/home/common/services.scm
Normal file
2
oni/home/common/services.scm
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
(define-module (oni home common services)
|
||||||
|
#:use-module (oni home services rofi))
|
|
@ -1,9 +1,7 @@
|
||||||
(define-module (oni home data config)
|
(define-module (oni home data config)
|
||||||
#:use-module (gnu home)
|
#:use-module (gnu home)
|
||||||
#:use-module (gnu home services)
|
#:use-module (gnu home services)
|
||||||
#:use-module (gnu home services shells)
|
|
||||||
#:use-module (gnu home services desktop)
|
#:use-module (gnu home services desktop)
|
||||||
#:use-module (gnu home services ssh)
|
|
||||||
#:use-module (gnu services)
|
#:use-module (gnu services)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages admin)
|
#:use-module (gnu packages admin)
|
||||||
|
@ -12,10 +10,7 @@
|
||||||
#:use-module (gnu packages xdisorg)
|
#:use-module (gnu packages xdisorg)
|
||||||
#:use-module (guix gexp)
|
#:use-module (guix gexp)
|
||||||
#:use-module (oni home services rofi)
|
#:use-module (oni home services rofi)
|
||||||
#:use-module (oni home services xmodmap)
|
|
||||||
#:use-module (oni home services kitty)
|
|
||||||
#:use-module (oni home services xsession)
|
#:use-module (oni home services xsession)
|
||||||
#:use-module (oni home services compton)
|
|
||||||
#:use-module (oni home services xbindkeys)
|
#:use-module (oni home services xbindkeys)
|
||||||
#:use-module (oni home services zsh)
|
#:use-module (oni home services zsh)
|
||||||
#:use-module (oni home services herbstluftwm)
|
#:use-module (oni home services herbstluftwm)
|
||||||
|
@ -25,10 +20,10 @@
|
||||||
#: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 dunst)
|
#:use-module (oni home services dunst)
|
||||||
#:use-module (oni home services guile)
|
|
||||||
#:use-module (oni home services environment)
|
#:use-module (oni home services environment)
|
||||||
#: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-moudle (oni home common config))
|
||||||
|
|
||||||
(home-environment
|
(home-environment
|
||||||
(packages (list (specification->package+output "glibc-locales")
|
(packages (list (specification->package+output "glibc-locales")
|
||||||
|
@ -41,107 +36,21 @@
|
||||||
(list
|
(list
|
||||||
home-environment-service
|
home-environment-service
|
||||||
home-rofi-default-service
|
home-rofi-default-service
|
||||||
|
home-dunst-default-service
|
||||||
(service home-redshift-service-type
|
home-redshift-service
|
||||||
(home-redshift-configuration
|
home-xbindkeys-service
|
||||||
(location-provider 'manual)
|
home-zsh-service
|
||||||
(latitude 49.2127205)
|
home-guile-service
|
||||||
(longitude 122.9267927)))
|
home-xmodmap-service
|
||||||
|
home-openssh-service
|
||||||
(service home-zsh-service-type
|
home-kitty-service
|
||||||
(home-zsh-configuration
|
home-picom-service
|
||||||
(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"
|
|
||||||
"setopt PROMPT_SUBST\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"
|
|
||||||
"PROMPT=\"%T \\$(spwd) %B%(?.%F{2}.%F{1}[%?])>%b%f \"")))))
|
|
||||||
|
|
||||||
;; This has to be the first extension because it needs to be added to the
|
;; This has to be the first extension because it needs to be added to the
|
||||||
;; configuration last.
|
;; configuration last.
|
||||||
(service home-zsh-syntax-highlighting-service-type)
|
(service home-zsh-syntax-highlighting-service-type)
|
||||||
(service home-zsh-autosuggestions-service-type)
|
(service home-zsh-autosuggestions-service-type)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(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 . "#222424")
|
|
||||||
(selection-background . "#7126a3f0f01f")
|
|
||||||
(color0 . "#222222")
|
|
||||||
(color8 . "#3d3d3d")
|
|
||||||
(color1 . "#ca3c828e828e")
|
|
||||||
(color9 . "#f01f71267126")
|
|
||||||
(color2 . "#90e4ca3c828e")
|
|
||||||
(color10 . "#8a8bf01f7126")
|
|
||||||
(color3 . "#bbe6ca3c828e")
|
|
||||||
(color11 . "#d6baf01f7126")
|
|
||||||
(color4 . "#828e9f3aca3c")
|
|
||||||
(color12 . "#7126a3f0f01f")
|
|
||||||
(color5 . "#bbe6828eca3c")
|
|
||||||
(color13 . "#d6ba7126f01f")
|
|
||||||
(color6 . "#828eca3cca3c")
|
|
||||||
(color14 . "#7126f01ff01f")
|
|
||||||
(color7 . "#969696")
|
|
||||||
(color15 . "#ededed")))))
|
|
||||||
|
|
||||||
(service home-xsession-service-type
|
(service home-xsession-service-type
|
||||||
(home-xsession-configuration
|
(home-xsession-configuration
|
||||||
(configuration
|
(configuration
|
||||||
|
@ -153,66 +62,6 @@
|
||||||
"xrandr --auto\n"
|
"xrandr --auto\n"
|
||||||
"xrandr --dpi 96\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
|
|
||||||
(home-xbindkeys-configuration
|
|
||||||
(keybindings
|
|
||||||
'(((mod4 k) . "hersbtclient close")
|
|
||||||
((mod4 mod1 k) . "herbstclient remove")
|
|
||||||
((mod4 Return) . "herbstclient spawn kitty")
|
|
||||||
((mod4 t) . "herbstclient spawn hlwm-run-or-raise \"\\(URxct\\|Hyper\\|kitty\\)\" kitty")
|
|
||||||
((mod4 b) . "herbstclient spawn hlwm-run-or-raise \"\\(Conkeror\\|[Ff]irefox\\|Chromium\\|Next\\|qutebrowser\\)\" firefox")
|
|
||||||
((mod4 e) . "herbstclient spawn hlwm-run-or-raise Emacs emacsclient --create-frame")
|
|
||||||
((control mod1 l) . "herbstclient spawn i3lock --color=000000")
|
|
||||||
((mod4 x) . "herbstclient spawn hlwm-switch-tags")
|
|
||||||
((mod4 shift b) . "herbstclient shift left")
|
|
||||||
((mod4 shift n) . "herbstclient shift down")
|
|
||||||
((mod4 shift p) . "herbstclient shift up")
|
|
||||||
((mod4 shift f) . "herbstclient shift right")
|
|
||||||
((mod4 control b) . "herbstclient resize left +0.05")
|
|
||||||
((mod4 control n) . "herbstclient resize down +0.05")
|
|
||||||
((mod4 control p) . "herbstclient resize up +0.05")
|
|
||||||
((mod4 control f) . "herbstclient resize right +0.05")
|
|
||||||
((mod4 shift underscore) . "herbstclient split bottom 0.5")
|
|
||||||
((mod4 shift bar) . "herbstclient split right 0.5")
|
|
||||||
((mod4 period) . "herbstclient use_index +1 --skip-visible")
|
|
||||||
((mod4 comma) . "herbstclient use_index -1 --skip-visible")
|
|
||||||
((mod4 shift control f) . "herbstclient floating toggle")
|
|
||||||
((mod4 f) . "herbstclient cycle_layout 1 vertical max")
|
|
||||||
((mod4 m) . "herbstclient fullscreen toggle")
|
|
||||||
((mod4 p) . "herbstclient pseudotile toggle")
|
|
||||||
((mod4 space) . "herbstclient or , and . compare tags.focus.curframe_wcount = 2 . cycle_layout +1 vertical horizontal max vertical grid , cycle_layout +1")
|
|
||||||
((mod4 BackSpace) . "herbstclient cycle_monitor")
|
|
||||||
((mod4 u) . "herbstclient jumpto urgent")
|
|
||||||
((XF86AudioPlay) . "herbstclient spawn mpc toggle")
|
|
||||||
((XF86AudioNext) . "herbstclient spawn mpc next")
|
|
||||||
((XF86AudioPrev) . "herbstclient spawn mpc prev")
|
|
||||||
((mod4 c)
|
|
||||||
("1" . "herbstclient move_index 0")
|
|
||||||
("2" . "herbstclient move_index 1")
|
|
||||||
("3" . "herbstclient move_index 2")
|
|
||||||
("4" . "herbstclient move_index 3")
|
|
||||||
("5" . "herbstclient move_index 4")
|
|
||||||
("6" . "herbstclient move_index 5")
|
|
||||||
("7" . "herbstclient move_index 6")
|
|
||||||
("8" . "herbstclient move_index 7")
|
|
||||||
("9" . "herbstclient move_index 8")
|
|
||||||
("0" . "herbstclient move_index 9"))
|
|
||||||
((mod4 s)
|
|
||||||
("f" . "flameshot full ~/pictures/screenshots/")
|
|
||||||
("c" . "flameshot gui"))))))
|
|
||||||
|
|
||||||
(service home-herbstluftwm-service-type
|
(service home-herbstluftwm-service-type
|
||||||
(home-herbstluftwm-configuration
|
(home-herbstluftwm-configuration
|
||||||
(tags '(dev web game))
|
(tags '(dev web game))
|
||||||
|
@ -292,76 +141,4 @@
|
||||||
(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-openssh-service-type
|
|
||||||
(home-openssh-configuration
|
|
||||||
(hosts (list (openssh-host
|
|
||||||
(name "ryuslash")
|
|
||||||
(host-name "ryuslash.org")
|
|
||||||
(user "slash")
|
|
||||||
(port 4511)
|
|
||||||
(extra-content "LocalForward 8090 localhost:8090
|
|
||||||
LocalForward 2812 localhost:2812"))
|
|
||||||
(openssh-host
|
|
||||||
(name "rincewind")
|
|
||||||
(host-name "192.168.1.135")
|
|
||||||
(port 4511))))))
|
|
||||||
|
|
||||||
(service home-dunst-service-type
|
|
||||||
(home-dunst-configuration
|
|
||||||
(font "Fantasque Sans Mono 15")
|
|
||||||
(markup 'full)
|
|
||||||
(format "<u>%s</u>\\n\\n%b")
|
|
||||||
(width '(0 600))
|
|
||||||
(idle-threshold 120)
|
|
||||||
(padding 15)
|
|
||||||
(horizontal-padding 15)
|
|
||||||
(separator-color 'auto)
|
|
||||||
(dmenu "rofi -dmenu -p dunst:")
|
|
||||||
(browser "firefox")
|
|
||||||
(icon-path '("/usr/share/icons/gnome/24x24/status/"
|
|
||||||
"/usr/share/icons/gnome/24x24/devices/"
|
|
||||||
"/usr/share/icons/hicolor/24x24/apps/"))
|
|
||||||
(frame-width 2)
|
|
||||||
(frame-color "#3d3d3d")
|
|
||||||
(max-icon-size 24)
|
|
||||||
(corner-radius 10)
|
|
||||||
(rules
|
|
||||||
'(("urgency_low"
|
|
||||||
(background "#405c2e")
|
|
||||||
(foreground "#eeeeec")
|
|
||||||
(timeout 10))
|
|
||||||
("urgency_normal"
|
|
||||||
(background "#222224")
|
|
||||||
(foreground "#eeeeec")
|
|
||||||
(timeout 10))
|
|
||||||
("urgency_critical"
|
|
||||||
(background "#973732")
|
|
||||||
(foreground "#eeeeec")
|
|
||||||
(timeout 0))
|
|
||||||
("Emacs"
|
|
||||||
(appname "Emacs")
|
|
||||||
(background "#7f5ab6")
|
|
||||||
(foreground "#fafafa"))
|
|
||||||
("Metal Express Radio"
|
|
||||||
(appname "Metal Express Radio")
|
|
||||||
(background "#ef4136")
|
|
||||||
(foreground "#ffffff"))
|
|
||||||
("Syncthing"
|
|
||||||
(appname "Syncthing GTK")
|
|
||||||
(background "#337ab7")
|
|
||||||
(foreground "#ffffff"))
|
|
||||||
("Lollypop"
|
|
||||||
(appname "Lollypop")
|
|
||||||
(background "#fd3e75")
|
|
||||||
(foreground "#ffffff"))
|
|
||||||
("gPodder"
|
|
||||||
(appname "gPodder")
|
|
||||||
(background "#7f5785")
|
|
||||||
(foreground "#ffffff"))))))
|
|
||||||
|
|
||||||
(service home-guile-service-type
|
|
||||||
(home-guile-configuration
|
|
||||||
(use-readline #t)
|
|
||||||
(use-colorized #t))))))
|
|
||||||
|
|
|
@ -2,31 +2,70 @@
|
||||||
#:use-module (gnu home)
|
#:use-module (gnu home)
|
||||||
#:use-module (gnu home services)
|
#:use-module (gnu home services)
|
||||||
#:use-module (gnu home services guix)
|
#:use-module (gnu home services guix)
|
||||||
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages video)
|
#:use-module (gnu packages video)
|
||||||
#:use-module (gnu packages music)
|
#:use-module (gnu packages music)
|
||||||
|
#:use-module (gnu packages emacs)
|
||||||
|
#:use-module (gnu packages commencement)
|
||||||
#:use-module (gnu services)
|
#:use-module (gnu services)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix gexp)
|
#:use-module (guix gexp)
|
||||||
#:use-module (guix store)
|
#:use-module (guix store)
|
||||||
#:use-module (guix derivations)
|
#:use-module (guix derivations)
|
||||||
#:use-module (guix channels)
|
#:use-module (guix channels)
|
||||||
|
#:use-module (guix transformations)
|
||||||
#:use-module (oni home services environment)
|
#:use-module (oni home services environment)
|
||||||
#:use-module (oni home services rofi))
|
#:use-module (oni home services rofi)
|
||||||
|
#:use-module (oni home services polybar)
|
||||||
|
#:use-module (oni home services dunst)
|
||||||
|
#:use-module (oni home services zsh)
|
||||||
|
#:use-module (oni home services kdeconnect)
|
||||||
|
#:use-module (oni home services syncthing)
|
||||||
|
#:use-module (oni packages hlwm-run-or-raise)
|
||||||
|
#:use-module (oni packages pick-random-wallpaper)
|
||||||
|
#:use-module (oni packages notmuch-collect-tasks)
|
||||||
|
#:use-module (oni packages notmuch-tag-mailinglists)
|
||||||
|
#:use-module (oni packages inbox-size)
|
||||||
|
#:use-module (oni packages count-emails)
|
||||||
|
#:use-module (oni home common config))
|
||||||
|
|
||||||
|
(define (with-master-branch package)
|
||||||
|
"Apply a transformation to PACKAGE so that it uses the master branch."
|
||||||
|
((options->transformation
|
||||||
|
`((with-branch . ,(string-append (package-name package) "=master"))))
|
||||||
|
package))
|
||||||
|
|
||||||
(home-environment
|
(home-environment
|
||||||
(packages (list mpv mpv-mpris easytag))
|
(packages (list mpv mpv-mpris easytag emacs-next
|
||||||
|
(specification->package+output "glibc-locales")
|
||||||
|
(specification->package+output "font-fantasque-sans")
|
||||||
|
(specification->package+output "font-comic-neue")
|
||||||
|
hlwm-run-or-raise
|
||||||
|
pick-random-wallpaper
|
||||||
|
gcc-toolchain ;Needed for emacs-next?
|
||||||
|
notmuch-collect-tasks
|
||||||
|
notmuch-tag-mailinglists
|
||||||
|
(inbox-size emacs-next)
|
||||||
|
count-emails))
|
||||||
|
|
||||||
(services
|
(services
|
||||||
(list
|
(list
|
||||||
home-environment-service
|
home-environment-service
|
||||||
home-rofi-default-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
|
||||||
|
|
||||||
|
;; 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)
|
||||||
|
|
||||||
;; (simple-service 'test-config
|
|
||||||
;; home-xdg-configuration-files-service-type
|
|
||||||
;; #~(list `("mpv/scripts/mpv-mpris"
|
|
||||||
;; ;; (run-with-store (open-connection) (package-file
|
|
||||||
;; ;; mpv-mpris #:output "out"))
|
|
||||||
;; #$(file-append mpv-mpris "/lib/mpris.so"))))
|
|
||||||
(simple-service 'my-channel-service
|
(simple-service 'my-channel-service
|
||||||
home-channels-service-type
|
home-channels-service-type
|
||||||
(list
|
(list
|
||||||
|
@ -45,4 +84,11 @@
|
||||||
(make-channel-introduction
|
(make-channel-introduction
|
||||||
"c23d64f1b8cc086659f8781b27ab6c7314c5cca5"
|
"c23d64f1b8cc086659f8781b27ab6c7314c5cca5"
|
||||||
(openpgp-fingerprint
|
(openpgp-fingerprint
|
||||||
"50F3 3E2E 5B0C 3D90 0424 ABE8 9BDC F497 A4BB CC7F")))))))))
|
"50F3 3E2E 5B0C 3D90 0424 ABE8 9BDC F497 A4BB CC7F"))))))
|
||||||
|
|
||||||
|
(service home-polybar-service-type
|
||||||
|
(home-polybar-configuration
|
||||||
|
(bar "rincewind")))
|
||||||
|
|
||||||
|
(service home-kdeconnect-service-type)
|
||||||
|
(service home-syncthing-service-type))))
|
||||||
|
|
|
@ -11,7 +11,8 @@
|
||||||
#:use-module (guix gexp)
|
#:use-module (guix gexp)
|
||||||
|
|
||||||
#:export (home-dunst-service-type
|
#:export (home-dunst-service-type
|
||||||
home-dunst-configuration))
|
home-dunst-configuration
|
||||||
|
home-dunst-default-service))
|
||||||
|
|
||||||
(define (color? value)
|
(define (color? value)
|
||||||
(and (string? value)
|
(and (string? value)
|
||||||
|
@ -248,3 +249,57 @@ horizontal axis.")
|
||||||
home-dunst-shepherd-service)))
|
home-dunst-shepherd-service)))
|
||||||
(default-value (home-dunst-configuration))
|
(default-value (home-dunst-configuration))
|
||||||
(description "Configure dunst")))
|
(description "Configure dunst")))
|
||||||
|
|
||||||
|
(define home-dunst-default-service
|
||||||
|
(service home-dunst-service-type
|
||||||
|
(home-dunst-configuration
|
||||||
|
(font "Fantasque Sans Mono 15")
|
||||||
|
(markup 'full)
|
||||||
|
(format "<u>%s</u>\\n\\n%b")
|
||||||
|
(width '(0 600))
|
||||||
|
(idle-threshold 120)
|
||||||
|
(padding 15)
|
||||||
|
(horizontal-padding 15)
|
||||||
|
(separator-color 'auto)
|
||||||
|
(dmenu "rofi -dmenu -p dunst:")
|
||||||
|
(browser "firefox")
|
||||||
|
(icon-path '("/usr/share/icons/gnome/24x24/status/"
|
||||||
|
"/usr/share/icons/gnome/24x24/devices/"
|
||||||
|
"/usr/share/icons/hicolor/24x24/apps/"))
|
||||||
|
(frame-width 2)
|
||||||
|
(frame-color "#3d3d3d")
|
||||||
|
(max-icon-size 24)
|
||||||
|
(corner-radius 10)
|
||||||
|
(rules
|
||||||
|
'(("urgency_low"
|
||||||
|
(background "#405c2e")
|
||||||
|
(foreground "#eeeeec")
|
||||||
|
(timeout 10))
|
||||||
|
("urgency_normal"
|
||||||
|
(background "#222224")
|
||||||
|
(foreground "#eeeeec")
|
||||||
|
(timeout 10))
|
||||||
|
("urgency_critical"
|
||||||
|
(background "#973732")
|
||||||
|
(foreground "#eeeeec")
|
||||||
|
(timeout 0))
|
||||||
|
("Emacs"
|
||||||
|
(appname "Emacs")
|
||||||
|
(background "#7f5ab6")
|
||||||
|
(foreground "#fafafa"))
|
||||||
|
("Metal Express Radio"
|
||||||
|
(appname "Metal Express Radio")
|
||||||
|
(background "#ef4136")
|
||||||
|
(foreground "#ffffff"))
|
||||||
|
("Syncthing"
|
||||||
|
(appname "Syncthing GTK")
|
||||||
|
(background "#337ab7")
|
||||||
|
(foreground "#ffffff"))
|
||||||
|
("Lollypop"
|
||||||
|
(appname "Lollypop")
|
||||||
|
(background "#fd3e75")
|
||||||
|
(foreground "#ffffff"))
|
||||||
|
("gPodder"
|
||||||
|
(appname "gPodder")
|
||||||
|
(background "#7f5785")
|
||||||
|
(foreground "#ffffff")))))))
|
||||||
|
|
42
oni/packages/count-emails.scm
Normal file
42
oni/packages/count-emails.scm
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
(define-module (oni packages count-emails)
|
||||||
|
#:use-module (guix packages)
|
||||||
|
#:use-module (guix git-download)
|
||||||
|
#:use-module (guix build-system gnu)
|
||||||
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
|
#:use-module (gnu packages base)
|
||||||
|
#:use-module (gnu packages bash)
|
||||||
|
#:use-module (gnu packages shells)
|
||||||
|
#:use-module (gnu packages mail))
|
||||||
|
|
||||||
|
(define-public count-emails
|
||||||
|
(let ((commit "de8d1094fca307b44020ae85ef0acf0d467cd8c4")
|
||||||
|
(revision "0"))
|
||||||
|
(package
|
||||||
|
(name "count-emails")
|
||||||
|
(version (git-version "0.0.0" revision commit))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(uri (git-reference
|
||||||
|
(url "git://ryuslash.org/util/tom/count-emails")
|
||||||
|
(commit commit)))
|
||||||
|
(method git-fetch)
|
||||||
|
(sha256
|
||||||
|
(base32 "1wkppgkwp6rd7bx9zbyyljq4px47jb2flfgiflvjh1qxwdz9m25a"))
|
||||||
|
(file-name (git-file-name name version))))
|
||||||
|
(propagated-inputs
|
||||||
|
(list bash scsh notmuch))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:tests? #f
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(delete 'configure)
|
||||||
|
(delete 'build)
|
||||||
|
(replace 'install
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
|
||||||
|
(install-file "count-emails" bin)))))))
|
||||||
|
(home-page "https://ryuslash.org/")
|
||||||
|
(synopsis "A simple script that counts the number of unread emails.")
|
||||||
|
(description "Counts the number of unread emails.")
|
||||||
|
(license license:gpl3+))))
|
41
oni/packages/inbox-size.scm
Normal file
41
oni/packages/inbox-size.scm
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
(define-module (oni packages inbox-size)
|
||||||
|
#:use-module (guix packages)
|
||||||
|
#:use-module (guix git-download)
|
||||||
|
#:use-module (guix build-system gnu)
|
||||||
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
|
#:use-module (gnu packages base)
|
||||||
|
#:use-module (gnu packages bash)
|
||||||
|
#:use-module (gnu packages shells))
|
||||||
|
|
||||||
|
(define-public (inbox-size emacs)
|
||||||
|
(let ((commit "e9a94db05e45be9357ccc757601c1cd890a6254c")
|
||||||
|
(revision "0"))
|
||||||
|
(package
|
||||||
|
(name "inbox-size")
|
||||||
|
(version (git-version "0.0.0" revision commit))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(uri (git-reference
|
||||||
|
(url "git://ryuslash.org/util/tom/inbox-size")
|
||||||
|
(commit commit)))
|
||||||
|
(method git-fetch)
|
||||||
|
(sha256
|
||||||
|
(base32 "09mjxk85cqvcxk5n51izfqap36pjd35z476fmvd5vq7d5kgnczzw"))
|
||||||
|
(file-name (git-file-name name version))))
|
||||||
|
(propagated-inputs
|
||||||
|
(list bash scsh emacs))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:tests? #f
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(delete 'configure)
|
||||||
|
(delete 'build)
|
||||||
|
(replace 'install
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
|
||||||
|
(install-file "inbox-size" bin)))))))
|
||||||
|
(home-page "https://ryuslash.org/")
|
||||||
|
(synopsis "A simple script that checks the size of my GTD inbox.")
|
||||||
|
(description "Counts the number of items in my GTD inbox.")
|
||||||
|
(license license:gpl3+))))
|
41
oni/packages/notmuch-collect-tasks.scm
Normal file
41
oni/packages/notmuch-collect-tasks.scm
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
(define-module (oni packages notmuch-collect-tasks)
|
||||||
|
#:use-module (guix packages)
|
||||||
|
#:use-module (guix git-download)
|
||||||
|
#:use-module (guix build-system gnu)
|
||||||
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
|
#:use-module (gnu packages base)
|
||||||
|
#:use-module (gnu packages bash)
|
||||||
|
#:use-module (gnu packages mail))
|
||||||
|
|
||||||
|
(define-public notmuch-collect-tasks
|
||||||
|
(let ((commit "c0399a2bbd499d3fcdf2cfce2d9a8162d5865de0")
|
||||||
|
(revision "0"))
|
||||||
|
(package
|
||||||
|
(name "notmuch-collect-tasks")
|
||||||
|
(version (git-version "0.0.0" revision commit))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(uri (git-reference
|
||||||
|
(url "git://ryuslash.org/util/tom/notmuch-collect-tasks.git")
|
||||||
|
(commit commit)))
|
||||||
|
(method git-fetch)
|
||||||
|
(sha256
|
||||||
|
(base32 "1rkxcmlmz5ncd3x59kgffg889wibi3q8d3gv2vm1nvaayzj58zm9"))
|
||||||
|
(file-name (git-file-name name version))))
|
||||||
|
(propagated-inputs
|
||||||
|
(list bash notmuch))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:tests? #f
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(delete 'configure)
|
||||||
|
(delete 'build)
|
||||||
|
(replace 'install
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
|
||||||
|
(install-file "notmuch-collect-tasks" bin)))))))
|
||||||
|
(home-page "https://ryuslash.org/")
|
||||||
|
(synopsis "A simple script that scans email subjects for tasks to add.")
|
||||||
|
(description "Creates tasks based on incoming email.")
|
||||||
|
(license license:gpl3+))))
|
41
oni/packages/notmuch-tag-mailinglists.scm
Normal file
41
oni/packages/notmuch-tag-mailinglists.scm
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
(define-module (oni packages notmuch-tag-mailinglists)
|
||||||
|
#:use-module (guix packages)
|
||||||
|
#:use-module (guix git-download)
|
||||||
|
#:use-module (guix build-system gnu)
|
||||||
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
|
#:use-module (gnu packages base)
|
||||||
|
#:use-module (gnu packages bash)
|
||||||
|
#:use-module (gnu packages mail))
|
||||||
|
|
||||||
|
(define-public notmuch-tag-mailinglists
|
||||||
|
(let ((commit "b20cf1593c98b415cb144bd23c9c60926161d359")
|
||||||
|
(revision "0"))
|
||||||
|
(package
|
||||||
|
(name "notmuch-tag-mailinglists")
|
||||||
|
(version (git-version "0.0.0" revision commit))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(uri (git-reference
|
||||||
|
(url "git://ryuslash.org/util/tom/notmuch-tag-mailinglists.git")
|
||||||
|
(commit commit)))
|
||||||
|
(method git-fetch)
|
||||||
|
(sha256
|
||||||
|
(base32 "0c3pn3ns4n5sh97plvbxv59i5rh8840fq73ic66kvhkij1c6l4rb"))
|
||||||
|
(file-name (git-file-name name version))))
|
||||||
|
(propagated-inputs
|
||||||
|
(list bash notmuch))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:tests? #f
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(delete 'configure)
|
||||||
|
(delete 'build)
|
||||||
|
(replace 'install
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
|
||||||
|
(install-file "notmuch-tag-mailinglists" bin)))))))
|
||||||
|
(home-page "https://ryuslash.org/")
|
||||||
|
(synopsis "A simple script that scans email subjects for tasks to add.")
|
||||||
|
(description "Creates tasks based on incoming email.")
|
||||||
|
(license license:gpl3+))))
|
Loading…
Reference in a new issue