Fix stateful home files initial folder creation

This commit is contained in:
Fabian Hauser 2022-04-02 18:34:42 +02:00
parent 9be69627fe
commit 354b214655

View file

@ -90,28 +90,35 @@
modem-manager-gui
];
#TODO: Write module
activation.statefulConfigSymlinks =
config.lib.dag.entryAfter [ "writeBoundary" ] ''
set -eo pipefail
#TODO: Write module
activation.statefulConfigSymlinks =
config.lib.dag.entryAfter [ "writeBoundary" ] ''
set -eo pipefail
STATEFUL_CONFS=(
".config/spotify"
".mozilla"
".password-store"
)
for STATEFUL_CONF in ''${STATEFUL_CONFS[@]}; do
if [ -e "$STATEFUL_CONF" ] && [ ! -h "$STATEFUL_CONF" ]; then
echo "File $STATEFUL_CONF already exists, exiting!" >&2
exit 1
STATEFUL_ROOT="$HOME/.stateful"
if [ ! -d "$STATEFUL_ROOT" ]; then
$DRY_RUN_CMD mkdir "$STATEFUL_ROOT"
fi
if [ -h "$STATEFUL_CONF" ]; then
rm "$STATEFUL_CONF"
fi
STATEFUL_CONFS=(
".config/spotify"
".mozilla"
".password-store"
)
for STATEFUL_CONF in ''${STATEFUL_CONFS[@]}; do
if [ -e "$STATEFUL_CONF" ] && [ ! -h "$STATEFUL_CONF" ]; then
echo "File $STATEFUL_CONF already exists, exiting!" >&2
exit 1
fi
$DRY_RUN_CMD ln -s $VERBOSE_ARG "$HOME/.stateful/$STATEFUL_CONF" "$HOME/$STATEFUL_CONF"
done
'';
if [ -h "$STATEFUL_CONF" ]; then
$DRY_RUN_CMD rm "$STATEFUL_CONF"
fi
STATEFUL_CONF_DIR="$STATEFUL_ROOT/$STATEFUL_CONF"
$DRY_RUN_CMD mkdir -p "$STATEFUL_CONF_DIR"
$DRY_RUN_CMD ln -s $VERBOSE_ARG "$STATEFUL_CONF_DIR" "$HOME/$STATEFUL_CONF"
done
'';
};
}