add cachyos general
This commit is contained in:
parent
f44104c0cb
commit
db2e555998
8 changed files with 195 additions and 0 deletions
133
.github/workflows/cachyos-general.yml
vendored
Normal file
133
.github/workflows/cachyos-general.yml
vendored
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
name: cachyos-general
|
||||
|
||||
# This workflow uses actions that are not certified by GitHub.
|
||||
# They are provided by a third-party and are governed by
|
||||
# separate terms of service, privacy policy, and support
|
||||
# documentation.
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 6 * * 6' # 6 am on Saturdays
|
||||
push:
|
||||
paths:
|
||||
- 'containers/cachyos/general/Dockerfile'
|
||||
|
||||
env:
|
||||
# Use docker.io for Docker Hub if empty
|
||||
REGISTRY: ghcr.io
|
||||
# github.repository as <account>/<repo>
|
||||
IMAGE_NAME: ${{ github.repository_owner }}/containers/cachyos/general
|
||||
IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }}
|
||||
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
# This is used to complete the identity challenge
|
||||
# with sigstore/fulcio when running outside of PRs.
|
||||
id-token: write
|
||||
|
||||
steps:
|
||||
- name: Maximize build space
|
||||
uses: AdityaGarg8/remove-unwanted-software@v1
|
||||
with:
|
||||
remove-dotnet: 'true'
|
||||
remove-android: 'true'
|
||||
remove-haskell: 'true'
|
||||
|
||||
- name: Get current date
|
||||
id: date
|
||||
run: echo "::set-output name=date::$(date +'%Y%m%d')"
|
||||
|
||||
- name: Test with environment variables
|
||||
run: echo $DATE
|
||||
env:
|
||||
DATE: ${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# Install the cosign tool except on PR
|
||||
# https://github.com/sigstore/cosign-installer
|
||||
- name: Install cosign
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: sigstore/cosign-installer@6e04d228eb30da1757ee4e1dd75a0ec73a653e06 #v3.1.1
|
||||
with:
|
||||
cosign-release: 'v2.1.1'
|
||||
|
||||
# Login against a Docker registry except on PR
|
||||
# https://github.com/docker/login-action
|
||||
- name: Log into registry ${{ env.REGISTRY }}
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c
|
||||
with:
|
||||
registry: ${{ env.REGISTRY }}
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
# Extract metadata (tags, labels) for Docker
|
||||
# https://github.com/docker/metadata-action
|
||||
- name: Extract Docker metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
|
||||
with:
|
||||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
||||
|
||||
|
||||
# Build image using Buildah action
|
||||
- name: Build Image
|
||||
id: build_image
|
||||
uses: redhat-actions/buildah-build@v2
|
||||
with:
|
||||
containerfiles: |
|
||||
./containers/cachyos/general/Dockerfile
|
||||
image: ${{ env.IMAGE_NAME }}
|
||||
tags: ${{ steps.meta.outputs.tags }} ${{ steps.meta.outputs.tags }}.${{ steps.date.outputs.date }}
|
||||
oci: false
|
||||
layers: false
|
||||
|
||||
# Workaround bug where capital letters in your GitHub username make it impossible to push to GHCR.
|
||||
# https://github.com/macbre/push-to-ghcr/issues/12
|
||||
- name: Lowercase Registry
|
||||
id: registry_case
|
||||
uses: ASzc/change-string-case-action@v5
|
||||
with:
|
||||
string: ${{ env.IMAGE_REGISTRY }}
|
||||
|
||||
# Push the image to GHCR (Image Registry)
|
||||
- name: Push To GHCR
|
||||
uses: redhat-actions/push-to-registry@v2
|
||||
id: push
|
||||
if: github.event_name != 'pull_request'
|
||||
env:
|
||||
REGISTRY_USER: ${{ github.actor }}
|
||||
REGISTRY_PASSWORD: ${{ github.token }}
|
||||
with:
|
||||
image: ${{ steps.build_image.outputs.image }}
|
||||
tags: ${{ steps.build_image.outputs.tags }}
|
||||
registry: ${{ steps.registry_case.outputs.lowercase }}
|
||||
username: ${{ env.REGISTRY_USER }}
|
||||
password: ${{ env.REGISTRY_PASSWORD }}
|
||||
extra-args: |
|
||||
--disable-content-trust
|
||||
|
||||
|
||||
|
||||
# Sign the resulting Docker image digest except on PRs.
|
||||
# This will only write to the public Rekor transparency log when the Docker
|
||||
# repository is public to avoid leaking data. If you would like to publish
|
||||
# transparency data even for private images, pass --force to cosign below.
|
||||
# https://github.com/sigstore/cosign
|
||||
- name: Sign the published Docker image
|
||||
if: ${{ github.event_name != 'pull_request' }}
|
||||
env:
|
||||
# https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable
|
||||
TAGS: ${{ steps.meta.outputs.tags }}
|
||||
DIGEST: ${{ steps.push.outputs.digest }}
|
||||
# This step uses the identity token to provision an ephemeral certificate
|
||||
# against the sigstore community Fulcio instance.
|
||||
run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST}
|
||||
18
containers/cachyos/general/Dockerfile
Normal file
18
containers/cachyos/general/Dockerfile
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
FROM ghcr.io/andersrh/containers/cachyos/base-gui:main
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
USER build
|
||||
RUN yay -Sy --noconfirm vscodium-bin
|
||||
USER root
|
||||
|
||||
RUN pacman -Sy --noconfirm yt-dlp
|
||||
|
||||
COPY containers/general/bin/* /usr/local/bin/
|
||||
RUN ln -s /usr/bin/distrobox-host-exec /usr/local/bin/flatpak
|
||||
RUN ln -s /usr/bin/distrobox-host-exec /usr/local/bin/podman
|
||||
RUN ln -s /usr/bin/distrobox-host-exec /usr/local/bin/rpm-ostree
|
||||
RUN ln -s /usr/bin/distrobox-host-exec /usr/local/bin/nvtop
|
||||
RUN ln -s /usr/bin/distrobox-host-exec /usr/local/bin/distrobox
|
||||
RUN ln -s /usr/bin/distrobox-host-exec /usr/local/bin/uksmdstats
|
||||
RUN ln -s /usr/bin/distrobox-host-exec /usr/local/bin/kerver
|
||||
9
containers/cachyos/general/build.sh
Executable file
9
containers/cachyos/general/build.sh
Executable file
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/sh
|
||||
|
||||
APPNAME="general"
|
||||
|
||||
podman build -t andersrh/cachyos/$APPNAME -f cachyos.Dockerfile .
|
||||
podman rm -f $APPNAME-cachyos
|
||||
distrobox create --image andersrh/cachyos/$APPNAME --home ~/containers/$APPNAME/ $APPNAME-cachyos
|
||||
|
||||
distrobox enter $APPNAME-cachyos -- distrobox-export --app codium
|
||||
3
containers/general/bin/cointop
Executable file
3
containers/general/bin/cointop
Executable file
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
flatpak run com.github.miguelmota.Cointop
|
||||
3
containers/general/bin/defaulthome
Executable file
3
containers/general/bin/defaulthome
Executable file
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
export HOME="/var/home/anders"
|
||||
3
containers/general/bin/fakehome
Executable file
3
containers/general/bin/fakehome
Executable file
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
export HOME="/var/home/anders/containers/general"
|
||||
23
containers/general/bin/ffmpeg
Executable file
23
containers/general/bin/ffmpeg
Executable file
|
|
@ -0,0 +1,23 @@
|
|||
#!/bin/sh
|
||||
|
||||
#if [ ! -f /run/.containerenv ] && [ ! -f /.dockerenv ]; then
|
||||
command="podman run -it --rm -v \"$(pwd):$(pwd)\" --workdir=\"$(pwd)\" docker.io/linuxserver/ffmpeg "
|
||||
|
||||
for arg in "$@"; do
|
||||
if echo "${arg}" | grep -Eq "'|\""; then
|
||||
command="${command} \
|
||||
$(echo "${arg}" | sed 's|\\|\\\\|g' |
|
||||
sed 's| |\\ |g' |
|
||||
sed 's|\$|\\\$|g' |
|
||||
sed "s|'|\\\'|g" |
|
||||
sed 's|"|\\\"|g')"
|
||||
elif echo "${arg}" | grep -q "'"; then
|
||||
command="${command} \"${arg}\""
|
||||
else
|
||||
command="${command} '${arg}'"
|
||||
fi
|
||||
done
|
||||
eval ${command}
|
||||
#else
|
||||
# /usr/local/bin/ffmpeg "$@"
|
||||
#fi
|
||||
3
containers/general/bin/hostex
Executable file
3
containers/general/bin/hostex
Executable file
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
distrobox-host-exec $@
|
||||
Loading…
Add table
Add a link
Reference in a new issue