Skip to content
This repository has been archived by the owner on Apr 1, 2022. It is now read-only.

Commit

Permalink
(#132) v0.4.1:
Browse files Browse the repository at this point in the history
* (#126) Fix Rust not being installed; switch to Bash for build scripts;
* (#128) Set `pull.rebase` to `false` in Git config;
* (#130) Remove an extra line in the output of the GPG user-script;
* (#131) Delete the Makefile;
* (#133) Bump the version.
  • Loading branch information
Pavel Sobolev authored Feb 3, 2021
2 parents b0a10b7 + ead6dd1 commit 716f7f2
Show file tree
Hide file tree
Showing 34 changed files with 261 additions and 381 deletions.
2 changes: 1 addition & 1 deletion .github/scripts/publish.bash
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@ podman push $IMAGENAME ghcr.io/$OWNER/$IMAGENAME:latest

# Push the release version
if [ "$PUBLISH_RELEASE_VERSION" = true ]; then
podman push dev ghcr.io/$OWNER/$IMAGENAME:$RELEASE_VERSION
podman push $IMAGENAME ghcr.io/$OWNER/$IMAGENAME:$RELEASE_VERSION
fi
49 changes: 26 additions & 23 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,14 @@ FROM docker.io/library/ubuntu:20.10

# Meta information
LABEL maintainer="Pavel Sobolev (https://github.com/Paveloom)"
LABEL version="0.4.0"
LABEL version="0.4.1"
LABEL description="This is an image containing paveloom's personal development environment."
LABEL github-repository="https://github.com/paveloom-d/dev"
LABEL image-repository="https://hub.docker.com/r/paveloom/dev"

# Set the default shell for `RUN` commands
SHELL ["/bin/bash", "-c"]

# Copy build scripts to the root
COPY build-scripts /build-scripts

Expand All @@ -21,7 +24,13 @@ ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Moscow

# Install essential packages
RUN /build-scripts/root/install-essential-packages.sh
RUN /build-scripts/root/install-essential-packages.bash

# Install Zsh
RUN /build-scripts/root/install-zsh.bash

# Set `SHELL` to Zsh
ENV SHELL /bin/zsh

# Specify new user
ENV USER=paveloom
Expand All @@ -30,37 +39,31 @@ ENV USER=paveloom
ENV HOME /home/$USER

# Set up a new user
RUN /build-scripts/root/set-up-a-new-user.sh
RUN /build-scripts/root/set-up-a-new-user.bash

# Install X2Go Server and XFCE
RUN /build-scripts/root/install-x2go-and-xfce.sh
RUN /build-scripts/root/install-x2go-and-xfce.bash

# Install a browser
RUN /build-scripts/root/install-browser.sh

# Install Zsh
RUN /build-scripts/root/install-zsh.sh

# Set `SHELL` to Zsh
ENV SHELL /bin/zsh
RUN /build-scripts/root/install-browser.bash

# Install Python
RUN /build-scripts/root/install-python.sh
RUN /build-scripts/root/install-python.bash

# Temporarily disable `apt-key` warnings
ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1

# Install Podman and Buildah
RUN /build-scripts/root/install-podman-and-buildah.sh
RUN /build-scripts/root/install-podman-and-buildah.bash

# Install Node.js and npm
RUN /build-scripts/root/install-nodejs-and-npm.sh
RUN /build-scripts/root/install-nodejs-and-npm.bash

# Install Rclone
RUN /build-scripts/root/install-rclone.sh
RUN /build-scripts/root/install-rclone.bash

# Install TexLive
RUN /build-scripts/root/install-texlive.sh
RUN /build-scripts/root/install-texlive.bash

# Switch to the home directory of the user
WORKDIR $HOME
Expand All @@ -75,34 +78,34 @@ RUN chown -R $USER:$USER Scripts && chmod -R +x Scripts
USER $USER

# Point to the hosts file for SSH
RUN /build-scripts/user/point-to-the-hosts-file.sh
RUN /build-scripts/user/point-to-the-hosts-file.bash

# Activate the configuration for Rclone
RUN /build-scripts/user/touch-rclone-config.sh
RUN /build-scripts/user/touch-rclone-config.bash

# Install OhMyZsh
RUN /build-scripts/user/install-ohmyzsh.sh
RUN /build-scripts/user/install-ohmyzsh.bash

# Add `~/.local/bin` to the `PATH`
ENV PATH=$PATH:/home/$USER/.local/bin

# Install Python packages
RUN /build-scripts/user/install-python-packages.sh
RUN /build-scripts/user/install-python-packages.bash

# Install Jupyter
RUN /build-scripts/user/install-jupyter.sh
RUN /build-scripts/user/install-jupyter.bash

# Add `~/.cargo/bin` to the `PATH`
ENV PATH=$PATH:/home/$USER/.cargo/bin

# Install Rust
RUN /build-scripts/user/install-rust.sh
RUN /build-scripts/user/install-rust.bash

# Add `~/Other/julia/bin` to the `PATH`
ENV PATH=$PATH:/home/$USER/Other/julia/bin

# Install Julia
RUN /build-scripts/user/install-julia.sh
RUN /build-scripts/user/install-julia.bash

# Remove build scripts
RUN sudo rm -rf /build-scripts
124 changes: 0 additions & 124 deletions Makefile

This file was deleted.

12 changes: 12 additions & 0 deletions build-scripts/root/install-browser.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash

echo -e '\n\e[1;36mInstalling the browser:\e[0m'

echo -e '\e[1;36m> Updating lists of packages...\e[0m'
apt-get update >/dev/null

echo -e '\e[1;36m> Installing Midori...\e[0m'
apt-get install -y --no-install-recommends midori >/dev/null

echo -e '\e[1;36m> Cleaning the `apt` cache...\e[0m\n'
rm -rf /var/lib/apt/lists/*
12 changes: 0 additions & 12 deletions build-scripts/root/install-browser.sh

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,81 +1,81 @@
#!/bin/sh
#!/bin/bash

echo '\n\e[1;36mInstalling essential packages:\e[0m'
echo -e '\n\e[1;36mInstalling essential packages:\e[0m'

echo '\e[1;36m> Updating lists of packages...\e[0m'
echo -e '\e[1;36m> Updating lists of packages...\e[0m'
apt-get update >/dev/null

echo '\e[1;36m> Installing `apt-utils`...\e[0m'
echo -e '\e[1;36m> Installing `apt-utils`...\e[0m'
apt-get -y install apt-utils >/dev/null 2>&1

echo '\e[1;36m> Installing `apt-transport-https`...\e[0m'
echo -e '\e[1;36m> Installing `apt-transport-https`...\e[0m'
apt-get install -y --no-install-recommends apt-transport-https >/dev/null

echo '\e[1;36m> Installing `build-essential`...\e[0m'
echo -e '\e[1;36m> Installing `build-essential`...\e[0m'
apt-get install -y --no-install-recommends build-essential >/dev/null

echo '\e[1;36m> Installing `dialog`...\e[0m'
echo -e '\e[1;36m> Installing `dialog`...\e[0m'
apt-get install -y --no-install-recommends dialog >/dev/null

echo '\e[1;36m> Installing `dumb-init`...\e[0m'
echo -e '\e[1;36m> Installing `dumb-init`...\e[0m'
apt-get install -y --no-install-recommends dumb-init >/dev/null

echo '\e[1;36m> Installing `htop`...\e[0m'
echo -e '\e[1;36m> Installing `htop`...\e[0m'
apt-get install -y --no-install-recommends htop >/dev/null

echo '\e[1;36m> Installing `ca-certificates`...\e[0m'
echo -e '\e[1;36m> Installing `ca-certificates`...\e[0m'
apt-get install -y --no-install-recommends ca-certificates >/dev/null

echo '\e[1;36m> Installing `git`...\e[0m'
echo -e '\e[1;36m> Installing `git`...\e[0m'
apt-get install -y --no-install-recommends git >/dev/null

echo '\e[1;36m> Installing `make`...\e[0m'
echo -e '\e[1;36m> Installing `make`...\e[0m'
apt-get install -y --no-install-recommends make >/dev/null

echo '\e[1;36m> Installing `screen`...\e[0m'
echo -e '\e[1;36m> Installing `screen`...\e[0m'
apt-get install -y --no-install-recommends screen >/dev/null

echo '\e[1;36m> Installing `ncdu`...\e[0m'
echo -e '\e[1;36m> Installing `ncdu`...\e[0m'
apt-get install -y --no-install-recommends ncdu >/dev/null

echo '\e[1;36m> Installing `zip` and `unzip`...\e[0m'
echo -e '\e[1;36m> Installing `zip` and `unzip`...\e[0m'
apt-get install -y --no-install-recommends zip unzip >/dev/null

echo '\e[1;36m> Installing `nano`...\e[0m'
echo -e '\e[1;36m> Installing `nano`...\e[0m'
apt-get install -y --no-install-recommends nano >/dev/null

echo '\e[1;36m> Installing `less`...\e[0m'
echo -e '\e[1;36m> Installing `less`...\e[0m'
apt-get install -y --no-install-recommends less >/dev/null

echo '\e[1;36m> Installing `wget`...\e[0m'
echo -e '\e[1;36m> Installing `wget`...\e[0m'
apt-get install -y --no-install-recommends wget >/dev/null

echo '\e[1;36m> Installing `curl`...\e[0m'
echo -e '\e[1;36m> Installing `curl`...\e[0m'
apt-get install -y --no-install-recommends curl >/dev/null

echo '\e[1;36m> Installing `gnupg-agent`...\e[0m'
echo -e '\e[1;36m> Installing `gnupg-agent`...\e[0m'
apt-get install -y --no-install-recommends gnupg-agent >/dev/null

echo '\e[1;36m> Installing `sudo`...\e[0m'
echo -e '\e[1;36m> Installing `sudo`...\e[0m'
wget --no-check-certificate https://github.com/sudo-project/sudo/releases/download/SUDO_1_9_1/sudo_1.9.1-1_ubu2004_amd64.deb >/dev/null 2>&1
apt-get -y install ./sudo_1.9.1-1_ubu2004_amd64.deb >/dev/null
rm sudo_1.9.1-1_ubu2004_amd64.deb

echo '\e[1;36m> Installing `ssh`...\e[0m'
echo -e '\e[1;36m> Installing `ssh`...\e[0m'
apt-get install -y --no-install-recommends ssh >/dev/null

echo '\e[1;36m> Installing `keychain`...\e[0m'
echo -e '\e[1;36m> Installing `keychain`...\e[0m'
apt-get install -y --no-install-recommends keychain >/dev/null

echo '\e[1;36m> Installing `locales`...\e[0m'
echo -e '\e[1;36m> Installing `locales`...\e[0m'
apt-get install -y --no-install-recommends locales >/dev/null
locale-gen ru_RU.UTF-8 >/dev/null

echo '\e[1;36m> Installing `language-pack-en-base`...\e[0m'
echo -e '\e[1;36m> Installing `language-pack-en-base`...\e[0m'
apt-get install -y --no-install-recommends language-pack-en-base >/dev/null

echo '\e[1;36m> Installing `software-properties-common`...\e[0m'
echo -e '\e[1;36m> Installing `software-properties-common`...\e[0m'
apt-get install -y --no-install-recommends software-properties-common >/dev/null

echo '\e[1;36m> Cleaning the `apt` cache...\e[0m\n'
echo -e '\e[1;36m> Cleaning the `apt` cache...\e[0m\n'
rm -rf /var/lib/apt/lists/*
Loading

0 comments on commit 716f7f2

Please sign in to comment.