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.

bedrock.conf 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. [locale]
  2. timezone = Europe/Kiev
  3. localegen = en_US.UTF-8 UTF-8
  4. LANG = en_US.UTF-8
  5. [init]
  6. timeout = 3
  7. default = void:/sbin/init
  8. 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
  9. [global]
  10. share = /boot, /dev, /home, /lib/modules, /media, /mnt, /proc, /root, /run, /sys, /tmp
  11. bind = /bedrock, /bedrock/cross, /bedrock/run, /bedrock/strata/bedrock
  12. 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
  13. [symlinks]
  14. #
  15. # Enforce various symlinks are in place at local paths. This is applied at
  16. # stratum enable/repair time.
  17. #
  18. # Keys are local paths, values are symlink contents.
  19. #
  20. # The symlink contents must be absolute paths.
  21. #
  22. #
  23. # Some package managers attempt to update this. They become upset if it is
  24. # created between an unlink() and symlink(), making it unsuitable for
  25. # [etc-symlinks] below.
  26. #
  27. # Different distros use slightly different values here that are all effectively
  28. # the same. Rather than attempt to fight distros in this regard, Bedrock has
  29. # hard-coded internal support for multiple valid values here and may not
  30. # respect changes to this field.
  31. /etc/mtab = /proc/self/mounts
  32. #
  33. # Some distros may expect a file at one path while others expect it at another.
  34. # Standardize the location of global files.
  35. #
  36. /var/lib/dbus/machine-id = /etc/machine-id
  37. /var/run = /run
  38. #
  39. # Various programs need to be configured to properly interact with Bedrock
  40. # subsystems. Point them to Bedrock configuration.
  41. #
  42. /etc/systemd/system/bedrock-fix-mounts.service = /bedrock/share/systemd/bedrock-fix-mounts.service
  43. /etc/systemd/system/bedrock-stop-fuse-filesystems.service = /bedrock/share/systemd/bedrock-stop-fuse-filesystems.service
  44. /etc/systemd/system/multi-user.target.wants/bedrock-fix-mounts.service = /bedrock/share/systemd/bedrock-fix-mounts.service
  45. /etc/systemd/system/multi-user.target.wants/bedrock-stop-fuse-filesystems.service = /bedrock/share/systemd/bedrock-stop-fuse-filesystems.service
  46. /etc/X11/xorg.conf.d/99-bedrock-fonts.conf = /bedrock/run/xorg-fonts
  47. /etc/fonts/conf.d/99-bedrock-fonts.conf = /bedrock/share/fonts/fontconf.conf
  48. /etc/X11/Xsession.d/99bedrock_env = /bedrock/run/profile
  49. /etc/X11/xinit/xinitrc.d/99bedrock_env = /bedrock/run/profile
  50. /etc/bash_completion.d/brl = /bedrock/share/bash/completion/brl
  51. /etc/bash_completion.d/strat = /bedrock/share/bash/completion/strat
  52. /etc/fish/conf.d/99bedrock.fish = /bedrock/run/fprofile
  53. /etc/fish/completions/brl.fish = /bedrock/share/fish/completion/brl.fish
  54. /etc/fish/completions/strat.fish = /bedrock/share/fish/completion/strat.fish
  55. /etc/resolvconf/update.d/00bedrock = /bedrock/share/resolvconf/00bedrock
  56. #
  57. # In general, system software such as Bedrock should not manipulate /usr/local.
  58. # Bedrock should favor configuring /etc files instead.
  59. #
  60. # However, dbus's dbus-daemon-launch-helper seems to ignore /etc/dbus-1/
  61. # configuration extending the search path. See
  62. # https://bugs.freedesktop.org/show_bug.cgi?id=92458 for a discussion on the
  63. # matter. For example:
  64. #
  65. # > Note that d-d-l-h only reads .service files from standard hard-coded paths,
  66. # > not from any additional paths that you might have configured
  67. #
  68. # Since /usr/local/share/dbus is included in the hard-coded paths, is not used
  69. # by most package managers, and is rarely used by end-users, it's the cleanest
  70. # option available to teach dbus about /bedrock/cross.
  71. #
  72. /usr/local/share/dbus-1/system-services = /bedrock/cross/dbus-system
  73. /usr/local/share/dbus-1/services = /bedrock/cross/dbus-session
  74. #
  75. # Some distros use a swap file and include reference to it in their fstab.
  76. # This must be global so that it is valid when using an init from another
  77. # stratum. However, it is not clear if it would work well with any of the
  78. # established techniques in [global]. Instead, symlink it into a known global
  79. # directory.
  80. #
  81. [etc-symlinks]
  82. #
  83. # Dynamically enforce various symlinks are in place at local paths. Any change
  84. # away from specified configuration is immediately undone.
  85. #
  86. # Keys are local paths relative to /etc, values are symlink contents.
  87. #
  88. # The symlink contents must be absolute paths.
  89. #
  90. #
  91. # Some init systems attempt to change these values at boot time, just after
  92. # being enabled. Thus, symlinks-general will not suffice.
  93. #
  94. localtime = /bedrock/run/localtime
  95. environment = /bedrock/run/environment
  96. [etc-inject]
  97. #
  98. # Not all programs can be adequately/reliably configured by creating new,
  99. # cleanly isolated configuration files. Instead, a configuration file must be
  100. # extended to include desired configuration without clobbering its stratum
  101. # local configuration. Typically these configuration files are in /etc.
  102. #
  103. # Bedrock ensures that, should certain files exist in /etc, they will include
  104. # content specified at another file path. If the desired content is not found
  105. # in the file it is automatically appended to the end.
  106. #
  107. # The keys are file paths relative to /etc, and the values are paths to files
  108. # whose content must be included if the key's file exists in /etc.
  109. #
  110. # If you alter either the key/values in this section, or the actual content of
  111. # the values, run `brl apply` to apply the change. Do this before rebooting
  112. # to ensure any old content is removed.
  113. #
  114. sudoers = /bedrock/share/sudo/include-bedrock
  115. profile = /bedrock/share/shells/include-bedrock
  116. #
  117. # etc-inject only injects existing files and does create make files in order to
  118. # avoid creating a file a package manager does not expect. Different distro
  119. # zsh packages provide different files, requiring multiple zsh file injections.
  120. #
  121. zprofile = /bedrock/share/zsh/include-bedrock
  122. zshenv = /bedrock/share/zsh/include-bedrock
  123. zsh/zprofile = /bedrock/share/zsh/include-bedrock
  124. zsh/zshenv = /bedrock/share/zsh/include-bedrock
  125. [env-vars]
  126. #
  127. # Many programs search environment variables consisting of a (usually colon
  128. # separated) list of directories. We can use these to teach these programs
  129. # about cross-stratum content.
  130. #
  131. # These variables are typically searched in listed order. To manage this
  132. # order, the configuration below is broken up into three sections for each
  133. # variable:
  134. #
  135. # - PREFIX:<envvar> entries. Bedrock ensures these are at the front of the
  136. # environment variable. These are used to ensure a given resource is provided
  137. # by a specific stratum. For example, this ensures `reboot` is provided by the
  138. # init stratum.
  139. #
  140. # - INFIX:<envvar> entries. These are used to ensure a given entry comes from
  141. # the local stratum. For example, some software may request to be launched by
  142. # sh via `#!/usr/bin/env sh` but utilize bash-isms which are valid on some
  143. # distros which symlink `sh` to `bash`, but not others which don't. Such
  144. # software must use the local stratum's `sh` to ensure the `bash` shell they
  145. # expect is utilized.
  146. #
  147. # - SUFFIX:<envvar> entries. Bedrock ensures these are at the end of the
  148. # environment variable. Given the PREFIX:<envvar> (specific stratum) and
  149. # INFIX:<envvar> (local stratum) do not contain the item, it likely does not
  150. # matter which stratum provides it, and so this contains resources from any
  151. # strata which provide the resource.
  152. #
  153. PREFIX:PATH = /bedrock/cross/pin/bin:/bedrock/bin
  154. INFIX:PATH = /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
  155. SUFFIX:PATH = /bedrock/cross/bin
  156. PREFIX:MANPATH = /bedrock/cross/pin/man:/bedrock/share/man
  157. INFIX:MANPATH = /usr/local/share/man:/usr/share/man:/bedrock/cross/man
  158. SUFFIX:MANPATH = /bedrock/cross/man
  159. PREFIX:INFOPATH = /bedrock/cross/pin/info:/bedrock/share/info
  160. INFIX:INFOPATH = /usr/local/share/info:/usr/share/info
  161. SUFFIX:INFOPATH = /bedrock/cross/info
  162. PREFIX:XDG_DATA_DIRS = /bedrock/cross/pin
  163. INFIX:XDG_DATA_DIRS = /usr/local/share:/usr/share
  164. SUFFIX:XDG_DATA_DIRS = /bedrock/cross
  165. PREFIX:TERMINFO_DIRS = /bedrock/cross/pin/terminfo
  166. INFIX:TERMINFO_DIRS = /usr/local/share/terminfo:/usr/share/terminfo
  167. SUFFIX:TERMINFO_DIRS = /bedrock/cross/terminfo
  168. PREFIX:fpath = /bedrock/share/zsh/completion
  169. SUFFIX:fpath = /bedrock/cross/zsh-completion
  170. [restriction]
  171. restrict = apt-key, debuild, dpkg-buildpackage, gdb, git, kiss, makepkg, pkgmk, prt-get, rpmbuild
  172. [cross]
  173. priority = void, arch
  174. [cross-pass]
  175. man = $MANPATH
  176. info = $INFOPATH
  177. icons = $XDG_DATA_DIRS/icons
  178. pixmaps = $XDG_DATA_DIRS/pixmaps
  179. zoneinfo = /usr/share/zoneinfo
  180. terminfo = $TERMINFO_DIRS
  181. src = /usr/local/src, /usr/src
  182. bash-completion = /usr/share/bash-completion
  183. zsh-completion = $fpath
  184. firmware = /lib/firmware/updates/UTS_RELEASE, /lib/firmware/updates, /lib/firmware/UTS_RELEASE, /lib/firmware
  185. [cross-bin]
  186. bin = $PATH
  187. #
  188. # These programs are strongly related to the init system. If the stratum
  189. # providing init provides these commands, that version should take priority.
  190. # Typical Bedrock systems have /bedrock/pin/bin/ at the front of the $PATH.
  191. #
  192. pin/bin/systemctl = init:$PATH/systemctl
  193. pin/bin/rc-service = init:$PATH/rc-service
  194. pin/bin/rc-status = init:$PATH/rc-status
  195. pin/bin/rc-update = init:$PATH/rc-update
  196. pin/bin/rc-udevadm = init:$PATH/rc-udevadm
  197. pin/bin/sv = init:$PATH/sv
  198. pin/bin/poweroff = init:$PATH/poweroff
  199. pin/bin/reboot = init:$PATH/reboot
  200. pin/bin/shutdown = init:$PATH/shutdown
  201. pin/bin/halt = init:$PATH/halt
  202. # [restriction]/restrict items are only restricted if run through strat or
  203. # cross. List any such items here to ensure they are run through cross to be
  204. # restricted.
  205. #
  206. # If a local instance is available, that is preferred over crossing strata
  207. # boundaries, just in case there is some dependency on its specific quirks.
  208. # Ensure all items here use the local alias. If the item is not available
  209. # locally, the call will fall through to un-pinned `bin` above.
  210. pin/bin/apt-key = local:$PATH/apt-key
  211. pin/bin/debuild = local:$PATH/debuild
  212. pin/bin/dpkg-buildpackage = local:$PATH/dpkg-buildpackage
  213. pin/bin/gdb = local:$PATH/gdb
  214. pin/bin/git = local:$PATH/git
  215. pin/bin/kiss = local:$PATH/kiss
  216. pin/bin/makepkg = local:$PATH/makepkg
  217. pin/bin/pkgmk = local:$PATH/pkgmk
  218. pin/bin/prt-get = local:$PATH/prt-get
  219. pin/bin/rpmbuild = local:$PATH/rpmbuild
  220. [cross-ini]
  221. applications = $XDG_DATA_DIRS/applications
  222. xsessions = init:$XDG_DATA_DIRS/xsessions, $XDG_DATA_DIRS/xsessions
  223. wayland-sessions = init:$XDG_DATA_DIRS/wayland-sessions, $XDG_DATA_DIRS/wayland-sessions
  224. dbus-system = /usr/share/dbus-1/system-services
  225. dbus-session = /usr/share/dbus-1/services
  226. [cross-font]
  227. fonts = /usr/share/fonts
  228. [pmm]
  229. user-interface = xbps
  230. priority = void:, arch:yay
  231. ignore-non-system-package-managers = false
  232. unprivileged-user = $SUDO_USER
  233. warn-about-skipping-package-managers = true
  234. cache-package-manager-list = true
  235. cache-package-database = true
  236. [brl-fetch-mirrors]
  237. mirror-prefix = https://ftp.fau.de
  238. alpine = http://uk.alpinelinux.org/alpine/
  239. [brl-update]
  240. mirrors = https://raw.githubusercontent.com/bedrocklinux/bedrocklinux-userland/0.7/releases, https://raw.githubusercontent.com/bedrocklinux/bedrocklinux-userland/0.7beta/releases
  241. [miscellaneous]
  242. cache-life = 30
  243. color = true