No project description provided
Project description
.. role:: raw-html-m2r(raw)
:format: html
butter-hopper
-------------
butter-hopper is a collection of tools to help making switching between multiple distros easier
butter-hopper allows you to try out multiple distros on a single large BTRFS partition using BTRFS subvolumes.
Features:
^^^^^^^^^
* butter-hopper uses ``systemd-nspawn`` to ``ch-boot`` into your desired distro
* And if you wanna take it for an actual spin on your hardware you can do that too
* butter-hopper will extract boot entries in the OS and present them in GRUB/rEFInd menu.
* Installing and upgrading various common packages on many distros can be time consuming.\ :raw-html-m2r:`<br>`
butter-hopper uses ``nix`` as package management/cache which can be used from any distro
* Support installing tools like IDE, VSCode which don't need to be packaged to ``/common``
* PLANNED: Using qemu/KVM to boot GUI to another distro
Pre:requesties
^^^^^^^^^^^^^^
* Make sure all of distro use systemd and support btrfs which should be any recent distro
* For the boot to hardware you want to make sure you have a recent version of GRUB2 installed with\ :raw-html-m2r:`<br>`
support for btrfs.
butter hopper tools
^^^^^^^^^^^^^^^^^^^
* ``btrhop`` : The main command line interface to btrhop which allows managing snapshots, running, upgrading distros
* ``bootcrapper`` and ``flatduck`` : Command line tools to bootstrap a distro from rootfs or docker images.
* ``mntem`` : A tool to help manage multiple mount points of BTRFS subvolumes/ shared storage.
* ``nixy`` : Helper script to install ``nix`` and setup packages on common ``/nix/store``
Sharing:
^^^^^^^^
While using a default user of ``1000`` and allowing any user to change stuffs in ``/home`` works.\ :raw-html-m2r:`<br>`
``butter-hopper`` recommends using differnt user ids of your primary user and supports in the config.\ :raw-html-m2r:`<br>`
To take a sample config of ``butter-hopper.conf`` look at my dotfile in your preferred Git hosting.\ :raw-html-m2r:`<br>`
.. image:: https://i.imgur.com/7UwDPus.png
:target: https://github.com/cswl/dotfiles/tree/master/config/butter-hopper
:alt: Github
.. image:: https://i.imgur.com/G6QcEk4.jpg
:target: https://gitlab.com/cswl/dotfiles/tree/master/config/butter-hopper
:alt: Gitlab
.. image:: https://i.imgur.com/TKS3S7F.png
:target: hhttps://bitbucket.org/cswl/dotfiles/src/master/config/butter-hopper/
:alt: Bitbucket
Tips:
^^^^^
Change your default subvol to "/staging" so you dont accidentally mount the real root\ :raw-html-m2r:`<br>`
To do that simply run ``btrhop populate-distros --staging``
Working
^^^^^^^
This is the layout pulled directly from my current install.
butter-hopper installs distros to ``/distros`` in your btrfs partition
.. code-block::
distros
├── arch
│ ├── @
│ └── home
├── debian-buster
│ ├── @
│ └── home
├── fedora
│ ├── @
│ └── home
├── tumbleweed
│ ├── @
│ └── home
├── ubuntu-latest
│ ├── @
│ └── home
License
^^^^^^^
Copyright (c) 2019 Cswl Coldwind cswl1337@gmail.com
Licensed under the MIT License. See LICENSE.txt
:format: html
butter-hopper
-------------
butter-hopper is a collection of tools to help making switching between multiple distros easier
butter-hopper allows you to try out multiple distros on a single large BTRFS partition using BTRFS subvolumes.
Features:
^^^^^^^^^
* butter-hopper uses ``systemd-nspawn`` to ``ch-boot`` into your desired distro
* And if you wanna take it for an actual spin on your hardware you can do that too
* butter-hopper will extract boot entries in the OS and present them in GRUB/rEFInd menu.
* Installing and upgrading various common packages on many distros can be time consuming.\ :raw-html-m2r:`<br>`
butter-hopper uses ``nix`` as package management/cache which can be used from any distro
* Support installing tools like IDE, VSCode which don't need to be packaged to ``/common``
* PLANNED: Using qemu/KVM to boot GUI to another distro
Pre:requesties
^^^^^^^^^^^^^^
* Make sure all of distro use systemd and support btrfs which should be any recent distro
* For the boot to hardware you want to make sure you have a recent version of GRUB2 installed with\ :raw-html-m2r:`<br>`
support for btrfs.
butter hopper tools
^^^^^^^^^^^^^^^^^^^
* ``btrhop`` : The main command line interface to btrhop which allows managing snapshots, running, upgrading distros
* ``bootcrapper`` and ``flatduck`` : Command line tools to bootstrap a distro from rootfs or docker images.
* ``mntem`` : A tool to help manage multiple mount points of BTRFS subvolumes/ shared storage.
* ``nixy`` : Helper script to install ``nix`` and setup packages on common ``/nix/store``
Sharing:
^^^^^^^^
While using a default user of ``1000`` and allowing any user to change stuffs in ``/home`` works.\ :raw-html-m2r:`<br>`
``butter-hopper`` recommends using differnt user ids of your primary user and supports in the config.\ :raw-html-m2r:`<br>`
To take a sample config of ``butter-hopper.conf`` look at my dotfile in your preferred Git hosting.\ :raw-html-m2r:`<br>`
.. image:: https://i.imgur.com/7UwDPus.png
:target: https://github.com/cswl/dotfiles/tree/master/config/butter-hopper
:alt: Github
.. image:: https://i.imgur.com/G6QcEk4.jpg
:target: https://gitlab.com/cswl/dotfiles/tree/master/config/butter-hopper
:alt: Gitlab
.. image:: https://i.imgur.com/TKS3S7F.png
:target: hhttps://bitbucket.org/cswl/dotfiles/src/master/config/butter-hopper/
:alt: Bitbucket
Tips:
^^^^^
Change your default subvol to "/staging" so you dont accidentally mount the real root\ :raw-html-m2r:`<br>`
To do that simply run ``btrhop populate-distros --staging``
Working
^^^^^^^
This is the layout pulled directly from my current install.
butter-hopper installs distros to ``/distros`` in your btrfs partition
.. code-block::
distros
├── arch
│ ├── @
│ └── home
├── debian-buster
│ ├── @
│ └── home
├── fedora
│ ├── @
│ └── home
├── tumbleweed
│ ├── @
│ └── home
├── ubuntu-latest
│ ├── @
│ └── home
License
^^^^^^^
Copyright (c) 2019 Cswl Coldwind cswl1337@gmail.com
Licensed under the MIT License. See LICENSE.txt
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
butter-hopper-0.0.9.tar.gz
(7.6 kB
view hashes)
Built Distribution
Close
Hashes for butter_hopper-0.0.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0ab69124ccc4fa3a1c21691e36a4327c403b311084964ef3ada149815303745 |
|
MD5 | 42da254388b800015073dc68a162f1db |
|
BLAKE2b-256 | a2252c6f02e6b8a7f59e529618a6b34e3b08bc3e6495c8b4fef03015552c6117 |