mirror of https://github.com/einverne/dotfiles.git
Ein Verne
4 years ago
9 changed files with 380 additions and 13 deletions
@ -0,0 +1,15 @@ |
|||||||
|
name: build |
||||||
|
on: [push, pull_request] |
||||||
|
jobs: |
||||||
|
ci: |
||||||
|
name: run |
||||||
|
runs-on: macos-latest |
||||||
|
steps: |
||||||
|
- uses: actions/checkout@master |
||||||
|
- name: build |
||||||
|
env: |
||||||
|
CI_MODE: true |
||||||
|
run: bash ./bootstrap.sh |
||||||
|
- name: CI |
||||||
|
run: bash ./test |
||||||
|
|
@ -0,0 +1,111 @@ |
|||||||
|
tap "homebrew/cask", "https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git" |
||||||
|
tap "homebrew/cask-drivers", "https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask-drivers.git" |
||||||
|
tap "homebrew/cask-fonts", "https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask-fonts.git" |
||||||
|
tap "homebrew/core", "https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git" |
||||||
|
tap "homebrew/bundle" |
||||||
|
tap "homebrew/services" |
||||||
|
tap "homebrew/cask-versions" |
||||||
|
tap "adoptopenjdk/openjdk" |
||||||
|
|
||||||
|
# primitives |
||||||
|
brew "git" |
||||||
|
brew "neovim" |
||||||
|
brew "zsh" |
||||||
|
brew "zsh-completions" |
||||||
|
brew "tmux" |
||||||
|
brew "gnupg" |
||||||
|
brew "gnupg2" |
||||||
|
|
||||||
|
# tools |
||||||
|
brew "wget" |
||||||
|
brew "mas" |
||||||
|
brew "p7zip" |
||||||
|
brew "dos2unix" |
||||||
|
brew "proxychains-ng" |
||||||
|
brew "htop" |
||||||
|
brew "neofetch" |
||||||
|
brew "syncthing" |
||||||
|
|
||||||
|
# productivity |
||||||
|
brew "exa" |
||||||
|
brew "fzf" |
||||||
|
brew "ripgrep" |
||||||
|
brew "fd" |
||||||
|
brew "hexyl" |
||||||
|
brew "xsv" |
||||||
|
brew "jq" |
||||||
|
brew "hledger" |
||||||
|
|
||||||
|
# dev |
||||||
|
brew "ruby" |
||||||
|
brew "go" |
||||||
|
brew "cmake" |
||||||
|
# brew "[email protected]" |
||||||
|
brew "sqlite" |
||||||
|
# brew "postgresql" |
||||||
|
brew "youtube-dl" |
||||||
|
# brew "heroku" |
||||||
|
brew "node" |
||||||
|
brew "yarn" |
||||||
|
# brew "wrk" |
||||||
|
|
||||||
|
if ENV.key? 'CI_MODE' |
||||||
|
cask "eudic" |
||||||
|
cask "java" |
||||||
|
cask "licecap" |
||||||
|
cask "nextcloud" |
||||||
|
# cask "1password" |
||||||
|
cask "alfred" |
||||||
|
cask "google-chrome" |
||||||
|
# cask "firefox-developer-edition" |
||||||
|
# cask "sublime-text" |
||||||
|
cask "visual-studio-code" |
||||||
|
cask "iterm2" |
||||||
|
cask "font-source-code-pro" |
||||||
|
cask "font-fira-code" |
||||||
|
cask "dash" |
||||||
|
cask "karabiner-elements" |
||||||
|
cask "dozer" |
||||||
|
cask "shadowsocksx-ng" |
||||||
|
cask "iina" |
||||||
|
cask "neteasemusic" |
||||||
|
# cask "qqmusic" |
||||||
|
cask "google-trends" |
||||||
|
cask "appcleaner" |
||||||
|
cask "oversight" |
||||||
|
# cask "dropbox" |
||||||
|
cask "nitroshare" |
||||||
|
cask "qmk-toolbox" |
||||||
|
cask "via" |
||||||
|
|
||||||
|
mas "WeChat", id: 836500024 |
||||||
|
mas "Unsplash Wallpapers", id: 1284863847 |
||||||
|
mas "Microsoft ToDo", id: 1274495053 |
||||||
|
mas "Microsoft OneNote", id: 784801555 |
||||||
|
# mas "Bear", id: 1091189122 |
||||||
|
# mas "Lungo", id: 1263070803 |
||||||
|
mas "Pages", id: 409201541 |
||||||
|
mas "Numbers", id: 409203825 |
||||||
|
mas "Keynote", id: 409183694 |
||||||
|
end |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
brew "[email protected]" |
||||||
|
brew "readline" |
||||||
|
brew "asdf" |
||||||
|
brew "[email protected]", link: true |
||||||
|
brew "cmake" |
||||||
|
brew "fzf" |
||||||
|
brew "git" |
||||||
|
brew "hub" |
||||||
|
brew "jenv" |
||||||
|
brew "node" |
||||||
|
brew "privoxy" |
||||||
|
brew "pyenv" |
||||||
|
brew "sqlite" |
||||||
|
brew "tmux" |
||||||
|
brew "tree" |
||||||
|
brew "wget" |
||||||
|
brew "xz" |
||||||
|
brew "zlib" |
@ -0,0 +1,58 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
# https://github.com/crispgm/dotfiles/blob/master/bootstrap |
||||||
|
|
||||||
|
set -e |
||||||
|
|
||||||
|
echo "Install Homebrew" |
||||||
|
if test ! $(which brew); then |
||||||
|
echo "Installing homebrew..." |
||||||
|
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
||||||
|
fi |
||||||
|
|
||||||
|
echo "Setup hostname" |
||||||
|
sudo scutil --set HostName mac |
||||||
|
|
||||||
|
echo "Install with Brew Bundle" |
||||||
|
set +e |
||||||
|
brew bundle |
||||||
|
set -e |
||||||
|
|
||||||
|
echo "Setup workspace" |
||||||
|
mkdir -p ~/projects |
||||||
|
|
||||||
|
echo "Setup Git" |
||||||
|
ln -s ./git/work.gitconfig ~/projects/.gitconfig |
||||||
|
ln -s ./git/global.gitconfig ~/.gitconfig |
||||||
|
|
||||||
|
# echo "Setup Bash" |
||||||
|
# sudo cp ./motd /etc/motd |
||||||
|
# cp ./bash/.bashrc ~/.bashrc |
||||||
|
# cp ./bash/.bash_profile ~/.bash_profile |
||||||
|
|
||||||
|
echo "Setup Zsh" |
||||||
|
sudo sh -c 'echo /usr/local/bin/zsh >> /etc/shells' |
||||||
|
sudo chsh -s $(which zsh) |
||||||
|
ln -s .zshrc ~/.zshrc |
||||||
|
source ~/.zshrc |
||||||
|
|
||||||
|
echo "Setup applications" |
||||||
|
echo "- fzf" |
||||||
|
$(brew --prefix)/opt/fzf/install |
||||||
|
# echo "- neovim" |
||||||
|
# ./neovim/neovim |
||||||
|
|
||||||
|
echo "Link editors" |
||||||
|
mkdir -p ~/Applications/ |
||||||
|
sudo ln -s /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code /usr/local/bin/code |
||||||
|
|
||||||
|
# echo "Setup Ruby" |
||||||
|
# ./ruby/ruby |
||||||
|
# |
||||||
|
# echo "Setup Go" |
||||||
|
# mkdir -p ~/go |
||||||
|
# |
||||||
|
# echo "Setup Shadowsocks" |
||||||
|
# ./Shadowsocks/init |
||||||
|
|
||||||
|
echo "Setup macOS defaults" |
||||||
|
./init_mac.sh |
@ -0,0 +1,39 @@ |
|||||||
|
# https://github.com/mathiasbynens/dotfiles/blob/main/brew.sh |
||||||
|
brew update |
||||||
|
brew upgrade |
||||||
|
|
||||||
|
# https://en.wikipedia.org/wiki/List_of_GNU_Core_Utilities_commands |
||||||
|
brew install coreutils |
||||||
|
# Install GNU `find`, `locate`, `updatedb`, and `xargs`, `g`-prefixed. |
||||||
|
brew install findutils |
||||||
|
# Install GNU `sed`, overwriting the built-in `sed`. |
||||||
|
brew install gnu-sed --with-default-names |
||||||
|
|
||||||
|
# Install `wget` with IRI support. |
||||||
|
brew install wget --with-iri |
||||||
|
# Install GnuPG to enable PGP-signing commits. |
||||||
|
brew install gnupg |
||||||
|
|
||||||
|
# Install more recent versions of some macOS tools. |
||||||
|
brew install vim --with-override-system-vi |
||||||
|
brew install grep |
||||||
|
brew install openssh |
||||||
|
# GNU multiple precision arithmetic library |
||||||
|
brew install gmp |
||||||
|
|
||||||
|
# Install font tools. |
||||||
|
# brew tap bramstein/webfonttools |
||||||
|
# brew install sfnt2woff |
||||||
|
# brew install sfnt2woff-zopfli |
||||||
|
# brew install woff2 |
||||||
|
|
||||||
|
brew install ack |
||||||
|
brew install git |
||||||
|
brew install git-lfs |
||||||
|
brew install imagemagick --with-webp |
||||||
|
brew install p7zip |
||||||
|
brew install ssh-copy-id |
||||||
|
brew install tree |
||||||
|
|
||||||
|
# Remove outdated versions from the cellar. |
||||||
|
brew cleanup |
@ -1,12 +0,0 @@ |
|||||||
@rem Do not use "echo off" to not affect any child calls. |
|
||||||
@setlocal |
|
||||||
|
|
||||||
@rem Get the abolute path to the parent directory, which is assumed to be the |
|
||||||
@rem Git installation root. |
|
||||||
@for /F "delims=" %%I in ("%~dp0..") do @set git_install_root=%%~fI |
|
||||||
@set PATH=%git_install_root%\bin;%git_install_root%\mingw\bin;%PATH% |
|
||||||
|
|
||||||
@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH% |
|
||||||
@if not exist "%HOME%" @set HOME=%USERPROFILE% |
|
||||||
|
|
||||||
@curl.exe %* |
|
@ -0,0 +1,121 @@ |
|||||||
|
[user] |
||||||
|
name = Ein Verne |
||||||
|
email = [email protected] |
||||||
|
[core] |
||||||
|
editor = vim |
||||||
|
autocrlf = input |
||||||
|
|
||||||
|
[alias] |
||||||
|
a = add |
||||||
|
b = branch |
||||||
|
c = commit |
||||||
|
d = diff |
||||||
|
f = fetch |
||||||
|
g = grep |
||||||
|
l = log |
||||||
|
m = merge |
||||||
|
o = checkout |
||||||
|
p = pull |
||||||
|
r = remote |
||||||
|
s = status |
||||||
|
st = status |
||||||
|
w = whatchanged |
||||||
|
|
||||||
|
### commit ### |
||||||
|
ca = commit --amend |
||||||
|
|
||||||
|
### checkout ### |
||||||
|
co = checkout |
||||||
|
|
||||||
|
### cherry-pick ### |
||||||
|
|
||||||
|
### diff ### |
||||||
|
# diff - show changes not yet staged |
||||||
|
dc = diff --cache |
||||||
|
|
||||||
|
# diff - changes about to be commited |
||||||
|
ds = diff --staged |
||||||
|
|
||||||
|
### log ### |
||||||
|
# log key - our favorite way to show our key performance indicators, i.e. our most useful summary. |
||||||
|
lk = log --graph --topo-order --abbrev-commit --date=short --decorate --all --boundary --pretty=format:'%Cgreen%ad %Cred%h%Creset -%C(yellow)%d%Creset %s %Cblue[%cn]%Creset %Cblue%G?%Creset' |
||||||
|
|
||||||
|
### merge ### |
||||||
|
|
||||||
|
### pull ### |
||||||
|
# pull if a merge can be resolved as a fast-forward, otherwise fail. |
||||||
|
pf = pull --ff-only |
||||||
|
|
||||||
|
# pull with rebase - to provide a cleaner, linear, bisectable history. |
||||||
|
# |
||||||
|
# To integrate changes between branches, you can merge or rebase. |
||||||
|
# |
||||||
|
# When we use "git pull", git does a fetch then a merge. |
||||||
|
# If we've made changes locally and someone else has pushed changes |
||||||
|
# to our git host then git will automatically merge these together |
||||||
|
# and create a merge commit that looks like this in the history: |
||||||
|
# |
||||||
|
# 12345678 - Merge branch 'foo' of bar into master |
||||||
|
# |
||||||
|
# When we use "git pull --rebase", git does a fetch then a rebase. |
||||||
|
# A rebase resets the HEAD of your local branch to be the same as |
||||||
|
# the remote HEAD, then replays your local commits back into repo. |
||||||
|
# This means you don't get any noisy merge messages in your history. |
||||||
|
# This gives us a linear history, and also helps with git bisect. |
||||||
|
# |
||||||
|
# To automatically do "pull --rebase" for any branch based on master: |
||||||
|
# |
||||||
|
# git config branch.master.rebase true |
||||||
|
# |
||||||
|
# To automatically do "pull --rebase" for all branches: |
||||||
|
# |
||||||
|
# git config --global branch.autosetuprebase always |
||||||
|
# |
||||||
|
pr = pull --rebase |
||||||
|
|
||||||
|
### rebase ### |
||||||
|
|
||||||
|
# rebase - forward-port local commits to the updated upstream head. |
||||||
|
rb = rebase |
||||||
|
|
||||||
|
# rebase - continue the rebasing process after resolving a conflict manually and updating the index with the resolution. |
||||||
|
rbc = rebase --continue |
||||||
|
|
||||||
|
# rebase - restart the rebasing process by skipping the current patch. |
||||||
|
rbs = rebase --skip |
||||||
|
|
||||||
|
### remote ### |
||||||
|
|
||||||
|
|
||||||
|
### tags ### |
||||||
|
lasttag = describe --tags --abbrev=0 |
||||||
|
tags = tag -n1 --list |
||||||
|
|
||||||
|
# Stash aliases |
||||||
|
save = stash save |
||||||
|
pop = stash pop |
||||||
|
|
||||||
|
[branch] |
||||||
|
autosetuprebase = always |
||||||
|
[pull] |
||||||
|
rebase = true |
||||||
|
[push] |
||||||
|
default = matching |
||||||
|
[gc] |
||||||
|
autoDetach = false |
||||||
|
[gpg] |
||||||
|
program = gpg2 |
||||||
|
[commit] |
||||||
|
gpgSign = false |
||||||
|
[filter "lfs"] |
||||||
|
clean = git-lfs clean -- %f |
||||||
|
smudge = git-lfs smudge -- %f |
||||||
|
process = git-lfs filter-process |
||||||
|
required = true |
||||||
|
[diff] |
||||||
|
tool = meld |
||||||
|
[difftool] |
||||||
|
prompt = false |
||||||
|
|
||||||
|
[includeIf "gitdir:~/projects/"] |
||||||
|
path = ~/projects/.gitconfig |
@ -0,0 +1,3 @@ |
|||||||
|
[user] |
||||||
|
name = Ein Verne |
||||||
|
email = [email protected] |
@ -0,0 +1,28 @@ |
|||||||
|
# https://github.com/mathiasbynens/dotfiles/blob/master/.macos |
||||||
|
# Disable Notification Center and remove the menu bar icon |
||||||
|
launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist 2> /dev/null |
||||||
|
# Trackpad: enable tap to click for this user and for the login screen |
||||||
|
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool true |
||||||
|
defaults -currentHost write NSGlobalDomain com.apple.mouse.tapBehavior -int 1 |
||||||
|
defaults write NSGlobalDomain com.apple.mouse.tapBehavior -int 1 |
||||||
|
# Trackpad: map bottom right corner to right-click |
||||||
|
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadCornerSecondaryClick -int 2 |
||||||
|
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadRightClick -bool true |
||||||
|
defaults -currentHost write NSGlobalDomain com.apple.trackpad.trackpadCornerClickBehavior -int 1 |
||||||
|
defaults -currentHost write NSGlobalDomain com.apple.trackpad.enableSecondaryClick -bool true |
||||||
|
# Open Desktop |
||||||
|
defaults write com.apple.finder NewWindowTargetPath -string "file://${HOME}/Desktop/" |
||||||
|
defaults write com.apple.finder ShowPathbar -bool true |
||||||
|
# Dock |
||||||
|
defaults write com.apple.dock tilesize -int 36 |
||||||
|
defaults write com.apple.dock show-process-indicators -bool true |
||||||
|
defaults write com.apple.dock minimize-to-application -bool true |
||||||
|
defaults write com.apple.dock show-recents -bool false |
||||||
|
# Terminal utf-8 |
||||||
|
defaults write com.apple.terminal StringEncodings -array 4 |
||||||
|
# Left corner to screensaver |
||||||
|
defaults write com.apple.dock wvous-bl-corner -int 5 |
||||||
|
# Avoid create DS_Store to USB |
||||||
|
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true |
||||||
|
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true |
||||||
|
|
Loading…
Reference in new issue