/superb-bootstrap

🅱️ OS dotfiles-manager framework that SuperB

Primary LanguageShell

OS bootstrap-system/dotfiles-manager framework that SuperB

License: CC BY 4.0 Version: 1.5.2

About

SuperB Bootstrap is a SuperB OS bootstrap-system/dotfiles-manager framework that can be installed with just one command on a new Unix system installation.

Features

  • Super portable, work on almost any Unix and Unix-like operating system, it can even install dotfiles locally
  • Super minimum dependencies, you don't need to install anything before the installation process
  • Super organized file structure to config and share
  • Super easy to setup and install:
    • Similar to Stow method, it's managing your dotfiles by storing them in a subdirectory (dotfiles/home/, dotfiles/root/) and symlinking them to their original location
    • You can even install your dotfiles with just one command from a new Unix system installation
  • Super flexible with one config, you can bootstrap cross-platform. Supported package managers are:

Contents

Dependencies

  • sh to process

Setup

First generate using this template, or if you want to do it manually then create the dotfiles directory:

mkdir -p "$HOME/dotfiles/home" "$HOME/dotfiles/root" "$HOME/dotfiles/extra"

curl -fsSL 'https://raw.githubusercontent.com/NNBnh/superb-bootstrap/master/packageslist' --create-dirs --output "$HOME/dotfiles/packageslist"
curl -fsSL 'https://raw.githubusercontent.com/NNBnh/superb-bootstrap/master/setup'        --create-dirs --output "$HOME/dotfiles/setup"

You will have a file structure that looks like this:

dotfiles/
├─ home/           # Symlink to home (add anything like .config/ or .local/ that you what to bootstrap here)
├─ root/           # Symlink to root (same with this directory but it will be symlink to '/' directory)
├─ extra/          # Not symlink (Other files that you want to backup but don't want to symlink)
├─ packageslist    # Packages list
└─ setup           # Setup script

Add packages to packageslist, see example

Add config scripts to setup, see example

Remember to make setup executable:
chmod +x "$HOME/dotfiles/setup"

Finally upload your dotfiles to a safe place.

Install

To install your dotfiles, put the dotfiles to the desired location then execute setup file.

For example if you store your dotfiles on Github, first download it:

git clone https://github.com/yourname/dotfiles.git

cd to dotfiles:

cd dotfiles

Then execute the setup file:

./setup

You can install your dotfiles with just one command:

git clone https://github.com/yourname/dotfiles.git && ./dotfiles/setup






Made with ❤️ by NNB

Buy Me a Coffee


Copyright © 2020-2021 by NNB

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.