summary refs log blame commit diff
path: root/pkgs/build-support/setup-hooks/move-systemd-user-units.sh
blob: 5963d87c751521f253d2558f9cb9ff4c290871f7 (plain) (tree)
























                                                                      
#!/usr/bin/env bash

# This setup hook, for each output, moves everything in
# $output/lib/systemd/user to $output/share/systemd/user, and replaces
# $output/lib/systemd/user with a symlink to
# $output/share/systemd/user.

fixupOutputHooks+=(_moveSystemdUserUnits)

_moveSystemdUserUnits() {
    if [ "${dontMoveSystemdUserUnits:-0}" = 1 ]; then return; fi
    if [ ! -e "${prefix:?}/lib/systemd/user" ]; then return; fi
    local source="$prefix/lib/systemd/user"
    local target="$prefix/share/systemd/user"
    echo "moving $source/* to $target"
    mkdir -p "$target"
    (
      shopt -s dotglob
      for i in "$source"/*; do
          mv "$i" "$target"
      done
    )
    rmdir "$source"
    ln -s "$target" "$source"
}