From 0fdca90e1a41f6d70cf47a6a34e09e7b6ea12694 Mon Sep 17 00:00:00 2001 From: Pavel Sobolev Date: Wed, 3 Feb 2021 14:48:13 +0300 Subject: [PATCH 1/5] (#126) Fix Rust not being installed; switch to Bash for build scripts. --- .github/scripts/publish.bash | 2 +- Dockerfile | 47 ++++++++-------- build-scripts/root/install-browser.bash | 12 +++++ build-scripts/root/install-browser.sh | 12 ----- ...ges.sh => install-essential-packages.bash} | 54 +++++++++---------- .../root/install-nodejs-and-npm.bash | 15 ++++++ build-scripts/root/install-nodejs-and-npm.sh | 15 ------ .../root/install-podman-and-buildah.bash | 15 ++++++ .../root/install-podman-and-buildah.sh | 15 ------ build-scripts/root/install-python.bash | 15 ++++++ build-scripts/root/install-python.sh | 15 ------ build-scripts/root/install-rclone.bash | 12 +++++ build-scripts/root/install-rclone.sh | 12 ----- build-scripts/root/install-texlive.bash | 24 +++++++++ build-scripts/root/install-texlive.sh | 24 --------- build-scripts/root/install-x2go-and-xfce.bash | 12 +++++ build-scripts/root/install-x2go-and-xfce.sh | 12 ----- build-scripts/root/install-zsh.bash | 15 ++++++ build-scripts/root/install-zsh.sh | 15 ------ build-scripts/root/set-up-a-new-user.bash | 15 ++++++ build-scripts/root/set-up-a-new-user.sh | 15 ------ .../{install-julia.sh => install-julia.bash} | 24 ++++----- ...nstall-jupyter.sh => install-jupyter.bash} | 10 ++-- ...nstall-ohmyzsh.sh => install-ohmyzsh.bash} | 22 ++++---- .../user/install-python-packages.bash | 17 ++++++ build-scripts/user/install-python-packages.sh | 17 ------ build-scripts/user/install-rust.bash | 11 ++++ build-scripts/user/install-rust.sh | 11 ---- .../user/point-to-the-hosts-file.bash | 7 +++ build-scripts/user/point-to-the-hosts-file.sh | 7 --- build-scripts/user/touch-rclone-config.bash | 7 +++ build-scripts/user/touch-rclone-config.sh | 7 --- 32 files changed, 258 insertions(+), 255 deletions(-) create mode 100644 build-scripts/root/install-browser.bash delete mode 100644 build-scripts/root/install-browser.sh rename build-scripts/root/{install-essential-packages.sh => install-essential-packages.bash} (56%) create mode 100644 build-scripts/root/install-nodejs-and-npm.bash delete mode 100644 build-scripts/root/install-nodejs-and-npm.sh create mode 100644 build-scripts/root/install-podman-and-buildah.bash delete mode 100644 build-scripts/root/install-podman-and-buildah.sh create mode 100644 build-scripts/root/install-python.bash delete mode 100644 build-scripts/root/install-python.sh create mode 100644 build-scripts/root/install-rclone.bash delete mode 100644 build-scripts/root/install-rclone.sh create mode 100644 build-scripts/root/install-texlive.bash delete mode 100644 build-scripts/root/install-texlive.sh create mode 100644 build-scripts/root/install-x2go-and-xfce.bash delete mode 100644 build-scripts/root/install-x2go-and-xfce.sh create mode 100644 build-scripts/root/install-zsh.bash delete mode 100644 build-scripts/root/install-zsh.sh create mode 100644 build-scripts/root/set-up-a-new-user.bash delete mode 100644 build-scripts/root/set-up-a-new-user.sh rename build-scripts/user/{install-julia.sh => install-julia.bash} (56%) rename build-scripts/user/{install-jupyter.sh => install-jupyter.bash} (54%) rename build-scripts/user/{install-ohmyzsh.sh => install-ohmyzsh.bash} (77%) create mode 100644 build-scripts/user/install-python-packages.bash delete mode 100644 build-scripts/user/install-python-packages.sh create mode 100644 build-scripts/user/install-rust.bash delete mode 100644 build-scripts/user/install-rust.sh create mode 100644 build-scripts/user/point-to-the-hosts-file.bash delete mode 100644 build-scripts/user/point-to-the-hosts-file.sh create mode 100644 build-scripts/user/touch-rclone-config.bash delete mode 100644 build-scripts/user/touch-rclone-config.sh diff --git a/.github/scripts/publish.bash b/.github/scripts/publish.bash index 23e6472..a09a834 100644 --- a/.github/scripts/publish.bash +++ b/.github/scripts/publish.bash @@ -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 diff --git a/Dockerfile b/Dockerfile index cffeccb..6cf1bd4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,6 +8,9 @@ LABEL description="This is an image containing paveloom's personal development e 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 @@ -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 @@ -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 @@ -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 diff --git a/build-scripts/root/install-browser.bash b/build-scripts/root/install-browser.bash new file mode 100644 index 0000000..2022e70 --- /dev/null +++ b/build-scripts/root/install-browser.bash @@ -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/* diff --git a/build-scripts/root/install-browser.sh b/build-scripts/root/install-browser.sh deleted file mode 100644 index be0a4df..0000000 --- a/build-scripts/root/install-browser.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -echo '\n\e[1;36mInstalling the browser:\e[0m' - -echo '\e[1;36m> Updating lists of packages...\e[0m' -apt-get update >/dev/null - -echo '\e[1;36m> Installing Midori...\e[0m' -apt-get install -y --no-install-recommends midori >/dev/null - -echo '\e[1;36m> Cleaning the `apt` cache...\e[0m\n' -rm -rf /var/lib/apt/lists/* diff --git a/build-scripts/root/install-essential-packages.sh b/build-scripts/root/install-essential-packages.bash similarity index 56% rename from build-scripts/root/install-essential-packages.sh rename to build-scripts/root/install-essential-packages.bash index 4197ee6..5549084 100644 --- a/build-scripts/root/install-essential-packages.sh +++ b/build-scripts/root/install-essential-packages.bash @@ -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/* diff --git a/build-scripts/root/install-nodejs-and-npm.bash b/build-scripts/root/install-nodejs-and-npm.bash new file mode 100644 index 0000000..08c42c6 --- /dev/null +++ b/build-scripts/root/install-nodejs-and-npm.bash @@ -0,0 +1,15 @@ +#!/bin/bash + +echo -e '\n\e[1;36mInstalling Node.js and npm:\e[0m' + +echo -e '\e[1;36m> Updating lists of packages...\e[0m' +apt-get update >/dev/null + +echo -e '\e[1;36m> Installing `nodejs`...\e[0m' +apt-get install -y --no-install-recommends nodejs >/dev/null + +echo -e '\e[1;36m> Installing `npm`...\e[0m' +apt-get install -y --no-install-recommends npm >/dev/null + +echo -e '\e[1;36m> Cleaning the `apt` cache...\e[0m\n' +rm -rf /var/lib/apt/lists/* diff --git a/build-scripts/root/install-nodejs-and-npm.sh b/build-scripts/root/install-nodejs-and-npm.sh deleted file mode 100644 index d4cf3b0..0000000 --- a/build-scripts/root/install-nodejs-and-npm.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -echo '\n\e[1;36mInstalling Node.js and npm:\e[0m' - -echo '\e[1;36m> Updating lists of packages...\e[0m' -apt-get update >/dev/null - -echo '\e[1;36m> Installing `nodejs`...\e[0m' -apt-get install -y --no-install-recommends nodejs >/dev/null - -echo '\e[1;36m> Installing `npm`...\e[0m' -apt-get install -y --no-install-recommends npm >/dev/null - -echo '\e[1;36m> Cleaning the `apt` cache...\e[0m\n' -rm -rf /var/lib/apt/lists/* diff --git a/build-scripts/root/install-podman-and-buildah.bash b/build-scripts/root/install-podman-and-buildah.bash new file mode 100644 index 0000000..991ed1e --- /dev/null +++ b/build-scripts/root/install-podman-and-buildah.bash @@ -0,0 +1,15 @@ +#!/bin/bash + +echo -e '\n\e[1;36mInstalling Podman and Buildah:\e[0m' + +echo -e '\e[1;36m> Updating lists of packages...\e[0m' +apt-get update >/dev/null + +echo -e '\e[1;36m> Installing Podman...\e[0m' +apt-get install -y --no-install-recommends podman >/dev/null + +echo -e '\e[1;36m> Installing Buildah...\e[0m' +apt-get install -y --no-install-recommends buildah >/dev/null + +echo -e '\e[1;36m> Cleaning the `apt` cache...\e[0m\n' +rm -rf /var/lib/apt/lists/* diff --git a/build-scripts/root/install-podman-and-buildah.sh b/build-scripts/root/install-podman-and-buildah.sh deleted file mode 100644 index 3980778..0000000 --- a/build-scripts/root/install-podman-and-buildah.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -echo '\n\e[1;36mInstalling Podman and Buildah:\e[0m' - -echo '\e[1;36m> Updating lists of packages...\e[0m' -apt-get update >/dev/null - -echo '\e[1;36m> Installing Podman...\e[0m' -apt-get install -y --no-install-recommends podman >/dev/null - -echo '\e[1;36m> Installing Buildah...\e[0m' -apt-get install -y --no-install-recommends buildah >/dev/null - -echo '\e[1;36m> Cleaning the `apt` cache...\e[0m\n' -rm -rf /var/lib/apt/lists/* diff --git a/build-scripts/root/install-python.bash b/build-scripts/root/install-python.bash new file mode 100644 index 0000000..37e5a43 --- /dev/null +++ b/build-scripts/root/install-python.bash @@ -0,0 +1,15 @@ +#!/bin/bash + +echo -e '\n\e[1;36mInstalling Python:\e[0m' + +echo -e '\e[1;36m> Updating lists of packages...\e[0m' +apt-get update >/dev/null + +echo -e '\e[1;36m> Installing `python3-dev`...\e[0m' +apt-get install -y --no-install-recommends python3-dev >/dev/null + +echo -e '\e[1;36m> Installing `python3-pip`...\e[0m' +apt-get install -y --no-install-recommends python3-pip >/dev/null + +echo -e '\e[1;36m> Cleaning the `apt` cache...\e[0m\n' +rm -rf /var/lib/apt/lists/* diff --git a/build-scripts/root/install-python.sh b/build-scripts/root/install-python.sh deleted file mode 100644 index cdd2721..0000000 --- a/build-scripts/root/install-python.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -echo '\n\e[1;36mInstalling Python:\e[0m' - -echo '\e[1;36m> Updating lists of packages...\e[0m' -apt-get update >/dev/null - -echo '\e[1;36m> Installing `python3-dev`...\e[0m' -apt-get install -y --no-install-recommends python3-dev >/dev/null - -echo '\e[1;36m> Installing `python3-pip`...\e[0m' -apt-get install -y --no-install-recommends python3-pip >/dev/null - -echo '\e[1;36m> Cleaning the `apt` cache...\e[0m\n' -rm -rf /var/lib/apt/lists/* diff --git a/build-scripts/root/install-rclone.bash b/build-scripts/root/install-rclone.bash new file mode 100644 index 0000000..12f1fd5 --- /dev/null +++ b/build-scripts/root/install-rclone.bash @@ -0,0 +1,12 @@ +#!/bin/bash + +echo -e '\n\e[1;36mInstalling Rclone:\e[0m' + +echo -e '\e[1;36m> Updating lists of packages...\e[0m' +apt-get update >/dev/null + +echo -e '\e[1;36m> Installing the package...\e[0m' +apt-get install -y --no-install-recommends rclone >/dev/null + +echo -e '\e[1;36m> Cleaning the `apt` cache...\e[0m\n' +rm -rf /var/lib/apt/lists/* diff --git a/build-scripts/root/install-rclone.sh b/build-scripts/root/install-rclone.sh deleted file mode 100644 index 4ffc529..0000000 --- a/build-scripts/root/install-rclone.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -echo '\n\e[1;36mInstalling Rclone:\e[0m' - -echo '\e[1;36m> Updating lists of packages...\e[0m' -apt-get update >/dev/null - -echo '\e[1;36m> Installing the package...\e[0m' -apt-get install -y --no-install-recommends rclone >/dev/null - -echo '\e[1;36m> Cleaning the `apt` cache...\e[0m\n' -rm -rf /var/lib/apt/lists/* diff --git a/build-scripts/root/install-texlive.bash b/build-scripts/root/install-texlive.bash new file mode 100644 index 0000000..a30b6c8 --- /dev/null +++ b/build-scripts/root/install-texlive.bash @@ -0,0 +1,24 @@ +#!/bin/bash + +echo -e '\n\e[1;36mInstalling TexLive:\e[0m' + +echo -e '\e[1;36m> Updating lists of packages...\e[0m' +apt-get update >/dev/null + +echo -e '\e[1;36m> Installing `dvipng`...\e[0m' +apt-get install -y --no-install-recommends dvipng >/dev/null + +echo -e '\e[1;36m> Installing `texlive-latex-extra`...\e[0m' +apt-get install -y --no-install-recommends texlive-latex-extra >/dev/null + +echo -e '\e[1;36m> Installing `texlive-fonts-extra`...\e[0m' +apt-get install -y --no-install-recommends texlive-fonts-extra >/dev/null + +echo -e '\e[1;36m> Installing `texlive-lang-cyrillic`...\e[0m' +apt-get install -y --no-install-recommends texlive-lang-cyrillic >/dev/null + +echo -e '\e[1;36m> Installing `cm-super`...\e[0m' +apt-get install -y --no-install-recommends cm-super >/dev/null + +echo -e '\e[1;36m> Cleaning the `apt` cache...\e[0m\n' +rm -rf /var/lib/apt/lists/* diff --git a/build-scripts/root/install-texlive.sh b/build-scripts/root/install-texlive.sh deleted file mode 100644 index 54cd6a7..0000000 --- a/build-scripts/root/install-texlive.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -echo '\n\e[1;36mInstalling TexLive:\e[0m' - -echo '\e[1;36m> Updating lists of packages...\e[0m' -apt-get update >/dev/null - -echo '\e[1;36m> Installing `dvipng`...\e[0m' -apt-get install -y --no-install-recommends dvipng >/dev/null - -echo '\e[1;36m> Installing `texlive-latex-extra`...\e[0m' -apt-get install -y --no-install-recommends texlive-latex-extra >/dev/null - -echo '\e[1;36m> Installing `texlive-fonts-extra`...\e[0m' -apt-get install -y --no-install-recommends texlive-fonts-extra >/dev/null - -echo '\e[1;36m> Installing `texlive-lang-cyrillic`...\e[0m' -apt-get install -y --no-install-recommends texlive-lang-cyrillic >/dev/null - -echo '\e[1;36m> Installing `cm-super`...\e[0m' -apt-get install -y --no-install-recommends cm-super >/dev/null - -echo '\e[1;36m> Cleaning the `apt` cache...\e[0m\n' -rm -rf /var/lib/apt/lists/* diff --git a/build-scripts/root/install-x2go-and-xfce.bash b/build-scripts/root/install-x2go-and-xfce.bash new file mode 100644 index 0000000..ce28a61 --- /dev/null +++ b/build-scripts/root/install-x2go-and-xfce.bash @@ -0,0 +1,12 @@ +#!/bin/bash + +echo -e '\n\e[1;36mInstalling X2Go Server and XFCE:\e[0m' + +echo -e '\e[1;36m> Adding a repository...\e[0m' +add-apt-repository -y ppa:x2go/stable >/dev/null + +echo -e '\e[1;36m> Installing the server...\e[0m' +apt-get install -y --no-install-recommends x2goserver x2goserver-xsession >/dev/null + +echo -e '\e[1;36m> Installing XFCE...\e[0m\n' +apt-get install -y --no-install-recommends xfce4 xfce4-terminal >/dev/null diff --git a/build-scripts/root/install-x2go-and-xfce.sh b/build-scripts/root/install-x2go-and-xfce.sh deleted file mode 100644 index d899cf6..0000000 --- a/build-scripts/root/install-x2go-and-xfce.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -echo '\n\e[1;36mInstalling X2Go Server and XFCE:\e[0m' - -echo '\e[1;36m> Adding a repository...\e[0m' -add-apt-repository -y ppa:x2go/stable >/dev/null - -echo '\e[1;36m> Installing the server...\e[0m' -apt-get install -y --no-install-recommends x2goserver x2goserver-xsession >/dev/null - -echo '\e[1;36m> Installing XFCE...\e[0m\n' -apt-get install -y --no-install-recommends xfce4 xfce4-terminal >/dev/null diff --git a/build-scripts/root/install-zsh.bash b/build-scripts/root/install-zsh.bash new file mode 100644 index 0000000..41e1d8b --- /dev/null +++ b/build-scripts/root/install-zsh.bash @@ -0,0 +1,15 @@ +#!/bin/bash + +echo -e '\n\e[1;36mInstalling Zsh:\e[0m' + +echo -e '\e[1;36m> Updating lists of packages...\e[0m' +apt-get update >/dev/null + +echo -e '\e[1;36m> Installing the package...\e[0m' +apt-get install -y --no-install-recommends zsh >/dev/null + +echo -e '\e[1;36m> Changing the default shell...\e[0m' +sed -i -e "s/bin\/ash/bin\/zsh/" /etc/passwd + +echo -e '\e[1;36m> Cleaning the `apt` cache...\e[0m\n' +rm -rf /var/lib/apt/lists/* diff --git a/build-scripts/root/install-zsh.sh b/build-scripts/root/install-zsh.sh deleted file mode 100644 index 21c22ee..0000000 --- a/build-scripts/root/install-zsh.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -echo '\n\e[1;36mInstalling Zsh:\e[0m' - -echo '\e[1;36m> Updating lists of packages...\e[0m' -apt-get update >/dev/null - -echo '\e[1;36m> Installing the package...\e[0m' -apt-get install -y --no-install-recommends zsh >/dev/null - -echo '\e[1;36m> Changing the default shell...\e[0m' -sed -i -e "s/bin\/ash/bin\/zsh/" /etc/passwd - -echo '\e[1;36m> Cleaning the `apt` cache...\e[0m\n' -rm -rf /var/lib/apt/lists/* diff --git a/build-scripts/root/set-up-a-new-user.bash b/build-scripts/root/set-up-a-new-user.bash new file mode 100644 index 0000000..7db3172 --- /dev/null +++ b/build-scripts/root/set-up-a-new-user.bash @@ -0,0 +1,15 @@ +#!/bin/bash + +echo -e '\n\e[1;36mSetting up a user:\e[0m' + +echo -e '\e[1;36m> Adding a user...\e[0m' +useradd -ms /bin/zsh $USER + +echo -e '\e[1;36m> Disabling the password prompt...\e[0m' +echo "$USER ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/$USER + +echo -e '\e[1;36m> Setting read-only mode for `/etc/sudoers.d/$USER`...\e[0m' +chmod 0440 /etc/sudoers.d/$USER + +echo -e '\e[1;36m> Letting the user to own the home directory...\e[0m\n' +chown -R $USER:$USER $HOME diff --git a/build-scripts/root/set-up-a-new-user.sh b/build-scripts/root/set-up-a-new-user.sh deleted file mode 100644 index 224f081..0000000 --- a/build-scripts/root/set-up-a-new-user.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -echo '\n\e[1;36mSetting up a user:\e[0m' - -echo '\e[1;36m> Adding a user...\e[0m' -useradd -ms /bin/bash $USER - -echo '\e[1;36m> Disabling the password prompt...\e[0m' -echo "$USER ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/$USER - -echo '\e[1;36m> Setting read-only mode for `/etc/sudoers.d/$USER`...\e[0m' -chmod 0440 /etc/sudoers.d/$USER - -echo '\e[1;36m> Letting the user to own the home directory...\e[0m\n' -chown -R $USER:$USER $HOME diff --git a/build-scripts/user/install-julia.sh b/build-scripts/user/install-julia.bash similarity index 56% rename from build-scripts/user/install-julia.sh rename to build-scripts/user/install-julia.bash index 52e6f2e..6849c29 100644 --- a/build-scripts/user/install-julia.sh +++ b/build-scripts/user/install-julia.bash @@ -1,35 +1,35 @@ -#!/bin/sh +#!/bin/bash -echo '\n\e[1;36mInstalling Julia:\e[0m' +echo -e '\n\e[1;36mInstalling Julia:\e[0m' -echo '\e[1;36m> Downloading the tarball...\e[0m' +echo -e '\e[1;36m> Downloading the tarball...\e[0m' wget https://julialang-s3.julialang.org/bin/linux/x64/1.5/julia-1.5.3-linux-x86_64.tar.gz -P ~/Other/julia >/dev/null 2>&1 -echo '\e[1;36m> Extracting the tarball...\e[0m' +echo -e '\e[1;36m> Extracting the tarball...\e[0m' tar -xf ~/Other/julia/julia*.tar.gz -C ~/Other/julia --strip-components 1 -echo '\e[1;36m> Deleting the tarball...\e[0m' +echo -e '\e[1;36m> Deleting the tarball...\e[0m' rm ~/Other/julia/julia*.tar.gz -echo '\e[1;36m> Explicitly updating the PATH variable in the `~/.zshrc`...\e[0m' +echo -e '\e[1;36m> Explicitly updating the PATH variable in the `~/.zshrc`...\e[0m' echo ' # Add Julia binaries to the `PATH` export PATH=$PATH:/home/$USER/Other/julia/bin' >> ~/.zshrc -echo '\e[1;36m> Installing `Documenter`...\e[0m' +echo -e '\e[1;36m> Installing `Documenter`...\e[0m' julia -e 'using Pkg; Pkg.add("Documenter"); using Documenter' >/dev/null 2>&1 -echo '\e[1;36m> Installing `Literate`...\e[0m' +echo -e '\e[1;36m> Installing `Literate`...\e[0m' julia -e 'using Pkg; Pkg.add("Literate"); using Literate' >/dev/null 2>&1 -echo '\e[1;36m> Installing `Revise`...\e[0m' +echo -e '\e[1;36m> Installing `Revise`...\e[0m' julia -e 'using Pkg; Pkg.add("Revise"); using Revise' >/dev/null 2>&1 -echo '\e[1;36m> Installing `IJulia`...\e[0m' +echo -e '\e[1;36m> Installing `IJulia`...\e[0m' julia -e 'using Pkg; Pkg.add("IJulia"); using IJulia' >/dev/null 2>&1 -echo '\e[1;36m> Installing `PyPlot`...\e[0m' +echo -e '\e[1;36m> Installing `PyPlot`...\e[0m' julia -e 'using Pkg; Pkg.add("PyPlot"); using PyPlot' >/dev/null 2>&1 -echo '\e[1;36m> Installing `Plots`...\e[0m\n' +echo -e '\e[1;36m> Installing `Plots`...\e[0m\n' julia -e 'using Pkg; Pkg.add("Plots"); using Plots' >/dev/null 2>&1 diff --git a/build-scripts/user/install-jupyter.sh b/build-scripts/user/install-jupyter.bash similarity index 54% rename from build-scripts/user/install-jupyter.sh rename to build-scripts/user/install-jupyter.bash index 9e8af3a..e1af826 100644 --- a/build-scripts/user/install-jupyter.sh +++ b/build-scripts/user/install-jupyter.bash @@ -1,14 +1,14 @@ -#!/bin/sh +#!/bin/bash -echo '\n\e[1;36mInstalling Jupyter:\e[0m' +echo -e '\n\e[1;36mInstalling Jupyter:\e[0m' -echo '\e[1;36m> Installing `jupyter`...\e[0m' +echo -e '\e[1;36m> Installing `jupyter`...\e[0m' pip3 install --no-cache-dir jupyter >/dev/null -echo '\e[1;36m> Installing `jupyterlab`...\e[0m' +echo -e '\e[1;36m> Installing `jupyterlab`...\e[0m' pip3 install --no-cache-dir jupyterlab >/dev/null -echo '\e[1;36m> Adding aliases for running a notebook server...\e[0m\n' +echo -e '\e[1;36m> Adding aliases for running a notebook server...\e[0m\n' echo ' # Jupyter diff --git a/build-scripts/user/install-ohmyzsh.sh b/build-scripts/user/install-ohmyzsh.bash similarity index 77% rename from build-scripts/user/install-ohmyzsh.sh rename to build-scripts/user/install-ohmyzsh.bash index a3b873d..ab4b0f0 100644 --- a/build-scripts/user/install-ohmyzsh.sh +++ b/build-scripts/user/install-ohmyzsh.bash @@ -1,20 +1,20 @@ -#!/bin/sh +#!/bin/bash -echo '\n\e[1;36mInstalling OhMyZsh:\e[0m' +echo -e '\n\e[1;36mInstalling OhMyZsh:\e[0m' -echo '\e[1;36m> Installing the framework...\e[0m' +echo -e '\e[1;36m> Installing the framework...\e[0m' (sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" ) >/dev/null 2>&1 -echo '\e[1;36m> Downloading the `zsh-autosuggestions` plugin...\e[0m' +echo -e '\e[1;36m> Downloading the `zsh-autosuggestions` plugin...\e[0m' git clone --quiet https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions >/dev/null -echo '\e[1;36m> Activating the plugin...\e[0m' +echo -e '\e[1;36m> Activating the plugin...\e[0m' sed -i '/plugins=(git)/c\plugins=(git zsh-autosuggestions)' ~/.zshrc -echo '\e[1;36m> Activating `zshcfg` alias...\e[0m' +echo -e '\e[1;36m> Activating `zshcfg` alias...\e[0m' sed -i '/# alias zshconfig="mate ~\/\.zshrc"/c\alias zshcfg="nano ~\/\.zshrc"' ~/.zshrc -echo '\e[1;36m> Appending custom config changes...\e[0m' +echo -e '\e[1;36m> Appending custom config changes...\e[0m' echo ' # Key bindings @@ -61,20 +61,20 @@ export LESS=-FXR ## Go home at the start cd $HOME' >> ~/.zshrc -echo '\e[1;36m> Creating a theme...\e[0m' +echo -e '\e[1;36m> Creating a theme...\e[0m' echo 'PROMPT="%(?:%{$fg_bold[green]%}~>:%{$fg_bold[red]%}~>)" PROMPT+='\'' %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)'\'' ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[red]%}<" ZSH_THEME_GIT_PROMPT_SUFFIX=">%{$reset_color%} "' > ~/.oh-my-zsh/custom/themes/paveloom.zsh-theme -echo '\e[1;36m> Adjusting the theme...\e[0m' +echo -e '\e[1;36m> Adjusting the theme...\e[0m' sed -i '/ZSH_THEME="robbyrussell"/c\ZSH_THEME="paveloom"' ~/.zshrc -echo '\e[1;36m> Activating `nano`'\''s default syntax highlighting...\e[0m' +echo -e '\e[1;36m> Activating `nano`'\''s default syntax highlighting...\e[0m' echo 'include /usr/share/nano/*.nanorc' > ~/.nanorc -echo '\e[1;36m> Adding the configuration before sourcing...\e[0m\n' +echo -e '\e[1;36m> Adding the configuration before sourcing...\e[0m\n' sed -i '/source $ZSH\/oh-my-zsh./c\ # Change the colors of public directories\ export LS_COLORS="$LS_COLORS:di=1;34:ow=1;31:tw=1;31:"\ diff --git a/build-scripts/user/install-python-packages.bash b/build-scripts/user/install-python-packages.bash new file mode 100644 index 0000000..757d22c --- /dev/null +++ b/build-scripts/user/install-python-packages.bash @@ -0,0 +1,17 @@ +#!/bin/bash + +echo -e '\n\e[1;36mInstalling Python packages:\e[0m' + +echo -e '\e[1;36m> Explicitly updating the PATH variable in the `~/.zshrc`...\e[0m' +echo ' +# Add Python'\''s default User Script Directory to the `PATH` +export PATH=$PATH:/home/$USER/.local/bin' >> ~/.zshrc + +echo -e '\e[1;36m> Installing `wheel`...\e[0m' +pip3 install --no-cache-dir wheel >/dev/null + +echo -e '\e[1;36m> Installing `numpy`...\e[0m' +pip3 install --no-cache-dir numpy >/dev/null + +echo -e '\e[1;36m> Installing `matplotlib`...\e[0m\n' +pip3 install --no-cache-dir matplotlib >/dev/null diff --git a/build-scripts/user/install-python-packages.sh b/build-scripts/user/install-python-packages.sh deleted file mode 100644 index d5cb2ca..0000000 --- a/build-scripts/user/install-python-packages.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -echo '\n\e[1;36mInstalling Python packages:\e[0m' - -echo '\e[1;36m> Explicitly updating the PATH variable in the `~/.zshrc`...\e[0m' -echo ' -# Add Python'\''s default User Script Directory to the `PATH` -export PATH=$PATH:/home/$USER/.local/bin' >> ~/.zshrc - -echo '\e[1;36m> Installing `wheel`...\e[0m' -pip3 install --no-cache-dir wheel >/dev/null - -echo '\e[1;36m> Installing `numpy`...\e[0m' -pip3 install --no-cache-dir numpy >/dev/null - -echo '\e[1;36m> Installing `matplotlib`...\e[0m\n' -pip3 install --no-cache-dir matplotlib >/dev/null diff --git a/build-scripts/user/install-rust.bash b/build-scripts/user/install-rust.bash new file mode 100644 index 0000000..ccd7919 --- /dev/null +++ b/build-scripts/user/install-rust.bash @@ -0,0 +1,11 @@ +#!/bin/bash + +echo -e '\n\e[1;36mInstalling Rust:\e[0m' + +echo -e '\e[1;36m> Installing `rustup`...\e[0m' +curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh &>/dev/null -s -- -y + +echo -e '\e[1;36m> Explicitly updating the PATH variable in the `~/.zshrc`...\e[0m\n' +echo ' +# Add Rust binaries to the `PATH` +export PATH=$PATH:/home/$USER/.cargo/bin' >> ~/.zshrc diff --git a/build-scripts/user/install-rust.sh b/build-scripts/user/install-rust.sh deleted file mode 100644 index e38cc4d..0000000 --- a/build-scripts/user/install-rust.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -echo '\n\e[1;36mInstalling Rust:\e[0m' - -echo '\e[1;36m> Installing `rustup`...\e[0m' -curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf >/dev/null | sh -s -- -y - -echo '\e[1;36m> Explicitly updating the PATH variable in the `~/.zshrc`...\e[0m\n' -echo ' -# Add Rust binaries to the `PATH` -export PATH=$PATH:/home/$USER/.cargo/bin' >> ~/.zshrc diff --git a/build-scripts/user/point-to-the-hosts-file.bash b/build-scripts/user/point-to-the-hosts-file.bash new file mode 100644 index 0000000..83aa269 --- /dev/null +++ b/build-scripts/user/point-to-the-hosts-file.bash @@ -0,0 +1,7 @@ +#!/bin/bash + +echo -e '\n\e[1;36mPointing to the hosts file for SSH:\e[0m' + +echo -e '\e[1;36m> Creating `~/.ssh/config`...\e[0m\n' +mkdir -p ~/.ssh +echo -e 'UserKnownHostsFile ~/.ssh/known_hosts' > ~/.ssh/config diff --git a/build-scripts/user/point-to-the-hosts-file.sh b/build-scripts/user/point-to-the-hosts-file.sh deleted file mode 100644 index 4f4c067..0000000 --- a/build-scripts/user/point-to-the-hosts-file.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -echo '\n\e[1;36mPointing to the hosts file for SSH:\e[0m' - -echo '\e[1;36m> Creating `~/.ssh/config`...\e[0m\n' -mkdir -p ~/.ssh -echo 'UserKnownHostsFile ~/.ssh/known_hosts' > ~/.ssh/config diff --git a/build-scripts/user/touch-rclone-config.bash b/build-scripts/user/touch-rclone-config.bash new file mode 100644 index 0000000..17a0c00 --- /dev/null +++ b/build-scripts/user/touch-rclone-config.bash @@ -0,0 +1,7 @@ +#!/bin/bash + +echo -e '\n\e[1;36mActivating the configuration for Rclone:\e[0m' + +echo -e '\e[1;36m> `touch`ing `~/.config/rclone/rclone.conf`...\e[0m\n' +mkdir -p ~/.config/rclone +touch ~/.config/rclone/rclone.conf diff --git a/build-scripts/user/touch-rclone-config.sh b/build-scripts/user/touch-rclone-config.sh deleted file mode 100644 index 51c80b8..0000000 --- a/build-scripts/user/touch-rclone-config.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -echo '\n\e[1;36mActivating the configuration for Rclone:\e[0m' - -echo '\e[1;36m> `touch`ing `~/.config/rclone/rclone.conf`...\e[0m\n' -mkdir -p ~/.config/rclone -touch ~/.config/rclone/rclone.conf From 68582b64b437d7eefa4005474442a1a689e508e7 Mon Sep 17 00:00:00 2001 From: Pavel Sobolev Date: Wed, 3 Feb 2021 14:52:23 +0300 Subject: [PATCH 2/5] (#128) Set `pull.rebase` to `false` in Git config. --- user-scripts/GPG.bash | 1 + 1 file changed, 1 insertion(+) diff --git a/user-scripts/GPG.bash b/user-scripts/GPG.bash index 95723f8..b1fee20 100644 --- a/user-scripts/GPG.bash +++ b/user-scripts/GPG.bash @@ -73,6 +73,7 @@ git config --global user.name "$NAME" git config --global user.email "$EMAIL" git config --global user.signingkey "$KEY" git config --global push.default matching +git config --global pull.rebase false git config --global commit.gpgsign true git config --global gpg.program gpg From 89939319cdf0ec81cc85623bffe30cfe9b16fd0e Mon Sep 17 00:00:00 2001 From: Pavel Sobolev Date: Wed, 3 Feb 2021 16:06:42 +0300 Subject: [PATCH 3/5] (#130) Remove an extra line in the output of the GPG user-script. --- user-scripts/GPG.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user-scripts/GPG.bash b/user-scripts/GPG.bash index b1fee20..2eba7c6 100644 --- a/user-scripts/GPG.bash +++ b/user-scripts/GPG.bash @@ -77,7 +77,7 @@ git config --global pull.rebase false git config --global commit.gpgsign true git config --global gpg.program gpg -echo -e "\n${cyan}This script have also updated the ${mage}git${cyan} configuration. You can check it using ${mage}git config --list${cyan}.${reset}\n" +echo -e "\n${cyan}This script have also updated the ${mage}git${cyan} configuration. You can check it using ${mage}git config --list${cyan}.${reset}" # Add several Git aliases git config --global alias.new '!f() { From ca1ba5fd9de45b254141cac5dbb2b17a67a99e70 Mon Sep 17 00:00:00 2001 From: Pavel Sobolev Date: Wed, 3 Feb 2021 16:10:14 +0300 Subject: [PATCH 4/5] (#131) Delete the Makefile. --- Makefile | 124 ------------------------------------------------------- 1 file changed, 124 deletions(-) delete mode 100755 Makefile diff --git a/Makefile b/Makefile deleted file mode 100755 index aa59eba..0000000 --- a/Makefile +++ /dev/null @@ -1,124 +0,0 @@ - - ## This is a Makefile template* for code publication on GitHub. - - ## *Altered to the needs of this project - - ## Repository on GitHub: https://github.com/Paveloom/B1 - ## Documentation: https://www.notion.so/paveloom/B1-fefcaf42ddf541d4b11cfcab63c2f018 - - ## Release version: 2.2.1 - ## Documentation version: 2.2.0 - - ## Author: Pavel Sobolev (http://paveloom.tk) - - ## Make sure that your text editor visually displays a tabulation - ## symbol equally to the visual representation of five spaces. - - # Makefile settings - - ## Name of your build tool - make := make - - ## Specify the shell - SHELL := /bin/bash - - ## Tell makefile to execute all rules using one instance of the shell - .ONESHELL : - - ## Silence makefile output - .SILENT : - - ## Phony targets - .PHONY : git, git-am, new, del - - ## Default rule when calling `make` - ALL : git - - - - # Block of the rules for code publication on GitHub - - ## Feature branch name - feature_branch := feature - - ## Create and publish a commit - git : - git add -A - git commit -e - - # Check if a commit was created - if [ $$? -eq 0 ]; then - - git push --follow-tags - - fi - - ## Amend the last commit - git-am : - git add -A - git commit --amend - - # Check if a commit was created - if [ $$? -eq 0 ]; then - - git push --follow-tags --force-with-lease - - fi - - ## Create a new feature branch - new : - git checkout -q develop - git checkout -b ${feature_branch} - git push -u origin ${feature_branch} - - ## Delete current feature branch - del : - git checkout -q develop - git branch -D ${feature_branch} - - - - # Block of the rules for building and managing - # Docker images, creating and entering containers - - # Build an image, dive into it - build-l : - dive build -t image . - - # Build an image squashing all layers, dive into it, delete redundant layers - build : - dive build -t image --squash . - docker images -q | grep -E -v "$$(docker images -q 'image')|$$(docker images -q 'ubuntu')" | xargs docker rmi - - # Build an image squashing all layers, delete redundant layers - build-f : - docker build -t image --squash . - docker images -q | grep -E -v "$$(docker images -q 'image')|$$(docker images -q 'ubuntu')" | xargs docker rmi - - ## Run a container - run : - docker run -p 5001:22 -p 8080:8080 -p 8888:8888 -p 8889:8889 -v /var/run/docker.sock:/var/run/docker.sock --name container -t -d image - - ## Enter the container - in : - docker start container >/dev/null - docker exec -it container zsh - - ## Enter the container as root - in-root : - docker start container >/dev/null - docker exec -it -u root container zsh - - ## Show all Docker images - images : - docker images -a - - ## Show all Docker containers - ps : - docker ps -as - - ## Stop and delete the container, delete all created images - reset : - docker stop container - docker rm container - docker images -q | grep -v "$$(docker images -q 'ubuntu')" | xargs docker rmi \ No newline at end of file From ead6dd1e4c88cf57a14c872193d528fe4b60e1cf Mon Sep 17 00:00:00 2001 From: Pavel Sobolev Date: Wed, 3 Feb 2021 17:21:21 +0300 Subject: [PATCH 5/5] (#133) Bump the version. --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 6cf1bd4..88a5c5e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ 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"