My computer setup and dotfiles, managed with chezmoi
- Cross-platform == Windows, Mac, Debian-based
- Unified set of apps, tools, commands and aliases
- Personal and work
- Debian-based
- tested on Pop!_OS 22.04 LTS, Ubuntu 22.04 LTS
- MacOS
- support TBD; when need arises
- Windows
- tested on Windows10
- decided to support Windows vs WSL. There are times where Windows cannot be avoided.
cd ~
curl -sfL https://git.io/chezmoi | sh
export PATH="$PATH:$HOME/bin"
export GITHUB_USERNAME="StephenGemin"
chezmoi init --apply https://github.com/$GITHUB_USERNAME/dotfiles.git
- Recommend running in PowerShell (not pwsh)
- install prereq dependencies
get-Command winget # check winget installed # if missing: # 1. download winget from MS store # 2. If MS store is blocked (typically work env) then install from .msixbundle # - https://github.com/microsoft/winget-cli/releases/latest # - double click downloaded file to install # - if this is also blocked, can install from powershell command `Add-AppxPackage -Path "PATH_TO_FILE"` winget install -e --id Git.Git winget install twpayne.chezmoi $env:GITHUB_USERNAME = "StephenGemin" chezmoi init --apply https://github.com/$GITHUB_USERNAME/dotfiles.git
- May need to install MSYS2 manually
- NeoVim with NVChad
- Do not start Neovim until NVChad reqs are installed!
- Install dependencies for NVChad (use MSYS2)
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
pacman -S make gcc
- To install fonts go to
~\.local\share\fonts
; find tff files, right-click desired files, and selectinstall - Install Whatsapp from MS store (unavailable from winget)
- Ref microsoft/winget-pkgs issue 156231
- Add to PATH (if not there):
- %USERPROFILE%.pyenv\pyenv-win\shims
- C:\Program Files\Git\cmd
- C:\Program Files\Neovim\bin
Manual setup steps for individual tools / apps
✅==Supported ❓==May support, unused or not tested 🚫 ==Never support
Deb | Win | Mac | |
---|---|---|---|
WezTerm | ✅ | ✅ | ❓ |
Alacritty* | ✅ | ✅ | ❓ |
Windows Terminal | 🚫 | ✅ | 🚫 |
*No tmux yet for Alacritty
Deb | Win | Mac | Notes | |
---|---|---|---|---|
Zsh | ✅ | 🚫 | ❓ | Slow on Windows, see Other Notes |
Bash | ✅ | ✅ | ❓ | Slow on Windows |
PowerShell | ❓ | ✅ | ❓ |
Deb | Win | Mac | Notes | |
---|---|---|---|---|
Chezmoi | ✅ | ✅ | ✅ | |
Git | ✅ | ✅ | ✅ | |
Double Commander | ✅ | ✅ | ❓ | |
KeePassXC | ✅ | ✅ | ❓ | No Chezmoi integration yet |
Neovim | ✅ | ✅ | ❓ | NVChad and nvimconf |
Vim | ✅ | ✅ | ❓ | |
Nano | ✅ | ❓ | ✅ | |
Oh-My-Posh | ✅ | ✅ | ❓ | |
Zinit | ✅ | ✅ | ❓ | |
Oh-My-Zsh | ✅ | ✅ | ❓ | Via Zinit |
Ripgrep | ✅ | ✅ | ❓ | |
zoxide | ✅ | ✅ | ❓ | |
fzf | ✅ | ✅ | ❓ | |
pyenv | ✅ | ✅ | ❓ | Windows uses pyenv-win |
VLC | ✅ | ✅ | ❓ | |
Firefox | ✅ | ✅ | ❓ | |
Opera | ✅ | ✅ | ❓ | |
Notion | ✅ | ✅ | ❓ | |
JetBrains IDEs | ✅ | ✅ | ❓ | |
Visual Studio Code | ✅ | ✅ | ❓ | |
F.lux | ✅ | ✅ | ❓ | Linux uses Redshift |
Notepad++ | 🚫 | ✅ | 🚫 | |
MSYS2 | 🚫 | ✅ | 🚫 |
- To get zsh working on Windows:
- Install MSYS2;
pacman -S zsh
- Modified
C:\msys64\etc\nsswitch.conf
(see below)
- Install MSYS2;
- Initial attempt to use zsh did not go well
- terminal was very sluggish
- tried in Alacritty, MSYS2, MSYS (Git Bash) and Windows Terminal
- issues accessing Windows tooling
- difficult working with Windows paths
- Decided to use PowerShell on Windows
# Begin /etc/nsswitch.conf
passwd: files db
group: files db
db_enum: cache builtin
db_shell: /usr/bin/zsh
db_home: /c/Users/USERNAME
db_env: windows
#db_home: cygwin desc
#db_shell: cygwin desc
#db_gecos: cygwin desc
# End /etc/nsswitch.conf