kalaschnik / .dotfiles

· My dotfiles

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

My dotfiles (macOS)

My dotfiles and configuration scripts to setup a new machine, using dotbot & Homebrew, and custom bash scripts.


Old machine prep

  1. Backup files (OneDrive, Nextcloud et al.)
  2. Check if all git repos are pushed
  3. If a git repo lives outside of a cloud service check the git ignored files
  4. Create a fresh brew bundle dump using bbd
  5. Check the ~/dotfiles/Brewfile and delte entries that should not be installed on the new machine
  6. Optional: copy SSH key pair if yout don’t want to create new one

New machine setup

  1. Create fresh SSH key pair (steps from GitHub docs)

    ssh-keygen -t ed25519 -C "your_email@example.com"

    Optional: Paste the contens of old ssh keys into the new ssh keys

  2. Copy public key contens

    pbcopy < ~/.ssh/id_ed25519.pub
  3. Paste this here: https://github.com/settings/ssh/new

  4. Clone this repo in ~/dotfiles:

    git clone git@github.com:kalaschnik/dotfiles.git ~/dotfiles
  5. Run the install process

    ~/dotfiles/install

Post Installation

  1. Symlink SSH Config if Nextcloud is complete
    ln -s ~/Nextcloud/dotfiles/ssh/config ~/.ssh/config

Notes for myself

YOU DON’T NEED OH MY ZSH

When I started taking care of my dotfiles, I realized oh myzsh is polluting my .zshrc, and maybe other places as well. To be in full control, you can actually install the stuff you like about oh-my-zsh manually using homebrew (see Brewfile); e.g.,

  • zsh-autosuggestions
  • zsh-completions
  • zsh-history-substring-search
  • zsh-syntax-highlighting

Resources to bypass oh-my-zsh:

Powerlevel10k (p10k)

  • Powerlevel10k also boots the startup performance of zsh, set it to verbose to detect if this causes an issue

R

Use the r cask version because of https://rstats.wtf/set-up-an-r-dev-environment.html#what-about-homebrew

Appendix

Correct CHMOD Permission for .ssh folder and its contents

SSH CHMOD for RSA SSH CHMOD for ED25519
chmod 700 ~/.ssh/ chmod 700 ~/.ssh/
chmod 600 ~/.ssh/id_rsa chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_rsa.pub chmod 644 ~/.ssh/id_ed25519.pub
chmod 600 ~/.ssh/config chmod 600 ~/.ssh/config

Credits

About

· My dotfiles

License:MIT License


Languages

Language:Shell 94.7%Language:Ruby 5.3%