Extract monitors, functions, rules, env vars, and onstart into
separate files. Add toggle_pin, toggle_master_scrolling, and
layout-aware keybinds for scrolling layout.
- Fix toggle_float_with_limit to use correct property names (width/height vs size.width)
- Add notification on float toggle showing scale factor
- Resize to max bounds instead of scaling
- Move function definition after keybinds for better organization
- Add cycle_next_window wrapper to bring floating windows to top on cycle
- Update terminal-pi window rule to float/center/special workspace
- Reorder monitor positions (Stargate/ARZOPA to auto-down, MSI to auto-left)
- Add toggle_float_with_limit function that caps floating windows at 80%
- Add keybindings for Obsidian today and pi tui
- Add window rules for terminal-pi and quicknotes (floating)
- Update ostt-popup to fixed size/position
- Enable tmux-256color and universal RGB/clipboard terminal features
- Remove stale commented-out terminal overrides and default-shell
- Update escape-time and workmux popup binding
- Rebind t→o for the t script
Reformat monitor configs to multi-line table syntax for readability.
Wrap long hl.bind calls and fix whitespace alignment in window rules.
Rebind mouse:275/276 from clipboard copy/paste to window cycle
next/previous for more intuitive navigation.
fetch_or_launch and focus_or_launch now swap the target client to master
layout position when it is not already the master. Scripts switched from raw
hl.dsp.* calls to --persistent lua function dispatches (fetch_or_launch /
focus_or_launch), and both now guard against empty rofi selection.
Add terminal-launcher script as a single entry point for launching
foot-based terminals with a given class and command. Migrate all
.desktop files to use it instead of inline foot invocations.
Simplify hyprland keybindings by replacing inline focus_or_launch
with hl.dsp.exec_cmd
Some tools (herdr) don't use tmux's setenv -g to broadcast
SSH_AUTH_SOCK to new panes. Refresh the symlink when a real
socket is inherited, then always export the symlink path so
child shells in new panes can find it.
Split steve-dev into herdr/tmux variants. Rename steve-dev.desktop
to alcazar-tmux.desktop. Add alcazar-herdr entry. Switch bianca-herdr
to herdr command. Update nca-ai-01 naming and mise dotfiles mapping.
Add worktrunk keybindings for worktree management (switch/create/remove),
shell hooks for automatic-rename in bash and fish, and zoxide directory
browsing. Add mise setup task to install all three plugins.
Enable auto theme switching.
Change the terminal binding to match on 'tmux' class with gtk-launch instead of the terminal + tmux new-session pattern.
Update the wallpaper binding from the old bing-wallpaper script to the new set-wallpaper.sh with a quotes category.
Integrate pi-agent as a blink.cmp completion source (score_offset=100)
for LSP-style completions inside pi-chat-prompt buffers. Add the
pi.nvim plugin with a toggle keymap and --approve mode.
Add a compiled wallpaper-fetcher binary that downloads images from backiee.com, and a set-wallpaper.sh wrapper that downloads a random wallpaper and sets it as the desktop background via awww.
Split bash config into dedicated aliases and profile files. Extract
fish shell init from config.fish into composable conf.d fragments
(setup, environment, ssh-auth-sock). Remove the generic profile in
favor of the bash-specific one. Add a static SSH_AUTH_SOCK symlink
so tmux sessions always see the current socket regardless of which
shell spawned them.
- Switch default provider to opencode-go, model to deepseek-v4-flash
- Raise default thinking level from minimal to high
- Add terminal progress setting
- Bump last changelog version to 0.81.0
The monolithic vim.pack.add() table in init.lua was removed and each
plugin/*.lua file now declares its own dependencies via vim.pack.add()
at the top. tools.lua was decomposed into per-plugin files (cmake.lua,
jupynvim.lua, just.lua, kulala.lua, mise.lua, neogit.lua, sshfs.lua,
trouble.lua, undotree.lua, zoxide.lua) each with their own config and
keymaps. This makes plugin files self-contained and easier to maintain.
ydotool provides keyboard input simulation on Wayland,
required by Hyprland keybinding daemons like ydotool.
Adds user to input/render/video groups for access, and
conditionally enables the ydotool user service only
when the input group is available.
- New .desktop entries for steve-dev, bianca, dupont remote hosts
- Register them in mise.toml symlinks
- Add zero (mise plugin) to config
- Switch ostt whisper model medium->small
- Allow obsidian vault in pi permission system
- Fish alias cleanup (remove unnecessary =, add zero alias)
Adds a scratch buffer-based utility to copy file paths and line
ranges for pasting into AI chat conversations. Supports normal mode
(copy path), visual mode (copy path:start:end), and a scratch buffer
for collecting multiple references.
Replace hardcoded config/environment.d/generic.conf with a Tera
template (environments.tmpl) rendered via mise, pulling DOTFILES_DIR,
THEME_DIR, SECOND_BRAIN, and user info from mise.toml vars.
- Add SECOND_BRAIN variable in mise.toml for the vault path
- Update fish aliases to use $SECOND_BRAIN instead of a hardcoded path
- Fix Obsidian nvim aliases with proper quoting
- Remove stale dotfiles.conf template reference
Adds DOTFILES_DIR env, maps ~/.config/nvim and theme plugin symlink, and adds pre-packages bootstrap hook to sync theme directory. Ensures nvim theme files are available on bootstrap.
Use Neovim's built-in package manager instead of manual git clone for
mini.nvim installation. Remove stale commented-out add() calls and
reorder requires. Also add fish alias for launching mini.nvim.
Alphabetically sorted all three package lists and removed duplicate
entries. Also moved some packages between lists for better grouping
(e.g. dev tools like neovim/rust/go from sjb-base to sjb-dev).
- Replace test -x / command -qv with command -q for consistency
- Move mise/direnv/zoxide/fzf init to top of interactive block
- Group related aliases into if blocks
- Remove redundant vim/vi->v aliases (nvim handles EDITOR)
- Fix fabric alias: fabric-ai -> fabric
- Add config/mise/config.toml with tool definitions
- Swap realpath/nvim check order in script/v
This commit adds new npm package installations to the pi-agent installer script, enhancing its capabilities with pi-lens, pi-permission-system, pi-native-search, pi-subagents, and context-mode.
Adds a shell script that installs the @earendil-works/pi-coding-agent
and pi-acp npm packages globally if the `pi` command is not found.
Uses paru to install Node.js and npm on Arch-based systems when needed.