mirror of
https://github.com/kingomarnajjar/desktop-environment.git
synced 2026-07-29 05:00:35 +10:00
merge changes w jackson
This commit is contained in:
commit
e22d5c3c66
6 changed files with 61 additions and 35 deletions
29
.github/workflows/build-and-publish-from-dotfiles.yml
vendored
Normal file
29
.github/workflows/build-and-publish-from-dotfiles.yml
vendored
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
name: Build Desktop Environment From Dotfiles
|
||||
on: [workflow_dispatch]
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Sanitise Repository Owner
|
||||
run: echo ::set-env name=REPOSITORY_OWNER::$(echo ${{ github.repository_owner }} | tr '[:upper:]' '[:lower:]')
|
||||
|
||||
- name: Build and Push to GitHub Container Registry
|
||||
uses: whoan/docker-build-with-cache-action@master
|
||||
with:
|
||||
build_extra_args: --build-arg=DESKTOP_ENVIRONMENT_USER=${{ env.REPOSITORY_OWNER }} --build-arg=DOTFILES_CACHEBUST=${{ github.sha }}
|
||||
dockerfile: docker/Dockerfile
|
||||
image_name: desktop-environment
|
||||
push_git_tag: true
|
||||
registry: ghcr.io/${{ env.REPOSITORY_OWNER }}
|
||||
username: ${{ env.REPOSITORY_OWNER }}
|
||||
password: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
|
||||
|
||||
- name: Run desktop environment tests
|
||||
run: ./docker/scripts/test.sh
|
||||
env:
|
||||
DESKTOP_ENVIRONMENT_REGISTRY: ghcr.io/${{ env.REPOSITORY_OWNER }}
|
||||
continue-on-error: true
|
||||
11
.github/workflows/build-and-publish.yml
vendored
11
.github/workflows/build-and-publish.yml
vendored
|
|
@ -3,15 +3,11 @@ on: [push]
|
|||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Sanitise Repository Name
|
||||
run: echo ::set-env name=GITHUB_REPOSITORY::$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')
|
||||
|
||||
- name: Sanitise Repository Owner
|
||||
run: echo ::set-env name=REPOSITORY_OWNER::$(echo ${{ github.repository_owner }} | tr '[:upper:]' '[:lower:]')
|
||||
|
||||
|
|
@ -22,13 +18,12 @@ jobs:
|
|||
dockerfile: docker/Dockerfile
|
||||
image_name: desktop-environment
|
||||
push_git_tag: true
|
||||
registry: docker.pkg.github.com/${{ env.GITHUB_REPOSITORY }}
|
||||
registry: ghcr.io/${{ env.REPOSITORY_OWNER }}
|
||||
username: ${{ env.REPOSITORY_OWNER }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
password: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
|
||||
|
||||
- name: Run desktop environment tests
|
||||
run: ./docker/scripts/test.sh
|
||||
env:
|
||||
DESKTOP_ENVIRONMENT_REGISTRY: docker.pkg.github.com/${{ env.GITHUB_REPOSITORY }}
|
||||
DESKTOP_ENVIRONMENT_CONTAINER_TAG: ${{ github.ref }}
|
||||
DESKTOP_ENVIRONMENT_REGISTRY: ghcr.io/${{ env.REPOSITORY_OWNER }}
|
||||
continue-on-error: true
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# ☁️ Cloud Desktop Environment
|
||||
|
||||
My [daily driver](https://cloud.docker.com/repository/docker/sabrehagen/desktop-environment) on the cloud and on desktop.
|
||||
My [daily driver](https://github.com/users/sabrehagen/packages/container/package/desktop-environment) on the cloud and on desktop.
|
||||
|
||||

|
||||
|
||||
|
|
@ -16,9 +16,9 @@ git clone https://github.com/sabrehagen/desktop-environment
|
|||
./desktop-environment/docker/scripts/recycle.sh
|
||||
```
|
||||
|
||||
## Forking
|
||||
## Running in the Cloud
|
||||
|
||||
Set your [user configuration](docker/scripts/environment.sh#L3) and go.
|
||||
Fork the [github-computer/github-computer](https://github.com/github-computer/github-computer) repository and this desktop environment will be deployed to GitHub's cloud.
|
||||
|
||||
## Keybindings
|
||||
|
||||
|
|
@ -56,4 +56,3 @@ Mod + slash
|
|||
|
||||
- [x] A computer wholly defined in code.
|
||||
- [x] Only one command required to start from scratch.
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ ARG DESKTOP_ENVIRONMENT_USER
|
|||
ARG DESKTOP_ENVIRONMENT_GITHUB_USER
|
||||
|
||||
ENV DESKTOP_ENVIRONMENT_HOST_USER_PASSWORD ${DESKTOP_ENVIRONMENT_HOST_USER_PASSWORD:-'$6$7De0aW9hUvGDKZmc$qrylcFmwKAL9iGNG9dvQ/GXCM4gLY.hES/P2d/3ZzRxkVMjD77WeTVSxV1P9XtmE9iAUmDwDTCHiVK.p5Ct1y1:18193:0:99999:7:::'}
|
||||
ENV DISPLAY :1
|
||||
ENV EDITOR nano
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE $LANG
|
||||
|
|
@ -131,9 +130,6 @@ RUN wget -O alacritty.deb -nv https://github.com/jwilm/alacritty/releases/downlo
|
|||
dpkg -i alacritty.deb && \
|
||||
rm alacritty.deb
|
||||
|
||||
# Install antigen
|
||||
RUN curl -fsSL git.io/antigen > /usr/local/bin/antigen.zsh
|
||||
|
||||
# Install arc
|
||||
RUN wget -O /usr/local/bin/arc -q https://github.com/mholt/archiver/releases/download/v3.1.1/arc_linux_amd64 && \
|
||||
chmod +x /usr/local/bin/arc
|
||||
|
|
@ -258,7 +254,10 @@ RUN add-apt-repository ppa:kgilmer/speed-ricer && \
|
|||
sed -i 's/rm -f "$IMAGE"//' /usr/bin/i3lock-fancy && \
|
||||
wget -q -O /usr/share/i3lock-fancy/lock.png http://png-pixel.com/1x1-00000000.png && \
|
||||
pip3 install --user i3-resurrect==1.4.2 && \
|
||||
pip3 install --force --user i3-workspace-names-daemon
|
||||
pip3 install --force --user i3-workspace-names-daemon && \
|
||||
git clone https://github.com/s-urbaniak/i3-focus-last ~/.config/i3/i3-focus-last && \
|
||||
cd ~/.config/i3/i3-focus-last && \
|
||||
go install
|
||||
|
||||
# Install jobber
|
||||
RUN wget -O jobber.deb -q https://github.com/dshearer/jobber/releases/download/v1.4.0/jobber_1.4.0-1_amd64.deb && \
|
||||
|
|
@ -291,7 +290,8 @@ RUN wget -O musikcube.deb -nv https://github.com/clangen/musikcube/releases/down
|
|||
RUN curl -fsSL https://deb.nodesource.com/setup_12.x | bash -
|
||||
|
||||
# Install novnc
|
||||
RUN git clone --depth 1 https://github.com/cloud-computer/noVNC.git /opt/noVNC
|
||||
RUN git clone --depth 1 https://github.com/cloud-computer/noVNC.git /opt/noVNC && \
|
||||
git clone https://github.com/novnc/websockify /opt/noVNC/utils/websockify
|
||||
|
||||
# Install onedrive client
|
||||
RUN wget -O /usr/local/bin/onedrive -nv https://github.com/sabrehagen/onedrive/raw/master/onedrive && \
|
||||
|
|
@ -321,7 +321,7 @@ RUN wget -O skype.deb -q https://go.skype.com/skypeforlinux-64.deb && \
|
|||
rm skype.deb
|
||||
|
||||
# Install slack
|
||||
RUN wget -O slack.deb -nv https://downloads.slack-edge.com/linux_releases/slack-desktop-4.1.1-amd64.deb && \
|
||||
RUN wget -O slack.deb -nv https://downloads.slack-edge.com/linux_releases/slack-desktop-4.9.1-amd64.deb && \
|
||||
dpkg -i slack.deb || apt-get install -qq --fix-broken && \
|
||||
rm slack.deb
|
||||
|
||||
|
|
@ -336,9 +336,6 @@ RUN wget -O /usr/local/bin/timeago -nv https://raw.githubusercontent.com/sabreha
|
|||
RUN wget -O /usr/local/bin/tormix -nv https://raw.githubusercontent.com/ckardaris/tormix/master/tormix && \
|
||||
chmod +x /usr/local/bin/tormix
|
||||
|
||||
# Install tmux plugin manager
|
||||
RUN git clone --depth 1 https://github.com/tmux-plugins/tpm $HOME/.tmux/plugins/tpm
|
||||
|
||||
# Install tmuxinator
|
||||
RUN gem install tmuxinator -v 1.1.5
|
||||
|
||||
|
|
@ -348,9 +345,7 @@ RUN wget -O code.deb -nv https://go.microsoft.com/fwlink/?LinkID=760868 && \
|
|||
rm code.deb && \
|
||||
apt-get install -qq libicu[0-9][0-9] libkrb5-3 zlib1g libsecret-1-0 desktop-file-utils x11-utils && \
|
||||
wget -O /usr/local/bin/shfmt -nv https://github.com/mvdan/sh/releases/download/v2.6.3/shfmt_v2.6.3_linux_amd64 && \
|
||||
chmod +x /usr/local/bin/shfmt && \
|
||||
git clone https://github.com/Bluedrack28/vscode-wal.git ~/.vscode/extensions/vscode-wal && \
|
||||
cd ~/.vscode/extensions/vscode-wal && ./script.sh
|
||||
chmod +x /usr/local/bin/shfmt
|
||||
|
||||
# Install warnai
|
||||
RUN apt-get update -qq && \
|
||||
|
|
@ -386,8 +381,11 @@ RUN yarn global add \
|
|||
github-email \
|
||||
http-server \
|
||||
imgur-uploader-cli \
|
||||
localtunnel \
|
||||
ngrok \
|
||||
rebase-editor \
|
||||
tldr
|
||||
tldr && \
|
||||
tldr --update
|
||||
|
||||
# Install zoom conferencing
|
||||
RUN wget -O zoom.deb -nv https://zoom.us/client/latest/zoom_amd64.deb && \
|
||||
|
|
@ -398,7 +396,7 @@ RUN wget -O zoom.deb -nv https://zoom.us/client/latest/zoom_amd64.deb && \
|
|||
RUN mkdir -p $HOME/.config/openvpn && \
|
||||
mknod $HOME/.config/openvpn/tun c 10 200 && \
|
||||
chmod 600 $HOME/.config/openvpn/tun && \
|
||||
wget -O $HOME/.config/openvpn/america.ovpn -nv https://downloads.nordcdn.com/configs/files/ovpn_legacy/servers/us4231.nordvpn.com.tcp443.ovpn && \
|
||||
wget -O $HOME/.config/openvpn/america.ovpn -nv https://downloads.nordcdn.com/configs/files/ovpn_legacy/servers/us4672.nordvpn.com.tcp443.ovpn && \
|
||||
wget -O $HOME/.config/openvpn/sydney.ovpn -nv https://downloads.nordcdn.com/configs/files/ovpn_legacy/servers/au698.nordvpn.com.tcp443.ovpn && \
|
||||
wget -O $HOME/.config/openvpn/india.ovpn -nv https://downloads.nordcdn.com/configs/files/ovpn_legacy/servers/in82.nordvpn.com.tcp443.ovpn
|
||||
|
||||
|
|
@ -431,9 +429,12 @@ WORKDIR $HOME
|
|||
ARG DOTFILES_CACHEBUST
|
||||
RUN DOTFILES_CACHEBUST=$DOTFILES_CACHEBUST echo "Building from dotfiles..."
|
||||
|
||||
# Clone user dotfiles
|
||||
RUN vcsh clone https://github.com/$DESKTOP_ENVIRONMENT_GITHUB_USER/dotfiles.git && \
|
||||
$HOME/.dotfiles-bootstrap.sh
|
||||
# Clone user dotfiles or fallback to sabrehagen dotfiles
|
||||
RUN git ls-remote git@github.com:$DESKTOP_ENVIRONMENT_GITHUB_USER/dotfiles.git && vcsh clone https://github.com/$DESKTOP_ENVIRONMENT_USER/dotfiles.git || \
|
||||
vcsh clone https://github.com/sabrehagen/dotfiles.git
|
||||
|
||||
# Bootstrap dotfiles
|
||||
RUN $HOME/.dotfiles-bootstrap.sh
|
||||
|
||||
# Record container build information
|
||||
ARG DESKTOP_CONTAINER_GIT_SHA
|
||||
|
|
|
|||
|
|
@ -17,10 +17,14 @@ docker run \
|
|||
--device /dev/fuse \
|
||||
--device /dev/input \
|
||||
--device /dev/snd \
|
||||
<<<<<<< HEAD
|
||||
--device /dev/tty2 \
|
||||
--device /dev/vsock \
|
||||
=======
|
||||
--device /dev/tty3 \
|
||||
--device /dev/video0 \
|
||||
>>>>>>> 7fba7a54d51ca7aea35411a174a3b1042aaa6916
|
||||
--env DESKTOP_ENVIRONMENT_USER \
|
||||
--env DISPLAY=:1 \
|
||||
--group-add audio \
|
||||
--group-add docker \
|
||||
--group-add input \
|
||||
|
|
|
|||
|
|
@ -16,13 +16,11 @@ docker run \
|
|||
--name $DESKTOP_ENVIRONMENT_CONTAINER_NAME \
|
||||
--rm \
|
||||
--workdir $DESKTOP_ENVIRONMENT_USER_HOME \
|
||||
$DESKTOP_ENVIRONMENT_REGISTRY/$DESKTOP_ENVIRONMENT_CONTAINER_IMAGE:$DESKTOP_ENVIRONMENT_CONTAINER_TAG \
|
||||
$DESKTOP_ENVIRONMENT_REGISTRY/$DESKTOP_ENVIRONMENT_CONTAINER_IMAGE \
|
||||
sleep infinity
|
||||
|
||||
exit 1
|
||||
|
||||
# Wait until the desktop environment test container is running before proceeding
|
||||
until docker inspect $DESKTOP_ENVIRONMENT_CONTAINER_NAME | grep Status | grep -m 1 running >/dev/null; do sleep 1; done
|
||||
timeout 10 $(until docker inspect $DESKTOP_ENVIRONMENT_CONTAINER_NAME | grep Status | grep -m 1 running >/dev/null; do sleep 1; done)
|
||||
|
||||
# Start the vnc server inside the desktop environment test container
|
||||
$REPO_ROOT/docker/scripts/exec.sh /home/$DESKTOP_ENVIRONMENT_USER/.config/scripts/startup.sh
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue