diff --git a/.config/doom/README.org b/.config/doom/README.org index 1b51534..f6f6f32 100644 --- a/.config/doom/README.org +++ b/.config/doom/README.org @@ -1,7 +1,5 @@ #+title: Phil's Doom Emacs Config -#+TODO: ACTIVE | DISABLED #+STARTUP: indent -#+auto_tangle: t * Intro @@ -34,6 +32,12 @@ A lot of these are swiped from [[https://gitlab.com/dwt1/configuring-emacs/][DT' (prefer-coding-system 'utf-8) #+END_SRC *** Langtool + +Note that for this functionality you do need some resources, namely: +- some kind of Java runtime (OpenJRE for instance) +- [[https://languagetool.org/][LanguageTool]] + +This command only sets up the path to your java runtime binary. #+begin_src emacs-lisp :tangle config.el (setq langtool-java-bin "/usr/bin/java") #+end_src diff --git a/.config/fish/README.org b/.config/fish/README.org index 2c548f2..238da1b 100644 --- a/.config/fish/README.org +++ b/.config/fish/README.org @@ -368,9 +368,11 @@ alias tobash="sudo chsh $USER -s /bin/bash && echo 'Now log out.'" alias tozsh="sudo chsh $USER -s /bin/zsh && echo 'Now log out.'" alias tofish="sudo chsh $USER -s /bin/fish && echo 'Now log out.'" #+end_src -** config +** config :noexport: Bare git repo for dotfiles. -#+begin_src fish +/Note:/ No longer in use, since I moved to using stow instead. See the main readme +file in the root directory of this git repo. +#+begin_src fish :tangle no alias config="/usr/bin/git --git-dir=$HOME/git/dot --work-tree=$HOME" #+end_src ** tb diff --git a/.config/hypr/README.org b/.config/hypr/README.org new file mode 100644 index 0000000..107f447 --- /dev/null +++ b/.config/hypr/README.org @@ -0,0 +1,339 @@ +#+title: Phil's Hyprland config +#+STARTUP: indent +#+PROPERTY: header-args :tangle hyprland.conf +#+auto-tangle: t + +* Intro + +This is my personal [[https://hyprland.org/][Hyprland]] config. It is a literate config, which means that +/this/ is the file you want to be editing, and then running ~org-babel-tangle~ to +tangle it into the ~hyprland.conf~ file. + +A lot of this configuration is very opinionated, and not for everyone. +* Thee configuration +** Monitor set-up +#+begin_src config +monitor=HDMI-A-1, 1920x1080@60, 0x0, 1 +monitor=eDP-1, 1920x1080@165, 1920x0, 1 +monitor=DP-2, 1920x1080@60, 3840x0, 1 +#+end_src +** Input +#+begin_src config +input { + kb_layout = pl + kb_options = compose:rctrl + follow_mouse = 1 + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + touchpad { + natural_scroll = no + } +} +#+end_src +** General +#+begin_src config +general { + gaps_in = 5 + gaps_out = 20 + border_size = 2 + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + layout = master +} +#+end_src +** Decorations +#+begin_src config +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 0 + + blur { + enabled = true + size = 3 + passes = 1 + } + + drop_shadow = yes + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) +} +#+end_src +** Animations +#+begin_src config +animations { + enabled = yes + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} +#+end_src +** Layouts +*** Dwindle +#+begin_src config +dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this +} +#+end_src +*** Master +#+begin_src config +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = true + inherit_fullscreen = true + mfact = 0.6 +} +#+end_src +** Gestures +#+begin_src config +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = off +} +#+end_src +** Environment variables +#+begin_src config +env = XCURSOR_SIZE,24 +env = HYPRSHOT_DIR,"~/enc/pictures/screenshots" +#+end_src +** Keybinds +*** Hypr +#+begin_src config +$mainMod = SUPER +bind = CTRL_SHIFT_ALT, Q, killactive, +bind = SUPER_CTRL_SHIFT_ALT, 0, exit, + +bind = $mainMod, B, togglefloating, +bind = $mainMod, F, fullscreen, 0 +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle + +bind = $mainMod, a, layoutmsg, cyclenext +bind = $mainMod, o, layoutmsg, cycleprev + +bind = $mainMod, BACKSPACE, layoutmsg, swapwithmaster auto + +bind = $mainMod, comma, focusmonitor, -1 +bind = $mainMod, period, focusmonitor, +1 +#+end_src +*** Applications +#+begin_src config +bind = $mainMod, RETURN, exec, alacritty +bind = SUPER_SHIFT, RETURN, exec, sakura + +bind = $mainMod, D, exec, rofi -show drun +bind = , Print, exec, hyprshot -m region + +bind = $mainMod, E, exec, emacsclient -c -a 'emacs' +#+end_src +*** Workspaces +**** Show +#+begin_src config +bind = $mainMod, S, submap, show +submap = show +bind = , 1, moveworkspacetomonitor, name:1 current +bind = , 1, workspace, name:1 +bind = , 1, submap, reset +bind = , 2, moveworkspacetomonitor, name:2 current +bind = , 2, workspace, name:2 +bind = , 2, submap, reset +bind = , 3, moveworkspacetomonitor, name:3 current +bind = , 3, workspace, name:3 +bind = , 3, submap, reset +bind = , 4, moveworkspacetomonitor, name:4 current +bind = , 4, workspace, name:4 +bind = , 4, submap, reset +bind = , 5, moveworkspacetomonitor, name:5 current +bind = , 5, workspace, name:5 +bind = , 5, submap, reset +bind = , 6, moveworkspacetomonitor, name:6 current +bind = , 6, workspace, name:6 +bind = , 6, submap, reset +bind = , 7, moveworkspacetomonitor, name:7 current +bind = , 7, workspace, name:7 +bind = , 7, submap, reset +bind = , 8, moveworkspacetomonitor, name:8 current +bind = , 8, workspace, name:8 +bind = , 8, submap, reset +bind = , 9, moveworkspacetomonitor, name:9 current +bind = , 9, workspace, name:9 +bind = , 9, submap, reset +bind = , e, moveworkspacetomonitor, name:e current +bind = , e, workspace, name:e +bind = , e, submap, reset +bind = , w, moveworkspacetomonitor, name:w current +bind = , w, workspace, name:w +bind = , w, submap, reset +bind = , g, moveworkspacetomonitor, name:g current +bind = , g, workspace, name:g +bind = , g, submap, reset +bind = , d, moveworkspacetomonitor, name:d current +bind = , d, workspace, name:d +bind = , d, submap, reset +bind = , b, moveworkspacetomonitor, name:b current +bind = , b, workspace, name:b +bind = , b, submap, reset +bind = , j, moveworkspacetomonitor, name:j current +bind = , j, workspace, name:j +bind = , j, submap, reset +bind = , f, moveworkspacetomonitor, name:f current +bind = , f, workspace, name:f +bind = , f, submap, reset +bind = , o, moveworkspacetomonitor, name:o current +bind = , o, workspace, name:o +bind = , o, submap, reset +bind = , u, moveworkspacetomonitor, name:u current +bind = , u, workspace, name:u +bind = , u, submap, reset +bind = , r, moveworkspacetomonitor, name:r current +bind = , r, workspace, name:r +bind = , r, submap, reset +bind = , s, moveworkspacetomonitor, name:s current +bind = , s, workspace, name:s +bind = , s, submap, reset +bind = , t, moveworkspacetomonitor, name:t current +bind = , t, workspace, name:t +bind = , t, submap, reset +bind = , h, moveworkspacetomonitor, name:h current +bind = , h, workspace, name:h +bind = , h, submap, reset +bind = , v, moveworkspacetomonitor, name:v current +bind = , v, workspace, name:v +bind = , v, submap, reset +bind = , y, moveworkspacetomonitor, name:y current +bind = , y, workspace, name:y +bind = , y, submap, reset +bind = , n, moveworkspacetomonitor, name:n current +bind = , n, workspace, name:n +bind = , n, submap, reset +bind = , a, moveworkspacetomonitor, name:a current +bind = , a, workspace, name:a +bind = , a, submap, reset +bind = , i, moveworkspacetomonitor, name:i current +bind = , i, workspace, name:i +bind = , i, submap, reset +bind = , l, moveworkspacetomonitor, name:l current +bind = , l, workspace, name:l +bind = , l, submap, reset +bind = , x, moveworkspacetomonitor, name:x current +bind = , x, workspace, name:x +bind = , x, submap, reset +bind = , c, moveworkspacetomonitor, name:c current +bind = , c, workspace, name:c +bind = , c, submap, reset +bind = , m, moveworkspacetomonitor, name:m current +bind = , m, workspace, name:m +bind = , m, submap, reset +bind = , k, moveworkspacetomonitor, name:k current +bind = , k, workspace, name:k +bind = , k, submap, reset +bind = , q, moveworkspacetomonitor, name:q current +bind = , q, workspace, name:q +bind = , q, submap, reset +bind = , z, moveworkspacetomonitor, name:z current +bind = , z, workspace, name:z +bind = , z, submap, reset +bind = , p, moveworkspacetomonitor, name:p current +bind = , p, workspace, name:p +bind = , p, submap, reset +bind=,escape,submap,reset +submap = reset +#+end_src +**** Throw +#+begin_src config +bind = $mainMod, T, submap, throw +submap = throw +bind = , 1, movetoworkspacesilent, name:1 +bind = , 1, submap, reset +bind = , 2, movetoworkspacesilent, name:2 +bind = , 2, submap, reset +bind = , 3, movetoworkspacesilent, name:3 +bind = , 3, submap, reset +bind = , 4, movetoworkspacesilent, name:4 +bind = , 4, submap, reset +bind = , 5, movetoworkspacesilent, name:5 +bind = , 5, submap, reset +bind = , 6, movetoworkspacesilent, name:6 +bind = , 6, submap, reset +bind = , 7, movetoworkspacesilent, name:7 +bind = , 7, submap, reset +bind = , 8, movetoworkspacesilent, name:8 +bind = , 8, submap, reset +bind = , 9, movetoworkspacesilent, name:9 +bind = , 9, submap, reset +bind = , e, movetoworkspacesilent, name:e +bind = , e, submap, reset +bind = , w, movetoworkspacesilent, name:w +bind = , w, submap, reset +bind = , g, movetoworkspacesilent, name:g +bind = , g, submap, reset +bind = , d, movetoworkspacesilent, name:d +bind = , d, submap, reset +bind = , b, movetoworkspacesilent, name:b +bind = , b, submap, reset +bind = , j, movetoworkspacesilent, name:j +bind = , j, submap, reset +bind = , f, movetoworkspacesilent, name:f +bind = , f, submap, reset +bind = , o, movetoworkspacesilent, name:o +bind = , o, submap, reset +bind = , u, movetoworkspacesilent, name:u +bind = , u, submap, reset +bind = , r, movetoworkspacesilent, name:r +bind = , r, submap, reset +bind = , s, movetoworkspacesilent, name:s +bind = , s, submap, reset +bind = , t, movetoworkspacesilent, name:t +bind = , t, submap, reset +bind = , h, movetoworkspacesilent, name:h +bind = , h, submap, reset +bind = , v, movetoworkspacesilent, name:v +bind = , v, submap, reset +bind = , y, movetoworkspacesilent, name:y +bind = , y, submap, reset +bind = , n, movetoworkspacesilent, name:n +bind = , n, submap, reset +bind = , a, movetoworkspacesilent, name:a +bind = , a, submap, reset +bind = , i, movetoworkspacesilent, name:i +bind = , i, submap, reset +bind = , l, movetoworkspacesilent, name:l +bind = , l, submap, reset +bind = , x, movetoworkspacesilent, name:x +bind = , x, submap, reset +bind = , c, movetoworkspacesilent, name:c +bind = , c, submap, reset +bind = , m, movetoworkspacesilent, name:m +bind = , m, submap, reset +bind = , k, movetoworkspacesilent, name:k +bind = , k, submap, reset +bind = , q, movetoworkspacesilent, name:q +bind = , q, submap, reset +bind = , z, movetoworkspacesilent, name:z +bind = , z, submap, reset +bind = , p, movetoworkspacesilent, name:tp +bind = , p, submap, reset +bind=,escape,submap,reset +submap = reset +#+end_src +*** Mouse +#+begin_src config +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow +#+end_src +** Autostart +#+begin_src config +exec-once=waybar +#+end_src diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index cfd9983..b6308fd 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -1,56 +1,18 @@ +monitor=HDMI-A-1, 1920x1080@60, 0x0, 1 +monitor=eDP-1, 1920x1080@165, 1920x0, 1 +monitor=DP-2, 1920x1080@60, 3840x0, 1 -######################################################################################## -AUTOGENERATED HYPR CONFIG. -PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, -OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. -######################################################################################## - -# -# Please note not all available settings / options are set here.1 -# For a full list, see the wiki -# - -autogenerated = 0 # remove this line to remove the warning - -# See https://wiki.hyprland.org/Configuring/Monitors/ -monitor=HDMI-A-1, 1920x1080, 0x0, 1 -monitor=eDP-1, 1920x1080, 1920x0, 1 -monitor=DP-2, 1920x1080, 3840x0, 1 - -exec-once=waybar - - -# See https://wiki.hyprland.org/Configuring/Keywords/ for more - -# Execute your favorite apps at launch -# exec-once = waybar & hyprpaper & firefox - -# Source a file (multi-file configs) -# source = ~/.config/hypr/myColors.conf - -# Some default env vars. -env = XCURSOR_SIZE,24 -env = HYPRSHOT_DIR,"~/enc/pictures/screenshots" -# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = pl - kb_variant = - kb_model = - kb_options = - kb_rules = - + kb_options = compose:rctrl follow_mouse = 1 - + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. touchpad { natural_scroll = no } - - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - gaps_in = 5 gaps_out = 20 border_size = 2 @@ -64,7 +26,7 @@ decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 0 - + blur { enabled = true size = 3 @@ -79,11 +41,7 @@ decoration { animations { enabled = yes - - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - animation = windows, 1, 7, myBezier animation = windowsOut, 1, 7, default, popin 80% animation = border, 1, 10, default @@ -105,55 +63,23 @@ master { mfact = 0.6 } - - gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = off } -# Example per-device config -# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more -device:epic-mouse-v1 { - sensitivity = -0.5 -} +env = XCURSOR_SIZE,24 +env = HYPRSHOT_DIR,"~/enc/pictures/screenshots" -# Example windowrule v1 -# windowrule = float, ^(kitty)$ -# Example windowrule v2 -# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more - - -# See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER - -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, RETURN, exec, alacritty -bind = SUPER_SHIFT, RETURN, exec, sakura bind = CTRL_SHIFT_ALT, Q, killactive, bind = SUPER_CTRL_SHIFT_ALT, 0, exit, -bind = $mainMod, E, exec, emacsclient -c -a 'emacs' -set -bind = , Print, exec, hyprshot -m region -# windowrulev2=move 0 0,title:^(flameshot) -# windowrulev2=nofullscreenrequest,title:^(flameshot) - bind = $mainMod, B, togglefloating, bind = $mainMod, F, fullscreen, 0 -bind = $mainMod, D, exec, rofi -show drun bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle - - -# Move focus with mainMod + arrow keys -# bind = $mainMod, n, movefocus, l -# bind = $mainMod, i, movefocus, r -# bind = $mainMod, o, movefocus, u -# bind = $mainMod, a, movefocus, d - bind = $mainMod, a, layoutmsg, cyclenext bind = $mainMod, o, layoutmsg, cycleprev @@ -162,7 +88,14 @@ bind = $mainMod, BACKSPACE, layoutmsg, swapwithmaster auto bind = $mainMod, comma, focusmonitor, -1 bind = $mainMod, period, focusmonitor, +1 -# Switch workspaces with mainMod + [0-9] +bind = $mainMod, RETURN, exec, alacritty +bind = SUPER_SHIFT, RETURN, exec, sakura + +bind = $mainMod, D, exec, rofi -show drun +bind = , Print, exec, hyprshot -m region + +bind = $mainMod, E, exec, emacsclient -c -a 'emacs' + bind = $mainMod, S, submap, show submap = show bind = , 1, moveworkspacetomonitor, name:1 current @@ -270,13 +203,9 @@ bind = , z, submap, reset bind = , p, moveworkspacetomonitor, name:p current bind = , p, workspace, name:p bind = , p, submap, reset - bind=,escape,submap,reset submap = reset - -# Move active window to a workspace with main -# Mod + SHIFT + [0-9] bind = $mainMod, T, submap, throw submap = throw bind = , 1, movetoworkspacesilent, name:1 @@ -352,7 +281,6 @@ bind = , p, submap, reset bind=,escape,submap,reset submap = reset - # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 @@ -360,3 +288,5 @@ bind = $mainMod, mouse_up, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow + +exec-once=waybar diff --git a/.config/xmobar/tomorrow-night-xmobarrc b/.config/xmobar/tomorrow-night-xmobarrc new file mode 100644 index 0000000..674cb62 --- /dev/null +++ b/.config/xmobar/tomorrow-night-xmobarrc @@ -0,0 +1,67 @@ +-- Xmobar (http://projects.haskell.org/xmobar/) +-- This is one of the xmobar configurations for DTOS. +-- This config is packaged in the DTOS repo as 'dtos-xmobar' +-- Color scheme: Tomorrow Night +-- Dependencies: + -- otf-font-awesome + -- ttf-mononoki + -- ttf-ubuntu-font-family + -- htop + -- emacs + -- pacman (Arch Linux) + -- trayer + -- 'dtos-local-bin' (from dtos-core-repo) + +Config { + font = "xft:Iosevka-12" + , additionalFonts = [ "xft:Mononoki:pixelsize=8:antialias=true:hinting=true" + , "xft:Font Awesome 6 Free Solid:pixelsize=10" + , "xft:Font Awesome 6 Brands:pixelsize=10" + ] + , bgColor = "#1d1f21" + , fgColor = "#ffffff" + -- Position TopSize and BottomSize take 3 arguments: + -- an alignment parameter (L/R/C) for Left, Right or Center. + -- an integer for the percentage width, so 100 would be 100%. + -- an integer for the minimum pixel height for xmobar, so 24 would force a height of at least 24 pixels. + -- NOTE: The height should be the same as the trayer (system tray) height. + , position = TopSize L 100 16 + , lowerOnStart = True + , hideOnStart = False + , allDesktops = True + , persistent = True + , iconRoot = ".config/xmonad/xpm/" -- default: "." + , commands = [ + Run UnsafeXMonadLog + , Run StdinReader + -- Echos a "penguin" icon in front of the kernel output. + -- Run Com "echo" ["\xf17c"] "penguin" 3600 + -- Get kernel version (script found in .local/bin) + -- , Run Com ".local/bin/kernel" [] "kernel" 36000 + -- Cpu usage in percent + , Run Cpu ["-t", "\xf108 cpu: %","-H","50","--high","red"] 20 + -- Ram used number and percent + , Run Memory ["-t", "\xf233 mem: M %"] 20 + -- Disk space free + , Run DiskU [("/", "\xf0c7 hdd: free")] [] 60 + -- Echos an "up arrow" icon in front of the uptime output. + , Run Com "echo" ["\xf0aa"] "uparrow" 3600 + -- Uptime + , Run Uptime ["-t", "uptime: ::"] 360 + -- Echos a "bell" icon in front of the pacman updates. + -- , Run Com "echo" ["\xf0f3"] "bell" 3600 + -- Check for pacman updates (script found in .local/bin) + -- , Run Com ".local/bin/pacupdate" [] "pacupdate" 36000 + -- Echos a "battery" icon in front of the pacman updates. + , Run Com "echo" ["\xf242"] "baticon" 3600 + -- Battery + , Run BatteryP ["BAT0"] ["-t", " %"] 360 + -- Time and date + , Run Date "\xf017%d.%m.%Y %H:%M " "date" 50 + -- Script that dynamically adjusts xmobar padding depending on number of trayer icons. + , Run Com ".config/xmobar/trayer-padding-icon.sh" [] "trayerpad" 20 + -- Prints out the left side items such as workspaces, layout, etc. + ] + , sepChar = "%" + , alignSep = "}{" + , template = "%UnsafeXMonadLog% }{ %cpu% %memory% %disku% %uparrow% %uptime% %baticon% %battery% %date% %trayerpad%" diff --git a/README.org b/README.org index 29df8a3..70b9280 100644 --- a/README.org +++ b/README.org @@ -32,20 +32,27 @@ I use a number of applications and utilities in my workflow. I'm too lazy to lis 1. git 2. stow 3. XMonad and XMobar + 1. I have recently started experimenting with Hyprland and Waybar, so if you + intend to run these, be aware you want to have them installed - I use the + latest versions of both from their respective git repositories. 4. xdotool 5. Trayer -6. Emacs -7. dmenu -8. rofi -9. alacritty -10. flameshot -11. dunst -12. aw-server, aw-watcher-afk, aw-watcher-window and aw-watcher-spotify -13. gocryptfs if you're using an encrypted directory, and lxqt-openssh-askpass +6. Emacs with the Doom Emacs framework. +7. rofi +8. alacritty +9. flameshot + 1. If you're on wayland, you want hyprshot instead. +10. dunst +11. aw-server, aw-watcher-afk, aw-watcher-window and aw-watcher-spotify. +12. gocryptfs if you're using an encrypted directory, and lxqt-openssh-askpass + (X11 only, I do this so rarely I have not been able to justify prettifying + it in Hyprland yet.) * Installation The installation is very simple. Note ~stow~ will not overwrite your files, so you will have to install a lot of these manually the first time. -First, clone the repo into a hidden directory in your \~. This makes using ~stow~ easier. +First, clone the repo into a directory in your ~home~. This makes using ~stow~ +easier. Stow, by default, relates to the parent directory of where the files +are. This makes things a lot easier for rapid deployment. #+begin_src git clone https://git.bajsicki.com/phil/dot.git .dot @@ -109,4 +116,5 @@ These are the primary keybinds I use pretty much all the time: - ~e~ inserts EST time. - ~m~ inserts MDT time. - ~M-d~ launches ~rofi~. -- ~M-p~ launches ~dmenu~. +- ~M-p~ launches ~dmenu~. (Except in Hyprland, I use this so rarely I have not + gotten around to this yet.)