design through readme
This commit is contained in:
parent
b804473add
commit
6ccc1b006b
83
README.md
83
README.md
|
@ -1,4 +1,83 @@
|
|||
# nix-amer
|
||||
# | nix-amer |
|
||||
|
||||
Configuration automation tool.
|
||||
```yaml
|
||||
name: nix-amer
|
||||
version: 0.1.0
|
||||
description: Configuration automation tool
|
||||
author: xdrm-brackets
|
||||
```
|
||||
|
||||
>Need to automate the setup of your linux server or desktop ? This tool is made for you.
|
||||
|
||||
|
||||
|
||||
[TOC]
|
||||
|
||||
|
||||
|
||||
----
|
||||
|
||||
### I. Build Format
|
||||
Your whole setup remains in 1 only build file. Each line contains one instruction, the list of instructions is listed below.
|
||||
|
||||
|
||||
|
||||
#### 1) package management
|
||||
|
||||
These instructions allow you to interact with the package system available on your system.
|
||||
|
||||
```
|
||||
ins <packages>
|
||||
```
|
||||
Install the listed packages. If more than one, use spaces to separate package names.
|
||||
|
||||
```
|
||||
upd
|
||||
```
|
||||
Update/upgrade your system.
|
||||
|
||||
```
|
||||
del <packages>
|
||||
```
|
||||
Remove the listed packages. If more than one, use spaces to separate package names.
|
||||
|
||||
|
||||
|
||||
#### 3) update configuration files
|
||||
|
||||
This instruction allow you to update configuration files without the need of an editor and in a developer-readable manner.
|
||||
|
||||
```
|
||||
cnf <expr> <content>
|
||||
```
|
||||
Update a configuration file where \<expr\> is a dot-separated human-readable [path expression](#ii-path-expressions) and \<content\> is a string or a file. If a string is given, it will override/add the field ; if a file is given the configuration file will be replaced by it.
|
||||
|
||||
|
||||
```
|
||||
cnf <expr>
|
||||
```
|
||||
Remove a configuration field matching the \<expr\> path.
|
||||
|
||||
|
||||
#### 4) service management
|
||||
|
||||
These instructions allow you to interact with the service system (_cf. systemd_).
|
||||
|
||||
```
|
||||
ser [enable|start|stop|restart|reload] <services>
|
||||
```
|
||||
Perform the action on services. If more than one, use spaces to separate service names.
|
||||
|
||||
|
||||
|
||||
----
|
||||
|
||||
### II. Path Expressions
|
||||
|
||||
The syntax is pretty fast-forward, it uses 3 levels to find your configuration line : `subject@alt.field`.
|
||||
|
||||
| Field | Description | Example |
|
||||
| --------- | ------------------------------------ | -------------------------- |
|
||||
| `subject` | The name of the program to configure | `sshd`, `httpd`, `nginx` |
|
||||
| `alt` | Alternative file if there is more than one for a package. If **omitted** it will default to the _main_ configuration file. | `httpd@main`, `http@ports` |
|
||||
| `field` | Field is a dot-separated chain of strings that match with a configuration field. If **ommited**, the \<value\> will just be added at the end of the configuration file. In the same way if the field does not point to a raw field but a parent or group containing fields, the \<value\> will be added at the end. | `sshd.AllowGroups`, `nginx.http.gzip` |
|
Loading…
Reference in New Issue