my harness for niri
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 37 lines 1.3 kB view raw
1FROM ubuntu:24.04 2 3ENV DEBIAN_FRONTEND=noninteractive 4 5RUN apt-get update && apt-get install -y \ 6 sudo curl wget git vim nano jq \ 7 python3 python3-pip \ 8 ca-certificates \ 9 && rm -rf /var/lib/apt/lists/* 10 11ARG AGENT_USER=niri 12ARG AGENT_UID=1000 13ARG AGENT_GID=1000 14RUN set -eux; \ 15 if getent group "${AGENT_GID}" >/dev/null 2>&1; then \ 16 group_name="$(getent group "${AGENT_GID}" | cut -d: -f1)"; \ 17 else \ 18 group_name="${AGENT_USER}"; \ 19 groupadd -g "${AGENT_GID}" "${group_name}"; \ 20 fi; \ 21 existing_user="$(getent passwd "${AGENT_UID}" | cut -d: -f1 || true)"; \ 22 if [ -n "${existing_user}" ] && [ "${existing_user}" != "${AGENT_USER}" ]; then \ 23 usermod -l "${AGENT_USER}" "${existing_user}"; \ 24 usermod -d "/home/${AGENT_USER}" -m "${AGENT_USER}"; \ 25 elif ! id -u "${AGENT_USER}" >/dev/null 2>&1; then \ 26 useradd -m -u "${AGENT_UID}" -g "${group_name}" -s /bin/bash "${AGENT_USER}"; \ 27 fi; \ 28 usermod -u "${AGENT_UID}" "${AGENT_USER}" 2>/dev/null || true; \ 29 usermod -g "${AGENT_GID}" "${AGENT_USER}"; \ 30 echo "${AGENT_USER} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers; \ 31 mkdir -p "/home/${AGENT_USER}"; \ 32 chown -R "${AGENT_UID}:${AGENT_GID}" "/home/${AGENT_USER}" 33 34WORKDIR /home/$AGENT_USER 35USER $AGENT_USER 36 37CMD ["sleep", "infinity"]