To get familiar with the concept, read this introduction from GitHub.
There are many dotfiles
repos out there, mathiasbynens/dotfiles is a good example.
First, install Homebrew and follow brew doctor
's instructions (install XCode command line tools,..).
Then clone this repo:
git clone --bare [email protected]: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 the line below to /etc/pam.d/sudo
.
auth sufficient pam_tid.so
- Disable
Keyboard
>Keyboard Shortcuts
>App Shortcuts
>Show help menu
- Enable
Keyboard
>Keyboard Shortcuts
>Mission Control
>Mission Control
>Switch to Desktop 1
(and so on)
Just link the ruleset to ~/Library/Application Support/Choosy/behaviours.plist
(import/export is not implemented at the moment, unfortunately).
Siri & Spotlight
> Spotlight Privacy
> ...
Keyboard
> Keyboard Shortcuts
> Spotlight
> ...
Keyboard
> Keyboard Shortcuts
> Input Sources
> ... (disable, to just use Caps Lock)
See more: https://manual.raycast.com/hotkey
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...
To make it the default editor:
duti -s dev.zed.Zed public.plain-text all
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
uv tool install --python python3.12 aider-chat@latest --with "google-cloud-aiplatform"
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
).