docs.rs failed to build tatara-os-0.2.158
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
tatara-os — our NixOS, expressed in Rust + tatara-lisp
A full Linux operating system authored as a single (defsystem …) form.
Runs on the Linux kernel; reuses nixpkgs for userspace today (via
tatara-pkgs::NixpkgsBridge); transliterates to pure tatara-lisp over
time.
Type surface
SystemConfig
├── hostname, system
├── kernel : KernelSpec (bridged by default → linuxPackages.kernel)
├── bootloader : BootloaderSpec (Grub | SystemdBoot | Uboot | None)
├── init : InitSystem (Systemd | S6 | OpenRC)
├── services : Vec<ServiceSpec>
├── users : Vec<UserSpec>
├── filesystems : Vec<FilesystemSpec>
└── environment : EnvSpec (etc files, path, locale, timezone)
Synthesis
SystemSynthesizer (impl of tatara_nix::Synthesizer) takes a
SystemConfig, walks it, and produces a SystemClosure:
- The kernel derivation
- An
/etcderivation (hostname file, os-release, passwd, group) - A systemd-unit derivation per service
- A bootloader-config derivation
- An activation script — the shell script
switch-to-configurationcalls to move the running system to the configured state. - A top-level profile derivation that composes all of the above into one content-addressed root.
Lisp authoring