@@ -11,7 +11,7 @@ USER $DEVBOX_USER
1111
1212RUN wget --output-document=/dev/stdout https://nixos.org/nix/install | sh -s -- --no-daemon
1313RUN . ~/.nix-profile/etc/profile.d/nix.sh
14- ENV PATH="/home/${DEVBOX_USER}/.nix-profile/bin:$PATH"
14+ ENV PATH="/home/${DEVBOX_USER}/.local/bin:/home/${DEVBOX_USER}/. nix-profile/bin:$PATH"
1515ENV HM_FLAKE_URI=github:Ramblurr/nix-agent-dev
1616WORKDIR /code
1717USER root:root
@@ -20,6 +20,46 @@ USER ${DEVBOX_USER}:${DEVBOX_USER}
2020ENV USER=${DEVBOX_USER}
2121ENV NIX_CONFIG="experimental-features = nix-command flakes"
2222COPY --chown=${DEVBOX_USER}:${DEVBOX_USER} . /home/${DEVBOX_USER}/.config/home-manager
23+ ENV PATH="/home/${DEVBOX_USER}/.local/bin:/home/${DEVBOX_USER}/.nix-profile/bin:$PATH"
24+ RUN mkdir -p /home/${DEVBOX_USER}/.local/bin/ && cat > /home/${DEVBOX_USER}/.local/bin/home-manager-update << 'EOF'
25+ # !/usr/bin/env bash
26+ set -euo pipefail
27+ cd ~/.config/home-manager
28+ git fetch origin
29+ git reset --hard origin/main
30+ if command -v home-manager &> /dev/null; then
31+ home-manager switch --impure -b backup
32+ else
33+ nix run github:nix-community/home-manager -- switch --impure -b backup
34+ fi
35+ EOF
36+
37+ RUN cat > /home/${DEVBOX_USER}/.local/bin/dev-env-start << 'EOF'
38+ # !/usr/bin/env bash
39+ set -euo pipefail
40+ home-manager-update
41+ if [ -n "${WORKSPACE_FOLDER:-}" ]; then
42+ cd "$WORKSPACE_FOLDER"
43+ nix develop --command -- echo "Start hook: Prepared env for $WORKSPACE_FOLDER"
44+ fi
45+ EOF
46+
47+ RUN cat > /home/${DEVBOX_USER}/.local/bin/dev-env-poststart << 'EOF'
48+ # !/usr/bin/env bash
49+ set -euo pipefail
50+ home-manager-update
51+ if [ -n "${WORKSPACE_FOLDER:-}" ]; then
52+ cd "$WORKSPACE_FOLDER"
53+ nix develop --command -- echo "Post start hook: Prepared env for $WORKSPACE_FOLDER"
54+ fi
55+ EOF
56+
57+ RUN mkdir -p /home/${DEVBOX_USER}/.local/bin \
58+ && chmod +x /home/${DEVBOX_USER}/.local/bin/home-manager-update \
59+ && chmod +x /home/${DEVBOX_USER}/.local/bin/dev-env-start \
60+ && chmod +x /home/${DEVBOX_USER}/.local/bin/dev-env-poststart \
61+ && chown -R ${DEVBOX_USER}:${DEVBOX_USER} /home/${DEVBOX_USER}/.local
62+
2363RUN set -x && ls -alh /home/${DEVBOX_USER}/.config/home-manager && mkdir -p /home/${DEVBOX_USER}/.config/nix \
2464 && echo "experimental-features = nix-command flakes" > /home/${DEVBOX_USER}/.config/nix/nix.conf \
2565 && nix-store --gc \
0 commit comments