MyNixOS website logo
Description

Baserock Definitions Schema.

Baserock Definitions Schema - Parsers, Printers, Encoders, Decoders, ASTs, Graphs and Traversals

baserock-schema

Definitions schema for baserock system definitions. This repository provides a library for interaction with definitions via lenses as well as several common tools for assisting with annoying rebase work where your development branch and master have diverged too much.

Building

You will need stack

You can build with

stack build

Testing

You can run the tests with

stack test

Installing

You can install the application by running

stack install

which will install the baserock executable. You may then sit in a definitions repository and run

baserock sanitize <path/to/morph>

Usage

The main executable has several commands you can use to manipulate definitions in useful ways. All commands which take a <morph> field can usually be given either a system or a stratum, and in some but not all cases a chunk morph where it makes sense.

You can sanitize a system or stratum with

baserock sanitize <path/to/morph>

You can set all the refs for every chunk in a given system or stratum by running

baserock set-all-refs <ref> <path/to/morph>

You can use information from gitlab to modify your morphologies. To bump the sha of every chunk to the HEAD of its currently listed ref, run

baserock bump-shas <path/to/morph> -t GITLAB_API_TOKEN -u GITLAB_BASE_URL

You can also change the ref and track shas if and only if the supplied ref exists on gitlab, by running

baserock maybe-track-ref <ref> <path/to/morph> -t GITLAB_API_TOKEN -u GITLAB_BASE_URL

You can checkout the chunk instructions for every chunk in a system or stratum from a different branch in the current definitoins repository, by running

baserock steal-instructions <branch> <path/to/morph>
Metadata

Version

0.0.3.5

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows