Skip to content

Updated README for first release#281

Merged
zimbatm merged 21 commits intomainfrom
jeffcogswell/update_readme
Nov 20, 2025
Merged

Updated README for first release#281
zimbatm merged 21 commits intomainfrom
jeffcogswell/update_readme

Conversation

@jeffcogswell
Copy link
Copy Markdown
Contributor

Updated readme with examples for getting started.

More coming soon but this is the start.

@jeffcogswell jeffcogswell changed the title wip: Updated README for quick release wip: Updated README for first release Nov 13, 2025
Copy link
Copy Markdown
Member

@brianmcgee brianmcgee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some nits, some aesthetic things to keep everything consistent.

Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
@zimbatm zimbatm changed the title wip: Updated README for first release Updated README for first release Nov 14, 2025
Comment thread README.md Outdated
Comment thread README.md Outdated
outputs = { self, nixpkgs, system-manager }: {
systemConfigs.default = system-manager.lib.makeSystemConfig {
modules = [
./modules
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we can make something more basic like in one file ?

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    system-manager = {
      url = "github:numtide/system-manager";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs =
    {
      self,
      nixpkgs,
      system-manager,
    }:
    {
      systemConfigs.default = system-manager.lib.makeSystemConfig {
        modules = [
          (
            { config, pkgs, ... }:
            {
              nixpkgs.hostPlatform = "x86_64-linux";
              environment.systemPackages = with pkgs; [
                btop # Beautiful system monitor
                bat # Modern 'cat' with syntax highlighting
              ];
            }
          )
        ];
      };
    };
}

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Originally I did it this way, but somebody else in the project suggested I break it up so that the default.nix file bears some resemblance to what we use over in NixOS. I'm personally good with either, but not sure how to proceed... One person makes one suggestion, another person makes a different suggestion, and both seem equally good. 😄

Comment thread README.md
jeffcogswell and others added 13 commits November 18, 2025 11:27
Co-authored-by: Jonas Chevalier <zimbatm@zimbatm.com>
Co-authored-by: Brian McGee <brian@bmcgee.ie>
Co-authored-by: Brian McGee <brian@bmcgee.ie>
Co-authored-by: Brian McGee <brian@bmcgee.ie>
Co-authored-by: Brian McGee <brian@bmcgee.ie>
Co-authored-by: Brian McGee <brian@bmcgee.ie>
Co-authored-by: Brian McGee <brian@bmcgee.ie>
Co-authored-by: Brian McGee <brian@bmcgee.ie>
Copy link
Copy Markdown
Member

@zimbatm zimbatm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some small nits and then let's merge this. We can always do another pass later.

Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md
...
}:
let
system = "x86_64-linux";
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like this variable isn't being used.

Comment thread README.md
# Place additional settings here:
{
nix.settings.experimental-features = "nix-command flakes";
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason to not add it to the cli_tools.nix file?

Comment thread README.md
```

> [!WARNING]
> This is unsupported and untested. Use at your own risk.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This warning still applies.

Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
This project provides a basic method to manage system configuration using [Nix][nixos]
on any Linux distribution.
It builds on the many [modules that already exist in NixOS](https://github.com/NixOS/nixpkgs/tree/master/nixos/modules).
System Manager brings the power of NixOS-style declarative configuration to other Linux distributions. Describe what your system should look like, by specifying packages, services, and settings all in Nix, then apply it safely and atomically with a single command. Each change is reproducible and soon will be rollback-ready, just like NixOS generations.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're trying to talk to a public that is not necessarily deep into Nix. I think the intro should talk to normal sysadmins. Why should they care about this tool? What is it?

System Manager is a tool to configure Linux machines.

Unlike Chef, Puppet and Ansible, it only controls a small subset, and most of its changes are done in an immutable layer, thanks to the power of Nix.

@zimbatm
Copy link
Copy Markdown
Member

zimbatm commented Nov 18, 2025

Let's move all the advanced examples in the doc once it exists.

Users coming in the README are mostly trying to:

  1. Figure out if the project is for them. So quickly get an understanding of what the tool is, what are the features, what is the status of development.
  2. Want to orient themselves: find the doc, how to contribute, that kind of things.

The getting started also acts of a selling pitch to illustrate what the tool can do, and why it's cool.

@zimbatm zimbatm merged commit 5d9c0a3 into main Nov 20, 2025
2 checks passed
@zimbatm zimbatm deleted the jeffcogswell/update_readme branch November 20, 2025 10:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants