This is my personal configuration to follow when setting up a new machine or server dev environment. If doing a non-gui env setup or setting up an existing desktop env with nvim, follow the instructions from Terminal and ignore the OS Steps section. Otherwise start with OS Steps and then do the Terminal set up.
Clone this repo into ~/Projects
The desired workflow of this project is to make changes to configurations in dotfiles in this project and to copy and replace local configurations with the changes. This way this project serves as myconfig's source of truth. The expections to this are directories/files that are manually backed up. See Manual Backup.
For automatic replacement after update, we need to export a variable pointing to where this repo is cloned to and run the init.sh script.
We do this by adding the following lines to the end of your ~/.zshrc
or ~/.bashrc
after installing the Prereqs below.
# Load myconfig profile *NOTE:* Place at bottom of .zshrc
export MY_CONFIG_PROJECT_DIR=~/Projects/myconfig
export MY_CONFIG_AUTO_OVERWRITE=true
source $MY_CONFIG_PROJECT_DIR/init.sh
Optionally you can require confirmation prompts when overriding config files:
export MY_CONFIG_AUTO_OVERWRITE=false
- git
- zsh shell
- NOTE: You may need to
reboot
system for ZSH shell default to update. - Then run:
cd ~/Projects/myconfig
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
- or on Mac,
brew install zsh-syntax-highlighting
- NOTE: You may need to
- asdf
brew install asdf
- Add to zshrc,
echo -e "\n. $(brew --prefix asdf)/libexec/asdf.sh" >> ${ZDOTDIR:-~}/.zshrc
- Install nodejs plugin:
-
asdf plugin add nodejs
-
asdf install nodejs latest
-
asdf asdf global nodejs latest
-
- Repeat steps 1-3 for
golang
and any other needed languages
- Repeat steps 1-3 for
- jq
- lsd
- Install Chrome
- Set up Sync
- Sign into PW Manager
- Set downloads path to
~/Downloads/Web
- Install a nerd-font font and set it for your terminal. Follow instructions for Linux or Mac. I prefer Hack. You can download the fonts directly from here.
- Install VSCode
- Download Docker and Docker-compose. (Can use Docker Desktop to get both on Mac)
- Install Break Reminder, Stretchly
- Install Slack and Spotify
- Install offline / no-sync Atuin
- In Preferences -> keyboard -> modifier keys -> Set Caps Lock to Ctrl
- In Preferences -> Mouse -> Toggle "Natural" 🤮 scroll
- In Preferences -> mission control -> uncheck "Automatically rearrange Spaces based on most recent use"
- Install Brew
- Install Hack font
brew tap homebrew/cask-fonts
,brew install --cask font-hack-nerd-font
- Download Spaceship prompt
- Download CopyQ
- Change finder preference and turn on view -> bars
- Install Amethyst:
brew install --cask amethyst
- Install Gnome Tweak Tool,
sudo apt install gnome-tweak-tool
- In Gnome Tweak tool set Caps Lock as Ctrl
- Install Albert and enable plugins to replace spotlight. Bind it to
Ctrl + Space
- Install deepin-screenshot and deeping-screen-recorder and bind them to
shift+ctrl+4
andshift+ctrl+5
respectively - Shortcut
Ctrl + Alt + Delete
to Activity Monitor - Change
Alt+Tab
binding toAlt + Shift + Tab
- Change terminal binding to
Ctrl + Shift + Alt + T
- Add shortcut to start File browser (
nautilus
in Ubuntu):Ctrl + Shift + Alt + F
- Download a clipboard manager, like CopyQ.
- Terminal. If not default, I prefer Gnome Terminal
- Set Nerdfont
- Set new tab/close tab/change tab shortcuts to match Mac OS shortcuts
sudo apt-get install gnome-sushi
to get Mac-OS like preview- Set up Mac OS-Like Theme
- Get and use Mac OS themes.
- Set them in Gnome tool then move close btns to the LHS with:
gsettings set org.gnome.desktop.wm.preferences button-layout "close,minimize,maximize:"
- Get and use Mac OS icons.
- Install and use Dash To Panel (Dash to Doc is more mac like but at time of writing doesn't enable hover previews)
- Enable persistent top-bar, opacity, auto-hide, and change non-active window indicators.
- Install and use BLYR
- Use Mac San Francisco Fonts
- Add CopyQ, Albert, and Stretchly to Startup Applications via Gnome Tweak Tool
For any hardware setup steps
Archived Layout if zsa goes offline
If on new setup, copy directories below per instructions, otherwise to backup directories run sh backup.sh
.
./dotfiles/coc
to~/.config/coc
. Only copy snippets folder and mru's. If copying entire folder will need to customnpm i
. Installing coc via nvim:PlugInstall
first and then copying over needed files is recommended.