OpenBSD compatible implementation of the impermanence project from the NixOS community https://nixos.wiki/wiki/Impermanence
Go to file
Solene Rapenne 2242e428ad Use my name in LICENSE 2022-03-14 15:55:05 +01:00
tests simple test framework 2022-03-14 15:52:33 +01:00
LICENSE Use my name in LICENSE 2022-03-14 15:55:05 +01:00
Makefile simple test framework 2022-03-14 15:52:33 +01:00
README.md Explain how the tool must work 2022-03-12 09:27:13 +01:00
impermanence.pl working proof of concept version 2022-03-14 15:50:32 +01:00

README.md

home-impermanence

OpenBSD compatible implementation of the impermanence project from the NixOS community

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.