Skip to content

mikel-jason/dotfiles

Repository files navigation

Personal environment setup

How it works

  • Keep all config files in this git repo and symlink them to your $HOME
  • Install and zsh shell. This can be run in a fresh Unix installation
  • Use devbox as vendor-agnostic package manager (uses Nix in the background)
  • Keep global apps and configs as few as possible, use devbox and direnv for setups per project/directory

Paradigms

  • Deterministic: Can run scripts multiple times
  • As few assumptions/restrictions as possible
    • No hard-coded paths, use $_SETUP to reference files in this repository
    • (Almost) no apps on host system like python runtime
      • zsh: Bootstrapping is a problem: Must read .zshrc to make zsh via devbox available. Must be recognized by VSCode.
      • git: Bootstrapping & git is used everywhere, so for performance of devbox shells
  • Allow local customization:
    • Customize via .envrc and devbox.json
    • Integrate some .local files where needed, e.g. ~/.gitconfig.local and ~/.zshrc.local

Install

  • Install a nerdfont
  • Install zsh (https://github.com/ohmyzsh/ohmyzsh/wiki/Installing-ZSH) and make it the default (chsh -s "$(which zsh)")
  • Install git
  • Clone this repository to any location including submodules
    git clone --recurse-submodules https://github.com/mikel-jason/personal-env-setup
  • Run ./scripts/install.sh to install mandatory
  • Run ./scripts/bootstrap.sh
  • Reload your terminal
  • Optional: Add a post-receive hook to auto-update on every pull

Usage

See Project Guide to read about creating local project envs.

References

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages