From 53476b21ae669d37687d1d7051df78b1f866bafa Mon Sep 17 00:00:00 2001 From: Igor Pashev Date: Wed, 12 Apr 2017 21:36:02 +0300 Subject: README: about and some features --- README.md | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) (limited to 'README.md') diff --git a/README.md b/README.md index c42415f..ab5bba2 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,14 @@ +About +===== + +Nixsap is a set of modules built on top of +[NixOS](https://nixos.org/)/[Nixpkgs](https://nixos.org/nixpkgs/). Nixsap +provides NixOS modules in the `nixsap` "namespace", e. g. `nixsap.apps.mariadb` +or `nixsap.system.users`, and adds or overrides some packages in Nixpkgs. +From vanila Nixpkgs, Nixsap relies only on basic services like systemd, ssh, ntpd +and package set (extenting and overriding it). + + Requirements ============ @@ -11,6 +22,53 @@ This project is under the MIT license (see [LICENSE](LICENSE)), unless stated otherwise in individual files. + +Features +======== + +Plug & Play +----------- + +Each module under the [modules](./modules) directory is automatically available. +When creating a new machine just use + + imports = [ ]; + +Each package `foo` under the [modules/pkgs](./modules/pkgs) is automatically available as `pkgs.foo`. +For example: + + modules/pkgs/writeXML.nix => pkgs.writeXML + modules/pkgs/rdsdump/default.nix => pkgs.rdsdump + +You can use this technics in your own projects. + + +Automatic unix user id +----------------------- + +To create daemon users just add their names into the list +`nixsap.system.users.daemons`. List `nixsap.system.users.normal` does the +same for users with login shell, and `nixsap.system.groups` - for unix groups. +See examples in the [applications directory](./modules/apps) and implementation +in [modules/system/users.nix](modules/system/users.nix). This feature is +used throughout `nixsap.apps`. + +Examples: + + # id icinga + uid=1240920351(icinga) gid=100(users) groups=21(proc),100(users) + + # id pashev + uid=1141737888(pashev) gid=100(users) groups=100(users),21(proc),62(systemd-journal),1061782283(sysops) + + # id jenkins-dumpoo + uid=1201814562(jenkins-dumpoo) gid=1201814562(jenkins-dumpoo) groups=96(keys),1201814562(jenkins-dumpoo) + + # id mariadb + uid=1213117043(mariadb) gid=1213117043(mariadb) groups=96(keys),1213117043(mariadb) + + + Ideas ===== -- cgit v1.2.3