Skip to content

Releases

v1.0.8

Choose a tag to compare

@luma-founder luma-founder released this 14 Jul 21:47
  • Add kitty tab-bar working/waiting indicator driven by Claude Code hooks
  • Add fzf and configure shell integration (Ctrl-R history, Ctrl-T files, Alt-C dirs; powers zoxide zi)
  • Install fzf across macOS and Linux (apt/dnf) provisioning
  • Move bun setup into shellrc and sync settings.json drift into source
  • Convert cheatsheets from .md to .sh for GitHub syntax highlighting; add ## section headers and style guide
  • Add cheatsheet command to list and view cheatsheets in the terminal
  • Add fzf, kitty, claude-code, and macOS Voice Control cheatsheets
  • Add managed-dotfiles policy doc and disclaimers to managed files
  • Add unmanaged-macos.py to list packages not managed by Ansible
  • Install mikefarah yq binary on Linux; add yq on macOS
  • Disable middle-click paste in kitty
  • Add macOS Voice Control hotkey and commands docs
  • Add global gitignore and expand for macOS, Windows, Vim, ctags
  • Update docker and tailscale cask names

Full Changelog: v1.0.7...v1.0.8

v1.0.7

Choose a tag to compare

@luma-founder luma-founder released this 06 Apr 18:01
  • Add age, sop brew formulae for encrypting version controlled yaml values
  • Add git-filter-repo for scrubbing secrets from git history
  • Improve ssh-login config path and step-cli defaults fallback
  • Add zoxide to macOS brew formulae
  • Configure zoxide shell integration
  • Add claude-up script to auto update claude; disable update banner
  • Keep local shell alive after exiting cloned SSH tabs
  • Add zoxide cheatsheet

Full Changelog: v1.0.6...v1.0.7

v1.0.6

Choose a tag to compare

@luma-founder luma-founder released this 06 Apr 17:18
  • Update README for clarity on user input and Ansible
  • Improve cheatsheet formatting
  • Add fnm Fast Node Manager
  • Experiment with karabiner-elements (deleted)
  • Add reload function for bash and zsh
  • Add keepingyouawake app for long running AI on macOS

Full Changelog: v1.0.5...v1.0.6

v1.0.5

Choose a tag to compare

@luma-founder luma-founder released this 12 Mar 21:34
  • Add cheatsheet command
  • Add many MacOS applications
  • Support installing casks that require sudo access
  • Configure Kitty navigation hotkeys
  • Change remote ssh prompt to magenta color
  • Add git config dotfile
  • Improve documentation

Bug fixes

  • fix: Auto-install homebrew

Full Changelog: v1.0.4...v1.0.5

v1.0.4

Choose a tag to compare

@luma-founder luma-founder released this 28 Feb 04:02
  • Add Kitty app - evaluating as a potential cross-platform substitute for iTerm2
  • Auto colorize remote ssh sessions - without modifying server config
  • Include a few additional MacOS app installs during bootstrap provisioning

Full Changelog: v1.0.3...v1.0.4

v1.0.3

Choose a tag to compare

@luma-founder luma-founder released this 26 Feb 17:19
  • Split ansible provisioning into separate files per OS family
  • Support interactivecomments for zsh
  • Attempted Windows (not wls) ansible playbook
  • Landed on using winget natively instead to significantly reduce complexity
  • Successfully ran Windows provisioning for the first time

Full Changelog: v1.0.2...v1.0.3

v1.0.2

Choose a tag to compare

@luma-founder luma-founder released this 25 Feb 22:34
  • Add basic claude settings
  • Add smallstep support
  • Ansible no longer needs sudo access for Darwin systems and auto installs brew
  • Improve prompt colors to avoid confusion with server defaults
  • Audit this project and refactor any discovered issues

Full Changelog: v1.0.1...v1.0.2

v1.0.1

Choose a tag to compare

@luma-founder luma-founder released this 22 Feb 04:51
1c628d1

Colorize prompts.

  • root: red
  • remote: green (for the future: avoid green since debian uses it as a default)
  • local: blue

Full Changelog: v1.0.0...v1.0.1

v1.0.0

Choose a tag to compare

@luma-founder luma-founder released this 22 Feb 04:34

Complete rewrite using Chezmoi and Ansible.

  • Replaced the custom bash bootstrap system with chezmoi for dotfile management and templating
  • Added ansible playbook for system provisioning across macOS, Debian, and Fedora
  • Added shared ~/.shellrc sourced by both .bashrc and .zshrc — consolidates pyenv, nvm, PATH, and editor config in one POSIX-compatible file
  • Added ~/.inputrc with readline improvements: arrow key history search, case-insensitive completion, colored stats

v0.9.0

Choose a tag to compare

@luma-founder luma-founder released this 21 Feb 22:59

Snapshot of my dotfiles from the 2010s.

Environments

This repository attempts to support:

  • MacOS
  • Linux - primarily Debian
  • Windows - using Cygwin; minimal support

Structure

  • bin/ - executables available via $PATH
  • docs/ - help files, tutorials, cheatsheets, etc.
  • functions/ - autoloaded global functions
  • modules/ - autoloaded config files grouped by library/feature/package
  • init.sh - main script that loads all functions and modules

How it works

*.symlink magic

All files and directories ending with .symlink will get automatically
symlinked into the $HOME directory when you run the dotfiles installer.

The dotfiles installer is safe in that it will never destroy existing files,
it can run multiple times with the same outcome (i.e. idempotent), and you can
undo all changes with the uninstaller. You'll only need to run the dotfiles
installer once.

After running the dotfiles installer, your $HOME folder will look something
like:

$ ls -l `find ~ -maxdepth 1 -type l -print`
lrwxr-xr-x  1 myuser  staff  57 Aug 11 11:28 /Users/myuser/.bash_profile@ -> /Users/myuser/.dotfiles/modules/bash/bash_profile.symlink
lrwxr-xr-x  1 myuser  staff  51 Aug 11 11:28 /Users/myuser/.bashrc@ -> /Users/myuser/.dotfiles/modules/bash/bashrc.symlink
lrwxr-xr-x  1 myuser  staff  51 Aug 11 11:28 /Users/myuser/.bundle@ -> /Users/myuser/.dotfiles/modules/ruby/bundle.symlink
lrwxr-xr-x  1 myuser  staff  50 Aug 11 11:28 /Users/myuser/.gemrc@ -> /Users/myuser/.dotfiles/modules/ruby/gemrc.symlink
lrwxr-xr-x  1 myuser  staff  53 Aug 11 11:28 /Users/myuser/.gitignore@ -> /Users/myuser/.dotfiles/modules/git/gitignore.symlink
lrwxr-xr-x  1 myuser  staff  52 Aug 11 11:28 /Users/myuser/.inputrc@ -> /Users/myuser/.dotfiles/modules/bash/inputrc.symlink
...

NOTE: The symlinked source files should never begin with a . dot. The symlink
installer will automatically add a preceeding dot to the symlink destination files.
For example, ~/.bashrc -> ~/.dotfiles/bash/bashrc.symlink.

Load init.sh

The init.sh file is the one and only main bootstrapper script that loads
global shell variables, loads globally available functions, and autoloads
module scripts.

The init.sh script is sourced by very thin .bashrc and .bash_profile which
get symlinked into your $HOME directory via the dotfiles installer. These
files can be found within the modules/bash/ directory.

Load global functions

The init.sh loader will first source functions before any modules so all
global functions are available within each module.

Functions will load in alphabetic order of their filename. Ideally, each file
should contain a single function or a group of tightly knit functions.

Load *.autoload.sh module files

After loading functions, the init.sh bootstrapper will find all files appended
with .autoload.sh and load them using the built-in source command. The
bootstrap loader will take multiple passes to load bash files:

  1. first loading files ending in .autoload.first.sh
  2. then .autoload.sh
  3. and finally .autoload.last.sh

During each pass, files will load in alphabetical order of directory name
followed by filename. Autoloaded files are typically found within the modules/
directory.

Copy *.template files

Files or directories ending with .template will get copied into the $HOME
directory when you run the dotfiles installer.

NOTE: This functionality is not fully supported yet.

Bin commands

The bin commands will be made available by adding the bin/ directory to
$PATH from within the bash module.

  • dotfiles - install, uninstall, and more
  • reload - reloads the shell without exiting