-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall.sh
executable file
·71 lines (60 loc) · 2.33 KB
/
install.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/bin/bash
#
# Install all the things
set -euo pipefail
if [[ -f ~/.dotfilesv && $(cat ~/.dotfilesv) = $(git rev-parse HEAD) ]]; then
exit 1
fi
if [[ "$(uname -s)" = "Darwin" ]]; then
./install-macos.sh
echo "This is a good time to create a GitHub PAT, create ~/.netrc and ~/.localrc"
read -p "Press enter to continue"
else
echo "Linux install is a WIP"
fi
gh alias import gh/aliases.yml
# Setup .zshrc
rm -rf ~/.zshrc
ln -s "$(pwd)/.zshrc" ~/.zshrc
# Ruby
# git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
# rbenv install 3.3.1
# rbenv global 3.3.1
# lazy vim
# git clone https://github.com/LazyVim/starter ~/.config/nvim
# Setup git
git config --global user.name 'Timothy Clem'
git config --global user.email '[email protected]'
git config --global github.user 'tclem'
if [[ "$(uname -s)" = "Darwin" ]]; then
git config --global credential.helper osxkeychain
fi
git config --global alias.co checkout
git config --global alias.lo 'log --oneline --decorate'
git config --global alias.lol 'log --oneline --graph --decorate'
git config --global alias.last 'log -1 HEAD'
git config --global alias.first 'log --reverse --pretty=format:"%h %ad%x09%an%x09%s" --date=short | grep Clem | head -1'
git config --global pull.rebase true
git config --global push.default simple
git config --global push.autoSetupRemote true
git config --global push.followTags true
git config --global branch.sort -committerdate
git config --global tag.sort version:refname
git config --global init.defaultBranch main
git config --global diff.algorithm histogram
git config --global diff.colorMoved plain
git config --global diff.mnemonicPrefix true
git config --global diff.renames true
git config --global fetch.prune true
git config --global fetch.pruneTags true
git config --global fetch.all true
git config --global commit.verbose true
git config --global rerere.enabled true
git config --global rerere.autoupdate true
# Maybe good for big repos or if git status is getting super slow?
# git config --global core.fsmonitor true
# git config --global core.untrackedCache true
# Love this post (and stole a few config ideas from it, thanks Scott!):
# https://blog.gitbutler.com/how-git-core-devs-configure-git/
# write out a manifest of the installed dotfiles version: delete this file to force a re-install
git rev-parse HEAD > ~/.dotfilesv