A dotfiles repo which includes install scripts for setting up the environment from a fresh operating system install. This dotfiles repo can be used for Linux and MacOS machines; I actively use this repo on my MacbookPro and Linux desktop machine, which I use interchangeably.
Currently only Debian Linux is supported.
Z shell (Zsh) is installed on Linux and assumed to be there on MacOS.
- base16-shell
- bat
- direnv
- exa
- fzf
- git
- jq
- neovim
- procs
- rename
- ripgrep
- tealdeer
- tmux
- trash-cli
- zoxide
- Docker (Gui tool for MacOS)
- Bitwarden
- Discord
- Firefox
- Google Chrome
- Intellij Idea
- Signal
- Slack
- SublimeMerge
- SublimeText
- Telegram
- VLC
- Visual Studio Code
- Flatseal (Linux)
- Hexchat (Linux)
XDG Base Directory Specification is followed where possible.
jamygolden-dotfiles/.config/*
is symlinked to$XDG_CONFIG_HOME/*
..zshenv
is symlinked to$HOME/.zshenv
. It is the first zsh file to be sourced in the home directory, so it's required to be loaded there and set theZSHDOTDIR
environment variable for the other zsh scripts.- Put your
.zprofile
secrets injamygolden-dotfiles/secrets/.z_secrets
and.zshrc
secrets injamygolden-dotfiles/secrets/.zsh_secrets
jamygolden-dotfiles/.config/zsh/.zprofile
is symlinked to$HOME/.profile
because Intellij Idea doesn't use ZSH (even when specified) and it's important for the secrets to be sourced for Intellij Idea.
Dotfiles are installed to $XDG_CONFIG_HOME
where possible.
If bash is installed by default, these scripts will run correctly and will set up Zsh as the default shell.
The installation will detect what OS you are using and will setup accordingly.
$ ./install_all.sh # Setups up Linux machine
$ ./install_symlinks.sh # Symlink dotfiles
$ ./install_post.sh # Postinstall
.zsh_*
implies the file will only be run when .zshrc
is run, while
.z_*
implies the file will be run in .z_profile
. Read more about the
Zsh startup/shutdown files.
After everything is installed, run ./z_tests
in your shell to test
your zsh setup to ensure it's running correctly.