These were deleted from this repo in 425b173 ("moved system configs
completely to separate repo") and never faithfully migrated there --
the separate system repo's servers/kadmin.scm turned out to be a
standalone kdb5_util-based placeholder that doesn't match what's
actually deployed (a kldap-configuration-backed KDC sharing the LDAP
server's directory). Restored/rebuilt against current APIs:
- base-server.scm: generic base server, new
- ldap.scm: restored from 425b173^, unchanged (no seed data -- the
real server already has a populated directory tree)
- kerberos.scm: restored from 425b173^ (was machines/kerberos.scm),
the real LDAP-backed KDC config, updated to use this channel's
current (metznet services kdc)/(metznet packages kdc) instead of
the inline definitions that file had before they were split out
- otto.scm: ported from the system repo's clients/otto.scm (Noah's
laptop), updated for renamed/restructured upstream packages
(texlive -> texlive-scheme-full, gcc-arm-none-eabi-* -> constructor
functions) and a sddm/xorg-server service conflict. firefox and the
ARM toolchain are left out of its package list for now -- both need
a from-scratch LLVM/Clang build with no available substitute, which
is impractical for routine docker-image testing; see docker/README.md
for how to add them back for a real deploy.
Each file is both a proper channel module (define-module + #:export,
so `(metznet machines ldap)` etc. are importable/reusable) and a
directly buildable script (ends with a bare reference to its exported
operating-system value, which `guix system build FILE.scm` requires).
- openldap-slapd: GCC 14 turned several of its autoconf-era C
conformance checks (implicit-function-declaration, implicit-int,
int-conversion, incompatible-pointer-types) into hard errors by
default, breaking the configure-time regex/pthread_detach checks and
a real build error in valsort.c. Force -std=gnu17 plus matching
-Wno-* flags. Also add libxcrypt as an input since glibc dropped
crypt().
- sssd-service-type's nscd-service-type extension was hardcoded to the
bare `sssd` package instead of the configurable `sssd` field on
sssd-configuration -- a real bug, not just a compat shim.
- Add metznet-sssd/metznet-kitty package overrides: strip sssd's
Makefile.am `--install-layout=deb` flag (setuptools dropped support),
and disable tests for both -- the failures are specific to the
Docker/Rosetta test environment (O_TMPFILE atomicity, a cmocka
buffer test), not real regressions. Build-time only, no runtime
behavior change.
- base-system.scm: extend %metznet-desktop-services with the
nonguix substitute-key config, tun udev rule, and network-manager
vpn-plugin wiring that only existed in the old separate system repo.
That package moved out of (gnu packages golang)/(gnu packages
golang-check) upstream; go-github-com-azure-go-ntlmssp's native-inputs
referenced it without an import.
isc-dhcp's client service type was removed upstream; dhcpcd-service-type
is the modern replacement and is a drop-in default (dhcpcd-configuration
has the same bare-service defaults).
nss-certs moved out of (gnu packages certs) upstream; both aws.scm and
base-system.scm referenced it without importing the module it's
actually defined in now.