██████╗ ██████╗ ████████╗███████╗██╗██╗ ███████╗███████╗
██╔══██╗██╔═══██╗╚══██╔══╝██╔════╝██║██║ ██╔════╝██╔════╝
██║ ██║██║ ██║ ██║ █████╗ ██║██║ █████╗ ███████╗
██║ ██║██║ ██║ ██║ ██╔══╝ ██║██║ ██╔══╝ ╚════██║
██████╔╝╚██████╔╝ ██║ ██║ ██║███████╗███████╗███████║
╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
Disclaimer: The configurations are specifically tailored for my personal use. Feel free to draw inspiration for your dotfiles, but please be advised that it is provided 'as is' without any guarantees or warranty.
- Ensure there are no pre-existing dotfiles to allow fresh to create symlinks.
- Install Homebrew.
FRESH_LOCAL_SOURCE=hallaji/dotfiles bash -c "`curl -sL https://get.freshshell.com`"
This command checks for a repository slug in FRESH_LOCAL_SOURCE
environment variable
and tries to clone it into ~/.dotfiles
. The entire dotfiles can be set up on a
brand new machine by simply running the command above.
dotsetup
This script automates the process of setting up and configuring a development environment. It handles plugin and tool management using the ASDF version manager, installs Homebrew packages, installs Vim plugins, GitHub CLI extensions, and more such as nnn plugins. Additionally, it initiates specific services like yabai, skhd, etc.
Note: Brew can facilitate dependencies installations because of a fresh Brewfile symlinked into home directory
~/.Brewfile
.
cd ~/.dotfiles
cp .envrc.example .envrc
direnv edit .
direnv allow .
Make a copy of .envrc.example
to .envrc
under ~/.dotfiles
if it hasn't been
done already, set your own values and load variables into your environemnt using
direnv. The exports from the .envrc
file will also be loaded
globally through the direnvrc
and .zshenv
file.
fresh
The fresh
or fresh install
command is available globally and will build shell
configuration and relevant symlinks of your further editions from ~/.dotfiles
to your home directory. However, you need to make sure you have your environemnt
variables loaded before running fresh
command -- direnv
may unload variables
if you run away from ~/.dotfiles
directory.
fresh update
fresh update --local
Running fresh update
will pull all of the integrated sources from thier repositories
and remote changes of dotfiles. In addition, it will run fresh install
to rebuild
them. Specify --local
option just to pull remote changes made in dotfiles itself.
Reload your terminal. Your dot files are now
fresh
.