Skip to content

Repository files navigation

Dotfiles

Managed with chezmoi.

Setup

sh -c "$(curl -fsLS https://get.chezmoi.io)" -- init --apply --ssh sp0rk

run_onchange_setup.sh runs automatically when it changes. It installs all managed tools, symlinks the repo git hook, sets the default shell to zsh, and sets git/chezmoi editors to lite-xl.

On macOS, packages are installed with Homebrew where available. Lite XL is installed from the latest official GitHub DMG into ~/Applications. On Linux, apt is used for packaged tools, and Lite XL is installed from the latest official GitHub tarball into ~/.local.

Managed tools

  • Shell
    • zsh — Default shell, set automatically on first run.
    • oh-my-zsh — Zsh plugin/theme framework.
    • p10k — Powerlevel10k prompt theme for zsh.
  • CLI
    • bat — Better cat (replaces cat).
    • bottom — Better top.
    • yazi — Terminal file manager.
    • zoxide — Better cd (replaces cd).
    • eza — Better ls (replaces ls).
    • thefuck — Corrects previous console commands.
    • tree — Directory listing in tree format.
    • tldr — Better man.
  • Apps
    • kitty — Terminal emulator.
    • Lite XL — Text editor.
    • espanso — OS-wide text expander.

Zsh Plugins

  • git
  • macos
  • sublime
  • fzf-tab
  • zsh-autosuggestions
  • web-search
  • copyfile
  • copybuffer
  • dirhistory
  • 1password
  • aliases
  • colored-man-pages
  • command-not-found
  • common-aliases
  • colorize
  • thefuck
  • command-time
  • zsh-syntax-highlighting

Dependencies

Also installed by the setup script when missing:

  • ffmpeg
  • jq
  • 7zip / sevenzip
  • poppler-utils / poppler
  • fd-find / fd
  • ripgrep
  • fzf
  • zoxide
  • imagemagick
  • resvg

Device-specific configuration

Following files are created empty by chezmoi and never overwritten. Edit them directly on each device:

File Purpose
~/.config/zsh/pre.local.zsh Sourced at the start of .zshrc
~/.config/zsh/secrets.local Sourced near the start of .zshrc with auto-export enabled for local secrets
~/.config/zsh/post.local.zsh Sourced at the end of .zshrc
~/.config/zsh/aliases.local.zsh Sourced at the end of .zsh_aliases
~/.config/kitty/local.conf Included at the end of kitty.conf
~/.config/lite-xl/local.lua Loaded at the end of Lite XL init.lua

Put shell-style assignments in ~/.config/zsh/secrets.local, for example FOO_API_KEY=bar. They are exported automatically so commands launched from zsh can read them from the environment.

Git hooks

A pre-push hook checks chezmoi diff before pushing. If there are unapplied changes, it prompts to apply, force push, or abort. The hook is symlinked from hooks/pre-push by run_onchange_setup.sh.

Preview

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages