NAME
world —
MOUSE base system
DESCRIPTION
World is the coherent set of software, policy, source, and documentation shipped as the MOUSE system. It is deliberately selected rather than a complete NetBSD userland. A component belongs in World when MOUSE needs it for boot, recovery, administration, development, self-maintenance, or the standard desktop. User-selected software belongs in Ports instead.
World owns the boot-critical root directories and /usr. World supplies the initial contents of /etc; the machine owns them after installation and in-place upgrades preserve them. Its filesystem boundary is defined by hier(7).
COMPOSITION
- NetBSD substrate
- The NetBSD 11 kernel ABI, libc and system libraries, static rescue commands, selected native commands, administration tools, networking, OpenSSH, and ZFS.
- MOUSE components
- cheesed(8), service policy, installation policy, and system configuration. World service definitions are installed below /usr/lib/mouse/init.d; local overrides belong in /etc/init.d. The default World also includes the MERDE desktop.
- Selected upstream components
- OpenRC, tcsh, OpenDoas, LLVM and Clang, GNU make, pkgconf, Python, curl, Git, CMake, and the libraries needed by Ports builds. The default World also includes LiDM, Havoc, and the libraries needed by the standard desktop.
- Source and documentation
- The MOUSE source tree is installed at /usr/src. Manual pages document both MOUSE-owned interfaces and the selected upstream interfaces exposed by World.
LINKAGE
Every executable ELF file in World is statically linked. World also supplies shared libraries, static libraries, headers, and build metadata needed to compile and run Ports. Ports choose their own linkage and are not part of the World linkage guarantee.
RATIONALE
World executables are statically linked to keep the base system conceptually slim and to remove avoidable runtime failure modes caused by missing, incompatible, or incorrectly selected shared libraries. World is expected to remain usable for boot, recovery, and maintenance even when optional software is broken.
This policy deliberately ends at the World boundary. MOUSE supplies shared libraries, headers, and build tools because the owner of the machine must remain free to choose how Ports are built and linked. Extending the static-linkage guarantee to Ports would replace user choice with World policy without making World itself more reliable.
MOUSE is a workstation operating system, so the default World includes a graphical login, the MERDE session, and a terminal rather than treating a bare terminal login as a complete default installation. The standard desktop is intentionally small and bounded; applications selected for a particular user's work still belong in Ports.
Set INCLUDE_MERDE=0 when building to omit MERDE, Havoc, LiDM, and their service policy and start a console login instead. World never includes pkgsrc or its mutable package state. Bootstrap it into /usr/local after installation when optional software is wanted; see ports(7). World retains its development environment and NetBSD package utilities.
World contains only system and service accounts. Ordinary accounts express machine-local policy, so the owner creates the first account after bootstrapping a system. World itself remains account-neutral.
COMMAND MAP
- Ordinary use
- intro(1) indexes ordinary commands. Begin with sh(1), tcsh(1), vi(1), man(1), and apropos(1).
- Boot and services
- cheesed(8) is PID 1, rc.conf(5) defines persistent enablement, and openrc(8), rc-service(8), and rc-status(8) operate the resulting service graph.
- Accounts and privilege
- See login(1), passwd(1), doas(1), doas.conf(5), useradd(8), and groupadd(8).
- Filesystems and storage
- See mount(8), umount(8), disklabel(8), gpt(8), zpool(8), zfs(8), and mount_zfs(8).
- Networking
- See wifi(7), ifconfig(8), route(8), dhcpcd(8), wpa_supplicant(8), ssh(1), and sshd(8).
- Development and source
- BSD make is make(1); the
bmakecommand drives the MOUSE graph. GNU make is gmake(1) and remains available for upstream projects that require it. World also supplies Clang, pkgconf, zstd, Python, CMake, Git, curl, binutils-compatible tools, headers, libraries, and the source at /usr/src. - Desktop
- When the MERDE desktop stack is included, lidm(1) starts a graphical or terminal login. The graphical path is documented by havoc(1), merde(1), merde-config(5), merdectl(1), and the MERDE companion pages linked from merde(1).
CONSTRUCTION
The repository bmake graph and its public targets are documented
by build(7). On a build host, bmake build
constructs the cached build outputs and bmake world
extracts the resulting World archive below
build/${MOUSE_ARCH}/world.
SEE ALSO
havoc(1), merde(1), build(7), development(7), hier(7), mouse(7), ports(7), wifi(7), cheesed(8)