aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2017-04-12 21:36:02 +0300
committerIgor Pashev <pashev.igor@gmail.com>2017-04-12 21:43:06 +0300
commit53476b21ae669d37687d1d7051df78b1f866bafa (patch)
tree286410619effc5ce7f2f9525364d8ffd8ec20410 /README.md
parentf9af3ca3a081d5b357628e8d8b239c26d316518f (diff)
downloadnixsap-53476b21ae669d37687d1d7051df78b1f866bafa.tar.gz
README: about and some features
Diffstat (limited to 'README.md')
-rw-r--r--README.md58
1 files changed, 58 insertions, 0 deletions
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 = [ <nixsap> ];
+
+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
=====