|
|
|
[locale]
|
|
|
|
timezone = Europe/Kiev
|
|
|
|
localegen = en_US.UTF-8 UTF-8
|
|
|
|
LANG = en_US.UTF-8
|
|
|
|
|
|
|
|
[init]
|
|
|
|
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
|
|
|
|
|
|
|
|
[global]
|
|
|
|
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-, group.org, gshadow, gshadow-, gshadow.org, hostname, hosts, login.defs, machine-id, modprobe.d/blacklist.conf, passwd, passwd-, passwd.org, rc.local, resolv.conf, resolvconf/run, shadow, shadow-, shadow.org, sudoers
|
|
|
|
|
|
|
|
[symlinks]
|
|
|
|
#
|
|
|
|
# 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/multi-user.target.wants/bedrock-fix-mounts.service = /bedrock/share/systemd/bedrock-fix-mounts.service
|
|
|
|
/etc/systemd/system/multi-user.target.wants/bedrock-stop-fuse-filesystems.service = /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/99bedrock.fish = /bedrock/run/fprofile
|
|
|
|
/etc/fish/completions/brl.fish = /bedrock/share/fish/completion/brl.fish
|
|
|
|
/etc/fish/completions/strat.fish = /bedrock/share/fish/completion/strat.fish
|
|
|
|
|
|
|
|
/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
|
|
|
|
# https://bugs.freedesktop.org/show_bug.cgi?id=92458 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.
|
|
|
|
#
|
|
|
|
|
|
|
|
[etc-symlinks]
|
|
|
|
#
|
|
|
|
# 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
|
|
|
|
|
|
|
|
[etc-inject]
|
|
|
|
#
|
|
|
|
# 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
|
|
|
|
|
|
|
|
[env-vars]
|
|
|
|
#
|
|
|
|
# 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
|
|
|
|
|
|
|
|
[restriction]
|
|
|
|
restrict = apt-key, debuild, dpkg-buildpackage, gdb, git, kiss, makepkg, pkgmk, prt-get, rpmbuild
|
|
|
|
|
|
|
|
[cross]
|
|
|
|
priority = void, arch
|
|
|
|
|
|
|
|
[cross-pass]
|
|
|
|
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
|
|
|
|
|
|
|
|
[cross-bin]
|
|
|
|
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
|
|
|
|
|
|
|
|
[cross-ini]
|
|
|
|
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
|
|
|
|
|
|
|
|
[cross-font]
|
|
|
|
fonts = /usr/share/fonts
|
|
|
|
|
|
|
|
[pmm]
|
|
|
|
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
|
|
|
|
|
|
|
|
[brl-fetch-mirrors]
|
|
|
|
mirror-prefix = https://ftp.fau.de
|
|
|
|
alpine = http://uk.alpinelinux.org/alpine/
|
|
|
|
|
|
|
|
[brl-update]
|
|
|
|
mirrors = https://raw.githubusercontent.com/bedrocklinux/bedrocklinux-userland/0.7/releases, https://raw.githubusercontent.com/bedrocklinux/bedrocklinux-userland/0.7beta/releases
|
|
|
|
|
|
|
|
[miscellaneous]
|
|
|
|
cache-life = 30
|
|
|
|
color = true
|