About
The bones utility is written in POSIX shell and can clone,
update, and install skeletons derived from a git repository.
It is inspired by a similar concept from UNIX operating systems —
where a skeleton directory can serve as the basis for a new user’s
${HOME}
directory.
Roles
User
The following commands are restricted to members of the _bones
group.
The commands are delegated to the _bones
user via the
doas(1) command:
-
bones clone
Clones into /home/_bones/.local/share/skeletons -
bones pull
Pulls updates -
bones rm
Removes the skeleton repository -
bones install
Installs into a target directory
Configuration
Superuser
After installation is complete the bones environment should be setup.
That includes the creation of the _bones
user and group, as well as
the creation of /home/_bones
. A user should also be added to the
_bones
group. The process is mostly automated, and the following
commands should be run as asuperuser:
-
bones setup
Creates the_bones
user and group -
bones teardown
Tears down the_bones
user and group -
pw groupmod _bones -m
<user>
Add a user to the_bones
group.
Install
Clone
The first step is to clone the repository.
Afterwards bones can be installed (and deinstalled) through make:
git clone https://github.com/0x1eef/bones
cd bones
doas -u root -- make install
doas -u root -- make deinstall