These are my dotfiles 🎉 ...
_ _ __ _ _
__| | ___ | |_ / _(_) | ___ ___
/ _` |/ _ \| __| |_| | |/ _ \/ __|
| (_| | (_) | |_| _| | | __/\__ \
\__,_|\___/ \__|_| |_|_|\___||___/
- fast startup! optimized for fast shell startup times.
- limited dependencies make it very portable and easy to install.
stowpowered: symlink dotfiles and thus keep them always up-to-date.- topical organized modules by topic for easy reuse across different machines.
- xdg compliance
when possible to keep
$HOMEclean 1. - install scripts for brand new systems and specific topic areas.
- mostly posix compliant so it works with most shells (
bash,zsh). - full featured zsh with auto-completion & syntax highlighting.
- useful aliases & utilities for maximum productivity.
- shell agnostic works with
bash,zsh,nushell&fish. - cross platform portability to macOS, Linux & WSL.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/andrewthauer/dotfiles/main/install.sh)"Or ...
- Clone the repo
git clone [email protected]:andrewthauer/dotfiles.git ~/.dotfiles - Change directories
~/.dotfiles - Run
maketo run core setup - Install desired package via
stow <directory> - Restart your shell ...
Each directory contains a README.md file that describes it's purpose. Most
directories are topic packages that can be installed by running
stow <directory>. This will create symlinks to the appropriate locations
within the $HOME directory.
bin- General purpose scripts which are added to the path.lib- Core utilities used throughout. Must be sourced up front.modules- Various package modules.scripts- Scripts used for setup and maintenance.
NOTE: Directories starting with an __double-underscore will be ignored by
stow.
The local directory (git ignored) can be used to customize the dotfiles for a
particular environment. It is also a good place to store an secret information
you don't want to commit to source control.
make lint- runsshellcheck&shfmton all shell scripts.make chklink- reports links that are not installed or potentially broken.
It is very important to make sure the shell startup is fast. To help ensure this there is built-in support for profiling the startup time.
- The
time-zshcommand can be used to profilezshstartup time. - The
time-bashcommand will display the execution time for loading abashshell
MIT © Andrew Thauer