Cross-platform dotfiles. Works on Linux, macOS, Windows, and WSL.
- Terminal emulator - Alacritty
- Terminal multiplexer - Zellij
- Shell - zsh
- Editor - Neovim / VS Code
- Font - Berkeley Mono
- Theme - Tokyo Night
- git
- bash (comes with Linux / macOS / WSL, or with git for Windows)
Installed packages may not be found / not add to your PATH automatically (i.e. due to not having admin privileges / not in developer mode). In this case, you will need to do the following (requires admin privileges):
- Settings > System Properties > Environment Variables > (User or System) Variables > Path > New >
%USERPROFILE%\AppData\Local\Microsoft\WinGet\Links
git clone --depth 1 https://github.com/syhner/dotfiles.git
cd dotfiles
./install.shThis will:
- Copy files from
home/to your home directory - Check for / update package manager (apt for Linux / WSL, Homebrew for macOS, winget for Windows).
- Run package install scripts in
scripts/install/using the right package manager
Scripts can also be called individually, e.g.
# Set home files
./scripts/set-home-files.sh
# Set home files for a particular package
./scripts/set-home-files.sh nvim
# Install a package (e.g. fzf)
./scripts/install/fzf.shgpg --encrypt-files --recipient "<your id/email>" <files>gpg --decrypt-files --yes <files>- ls tab colors matching eza
- handle folder sync between platforms (e.g. neovim)
- functions
- kill process on port with signal
- robustness
- overwrite source directory when pushing
- CI
- shellcheck
- build on different platforms
- add
- IRC
- RSS reader
- monitor
- audio?
- file manager?
- set $DOTFILES in a single place
- use get_os() instead of $OSTYPE
- fix zellij copy_command on non-mac (since it runs system executables as commands, not wrapped by system shell)
- composable dotfiles
- cloudflared to local.<domain>.com
- optimise loadup time by splitting interactive and non-interactive usage