alexeyshockov / dotfiles

My dotfiles

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Alex's dotfiles

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.

Installation

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

Default shell

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

Homebrew apps

Restore everything using bundle (see ~/Brewfile):

brew bundle

MacOS

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.

iTerm2

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

Touch ID for remote sudo

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

Sublime Text

Install Package Control, after that all the packages should be synched automatically...

Vim Amp

Install all the plugins with :PlugInstall Just use it

Docker (Lima/Colima)

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

BuildKit

docker buildx create --name uno --node local --driver=docker-container --bootstrap --use lima-docker

Rust

Install Rust dev tools by using:

rustup-init

PHP

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).

Choosy rules

Just link the ruleset to ~/Library/Application Support/Choosy/behaviours.plist (import/export is not implemented at the moment, unfortunately).

About

My dotfiles


Languages

Language:Shell 79.6%Language:Vim Script 12.2%Language:Ruby 7.8%Language:PHP 0.4%