Intended to provide a friendly crossplatform expierence using Fish, Kitty, and Homebrew, compatible with macOS and Linux. No symlinking or extra tooling required.
A mashup of ideas from various sources such zellwk, sobolevn, mathiasbynens, rkalis, and durdn. The structure for these dotfiles is from durdn's great write up on dotfiles.
Batteries included shell script walking you through the install options.
๐ง Use at your own risk! Review and modify before executing. |
---|
git clone --bare https://github.com/phantompunk/dotfiles.git $HOME/.cfg
function config {
/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME $@
}
mkdir -p .config-backup
config checkout
if [ $? = 0 ]; then
echo "Checked out config.";
else
echo "Backing up pre-existing dot files.";
config checkout 2>&1 | egrep "\s+\." | awk {'print $1'} | xargs -I{} mv {} .config-backup/{}
fi;
config checkout
config config status.showUntrackedFiles no
Complete bash script stored in gist - gist.github.com/phantompunk/init.sh
Symlinking and extra tooling is avoided by cloning a bare git repository to your home directory. Dotfiles and configuration files are right where they are intended to be. Read this for more info on using bare repos for Dotfiles.
This repo contains files in the exact location as if they lived in my home directory, that is because they will.
.gitignore
.gitconfig
.config
for other filesfish
functions, variables, abbrievatsions and aliaseskitty
settings and themesnvim
settings, keymaps, and plugins
For fresh installs there are a few requirements.
All platforms need git
, curl
, and nvim
.
sudo softwareupdate -i -a
xcode-select --install
apt update -y
apt install -y build-essential
touch ~/.vimrc
config status
config add ~/.vimrc
config commit -m "fix: update vim settings"
config push
My current favorite tools I expect on every machine I use: