git clone https://github.com/enerqi/dotfiles.git tempdir; mv tempdir/.git ~; rm -rf temp-dir; cd ~; git checkout .
- Install
zshwith your package manager - Install zgenom zsh plugin manager from Git:
git clone https://github.com/jandamm/zgenom.git "${HOME}/.zgenom"
curl -sS https://webinstall.dev/zoxide | bash
- Optional suggested other binaries include ripgrep - rg,
fd-find - fd and exa.
All buildable with
cargo install ....
Then add local machine specific definitions as desired:
.zshrc.local
.profile (graphical login environment variables)
.xinitrc/.xsession (running graphical programs)
.zprofile.local (login shells - rarely needed)
- For programs started by the desktop manager and not the interactive shell process hierarachy, such as sublime-text, use
~/.profileto setup the environment variables..xsessionrcmaybe a better approved way to do this. .zprofile/~/.zprofile.localshouldn't change the key bindings, aliases, functions or shell options but could set the PATH for non-interactive or login commandline programs..xinitrc(startx) /.xsession(xdm) run window manager independent programs after graphical login. Window manager specific scripts could also be used.
Some mentioned above and below.
- apt install
git zsh build-essential libsensors-dev libssl-dev cmake clang pkg-config postgresql-clientgit config --global credential.helper cache- separately install any
.sshkeys from secret repository
- apt install
openvpn feh fonts-font-awesome - LLVM install script for Apt
- libs for compiling more things e.g apt install
libsdl2-dev libpulse-dev libnotmuch_dev libssl-dev libpipewire-0.3-dev gsimplecal- mise for python/node etc. version management on Linux
mise use -g node@ltsetc.
- fzf fuzzy finder from git or os packages
- sublime text / sublime merge apt packages
- docker binaries - apt install
docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin- permission issue (
sudo usermod -aG docker $USERetc.) - apt install
python3-setuptoolsif missing distutils problem withdocker composecommands
- permission issue (
- rustup
cargo install cargo-binstallcargo binstall -y starship+zoxide+bat
- install some sync service, e.g. tresorit
firefoxsync for custom settings and extensionschromeplusublock originextension for commonly used browser dev tools
- install i3 window manager >= v4.20
i3wm i3lock-fancy i3blocks(noti3meta package as we want the rust status bar)- a copy of
i3status-rsis already in~/binbut a recent version could be compiled with rust (cargo install i3status-rs; cp ~/.cargo/bin/i3status-rs ~/bin)
- install wezterm
- install nerd fonts by tweaking/running
~/bin/fetch-fonts.sh- optional for some things as wezterm bundles nerd fonts, but that script includes many fonts
fc-listto check font names used in.config/i3/configand.config/alacritty/alacritty.tomlor with weztermwezterm ls-fonts --list-system
apt install compton pulseaudio pavucontrol(compositor, sound panel control, i3 volume control etc.)
With a fresh sublime install
- install package control from the sublime command pallette
After that we are going back to (manually) using a sync service (e.g. Dropbox, Tresorit, One Drive etc.) as the
formerly useful SyncSettings sublime package is (currently in 2024) unmaintained and not working.
Sync %USERPROFILE%/AppData/Roaming/Roaming/Sublime Text/Packages/User (windows) to another machine. E.g. on Linux:
cd ~
ln -s ~/.config/sublime-text/Packages/User sublime-user-packages
Delete/move existing files and then you can sync into ~/sublime-user-packages (e.g. "selective sync" tresor in tresorit to that dir).
Might need to hard link (e.g. mklink /H) "Default (Windows).sublime-keymap" to "Default (Linux).sublime-keymap"