To get familiar with the concept, read this introduction from GitHub. There are many dotfiles
repos out there, but the most popular and inspiring one is probably mathiasbynens/dotfiles.
First, install Homebrew and follow brew doctor
's instructions (install XCode command line tools,..).
Then just clone this repo:
git clone --bare git@github.com:alexeyshockov/dotfiles.git ~/.dotfiles
git --git-dir=$HOME/.dotfiles --work-tree=$HOME checkout
Fish is currently my login shell of choice. It's important to install/set if first, before installing other deps, so Homebrew installs completions for the right shell.
brew install bash fish
# And change the default shell
sudo sh -c 'echo /opt/homebrew/bin/bash >> /etc/shells'
sudo sh -c 'echo /opt/homebrew/bin/fish >> /etc/shells'
chsh -s /opt/homebrew/bin/fish
Restore everything using bundle (see ~/Brewfile
):
brew bundle
Install this custom RU/EN keyboard layout.
Enable Touch ID support for sudo
: just add auth sufficient pam_tid.so
to /etc/pam.d/sudo
.
curl -L https://iterm2.com/shell_integration/fish -o ~/.iterm2_shell_integration.fish
iTerm2
> Make iTerm2 Default Term
Color scheme (already installed): https://github.com/sindresorhus/iterm2-snazzy
In the ~/.ssh/config
for the server:
Host ...
ForwardAgent yes
And on the server itself:
sudo apt install libpam-ssh-agent-auth
sudo echo "Defaults env_keep += SSH_AUTH_SOCK" > /etc/sudoers.d/ssh-agent
- add
auth sufficient pam_ssh_agent_auth.so file=~/.ssh/authorized_keys
to/etc/pam.d/sudo
Install Package Control, after that all the packages should be synched automatically...
Install all the plugins with Just use it:PlugInstall
limactl start --name=default ~/lima-default.yaml
limactl start --name=docker ~/lima-docker.yaml
docker context create lima-docker --docker "host=unix://.../sock/docker.sock"
docker context use lima-docker
docker buildx create --name uno --node local --driver=docker-container --bootstrap --use lima-docker
Install Rust dev tools by using:
rustup-init
To link additional (local) configuration:
ln -s ~/.config/php.ini $(php --ini | grep "Scan for additional .ini files in" | cut -d ':' -f 2 | sed -e 's/^[[:space:]]*//')/local.ini
Install global apps:
composer g install
(C extensions should be installed manually using PECL, see php-pecl-requirements.txt
).
Just link the ruleset to ~/Library/Application Support/Choosy/behaviours.plist
(import/export is not implemented at the moment, unfortunately).