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
rebootsystem for ZSH shell default to update. - Then run:
cd ~/Projects/myconfiggit clone https://github.com/zsh-users/zsh-syntax-highlighting.git- or on Mac,
brew install zsh-syntax-highlighting
- NOTE: You may need to
- mise
brew install misemise use --global node@ltsmise use --global go@1mise use --global ruby@3
- 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+4andshift+ctrl+5respectively - Shortcut
Ctrl + Alt + Deleteto Activity Monitor - Change
Alt+Tabbinding toAlt + Shift + Tab - Change terminal binding to
Ctrl + Shift + Alt + T - Add shortcut to start File browser (
nautilusin 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-sushito 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/cocto~/.config/coc. Only copy snippets folder and mru's. If copying entire folder will need to customnpm i. Installing coc via nvim:PlugInstallfirst and then copying over needed files is recommended.