Cross-platform dotfiles. Works on Linux, macOS, Windows, and WSL.
- Terminal emulator - Alacritty
- Terminal multiplexer - Zellij
- Shell - zsh
- Editor - Neovim / VS Code
- Font - CaskaydiaCove Nerd Font 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.sh
This will:
-
Copy files from
home/
to your home directory- both bash and zsh will source
$HOME/source/*.sh
files in order - bash will source
$HOME/source/*.bash
files in order - zsh will source
$HOME/source/*.zsh
files in order
- both bash and zsh will source
-
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.sh
gpg --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)
- replace alacritty with ghostty
- composable dotfiles