You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

281 lines
11 KiB

timezone = Europe/Kiev
localegen = en_US.UTF-8 UTF-8
LANG = en_US.UTF-8
timeout = 3
default = void:/sbin/init
paths = /sbin/init, /sbin/fallback-init, /sbin/myinit, /sbin/ninit, /sbin/openrc-init, /sbin/runit-init, /sbin/simpleinit, /sbin/upstart, /lib/sysvinit/init, /lib/systemd/systemd, /usr/lib/systemd/systemd
share = /boot, /dev, /home, /lib/modules, /media, /mnt, /proc, /root, /run, /sys, /tmp
bind = /bedrock, /bedrock/cross, /bedrock/run, /bedrock/strata/bedrock
etc = adjtime, crypttab, default/grub, fstab, group, group-,, gshadow, gshadow-,, hostname, hosts, login.defs, machine-id, modprobe.d/blacklist.conf, passwd, passwd-,, rc.local, resolv.conf, resolvconf/run, shadow, shadow-,, sudoers
# Enforce various symlinks are in place at local paths. This is applied at
# stratum enable/repair time.
# Keys are local paths, values are symlink contents.
# The symlink contents must be absolute paths.
# Some package managers attempt to update this. They become upset if it is
# created between an unlink() and symlink(), making it unsuitable for
# [etc-symlinks] below.
# Different distros use slightly different values here that are all effectively
# the same. Rather than attempt to fight distros in this regard, Bedrock has
# hard-coded internal support for multiple valid values here and may not
# respect changes to this field.
/etc/mtab = /proc/self/mounts
# Some distros may expect a file at one path while others expect it at another.
# Standardize the location of global files.
/var/lib/dbus/machine-id = /etc/machine-id
/var/run = /run
# Various programs need to be configured to properly interact with Bedrock
# subsystems. Point them to Bedrock configuration.
/etc/systemd/system/bedrock-fix-mounts.service = /bedrock/share/systemd/bedrock-fix-mounts.service
/etc/systemd/system/bedrock-stop-fuse-filesystems.service = /bedrock/share/systemd/bedrock-stop-fuse-filesystems.service
/etc/systemd/system/ = /bedrock/share/systemd/bedrock-fix-mounts.service
/etc/systemd/system/ = /bedrock/share/systemd/bedrock-stop-fuse-filesystems.service
/etc/X11/xorg.conf.d/99-bedrock-fonts.conf = /bedrock/run/xorg-fonts
/etc/fonts/conf.d/99-bedrock-fonts.conf = /bedrock/share/fonts/fontconf.conf
/etc/X11/Xsession.d/99bedrock_env = /bedrock/run/profile
/etc/X11/xinit/xinitrc.d/99bedrock_env = /bedrock/run/profile
/etc/bash_completion.d/brl = /bedrock/share/bash/completion/brl
/etc/bash_completion.d/strat = /bedrock/share/bash/completion/strat
/etc/fish/conf.d/ = /bedrock/run/fprofile
/etc/fish/completions/ = /bedrock/share/fish/completion/
/etc/fish/completions/ = /bedrock/share/fish/completion/
/etc/resolvconf/update.d/00bedrock = /bedrock/share/resolvconf/00bedrock
# In general, system software such as Bedrock should not manipulate /usr/local.
# Bedrock should favor configuring /etc files instead.
# However, dbus's dbus-daemon-launch-helper seems to ignore /etc/dbus-1/
# configuration extending the search path. See
# for a discussion on the
# matter. For example:
# > Note that d-d-l-h only reads .service files from standard hard-coded paths,
# > not from any additional paths that you might have configured
# Since /usr/local/share/dbus is included in the hard-coded paths, is not used
# by most package managers, and is rarely used by end-users, it's the cleanest
# option available to teach dbus about /bedrock/cross.
/usr/local/share/dbus-1/system-services = /bedrock/cross/dbus-system
/usr/local/share/dbus-1/services = /bedrock/cross/dbus-session
# Some distros use a swap file and include reference to it in their fstab.
# This must be global so that it is valid when using an init from another
# stratum. However, it is not clear if it would work well with any of the
# established techniques in [global]. Instead, symlink it into a known global
# directory.
# Dynamically enforce various symlinks are in place at local paths. Any change
# away from specified configuration is immediately undone.
# Keys are local paths relative to /etc, values are symlink contents.
# The symlink contents must be absolute paths.
# Some init systems attempt to change these values at boot time, just after
# being enabled. Thus, symlinks-general will not suffice.
localtime = /bedrock/run/localtime
environment = /bedrock/run/environment
# Not all programs can be adequately/reliably configured by creating new,
# cleanly isolated configuration files. Instead, a configuration file must be
# extended to include desired configuration without clobbering its stratum
# local configuration. Typically these configuration files are in /etc.
# Bedrock ensures that, should certain files exist in /etc, they will include
# content specified at another file path. If the desired content is not found
# in the file it is automatically appended to the end.
# The keys are file paths relative to /etc, and the values are paths to files
# whose content must be included if the key's file exists in /etc.
# If you alter either the key/values in this section, or the actual content of
# the values, run `brl apply` to apply the change. Do this before rebooting
# to ensure any old content is removed.
sudoers = /bedrock/share/sudo/include-bedrock
profile = /bedrock/share/shells/include-bedrock
# etc-inject only injects existing files and does create make files in order to
# avoid creating a file a package manager does not expect. Different distro
# zsh packages provide different files, requiring multiple zsh file injections.
zprofile = /bedrock/share/zsh/include-bedrock
zshenv = /bedrock/share/zsh/include-bedrock
zsh/zprofile = /bedrock/share/zsh/include-bedrock
zsh/zshenv = /bedrock/share/zsh/include-bedrock
# Many programs search environment variables consisting of a (usually colon
# separated) list of directories. We can use these to teach these programs
# about cross-stratum content.
# These variables are typically searched in listed order. To manage this
# order, the configuration below is broken up into three sections for each
# variable:
# - PREFIX:<envvar> entries. Bedrock ensures these are at the front of the
# environment variable. These are used to ensure a given resource is provided
# by a specific stratum. For example, this ensures `reboot` is provided by the
# init stratum.
# - INFIX:<envvar> entries. These are used to ensure a given entry comes from
# the local stratum. For example, some software may request to be launched by
# sh via `#!/usr/bin/env sh` but utilize bash-isms which are valid on some
# distros which symlink `sh` to `bash`, but not others which don't. Such
# software must use the local stratum's `sh` to ensure the `bash` shell they
# expect is utilized.
# - SUFFIX:<envvar> entries. Bedrock ensures these are at the end of the
# environment variable. Given the PREFIX:<envvar> (specific stratum) and
# INFIX:<envvar> (local stratum) do not contain the item, it likely does not
# matter which stratum provides it, and so this contains resources from any
# strata which provide the resource.
PREFIX:PATH = /bedrock/cross/pin/bin:/bedrock/bin
INFIX:PATH = /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
SUFFIX:PATH = /bedrock/cross/bin
PREFIX:MANPATH = /bedrock/cross/pin/man:/bedrock/share/man
INFIX:MANPATH = /usr/local/share/man:/usr/share/man:/bedrock/cross/man
SUFFIX:MANPATH = /bedrock/cross/man
PREFIX:INFOPATH = /bedrock/cross/pin/info:/bedrock/share/info
INFIX:INFOPATH = /usr/local/share/info:/usr/share/info
SUFFIX:INFOPATH = /bedrock/cross/info
PREFIX:XDG_DATA_DIRS = /bedrock/cross/pin
INFIX:XDG_DATA_DIRS = /usr/local/share:/usr/share
SUFFIX:XDG_DATA_DIRS = /bedrock/cross
PREFIX:TERMINFO_DIRS = /bedrock/cross/pin/terminfo
INFIX:TERMINFO_DIRS = /usr/local/share/terminfo:/usr/share/terminfo
SUFFIX:TERMINFO_DIRS = /bedrock/cross/terminfo
PREFIX:fpath = /bedrock/share/zsh/completion
SUFFIX:fpath = /bedrock/cross/zsh-completion
restrict = apt-key, debuild, dpkg-buildpackage, gdb, git, kiss, makepkg, pkgmk, prt-get, rpmbuild
priority = void, arch
man = $MANPATH
info = $INFOPATH
icons = $XDG_DATA_DIRS/icons
pixmaps = $XDG_DATA_DIRS/pixmaps
zoneinfo = /usr/share/zoneinfo
terminfo = $TERMINFO_DIRS
src = /usr/local/src, /usr/src
bash-completion = /usr/share/bash-completion
zsh-completion = $fpath
firmware = /lib/firmware/updates/UTS_RELEASE, /lib/firmware/updates, /lib/firmware/UTS_RELEASE, /lib/firmware
bin = $PATH
# These programs are strongly related to the init system. If the stratum
# providing init provides these commands, that version should take priority.
# Typical Bedrock systems have /bedrock/pin/bin/ at the front of the $PATH.
pin/bin/systemctl = init:$PATH/systemctl
pin/bin/rc-service = init:$PATH/rc-service
pin/bin/rc-status = init:$PATH/rc-status
pin/bin/rc-update = init:$PATH/rc-update
pin/bin/rc-udevadm = init:$PATH/rc-udevadm
pin/bin/sv = init:$PATH/sv
pin/bin/poweroff = init:$PATH/poweroff
pin/bin/reboot = init:$PATH/reboot
pin/bin/shutdown = init:$PATH/shutdown
pin/bin/halt = init:$PATH/halt
# [restriction]/restrict items are only restricted if run through strat or
# cross. List any such items here to ensure they are run through cross to be
# restricted.
# If a local instance is available, that is preferred over crossing strata
# boundaries, just in case there is some dependency on its specific quirks.
# Ensure all items here use the local alias. If the item is not available
# locally, the call will fall through to un-pinned `bin` above.
pin/bin/apt-key = local:$PATH/apt-key
pin/bin/debuild = local:$PATH/debuild
pin/bin/dpkg-buildpackage = local:$PATH/dpkg-buildpackage
pin/bin/gdb = local:$PATH/gdb
pin/bin/git = local:$PATH/git
pin/bin/kiss = local:$PATH/kiss
pin/bin/makepkg = local:$PATH/makepkg
pin/bin/pkgmk = local:$PATH/pkgmk
pin/bin/prt-get = local:$PATH/prt-get
pin/bin/rpmbuild = local:$PATH/rpmbuild
applications = $XDG_DATA_DIRS/applications
xsessions = init:$XDG_DATA_DIRS/xsessions, $XDG_DATA_DIRS/xsessions
dbus-system = /usr/share/dbus-1/system-services
dbus-session = /usr/share/dbus-1/services
fonts = /usr/share/fonts
user-interface = xbps
priority = void:, arch:yay
ignore-non-system-package-managers = false
unprivileged-user = $SUDO_USER
warn-about-skipping-package-managers = true
cache-package-manager-list = true
cache-package-database = true
mirror-prefix =
alpine =
mirrors =,
cache-life = 30
color = true