Skip to content

Latest commit

 

History

History
150 lines (123 loc) · 5.29 KB

File metadata and controls

150 lines (123 loc) · 5.29 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

  • Breaking change: we disabled the nix module by default. To enable it, set nix.enable = true in your configuration. This allows users to choose their preferred Nix installation method and avoids conflicts with existing Nix setups. (#408)

1.1.0 - 2026-03-12

Added

  • User and group management via userborn integration (#266)
  • Secrets management via sops-nix integration (#270)
  • Container test driver with Ubuntu support, testinfra integration, interactive debugging (#333)
  • Default value for --flake CLI option set to ~/.config/system-manager/flake.nix (#326)
  • target_host is now global CLI argument (#340)
  • Speed up system-manager build using Numtide cache substituter (#337)
  • Support running system-manager from macOS to deploy configurations to Linux (#325)
  • Reduce the number of flake inputs using a sub-flake (#329)
  • Add mocks for networking.firewall options (#356)
  • Support systemd.maskedUnits option (#361)
  • Add replaceExisting option to environment.etc entries to backup and replace existing files that are not managed by system-manager (#359)
  • Support systemd.packages option (#372)
  • Handle wildcards in environment.etc entries (#373)
  • Enable systemd unit overrides (#376)
  • Support environment.extraInit option (#389)
  • Support system.checks option (#390)
  • Support security.wrappers (#391)

Fixed

  • Fix directory/file/symlink creation order in etc (#374)
  • Remove unused .mode/.uid/.gid sidecar files from etc static environment (#344)
  • Remove multiple eval warnings

Documentation

  • Reorganize documentation with tutorials, how-to guides, explanations, and reference pages
  • Update Nix installation instructions to recommend nix-installer
  • Add users, groups example and documentation
  • Add container test driver documentation
  • Improve remote deployment documentation
  • Add CONTRIBUTING.md with developer guidelines
  • Add supported platforms reference page
  • Add file permissions and ownership reference
  • Auto-generated module options reference integrated into MkDocs
  • Document how to import upstream NixOS modules

Contributors

Thanks to all the contributors who made this release possible:

  • Aaron Honeycutt
  • David Chocholatý
  • Francisco-Andre-Martins
  • Jean-François Roche
  • Jeffrey Cogswell
  • Jonas Chevalier
  • Julien Malka
  • picnoir
  • Rowan Amber-Jones

1.0.0 - 2026-01-06

Added

  • Init subcommand for initializing system-manager configurations (#210)
  • Automated NixOS module compatibility testing tools
  • Cachix substituter configured in nix config (#280)
  • Nix settings configuration support (#257)
  • Manual documentation with mdBook (#206)
  • Support for implicit systemConfigs.${currentSystem}.* paths (#235)
  • Support for attribute sets with string keys (#220)
  • File ownership (uid/gid) support for /etc files (#191, #192)
  • Support for nixpkgs.config configuration (#164)
  • Support for buildPlatform, hostPlatform, and overlays (#184)
  • Support for systemd.tmpfiles.settings (#148)
  • Overlay for easier integration with other projects (#125)
  • SELinux support documentation
  • allowAnyDistro option for unsupported distributions (#85)
  • Debug output showing nix commands being run
  • Remote deployment via --target-host option
  • System activation and deactivation scripts
  • State file for tracking generations
  • Assertions support for pre-activation checks

Fixed

  • Return an error if the activation of tmp files fails (#255)
  • Cross-compilation issues with makeBinaryWrapper (#229, #234)
  • Pass hostname as a quoted string (#243)
  • Fix passwd --stdin not available on old Ubuntu versions
  • Pre-populate script name (#99)
  • Use types.attrs instead of nonexistent types.freeform (#53)
  • Adapted systemd module after upstream shellcheck changes
  • Switched to nixfmt for code formatting
  • Improved CLI API with better subcommands
  • Store profile in /nix/var/nix/profiles subdirectory
  • Refactored systemd activation logic using DBus

Security

  • Avoid unmanaged file overwrites by checking if existing files are managed

Core Features Implemented

  • Configuration of files under /etc with proper state tracking
  • systemd service management with DBus integration
  • systemd tmpfiles.d support (#27)
  • Flake-based configuration system
  • Generation management with GC root registration
  • Activation/deactivation lifecycle management
  • Remote deployment support

Contributors

Thanks to all the contributors who made this release possible:

  • Aaron Andersen
  • Adrian Hesketh
  • Alix Brunet
  • bryango
  • commiterate
  • eureka-cpu
  • ginkogruen
  • Jean-François Roche
  • Jeffrey Freckleface Cogswell
  • Jonas Chevalier
  • Julien Malka
  • Michal Sojka
  • Mike Lloyd
  • mjones-vsat
  • Nick Curran
  • Nikolay Yakimov
  • oluceps
  • Phani Rithvij
  • Pierre-Etienne Meunier
  • Ramses
  • Silver
  • Sofie
  • Steve Dodd
  • Yvan Sraka