Skip to content

Personal configuration to follow when setting up a new machine or server dev environment

Notifications You must be signed in to change notification settings

Ebonsignori/myconfig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

myconfig

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.

Terminal

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  

Prereqs

  • 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
  • asdf
    • brew install asdf
    • Add to zshrc, echo -e "\n. $(brew --prefix asdf)/libexec/asdf.sh" >> ${ZDOTDIR:-~}/.zshrc
    • Install nodejs plugin:
      1. asdf plugin add nodejs
      1. asdf install nodejs latest
      1. asdf asdf global nodejs latest
      1. Repeat steps 1-3 for golang and any other needed languages
  • jq
  • lsd

OS Steps

  • 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

Mac OS

  • 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
    • TODO: Check if .amethyst dotfile support has improved. If it has, move instructions to dotfile
    • Turn on "Mouse follows focused windows" option
    • Set layouts in this order: Column, 3Column Middle, Fullscreen, Tall
    • Shortcut a,s,d,f to set layout in order respective to above order
    • Shortcut q-r to jump to screen
    • Shortcut q-r to throw window to screen
    • Shortcut enter to switch main window
    • Shortcut j,k to switch focused window
    • Shortcut h,l to resize focused window
    • Shortcut t to toggle tiling on focused window (+ full screen layout to easily full-screen window)
    • Shortcut z Relaunch Amethyst (fix layouts)

Linux (Gnome)

  • 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 and shift+ctrl+5 respectively
  • Shortcut Ctrl + Alt + Delete to Activity Monitor
  • Change Alt+Tab binding to Alt + 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

System

For any hardware setup steps

Keyboard

Online Ergodox Layout

Archived Layout if zsa goes offline

Manual Backup / Restore

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 custom npm i. Installing coc via nvim :PlugInstall first and then copying over needed files is recommended.

About

Personal configuration to follow when setting up a new machine or server dev environment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published