mirror of
https://github.com/kingomarnajjar/desktop-environment.git
synced 2026-07-26 06:37:21 +10:00
environment
This commit is contained in:
parent
0d92dffe49
commit
98821826ff
6 changed files with 73 additions and 32 deletions
|
|
@ -97,6 +97,10 @@ RUN vcsh clone https://github.com/sabrehagen/dotfiles-alacritty && \
|
|||
vcsh clone https://github.com/sabrehagen/dotfiles-code && \
|
||||
vcsh clone https://github.com/sabrehagen/dotfiles-scripts
|
||||
|
||||
# Install yarn utilities
|
||||
RUN yarn global add \
|
||||
clipboard-cli
|
||||
|
||||
# Add program configurations
|
||||
COPY config/tmuxinator $HOME/.config/tmuxinator
|
||||
COPY config/zsh/.zshenv $HOME/.zshenv.desktop
|
||||
|
|
|
|||
|
|
@ -1,29 +1,44 @@
|
|||
# Jackson container volumes configuration
|
||||
CONTAINER_USER=jackson
|
||||
JACKSON_CONFIG_CHROME=/$CONTAINER_USER/home/.config/google-chrome
|
||||
JACKSON_CONFIG_CODE=/$CONTAINER_USER/home/.config/Code
|
||||
JACKSON_CONFIG_GITHUB=/$CONTAINER_USER/home/.config/hub
|
||||
REPO_ROOT=$(dirname $(realpath $0))/..
|
||||
|
||||
# Give the container user ownership of the JACKSON_CONFIG_CHROME volume
|
||||
# Export development environment shell configuration
|
||||
export $(sh $REPO_ROOT/scripts/environment.sh)
|
||||
|
||||
# Give the container user ownership of the DESKTOP_ENVIRONMENT_CACHE_YARN volume
|
||||
docker run \
|
||||
--rm \
|
||||
--user root \
|
||||
--volume JACKSON_CONFIG_CHROME:$JACKSON_CONFIG_CHROME \
|
||||
--volume DESKTOP_ENVIRONMENT_CACHE_YARN:$DESKTOP_ENVIRONMENT_CACHE_YARN \
|
||||
sabrehagen/desktop-environment:latest \
|
||||
chown -R $CONTAINER_USER:$CONTAINER_USER $JACKSON_CONFIG_CHROME
|
||||
chown -R $DESKTOP_ENVIRONMENT_USER:$DESKTOP_ENVIRONMENT_USER $DESKTOP_ENVIRONMENT_CACHE_YARN
|
||||
|
||||
# Give the container user ownership of the JACKSON_CONFIG_CODE volume
|
||||
# Give the container user ownership of the DESKTOP_ENVIRONMENT_CACHE_CHROME volume
|
||||
docker run \
|
||||
--rm \
|
||||
--user root \
|
||||
--volume JACKSON_CONFIG_CODE:$JACKSON_CONFIG_CODE \
|
||||
--volume DESKTOP_ENVIRONMENT_CACHE_CHROME:$DESKTOP_ENVIRONMENT_CACHE_CHROME \
|
||||
sabrehagen/desktop-environment:latest \
|
||||
chown -R $CONTAINER_USER:$CONTAINER_USER $JACKSON_CONFIG_CODE
|
||||
chown -R $DESKTOP_ENVIRONMENT_USER:$DESKTOP_ENVIRONMENT_USER $DESKTOP_ENVIRONMENT_CACHE_CHROME
|
||||
|
||||
# Give the container user ownership of the JACKSON_CONFIG_GITHUB volume
|
||||
# Give the container user ownership of the DESKTOP_ENVIRONMENT_CONFIG_CHROME volume
|
||||
docker run \
|
||||
--rm \
|
||||
--user root \
|
||||
--volume JACKSON_CONFIG_GITHUB:$JACKSON_CONFIG_GITHUB \
|
||||
--volume DESKTOP_ENVIRONMENT_CONFIG_CHROME:$DESKTOP_ENVIRONMENT_CONFIG_CHROME \
|
||||
sabrehagen/desktop-environment:latest \
|
||||
chown -R $CONTAINER_USER:$CONTAINER_USER $JACKSON_CONFIG_GITHUB
|
||||
chown -R $DESKTOP_ENVIRONMENT_USER:$DESKTOP_ENVIRONMENT_USER $DESKTOP_ENVIRONMENT_CONFIG_CHROME
|
||||
|
||||
# Give the container user ownership of the DESKTOP_ENVIRONMENT_CONFIG_CODE volume
|
||||
docker run \
|
||||
--rm \
|
||||
--user root \
|
||||
--volume DESKTOP_ENVIRONMENT_CONFIG_CODE:$DESKTOP_ENVIRONMENT_CONFIG_CODE \
|
||||
sabrehagen/desktop-environment:latest \
|
||||
chown -R $DESKTOP_ENVIRONMENT_USER:$DESKTOP_ENVIRONMENT_USER $DESKTOP_ENVIRONMENT_CONFIG_CODE
|
||||
|
||||
# Give the container user ownership of the DESKTOP_ENVIRONMENT_CONFIG_GITHUB volume
|
||||
docker run \
|
||||
--rm \
|
||||
--user root \
|
||||
--volume DESKTOP_ENVIRONMENT_CONFIG_GITHUB:$DESKTOP_ENVIRONMENT_CONFIG_GITHUB \
|
||||
sabrehagen/desktop-environment:latest \
|
||||
chown -R $DESKTOP_ENVIRONMENT_USER:$DESKTOP_ENVIRONMENT_USER $DESKTOP_ENVIRONMENT_CONFIG_GITHUB
|
||||
|
|
|
|||
|
|
@ -4,6 +4,6 @@ REPO_ROOT=$(dirname $(realpath $0))/..
|
|||
sh $REPO_ROOT/scripts/clean.sh
|
||||
|
||||
# Remove volumes that can be recreated from scratch, but require manual configuration in app
|
||||
docker volume rm JACKSON_CONFIG_CODE
|
||||
docker volume rm JACKSON_CONFIG_CHROME
|
||||
docker volume rm JACKSON_CONFIG_GITHUB
|
||||
docker volume rm DESKTOP_ENVIRONMENT_CONFIG_CODE
|
||||
docker volume rm DESKTOP_ENVIRONMENT_CONFIG_CHROME
|
||||
docker volume rm DESKTOP_ENVIRONMENT_CONFIG_GITHUB
|
||||
|
|
|
|||
|
|
@ -4,4 +4,4 @@ REPO_ROOT=$(dirname $(realpath $0))/..
|
|||
sh $REPO_ROOT/scripts/stop.sh 2>/dev/null
|
||||
|
||||
# Remove volumes that can be recreated from scratch, directly from the container filesystem
|
||||
docker volume rm JACKSON_HOME
|
||||
docker volume rm DESKTOP_ENVIRONMENT_HOME
|
||||
|
|
|
|||
16
scripts/environment.sh
Executable file
16
scripts/environment.sh
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
# Desktop environment container user
|
||||
DESKTOP_ENVIRONMENT_USER=jackson
|
||||
DESKTOP_ENVIRONMENT_HOME=/$DESKTOP_ENVIRONMENT_USER/home
|
||||
|
||||
# Desktop environment configuration
|
||||
echo DESKTOP_ENVIRONMENT_HOME=$DESKTOP_ENVIRONMENT_HOME
|
||||
echo DESKTOP_ENVIRONMENT_USER=$DESKTOP_ENVIRONMENT_USER
|
||||
|
||||
# Desktop environment cache volumes
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_CHROME=$DESKTOP_ENVIRONMENT_HOME/.cache/google-chrome
|
||||
echo DESKTOP_ENVIRONMENT_CACHE_YARN=$DESKTOP_ENVIRONMENT_HOME/.cache/yarn
|
||||
|
||||
# Desktop environment configuration volumes
|
||||
echo DESKTOP_ENVIRONMENT_CONFIG_CHROME=$DESKTOP_ENVIRONMENT_HOME/.config/google-chrome
|
||||
echo DESKTOP_ENVIRONMENT_CONFIG_CODE=$DESKTOP_ENVIRONMENT_HOME/.config/Code
|
||||
echo DESKTOP_ENVIRONMENT_CONFIG_GITHUB=$DESKTOP_ENVIRONMENT_HOME/.config/github/hub
|
||||
|
|
@ -1,5 +1,7 @@
|
|||
REPO_ROOT=$(dirname $(realpath $0))/..
|
||||
JACKSON_HOME=/jackson/home
|
||||
|
||||
# Export development environment shell configuration
|
||||
export $(sh $REPO_ROOT/scripts/environment.sh)
|
||||
|
||||
# Ensure the container user has ownership of the volumes before starting
|
||||
sh $REPO_ROOT/scripts/bootstrap-volumes.sh
|
||||
|
|
@ -12,7 +14,7 @@ docker run \
|
|||
--device /dev/usb \
|
||||
--device /dev/bus/usb \
|
||||
--env DISPLAY \
|
||||
--env SSH_AUTH_SOCK=$JACKSON_HOME/.ssh/auth.sock \
|
||||
--env SSH_AUTH_SOCK=$DESKTOP_ENVIRONMENT_HOME/.ssh/auth.sock \
|
||||
--env STEMN_GIT_EMAIL="$(git config --get user.email)" \
|
||||
--env STEMN_GIT_NAME="$(git config --get user.name)" \
|
||||
--env STEMN_TMUX_SESSION=desktop-session \
|
||||
|
|
@ -27,20 +29,24 @@ docker run \
|
|||
--volume /dev/shm:/dev/shm \
|
||||
--volume /etc/hosts:/etc/hosts \
|
||||
--volume /etc/localtime:/etc/localtime:ro \
|
||||
--volume /run/systemd:/run/systemd \
|
||||
--volume /tmp/.X11-unix:/tmp/.X11-unix \
|
||||
--volume /var/run/dbus:/var/run/dbus \
|
||||
--volume /var/run/docker.sock:/var/run/docker.sock \
|
||||
--volume $HOME/.ssh:$JACKSON_HOME/.ssh \
|
||||
--volume $HOME/notes:$JACKSON_HOME/notes \
|
||||
--volume $HOME/repositories:$JACKSON_HOME/repositories \
|
||||
--volume $HOME/Downloads:$JACKSON_HOME/Downloads \
|
||||
--volume $HOME/Pictures:$JACKSON_HOME/Pictures \
|
||||
--volume $HOME/Videos:$JACKSON_HOME/Videos \
|
||||
--volume ${SSH_AUTH_SOCK-$HOME/.ssh/auth.sock}:$JACKSON_HOME/.ssh/auth.sock \
|
||||
--volume JACKSON_CONFIG_CHROME:$JACKSON_HOME/.config/google-chrome \
|
||||
--volume JACKSON_CONFIG_CODE:$JACKSON_HOME/.config/Code \
|
||||
--volume JACKSON_CONFIG_GITHUB:$JACKSON_HOME/.config/hub \
|
||||
--volume JACKSON_HOME:$JACKSON_HOME \
|
||||
--workdir $JACKSON_HOME \
|
||||
--volume $HOME/.ssh:$DESKTOP_ENVIRONMENT_HOME/.ssh \
|
||||
--volume $HOME/notes:$DESKTOP_ENVIRONMENT_HOME/notes \
|
||||
--volume $HOME/repositories:$DESKTOP_ENVIRONMENT_HOME/repositories \
|
||||
--volume $HOME/Downloads:$DESKTOP_ENVIRONMENT_HOME/Downloads \
|
||||
--volume $HOME/Pictures:$DESKTOP_ENVIRONMENT_HOME/Pictures \
|
||||
--volume $HOME/Videos:$DESKTOP_ENVIRONMENT_HOME/Videos \
|
||||
--volume ${SSH_AUTH_SOCK-$HOME/.ssh/auth.sock}:$DESKTOP_ENVIRONMENT_HOME/.ssh/auth.sock \
|
||||
--volume DESKTOP_ENVIRONMENT_CACHE_YARN:$DESKTOP_ENVIRONMENT_CACHE_YARN \
|
||||
--volume DESKTOP_ENVIRONMENT_CACHE_CHROME:$DESKTOP_ENVIRONMENT_CACHE_CHROME \
|
||||
--volume DESKTOP_ENVIRONMENT_CONFIG_CHROME:$DESKTOP_ENVIRONMENT_CONFIG_CHROME \
|
||||
--volume DESKTOP_ENVIRONMENT_CONFIG_CODE:$DESKTOP_ENVIRONMENT_CONFIG_CODE \
|
||||
--volume DESKTOP_ENVIRONMENT_CONFIG_GITHUB:$DESKTOP_ENVIRONMENT_CONFIG_GITHUB \
|
||||
--volume DESKTOP_ENVIRONMENT_HOME:$DESKTOP_ENVIRONMENT_HOME \
|
||||
--workdir $DESKTOP_ENVIRONMENT_HOME \
|
||||
sabrehagen/desktop-environment:latest
|
||||
|
||||
# Wait until the container is running before proceeding
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue