diff --git a/README.md b/README.md index 872a514..453ebb6 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,48 @@ # settingFiles + +Personal dotfiles and OS setup scripts. This repository separates OS/target +environments by **branch** instead of by directory — clone the branch that +matches your target machine, not `master` directly. + +## Branches + +| Branch | Purpose | Notes | +|---|---|---| +| `master` | Common base | Shared dotfiles only; starting point for new OS branches | +| `arch` | Arch Linux (x86_64) | GNOME desktop, Steam, hibernate support | +| `macOS` | macOS | Homebrew, Karabiner-Elements | +| `ubuntu` | Ubuntu | | +| `alpine` | Alpine Linux | Docker container use | +| `raspi` | Raspberry Pi OS (Debian-based, `apt`) | Headless/CLI | +| `raspi-arch` | Arch Linux ARM on Raspberry Pi | Headless/CLI | + +`.vimrc` is identical on every branch, and the bulk of `.zshrc` is shared too — +branches only differ in a small OS-specific tail (PATH entries, keychain/GPG +setup, plugin list, etc.). `master` holds the canonical copies of these +shared files. When editing the shared portions, port the same change to the +other branches by hand; there is no symlink/build step tying the branches +together, so nothing will warn you if they drift. + ## Installation -Install zsh, tmux, neovim, git curl with your package manager. -Then, +Install `zsh`, `tmux`, `neovim`, `git`, and `curl` with your package manager +first. + +Then clone the branch matching your target OS (see the table above): + +``` +git clone -b https://github.com/LJLee37/settingfiles.git ~/gitRepos/settingfiles +``` + +and run `set.sh` from inside the repo. -`git clone https://github.com/LJLee37/settingfiles.git ~/gitRepos/settingfiles` +After running `set.sh`, enter `nvim`, then run `:call coc#util#install()` if +you hit a coc error. -And run `set.sh` in the repo. +## Raspberry Pi OS install order -After running `set.sh` file, enter `nvim` to enter neovim, then enter `:call coc#util#install()` if you encounter coc error. +1. Flash Raspberry Pi OS with Raspberry Pi Imager and boot the Pi. +2. Run `install.sh` (base packages, git identity, GPG signing key). +3. Run `set.sh` to pull in dotfiles. +4. `backup.sh` makes a full-system + firmware backup and copies it to a LAN + host — check the destination host/path before running it. diff --git a/set.sh b/set.sh index 971aaa6..160fc95 100755 --- a/set.sh +++ b/set.sh @@ -10,9 +10,9 @@ curl -sL install-node.now.sh/lts | sudo bash curl --compressed -o- -L https://yarnpkg.com/install.sh | bash mkdir ~/.config mkdir ~/.config/nvim -cp ~/gitRepos/Personal/settingfiles/init.vim ~/.config/nvim/init.vim +cp ~/gitRepos/settingfiles/init.vim ~/.config/nvim/init.vim mv ~/.zshrc ~/.zshrc.bak -cp ~/gitRepos/Personal/settingfiles/.zshrc ~/.zshrc +cp ~/gitRepos/settingfiles/.zshrc ~/.zshrc ln -s ~/.config/nvim/init.vim ~/init.vim nvim +PlugInstall +qall