aboutsummaryrefslogtreecommitdiffstats
path: root/oni/home/config
diff options
context:
space:
mode:
authorGravatar Tom Willemse2022-10-13 13:06:14 -0700
committerGravatar Tom Willemse2022-10-13 13:06:14 -0700
commitd1ca763c928f706f0c04e2dd14079f991ba028cb (patch)
treec24e2d72ccf9e69e03634fdec792a731a909ec8a /oni/home/config
parent62ab490e6b55eec39e538cc974b9cd5fcf80923e (diff)
downloadnew-dotfiles-d1ca763c928f706f0c04e2dd14079f991ba028cb.tar.gz
new-dotfiles-d1ca763c928f706f0c04e2dd14079f991ba028cb.zip
Fix typo
Diffstat (limited to 'oni/home/config')
-rw-r--r--oni/home/config/common.scm203
-rw-r--r--oni/home/config/data.scm144
-rw-r--r--oni/home/config/rincewind.scm107
3 files changed, 454 insertions, 0 deletions
diff --git a/oni/home/config/common.scm b/oni/home/config/common.scm
new file mode 100644
index 0000000..d1c946e
--- /dev/null
+++ b/oni/home/config/common.scm
@@ -0,0 +1,203 @@
+(define-module (oni home config common)
+ #: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")))))))
diff --git a/oni/home/config/data.scm b/oni/home/config/data.scm
new file mode 100644
index 0000000..18d5108
--- /dev/null
+++ b/oni/home/config/data.scm
@@ -0,0 +1,144 @@
+(define-module (oni home config data)
+ #:use-module (gnu home)
+ #:use-module (gnu home services)
+ #: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 (gnu packages xdisorg)
+ #:use-module (guix gexp)
+ #:use-module (oni home services rofi)
+ #:use-module (oni home services xsession)
+ #:use-module (oni home services xbindkeys)
+ #:use-module (oni home services zsh)
+ #:use-module (oni home services herbstluftwm)
+ #:use-module (oni home services polybar)
+ #:use-module (oni home services kdeconnect)
+ #:use-module (oni home services cmst)
+ #:use-module (oni home services syncthing)
+ #:use-module (oni home services unclutter)
+ #:use-module (oni home services dunst)
+ #:use-module (oni home services environment)
+ #:use-module (oni packages hlwm-run-or-raise)
+ #:use-module (oni packages pick-random-wallpaper)
+ #:use-module (oni home config common))
+
+(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))
+
+ (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
+ home-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))))))
diff --git a/oni/home/config/rincewind.scm b/oni/home/config/rincewind.scm
new file mode 100644
index 0000000..be107da
--- /dev/null
+++ b/oni/home/config/rincewind.scm
@@ -0,0 +1,107 @@
+(define-module (oni home config rincewind)
+ #:use-module (gnu home services guix)
+ #:use-module (gnu home services)
+ #:use-module (gnu home)
+ #:use-module (gnu packages commencement)
+ #:use-module (gnu packages emacs)
+ #:use-module (gnu packages emacs-xyz)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages music)
+ #:use-module (gnu packages video)
+ #:use-module (gnu packages)
+ #:use-module (gnu services)
+ #:use-module (guix channels)
+ #:use-module (guix derivations)
+ #:use-module (guix gexp)
+ #:use-module (guix packages)
+ #:use-module (guix store)
+ #:use-module (guix transformations)
+ #:use-module (oni home config common)
+ #:use-module (oni home services dunst)
+ #:use-module (oni home services emacs)
+ #:use-module (oni home services environment)
+ #:use-module (oni home services flameshot)
+ #: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 zsh)
+ #:use-module (oni packages count-emails)
+ #:use-module (oni packages hlwm-run-or-raise)
+ #:use-module (oni packages inbox-size)
+ #:use-module (oni packages notmuch-collect-tasks)
+ #:use-module (oni packages notmuch-tag-mailinglists)
+ #:use-module (oni packages pick-random-wallpaper))
+
+(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
+ (packages (list mpv mpv-mpris easytag
+ (specification->package+output "glibc-locales")
+ (specification->package+output "font-fantasque-sans")
+ (specification->package+output "font-comic-neue")
+ hlwm-run-or-raise
+ pick-random-wallpaper
+ notmuch-collect-tasks
+ notmuch-tag-mailinglists
+ (inbox-size emacs-next)
+ count-emails
+ emacs-org-roam
+ emacs-vterm
+ fakeroot ; Needed for build arch packages
+ ))
+
+ (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
+
+ ;; 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 'my-channel-service
+ home-channels-service-type
+ (list
+ (channel
+ (name 'oni)
+ (url "https://git.sr.ht/~ryuslash/guix-packages")
+ (introduction
+ (make-channel-introduction
+ "646573578b7adfbff415645fed201269076cebf6"
+ (openpgp-fingerprint
+ "061C C5C4 D936 C9A8 AECC 1A17 7D5C 407B 4350 25C1"))))
+ (channel
+ (name 'guix-gaming-games)
+ (url "https://gitlab.com/guix-gaming-channels/games.git")
+ (introduction
+ (make-channel-introduction
+ "c23d64f1b8cc086659f8781b27ab6c7314c5cca5"
+ (openpgp-fingerprint
+ "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)
+
+ (service home-emacs-service-type
+ (home-emacs-configuration
+ (package emacs-next)))
+
+ (service home-flameshot-service-type))))