superb-bootstrap
superb-bootstrap copied to clipboard
๐ ฑ๏ธ OS dotfiles-manager framework that SuperB
โ ๏ธ This project although convenient, it's too unreliable. Please use Nixpkgs instead.
OS bootstrap-system/dotfiles-manager framework that SuperB
๐ก About
SuperB Bootstrap is a SuperB OS bootstrap-system/dotfiles-manager framework that can be installed with just one command on a new *NIX
system installation.
โจ Features
- Super portable, work on almost any
*NIX
operating system, you don't need to install anything before the installation process- Don't know anything about
git
? Dont't worry, SBB dotfiles can be host via Nextcloud, Google drive or Dropbox...
- Don't know anything about
- Super organized file structure to config and share
- Super easy to setup and install:
- You can even install your dotfiles with just one command from a new
*NIX
system installation
- You can even install your dotfiles with just one command from a new
- Super flexible with one config, you can bootstrap cross-platform. Supported package managers are:
๐ Setup
First generate using this template, or if you want, you can setup manually:
๐ง Manually
If you manage your dotfiles with git
, run the following commands:
mkdir -p ~/dotfiles/home ~/dotfiles/root ~/dotfiles/extra
curl -fsSL https://raw.githubusercontent.com/NNBnh/superb-bootstrap-template/main/packageslist --create-dirs --output ~/dotfiles/packageslist
curl -fsSL https://raw.githubusercontent.com/NNBnh/superb-bootstrap-template/main/setup --create-dirs --output ~/dotfiles/setup
cd ~/dotfiles
git submodule add https://github.com/NNBnh/superb-bootstrap.git ./extra/sbb
git submodule add https://github.com/NNBnh/bsymlink.git ./extra/bsymlink
if not, run the following commands:
mkdir -p ~/dotfiles/home ~/dotfiles/root ~/dotfiles/extra
curl -fsSL https://raw.githubusercontent.com/NNBnh/superb-bootstrap-template/main/packageslist --create-dirs --output ~/dotfiles/packageslist
curl -fsSL https://raw.githubusercontent.com/NNBnh/superb-bootstrap-template/main/setup --create-dirs --output ~/dotfiles/setup
curl -fsSL https://raw.githubusercontent.com/NNBnh/superb-bootstrap/master/sbb --create-dirs --output ~/dotfiles/extra/sbb/sbb
curl -fsSL https://raw.githubusercontent.com/NNBnh/bsymlink/main/bin/bsymlink --create-dirs --output ~/dotfiles/extra/bsymlink/bin/bsymlink
Note: if you don't use Git, you have to manually update SBB and Bsymlink by running the last two commands.
๐ File structure
The file structure will 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/ # Other files that you want to backup or store but don't want to symlink
โ โโ sbb/... # This contain the script file to bootstrap
โ โโ bsymlink/... # This contain the symlink tool
โโ packageslist # Packages list
โโ setup # Setup script
โ๏ธ Customization
Next, customizing your your dotfiles:
- Move everything you want to backup in
home/
androot/
- Add packages to
packageslist
(see example) - Config the
setup
scripts (see example)
Remember to make
setup
executable:chmod +x ~/dotfiles/setup
Finally store or upload your dotfiles to a safe place.
๐ฅ Installation
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
๐ Credits
Special thanks to:
- Xfzv for many bug reports and suggestions
- Obyyx for fixing paru's flags
- LoricAndre for the great design suggestion and make Paru upgrade AUR packages on bootstrap
- Simon Weiss for most of bugs fix, improvement to 1.7.3, and more...
-
Package managers supported:
- Xfzv for Portage and Zypper supported
- Kraileth for PKG NG supported
- Miko for OpenBSD PKG and PKG IN supported
- Justin for Slack PKG supported
- Laffer1 for Mports supported
- Andrea Velรกsquez for MacPorts and MAS supported
- LoricAndre for PIP and NPM supported
-
get-pip
from Python Packaging Authority for theget-pip.py
script - Carbon from @carbon_app to create the banner
Made with โค๏ธ by NNB