Install zsh first. Follow your distribution's instructions and make sure it exists on your system.
# fedora example
sudo dnf install zshAll dependencies are listed in deps.json under dependencies key.
There is a healthcheck script included that will check if everything is set up correctly.
It's written in python so we have to init virtual environment first.
python3 -m venv .venv
.venv/bin/pip3 install -r requirements.txt
After that run:
./healthcheck.py
to see what's missing on your system. Install necessary dependencies before proceeding further.
- WSL
- Administrator access to powershell
irm christitus.com/win | iexgit clone git@github.com:mstarski/win-dotfiles.git ~/.config/win-dotfilesMake sure that every asset in assets directory is properly installed in the system (i.e font).
Copy default env.example.lua to env.lua file to start with the default configuration
cp nvim/lua/mstarski/env.example.lua nvim/lua/mstarski/env.luaSymlinks will make sure that every file from this repo will be linked to the proper location. Files that will be symlinked:
nvimdirectory for neovimtmux.conffor tmux configurationzshrcfor zshell configurationAutoHotkey.ahkfor AutoHotkey configrationwin-term-settings.jsonfor Windows Terminal configuration
There are scripts provided that will do everything automatically on both systems:
./linux-symlinks.sh./win-symlinks.ps1 # Make sure to run this one as an AdministratorA set of useful git aliases that can be injected like this:
git config --global include.path $(pwd)/gitalias.txt- Install tmux plugin manager
- Install plugins via
<prefix>I
-
oh-my-zshIf you use oh my zsh as your distro setMS_OH_MY_ZSHenvironment variable to1. After that install pure theme -
oh-my-poshIf you use oh my posh as your distro setMS_OH_MY_POSHenvironment variable to1.
After installing shell distro make sure to install zsh-autosuggestions plugin
If there are any secrets that have to be injected to the environment but can't be stored publicly there are 2 ways to use them in this repo:
-
Create a
secrets.zshfile in theshelldirectory and write your variables there. It's .gitignored and sourced automatically so it will work out of the box without commiting to the repo. -
Use
get-secrets.pyscript that will download values from the Bitwarden CLI. These secrets must be already stored encrypted to avoid pasting them in plaintext. Script will readsecretsarray from thedeps.json, query BW for values and then put it in the~/.secretsdirectory where they can be read.
All the third-party stuff should be placed under .gitignored folder third-party to not pollute the repo
