Conversation
brianmcgee
left a comment
There was a problem hiding this comment.
Some nits, some aesthetic things to keep everything consistent.
| outputs = { self, nixpkgs, system-manager }: { | ||
| systemConfigs.default = system-manager.lib.makeSystemConfig { | ||
| modules = [ | ||
| ./modules |
There was a problem hiding this comment.
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
];
}
)
];
};
};
}There was a problem hiding this comment.
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. 😄
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>
zimbatm
left a comment
There was a problem hiding this comment.
Some small nits and then let's merge this. We can always do another pass later.
| ... | ||
| }: | ||
| let | ||
| system = "x86_64-linux"; |
There was a problem hiding this comment.
It looks like this variable isn't being used.
| # Place additional settings here: | ||
| { | ||
| nix.settings.experimental-features = "nix-command flakes"; | ||
| } |
There was a problem hiding this comment.
Is there a reason to not add it to the cli_tools.nix file?
| ``` | ||
|
|
||
| > [!WARNING] | ||
| > This is unsupported and untested. Use at your own risk. |
| 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. |
There was a problem hiding this comment.
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.
|
Let's move all the advanced examples in the doc once it exists. Users coming in the README are mostly trying to:
The getting started also acts of a selling pitch to illustrate what the tool can do, and why it's cool. |
Updated readme with examples for getting started.
More coming soon but this is the start.