diff --git a/.config/yadm/bootstrap b/.config/yadm/bootstrap index 5d69d23..1f91784 100755 --- a/.config/yadm/bootstrap +++ b/.config/yadm/bootstrap @@ -154,6 +154,28 @@ download_go() { download_rust() { wget --output-document - https://sh.rustup.rs | sh -s -- -y } +download_font_path="$HOME/.local/share/fonts" +mkdir -p $download_font_path +download_font_firacode() { + version=5.2 + wget \ + --output-document /tmp/firacode.zip \ + https://github.com/tonsky/FiraCode/releases/download/$version/Fira_Code_v$version.zip + unzip /tmp/firacode.zip -d /tmp/firacode + mv /tmp/firacode/ttf/* $download_font_path/ + rm -r /tmp/firacode.zip /tmp/firacode +} +download_font_ibmplex() { + version=5.1.3 + wget \ + --output-document /tmp/ibmplex.zip \ + https://github.com/IBM/plex/releases/download/v$version/TrueType.zip + unzip /tmp/ibmplex.zip -d /tmp/ibmplex + for family in Sans Serif Mono; do + mv /tmp/ibmplex/TrueType/IBM-Plex-$family/*.ttf $download_font_path/ + done + rm -r /tmp/ibmplex.zip /tmp/ibmplex +} # Install basics @@ -260,21 +282,40 @@ packages_install sudo cp $HOME/.zshrc /root/.zshrc -# desktop: Install sway +if $desktop; then -case $ID in - alpine|fedora|ubuntu) packages_add \ - sway swaybg swayidle swaylock \ - waybar wofi \ - grim slurp wf-recorder \ - playerctl \ - ;; -esac + # desktop: Install sway -case $ID in - alpine|fedora) packages_add wayvnc;; -esac + case $ID in + alpine|fedora|ubuntu) packages_add \ + sway swaybg swayidle swaylock \ + waybar wofi mako \ + grim slurp wf-recorder \ + playerctl ddcutil \ + kitty \ + ;; + esac -# desktop: Final packages installation + case $ID in + alpine) packages_add \ + font-noto font-noto-cjk font-noto-emoji + download_font_firacode + download_font_ibmplex + ;; + fedora) packages_add \ + ibm-plex-sans-fonts ibm-plex-serif-fonts ibm-plex-mono-fonts \ + fira-code-fonts \ + google-noto-sans-fonts google-noto-serif-fonts google-noto-emoji-color-fonts google-noto-cjk-fonts \ + ;; + ubuntu) packages_add \ + fonts-ibm-plex \ + fonts-firacode \ + fonts-noto-core fonts-noto-color-emoji fonts-noto-cjk \ + ;; + esac -packages_install + # desktop: Final packages installation + + packages_install + +fi diff --git a/.docker/alpine-desktop b/.docker/alpine-desktop new file mode 100644 index 0000000..b5f2c02 --- /dev/null +++ b/.docker/alpine-desktop @@ -0,0 +1,27 @@ +FROM alpine:3.13 + +RUN echo hosts: dns files > /etc/nsswitch.conf +RUN apk add --no-cache --update \ + sudo tzdata zsh + +RUN adduser -s /bin/zsh -D ambrose \ + && echo '' >> /etc/sudoers \ + && echo '## No password sudo' >> /etc/sudoers \ + && echo 'ambrose ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +WORKDIR /home/ambrose +COPY --chown=ambrose:ambrose . . +RUN chmod go-rwx .gnupg + +USER ambrose + +RUN ./.config/yadm/bootstrap rootzsh desktop + +LABEL org.opencontainers.image.title="environment" +LABEL org.opencontainers.image.url="https://github.com/serverwentdown/env" +LABEL org.opencontainers.image.source="https://github.com/serverwentdown/env.git" +LABEL org.opencontainers.image.authors="Ambrose Chua" + +CMD ["/bin/zsh", "-l"] + +# vim: set ft=dockerfile: diff --git a/.docker/alpine-go b/.docker/alpine-go new file mode 100644 index 0000000..0c63ecd --- /dev/null +++ b/.docker/alpine-go @@ -0,0 +1,27 @@ +FROM alpine:3.13 + +RUN echo hosts: dns files > /etc/nsswitch.conf +RUN apk add --no-cache --update \ + sudo tzdata zsh + +RUN adduser -s /bin/zsh -D ambrose \ + && echo '' >> /etc/sudoers \ + && echo '## No password sudo' >> /etc/sudoers \ + && echo 'ambrose ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +WORKDIR /home/ambrose +COPY --chown=ambrose:ambrose . . +RUN chmod go-rwx .gnupg + +USER ambrose + +RUN ./.config/yadm/bootstrap rootzsh go + +LABEL org.opencontainers.image.title="environment" +LABEL org.opencontainers.image.url="https://github.com/serverwentdown/env" +LABEL org.opencontainers.image.source="https://github.com/serverwentdown/env.git" +LABEL org.opencontainers.image.authors="Ambrose Chua" + +CMD ["/bin/zsh", "-l"] + +# vim: set ft=dockerfile: diff --git a/.docker/alpine-rust b/.docker/alpine-rust new file mode 100644 index 0000000..978f62c --- /dev/null +++ b/.docker/alpine-rust @@ -0,0 +1,27 @@ +FROM alpine:3.13 + +RUN echo hosts: dns files > /etc/nsswitch.conf +RUN apk add --no-cache --update \ + sudo tzdata zsh + +RUN adduser -s /bin/zsh -D ambrose \ + && echo '' >> /etc/sudoers \ + && echo '## No password sudo' >> /etc/sudoers \ + && echo 'ambrose ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +WORKDIR /home/ambrose +COPY --chown=ambrose:ambrose . . +RUN chmod go-rwx .gnupg + +USER ambrose + +RUN ./.config/yadm/bootstrap rootzsh rust + +LABEL org.opencontainers.image.title="environment" +LABEL org.opencontainers.image.url="https://github.com/serverwentdown/env" +LABEL org.opencontainers.image.source="https://github.com/serverwentdown/env.git" +LABEL org.opencontainers.image.authors="Ambrose Chua" + +CMD ["/bin/zsh", "-l"] + +# vim: set ft=dockerfile: diff --git a/.docker/fedora-desktop b/.docker/fedora-desktop new file mode 100644 index 0000000..f713c46 --- /dev/null +++ b/.docker/fedora-desktop @@ -0,0 +1,28 @@ +FROM fedora:33 + +RUN dnf install -y \ + zsh \ + && dnf clean all \ + && rm -rrf /var/cache/dnf + +RUN useradd -s /bin/zsh ambrose \ + && echo '' >> /etc/sudoers \ + && echo '## No password sudo' >> /etc/sudoers \ + && echo 'ambrose ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +WORKDIR /home/ambrose +COPY --chown=ambrose:ambrose . . +RUN chmod go-rwx .gnupg + +USER ambrose + +RUN ./.config/yadm/bootstrap rootzsh desktop + +LABEL org.opencontainers.image.title="environment" +LABEL org.opencontainers.image.url="https://github.com/serverwentdown/env" +LABEL org.opencontainers.image.source="https://github.com/serverwentdown/env.git" +LABEL org.opencontainers.image.authors="Ambrose Chua" + +CMD ["/bin/zsh", "-l"] + +# vim: set ft=dockerfile: diff --git a/.docker/fedora-go b/.docker/fedora-go new file mode 100644 index 0000000..cbe0ee3 --- /dev/null +++ b/.docker/fedora-go @@ -0,0 +1,28 @@ +FROM fedora:33 + +RUN dnf install -y \ + zsh \ + && dnf clean all \ + && rm -rrf /var/cache/dnf + +RUN useradd -s /bin/zsh ambrose \ + && echo '' >> /etc/sudoers \ + && echo '## No password sudo' >> /etc/sudoers \ + && echo 'ambrose ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +WORKDIR /home/ambrose +COPY --chown=ambrose:ambrose . . +RUN chmod go-rwx .gnupg + +USER ambrose + +RUN ./.config/yadm/bootstrap rootzsh go + +LABEL org.opencontainers.image.title="environment" +LABEL org.opencontainers.image.url="https://github.com/serverwentdown/env" +LABEL org.opencontainers.image.source="https://github.com/serverwentdown/env.git" +LABEL org.opencontainers.image.authors="Ambrose Chua" + +CMD ["/bin/zsh", "-l"] + +# vim: set ft=dockerfile: diff --git a/.docker/fedora-rust b/.docker/fedora-rust new file mode 100644 index 0000000..26751f3 --- /dev/null +++ b/.docker/fedora-rust @@ -0,0 +1,28 @@ +FROM fedora:33 + +RUN dnf install -y \ + zsh \ + && dnf clean all \ + && rm -rrf /var/cache/dnf + +RUN useradd -s /bin/zsh ambrose \ + && echo '' >> /etc/sudoers \ + && echo '## No password sudo' >> /etc/sudoers \ + && echo 'ambrose ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +WORKDIR /home/ambrose +COPY --chown=ambrose:ambrose . . +RUN chmod go-rwx .gnupg + +USER ambrose + +RUN ./.config/yadm/bootstrap rootzsh rust + +LABEL org.opencontainers.image.title="environment" +LABEL org.opencontainers.image.url="https://github.com/serverwentdown/env" +LABEL org.opencontainers.image.source="https://github.com/serverwentdown/env.git" +LABEL org.opencontainers.image.authors="Ambrose Chua" + +CMD ["/bin/zsh", "-l"] + +# vim: set ft=dockerfile: diff --git a/.docker/ubuntu-desktop b/.docker/ubuntu-desktop new file mode 100644 index 0000000..e494431 --- /dev/null +++ b/.docker/ubuntu-desktop @@ -0,0 +1,28 @@ +FROM ubuntu:20.10 + +RUN apt-get update \ + && apt-get install -y \ + sudo zsh \ + && rm -rf /var/lib/apt/lists/* + +RUN useradd -s /bin/zsh ambrose \ + && echo '' >> /etc/sudoers \ + && echo '## No password sudo' >> /etc/sudoers \ + && echo 'ambrose ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +WORKDIR /home/ambrose +COPY --chown=ambrose:ambrose . . +RUN chmod go-rwx .gnupg + +USER ambrose + +RUN ./.config/yadm/bootstrap rootzsh desktop + +LABEL org.opencontainers.image.title="environment" +LABEL org.opencontainers.image.url="https://github.com/serverwentdown/env" +LABEL org.opencontainers.image.source="https://github.com/serverwentdown/env.git" +LABEL org.opencontainers.image.authors="Ambrose Chua" + +CMD ["/bin/zsh", "-l"] + +# vim: set ft=dockerfile: