Skip to content

Changelog

Changelog

Every change to these dotfiles since the first commit in June 2014, newest first. Versions are dates (YYYY.MM.DD). Older years are grouped into one release each.

Jump to: 2026.10.13 · 2026.09.23 · 2026.08.26 · 2026.05.25 · 2026.05.21 · 2026.05.08 · 2026.05.05 · 2026.04.27 · 2026.04.25 · 2026.04.24 · 2026.04.14 · 2020–2023 · 2019 · 2018 · 2015–2016 · 2014.08.24 · 2014.06.21


2026.10.13

October 13, 2026 · Compare changes

The installer grew up. It now asks two questions (your login shell and your locale), shows a plan before touching anything, and installs what the configs need, on Ubuntu, Debian, Fedora, Arch, openSUSE and Alpine. Everything is documented on a new docs site with search and a high-contrast mode.

  • Addedinstall.sh asks for your login shell (zsh by default, bash, or keep your current one) and runs chsh for you.
  • Addedinstall.sh asks for your locale (en_US.UTF-8 by default) and generates it if it’s missing. Your choice is saved to ~/.config/locale.conf.
  • Added-y skips all questions. --shell= and --locale= answer them up front. With no terminal (Docker builds, CI) the defaults are used automatically.
  • AddedThe installer shows a plan and asks Proceed? [Y/n] before changing anything.
  • AddedOn desktops the installer asks for a Nerd Font (Hasklug by default; JetBrains Mono, Fira Code, Meslo, Caskaydia Cove or Hack) and installs it for you, so prompt and tmux icons show instead of boxes. --font= picks one up front; kitty’s config follows your choice.
  • Addedkitty’s theme files (Lasik and Catppuccin Mocha) are installed with kitty.conf, so kitty starts with the Lasik colours.
  • AddedMissing tools are installed: zsh, less, bash-completion, notify-send (desktops only) and kitty’s terminfo (servers, so SSH from kitty works).
  • AddedBash support: install.sh installs .bash_profile, .inputrc and a small .bashrc that loads .bash_profile, so new terminal tabs get your aliases too.
  • AddedUbuntu’s useful defaults in both shells: lesspipe (read archives and PDFs with less), dircolors, coloured zsh completion, bash-completion and the alert alias.
  • Added~/.bash_profile.local for machine-specific lines in bash (like ~/.zshenv.local for zsh).
  • AddedBash adds ~/bin and ~/.local/bin to PATH, as Ubuntu’s ~/.profile would.
  • Addedzsh completion is case-insensitive and matches anywhere in a name. source <Tab> only offers files in the current folder.
  • AddedGit defaults: new repos start on main, Windows line endings are converted on commit, and git pull rebases.
  • AddedA 6-pane tmuxp layout with a clock (peaclock) and the weather.
  • AddedA docs site with one page per config, search, troubleshooting, known issues, and Light / Dark / High contrast themes.
  • AddedThe changelog is on the docs site too, with a coloured tag on every change: Changelog.
  • AddedText size buttons on the docs site (A− / 100% / A+, from 87.5% to 150%), next to the theme menu. Your choice is remembered, and text grows a little on wider screens.
  • ChangedVim, Neovim and nano all indent with tabs, shown 4 wide (Vim used 2 spaces, nano 4 spaces). YAML files get spaces in Vim and Neovim, because YAML doesn’t allow tabs.
  • ChangedThe installer also installs .vimrc, the tmuxp layout, the peaclock config and .gitignore_global.
  • ChangedThe installer adds the Git defaults and aliases to your own git settings, one at a time. Your ~/.gitconfig isn’t replaced, and settings you already have are kept.
  • Changedbash loads ~/.zsh_secrets too, so your API keys work in both shells.
  • ChangedThe Android SDK is only added to PATH when it’s installed.
  • Changed.zshrc.local.example is a short, up-to-date template.
  • ChangedThe README is now a short intro that links to the docs site.
  • ChangedThe docs home page and README say up front that the defaults are opinionated, with how to change each one.
  • ChangedScreenshots on the docs site for peaclock, Vim, Neovim and git lg.
  • ChangedThe “kitty not found” warning only appears on desktops. On a server kitty isn’t needed.
  • ChangedRemote installs use the main branch.
  • ChangedThe Claude Code alias is now c instead of cc, so the C compiler cc works again.
  • Changedmyip shows all your IP addresses: the local one and the public one from both ifconfig.me and OpenDNS, with an IPv6 column when IPv6 is available. It replaces the ip and localip aliases, so Linux’s own ip command works again.
  • ChangedThe local IP in myip and ii comes from the interface that actually leads to the internet, so it also works on Arch, Alpine and Macs on Ethernet.
  • Fixedinstall.sh failed because it looked for .nanorc in its old place.
  • FixedBash printed setlocale: cannot change locale warnings on systems without the en_US locale. The shells now fall back to C.UTF-8.
  • FixedInstalling on a fresh Arch system failed with “target not found”.
  • FixedA cut-off download of install.sh through curl | bash could run half an install. Now nothing runs until the whole script has arrived.
  • FixedOn Fedora the login shell was set to an odd path (/usr/sbin/zsh).
  • FixedSome “is it installed?” checks could wrongly answer no on systems with a lot of output (many fonts or locales).
  • FixedOne failed step (for example no network while installing starship) no longer stops the whole installer. The other steps still run, and the failed ones are listed at the end.
  • FixedVim’s colour scheme, Sublime Monokai, is now included and installed, so Vim no longer shows an error at start-up. If it’s ever missing, Vim uses a built-in scheme instead.
  • Fixedkitty’s Catppuccin theme file had a typo in its name (catppucin), so switching to it failed.
  • FixedThe tmux comment about installing plugins now says the right key: Prefix + Shift+I.
  • Themekitty (Lasik): softer tab text colours.
  • KnownThe installer hasn’t been tested as a normal user with sudo, or on macOS since these changes.
  • KnownMore on the docs site’s Known issues page.

2026.09.23

September 23, 2026 · Compare changes

  • Addedzsh tab completion matches anywhere in a file name, and ignores case.
  • Addedsource <Tab> only completes files in the current folder.

2026.08.26

August 26, 2026 · Compare changes

  • AddedInside kitty, ssh uses kitty +kitten ssh, which copies kitty’s terminfo to the server so programs there work properly.

2026.05.25

May 25, 2026 · Compare changes

  • Addedkitty: tmux-style splits (Ctrl+Shift+\ side by side, Ctrl+Shift+- top and bottom), opened in the current folder.
  • Addedkitty: move between splits with Ctrl+Shift+H / J / K / L, like Vim.

2026.05.21

May 21, 2026 · Compare changes

  • ChangedThe nano config moved to .config/nano/nanorc in the repo. It’s still installed as ~/.nanorc.
  • Themekitty (Lasik): new colours for active and inactive tabs and windows.
  • Themenano: darker status bar.
  • Themepeaclock: new colours for the active and inactive blocks.
  • ThemeNew screenshots of kitty and nano.

2026.05.08

May 8, 2026 · Compare changes

  • AddedNeovim: sensible defaults (relative line numbers, system clipboard, rulers, split directions, a blinking cursor), each explained in a comment.
  • Addednano: spell check with aspell (Ctrl+T twice).

2026.05.05

May 5, 2026 · Compare changes

  • AddedThe prompt shows the hostname when you’re connected over SSH.
  • AddedA global gitignore (.gitignore_global) for OS and editor clutter.
  • AddedAn example ~/.zshrc.local for machine-specific settings.
  • ChangedAliases and functions are one shared file each (.aliases, .functions), used by both bash and zsh, instead of a copy per shell.
  • Changedzsh starts faster: environment setup moved to .zshenv, nvm loads only when first used, and Homebrew’s setup is cached.
  • RemovedMachine-specific paths and code, so the configs work on any computer.

2026.04.27

April 27, 2026 · Compare changes

  • Addedtmux shows a title and number on top of each pane.
  • Themekitty: Lasik and Catppuccin Mocha themes.

2026.04.25

April 25, 2026 · Compare changes

  • AddedA peaclock config (a big clock for the terminal).
  • AddedA tmuxp default layout, used by the new t function.
  • ChangedEvery alias was checked to work on both Linux and macOS, and in both bash and zsh.
  • Changedii rewritten as a compact system summary with coloured usage bars for memory and disk.
  • Changedgetwebsite and spy improved. t works in bash too.
  • ChangedThe tmux config is split into theme files (Lasik, Catppuccin, and a reset) and lives in ~/.config/tmux/.
  • Removedkitty’s audio bell.
  • ThemeThe Starship prompt uses the Lasik palette, matching the Lasik VS Code theme.

2026.04.24

April 24, 2026 · Compare changes

A fresh start after a few quiet years: zsh joins bash, and there’s an installer.

  • Addedzsh configs: .zshrc, .zshenv and .zprofile.
  • Addedinstall.sh: copies the configs into place and backs up what it replaces. --remote installs straight from GitHub without cloning.
  • AddedConfigs for kitty, Neovim and the Starship prompt.
  • AddedThe Starship prompt in bash too.
  • ChangedOh My Zsh replaced by a lean zsh setup with Starship.
  • ChangedEvery file got the same header (description, compatibility, version, dates).
  • Changedtmux uses the Lasik theme, and the status bar is left-aligned.
  • Removed.bash_colors, .dev, .yarnrc.yml and functions nobody used any more.

2026.04.14

April 14, 2026 · Compare changes

  • Changednano: new settings and colour definitions.

2020–2023

July 2020 – February 2023 · Compare changes

  • AddedAliases for common folders and the SSH agent.
  • AddedAndroid and Genymotion folders on PATH.
  • AddedA Yarn config (removed again in 2026).
  • AddedCache folders in .gitignore.
  • Themenano: updated colours.

2019

2019 · Compare changes

  • AddedA nano config, with coloured line numbers.
  • AddedGit aliases: git lg (a pretty history graph) and git s (git status).
  • AddedTimestamps in bash history.
  • AddedThe prompt shows the git branch, and $ is colour-coded.
  • AddedA ydl alias for downloading videos.
  • Changedducks shows sizes in human-readable form.
  • ChangedUpdated ls flags and bash history settings.
  • ChangedColoured grep through an alias instead of the outdated GREP_OPTIONS.

2018

2018 · Compare changes

  • AddedConfigs for Vim, tmux, Git and readline (.inputrc: case-insensitive Tab completion).
  • AddedA .gitignore.
  • Changed.aliases renamed to .bash_aliases, and .colors to .bash_colors.
  • ChangedA new default prompt, and unused items removed from .bash_profile.

2015–2016

January 2015 – December 2016 · Compare changes

  • Addedgetwebsite to download a whole site for offline reading.
  • Addedflush and flushdns to clear the DNS cache.
  • Addedbell to ring when a command finishes (removed in 2026).
  • AddedAliases t and tf, and todo.txt tweaks.
  • AddedA .dev file for development settings (removed in 2026).
  • AddedA screenshot of the coloured command line.
  • ChangedSynced with the setup on the Mac.
  • Changedauthme copies your RSA key instead of the DSA one.

2014.08.24

August 24, 2014 · Compare changes

  • Addedii: useful information about the host.
  • Addedextract: unpack most archive types with one command (removed in 2026).
  • Addedauthme: copy your SSH key to a server.
  • AddedSecurity aliases: spy, sniff and netlisteners.
  • AddedMore aliases, many from alias.sh, and a detailed lsl listing.
  • AddedColour for ls, tree and grep matches, and a shared .colors file.
  • AddedA README explaining each file.

2014.06.21

June 21, 2014 · First commit

The first version, copied from a Mac.

  • Added.bash_profile with a coloured prompt: green for normal users, red for root.
  • AddedCase-insensitive globbing, appending to history, and autocorrect for typos in cd.
  • Added.aliases, some borrowed from Mathias Bynens’ dotfiles.
  • Added.functions with take: make a folder and go into it.