my scripts for dev
Ubuntu:
curl -fsSL https://raw.githubusercontent.com/rek/devconfig/master/install/install.sh | bashArch / Omarchy:
curl -fsSL https://raw.githubusercontent.com/rek/devconfig/master/install/install-arch.sh | bashOr after cloning:
mkdir -p ~/dev && git clone https://github.com/rek/devconfig.git ~/dev/devconfig
~/dev/devconfig/install/install.sh # Ubuntu
~/dev/devconfig/install/install-arch.sh # Arch / OmarchyThe repo is cloned to ~/dev/devconfig (both the quick-install one-liner and
the script's auto-clone fallback use this location).
The Arch variant backs up any existing dotfiles/configs to *.bak before symlinking
(Omarchy ships its own .zshrc, hypr config, etc. — you'll want to merge anything
useful from ~/.zshrc.bak back in).
sudo apt-get install aptitude git zsh htop curl alacrittymkdir -p ~/dev && git clone https://github.com/rek/devconfig.git ~/dev/devconfig && ~/dev/devconfig/install/install.shsudo git clone https://github.com/ahmetb/kubectx /opt/kubectx
sudo ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx
sudo ln -s /opt/kubectx/kubens /usr/local/bin/kubenssudo update-alternatives --set x-terminal-emulator /usr/bin/alacrittygit config --global pager.branch falseCapsLock toggles a ghostty window that slides down from the top, with tabs at the bottom (ddterm-style) and no zellij multiplexer.
~/dev/devconfig/scripts/setup-dropdown-term.shThis installs keyd (remaps CapsLock → F13 at evdev), pyprland (scratchpad
daemon), and ghostty. Configs are already symlinked from this repo:
.config/pypr/config.toml— scratchpad geometry and the launch command. SetsDDTERM=1so.zshrcskips the auto-attach to zellij..config/ghostty/config—gtk-tabs-location = bottomandgtk-single-instance = falseso per-launch env doesn't leak between windows..config/hypr/bindings.conf— binds the F13 keycode (191) topypr toggle term.
~/dev/devconfig/scripts/display-setup.sh extend # Philips + Laptop + Glasses
~/dev/devconfig/scripts/display-setup.sh desk # Philips + Laptop (+ 2nd external)
~/dev/devconfig/scripts/display-setup.sh glasses-only # Glasses (top) + Laptop (bottom)
~/dev/devconfig/scripts/display-setup.sh status # Show current layoutApplies via hyprctl keyword monitor=... AND persists to
~/.config/hypr/monitors-runtime.conf (sourced from hyprland.conf), so the
layout survives Hyprland config reloads. Auto-detects monitors by name/EDID.
This repo keeps both an Arch/Omarchy/Hyprland version and a Ubuntu/GNOME version of every desktop-touching script and config:
| Concern | Arch (default) | Ubuntu / GNOME (.gnome suffix) |
|---|---|---|
| Dropdown terminal | scripts/setup-dropdown-term.sh (ghostty + pyprland) |
scripts/setup-dropdown-term.gnome.sh (amezin/ddterm patches in ddterm/) |
| Display setup | scripts/display-setup.sh (hyprctl) |
scripts/display-setup.gnome.sh + scripts/xreal-apply-triple.gnome.py (Mutter D-Bus) |
| Pyprland scratchpad | .config/pypr/config.toml |
— (ddterm extension handles dropdown on GNOME) |
| Hyprland | .config/hypr/* |
— |
The default name targets Arch; the .gnome.<ext> suffix targets the prior
Ubuntu/GNOME setup. (Note: the top-level installers install/install.sh and
install/install-arch.sh predate this convention and use an inverted naming — the
dropdown/xreal pattern above is the canonical one going forward.)
Used only on Ubuntu/GNOME. On Arch/Hyprland the dropdown is ghostty via pyprland — see Things to do after installing Arch / Omarchy above.
Preferred dropdown terminal on Ubuntu Wayland. Install via GNOME Extension
Manager, search ddterm. Then apply the patches and Claude hooks:
~/dev/devconfig/scripts/setup-dropdown-term.gnome.shCapsLock is mapped to F13 in /usr/share/X11/xkb/symbols/pc:
key <CAPS> {[ F13 ]};
Reload after changes:
setxkbmap -layout usIn ddterm preferences, set the toggle shortcut to F13 (press CapsLock when prompted).
Set via dconf (the GUI dialog can't capture Ctrl+Tab):
dconf write /com/github/amezin/ddterm/shortcut-next-tab "['<Primary>Tab']"
dconf write /com/github/amezin/ddterm/shortcut-prev-tab "['<Primary><Shift>Tab']"Deprecated: prefer ddterm on Ubuntu Wayland, or the ghostty/pyprland dropdown on Arch.
Install: sudo apt install guake
Settings:
- Main Window: Disable "appear on mouse display," enable "hide on lose focus"
- Shell: Set default interpreter to zsh
- Scrolling: Set scrollback lines to 10000
- Appearance: Select "homebrew" built-in scheme
- Quick open:
code -g %(file_path)s:%(line_number)s