TODO: ver requirements en checkhealth y acomodar la instalacion TODO: split installation per OS
Install homebrew and follow post-installation steps.
Use brew to setup packages, only if they are not already present in the system
for package in git gh zsh antidote yadm gcc nvm make ripgrep fd neovim gpg tree; do
if ! command -v $package &> /dev/null
then
brew install $package
fi
done
TODO: Install node >=18.X.X
Install kitty and nerd fonts:
-
MacOS
brew tap homebrew/cask-fonts brew install --cask kitty font-symbols-only-nerd-font font-jetbrains-mono
-
Linux
Manually install the monospaced version of the NerdFontsSymbolsOnly package.
Install kitty binary and follow desktop integration instructions.
Install JetBrains Mono Font using the Linux script.
If needed, change default shell to zsh (requires user re-login)
chsh -s $(which zsh)
Clone the repository using yadm
yadm clone https://github.com/smartinellimarco/.dotfiles
The first time you reopen the terminal, antidote will automatically setup all zsh plugins.
Neovim will do the same for lazy plugins, treesitter parsers and mason LSPs.
Fortunately, yadm offers an easy way of backing up and restoring sensitive configuration files.
Each file path must be specified in ~/.config/yadm/encrypt.
Then by running
GPG_TTY=$TTY yadm encrypt
and filling the password prompt, an encrypted file in ~/.local/share/yadm/archive will be created with the contents of every listed file.
Place the archive file in ~/.local/share/yadm/archive and run
yadm decrypt
The files will be restored to their original locations.
Any initialization commands not intended to be backed up in this repository, can be placed in ~/.zsh_bootstrap.
This file is automatically sourced in interactive and login shells.
See the cheatsheets folder.
Open windows at the center of the screen
For Ubuntu and Gnome:
gsettings set org.gnome.mutter center-new-windows true
Suggested build environment for pyenv
Sometimes compiling (pyenv install) fails because of unmet system dependencies.
Follow these instructions for a sane build environment.
Setting compiler flags for OpenSSL
The Python compiler might not be able to find OpenSSL if it's installed with Homebrew.
The following command sets the corresponding flags with the correct installation path.
LDFLAGS="-Wl,-rpath,$(brew --prefix openssl)/lib" \
CPPFLAGS="-I$(brew --prefix openssl)/include" \
CONFIGURE_OPTS="--with-openssl=$(brew --prefix openssl)" \
pyenv install -v <PYTHON_VERSION>