Package- and image building tool for Kupfer Linux. Documentation: https://kupfer.gitlab.io/kupferbootstrap
Find a file
2025-03-30 15:20:30 +02:00
.vscode Add formatting 2021-08-08 18:24:56 +02:00
docs reformat python files with ruff 2025-03-29 21:52:01 +01:00
local/bin move wrapper_su_helper to pyproject.toml 2025-03-29 21:52:01 +01:00
src/kupferbootstrap reformat python files with ruff 2025-03-29 21:52:01 +01:00
tests reformat python files with ruff 2025-03-29 21:52:01 +01:00
.dockerignore fix docker wrapper 2025-03-29 21:50:13 +01:00
.git-blame-ignore-revs git-blame: ignore reformat commit 2025-03-30 15:20:30 +02:00
.gitignore make kupferbootstrap package installable 2025-03-29 21:34:21 +01:00
.gitlab-ci.yml pyproject: replace yapf with ruff and add lsp plugins 2025-03-29 21:52:01 +01:00
docker_version.txt fix docker wrapper 2025-03-29 21:50:13 +01:00
Dockerfile Dockerfile: adjust to pip installability 2025-03-29 21:52:01 +01:00
format.sh pyproject: replace yapf with ruff and add lsp plugins 2025-03-29 21:52:01 +01:00
LICENSE LICENSE: Add GPLv3 as was decided ages ago on Matrix. 2022-02-28 04:26:08 +01:00
Makefile move test_requirements.txt to requirements-dev.txt using project deps 2025-03-29 21:52:01 +01:00
pyproject.toml pyproject: replace yapf with ruff and add lsp plugins 2025-03-29 21:52:01 +01:00
pytest.sh move tests to tests subdir 2025-03-29 21:52:01 +01:00
README.md docs: adjust installation instructions 2025-03-29 21:52:01 +01:00
requirements-dev.txt move test_requirements.txt to requirements-dev.txt using project deps 2025-03-29 21:52:01 +01:00
requirements.txt make kupferbootstrap package installable 2025-03-29 21:34:21 +01:00
test_requirements.txt move test_requirements.txt to requirements-dev.txt using project deps 2025-03-29 21:52:01 +01:00
typecheck.sh make kupferbootstrap package installable 2025-03-29 21:34:21 +01:00

kupferbootstrap

Kupfer Linux bootstrapping tool - drives pacstrap, makepkg, chroot, mkfs and fastboot, just to name a few.

Table Of Contents

[[TOC]]

Full Documentation

Detailed docs are available online at https://kupfer.gitlab.io/kupferbootstrap/

You can also build and view the docs locally:

cd docs/ && \
make && \
make serve

This will run a webserver on localhost:9999. Access it like firefox http://localhost:9999/

Installation

  1. If you're not on ArchLinux (i.e. don't have pacman, makepkg, etc. available in your $PATH), install Docker and add yourself to the docker group.
  2. For the python installation, either run make or follow the manual installation steps below.

Manual Installation

  1. Craate a python venv: python3 -m venv venv
  2. Install KBS: venv/bin/pip3 install -e .
  3. Activate it: source venv/bin/activate

If you don't want to have to source the venv every time, you can symlink venv/bin/kupferbootstrap into your $PATH.

Try it

Then run kupferbootstrap --help.

Pro Tip:

  • You can add a shell alias for $(PWD)/venv/bin/kupferbootstrap or create a symlink to it inside your $PATH for quick access without needing to manually source the venv script every time, e.g.:

    ln -sr venv/bin/kupferbootstrap ~/.local/bin/
    

    The Makefile can do this for you:

    make INSTALL_TARGET=~/.local/bin/kupferbootstrap install
    

    Just make sure ~/.local/bin (or wherever you chose) is in your $PATH.

  • It is recommended to abbreviate kupferbootstrap to kbs for even less typing.

Quickstart

  1. Initialize config with defaults, configure your device and flavour: kupferbootstrap config init
  2. Initialize PKGBUILDs and caches: kupferbootstrap packages init
  3. Build an image and packages along the way: kupferbootstrap image build

Development

Docker

Put BUILD (the default) into docker_version.txt to always rebuild kupferbootstrap from this directory; otherwise the image is pulled from registry.gitlab.com/kupfer/kupferbootstrap:$VERSION, where $VERSION is the contents of docker_version.txt.