Explain how the tool must work

This commit is contained in:
Solene Rapenne 2022-03-12 09:27:13 +01:00
parent f368a6f0d8
commit 7188a190b1
1 changed files with 55 additions and 1 deletions

View File

@ -1,3 +1,57 @@
# home-impermanence
OpenBSD compatible implementation of the impermanence project from the NixOS community https://nixos.wiki/wiki/Impermanence
OpenBSD compatible implementation of the [impermanence project from
the NixOS community](https://nixos.wiki/wiki/Impermanence)
Such a tool permits to have your $HOME mounted with a memory
filesystem and populate it from an explicit list of files and
directories hooked from a persistent storage directory, the point
is to have a clean and reproducible environment every time you log
in with only the content you selected. No more extra files when
you start a program only once.
# Configuration
The configuration is done in two part, system wide to configure the
**impermanence** service that will mount the memory filesystem and
populate it.
## System wide
Using rcctl: `rcctl set impermanence flags -d /home/persist/ -u
my-user` and `rcctl enable impermanence`.
## User configuration
The user configuration will be done in
`/home/persist/my-user/impermanence.yml` if you chose `-d /home/persist`
for the service and `-u my-user`.
The configuration file describes the size of the memory filesystem,
the list of files and the list of directories that should be added
to the filesystem as symbolic links from the persistent directory.
# home-impermanence rc service
## Restart
The restart parameter to the service will unmount the device and
recreate it, allowing a fresh restart.
## Reload
The reload parameter to the service will check the configuration
file and will create missing links or overwrite files from the
temporary filesystem with a symlink to the persistent storage if
any.
This should be used when you add a file or directory to your
configuration and you want to update your current living system.
## Start
Creates and populates the home filesystem.
## Stop
Umount the home filesystem.