Skip to content

HenryC-3/dotfiles

Repository files navigation

Intro

This repo contains serval dotfiles on my personal Macbook.

Guide

Workflow

In case you forget, read what dotbot dose for you?

add a new dotfile

  1. move the original dotfile to current directory
    mv ~/.vimrc ./editor/vimrc
  2. update install.conf.yml
    - link:
      ~/.vimrc: editor/.vimrc
  3. execute install in terminal
  4. do backup

remove a dotfile

  1. remove symlink in target directory
    rm ~/.vimrc
  2. copy the dotfile to target directory
    mv ./editor/vimrc ~/.vimrc
  3. remove config in install.conf.yml
    - link:
      # ~/.vimrc: editor/.vimrc
  4. execute ./install in terminal
  5. do backup

backup

git add <files>

git-cz # or regular commit

retrieve dotfiles on new machine

  1. Setup python and git environment, then do

    git clone https://github.com/HenryC-3/dotfiles.git
    cd ./dotfiles
  2. Run dotbot

    ./install

What Dotbot does for you?

Dotbot dose those major jobs for you

  1. Create symlinks. Dotbot create symlink based on two things
    • dotfiles in this directory
    • configuration in install.conf.yml
      # symlink editor/.vimrc in current directory to ~/.vimrc
      - link:
      ~/.vimrc: editor/.vimrc
  2. run shell command defined in install.conf.yml when you run install
    - shell:
          - [git submodule update --init --recursive, Installing submodules]
  3. remove deprecated link in target directory
    - clean: ["~"]

Structure

Use folder to organize dotfiles, each folder may containing a README for further explanation of the dotfile.

.
├── misc # anything falls out fellow categories
├── lang # version manager/package manager
│  ├── javascript
│  └── python
├── editor # neovim
├── window manager # yabai/skhd/karabiner
├── terminal
│  ├── emulator # alacritty
│  ├── feature # basic utilities like fzf/ripgrep/tmux
│  ├── shell # bash/zsh
│  └── theme # p10k
└── README.md

Useful links

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published