Skip to content
This repository has been archived by the owner on Feb 19, 2024. It is now read-only.

[pull] bluefin-main from ublue-os:main #74

Merged
merged 13 commits into from
Jan 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-bluefin-toolbox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
uses: actions/checkout@v4

- name: Verify base container
uses: EyeCantCU/cosign-action/[email protected].1
uses: EyeCantCU/cosign-action/[email protected].2
with:
containers: wolfi-base
cert-identity: https://github.com/chainguard-images/images/.github/workflows/release.yaml@refs/heads/main
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-fedora-toolbox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
uses: actions/checkout@v4

- name: Verify Fedora distrobox
uses: EyeCantCU/cosign-action/[email protected].1
uses: EyeCantCU/cosign-action/[email protected].2
with:
containers: fedora-distrobox:latest

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-ubuntu-toolbox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
uses: actions/checkout@v4

- name: Verify Ubuntu toolbox
uses: EyeCantCU/cosign-action/[email protected].1
uses: EyeCantCU/cosign-action/[email protected].2
with:
containers: ubuntu-toolbox:22.04
pubkey: https://raw.githubusercontent.com/toolbx-images/images/main/quay.io-toolbx-images.pub
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-wolfi-toolbox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
uses: actions/checkout@v4

- name: Verify base container
uses: EyeCantCU/cosign-action/[email protected].1
uses: EyeCantCU/cosign-action/[email protected].2
with:
containers: wolfi-base
cert-identity: https://github.com/chainguard-images/images/.github/workflows/release.yaml@refs/heads/main
Expand Down
9 changes: 4 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,18 +40,17 @@ jobs:
is_stable_version: true
is_gts_version: false
steps:
# Checkout push-to-registry action GitHub repository
- name: Checkout Push to Registry action
- name: Checkout
uses: actions/checkout@v4

- name: Verify base image
uses: EyeCantCU/cosign-action/[email protected].1
uses: EyeCantCU/cosign-action/[email protected].2
with:
containers: silverblue-${{ matrix.image_flavor }}:${{ matrix.major_version }}

- name: Verify Chainguard images
if: matrix.base_name != 'bluefin'
uses: EyeCantCU/cosign-action/[email protected].1
uses: EyeCantCU/cosign-action/[email protected].2
with:
containers: dive, flux, helm, ko, minio, kubectl
cert-identity: https://github.com/chainguard-images/images/.github/workflows/release.yaml@refs/heads/main
Expand Down Expand Up @@ -214,7 +213,7 @@ jobs:
- name: Echo outputs
if: github.event_name != 'pull_request'
run: |
echo "${{ toJSON(steps.push.outputs) }}"
echo "${{ toJSON(steps.push.outputs) }}"

check:
name: Check all builds successful
Expand Down
22 changes: 22 additions & 0 deletions .github/workflows/contributors.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Update Contributors

on:
schedule:
- cron: '0 0 * * *' # Every day at midnight
push:
branches:
- main

jobs:
update:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@v4

- uses: akhilmhdh/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
8 changes: 4 additions & 4 deletions Containerfile
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,10 @@ RUN wget https://copr.fedorainfracloud.org/coprs/ublue-os/bling/repo/fedora-$(rp
rm -f /etc/yum.repos.d/charm.repo && \
rm -f /etc/yum.repos.d/_copr_ublue-os-bling.repo && \
rm -f /etc/yum.repos.d/ublue-os-staging-fedora-"${FEDORA_MAJOR_VERSION}".repo && \
rm -f /usr/share/applications/fish.desktop && \
rm -f /usr/share/applications/htop.desktop && \
rm -f /usr/share/applications/nvtop.desktop && \
rm -fr /usr/share/applications/gnome-system-monitor.desktop && \
echo "Hidden=true" >> /usr/share/applications/fish.desktop && \
echo "Hidden=true" >> /usr/share/applications/htop.desktop && \
echo "Hidden=true" >> /usr/share/applications/nvtop.desktop && \
echo "Hidden=true" >> /usr/share/applications/gnome-system-monitor.desktop && \
sed -i 's/#DefaultTimeoutStopSec.*/DefaultTimeoutStopSec=15s/' /etc/systemd/user.conf && \
sed -i 's/#DefaultTimeoutStopSec.*/DefaultTimeoutStopSec=15s/' /etc/systemd/system.conf && \
sed -i '/^PRETTY_NAME/s/Silverblue/Bluefin/' /usr/lib/os-release && \
Expand Down
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,8 @@ A familiar(ish) Ubuntu desktop for Fedora Silverblue. It strives to cover these
3. [Developer Experience Edition](https://universal-blue.discourse.group/t/bluefin-dx-the-bluefin-developer-experience/39)
4. [Administrator's Guide](https://universal-blue.discourse.group/t/bluefin-administrators-guide/40)
5. [Framework Images](https://universal-blue.org/images/framework/)

# Contributors

<!-- readme: collaborators,contributors -start -->
<!-- readme: collaborators,contributors -end -->
18 changes: 15 additions & 3 deletions dx/usr/bin/bluefin-dx-user-vscode
Original file line number Diff line number Diff line change
@@ -1,13 +1,25 @@
#!/usr/bin/env bash

# SCRIPT VERSION
USER_SETUP_VER=1
USER_SETUP_VER_FILE="$HOME/.bluefin-vscode-configured"
USER_SETUP_VER=2
USER_SETUP_VER_FILE="${XDG_DATA_HOME:-$HOME/.local/share}/ublue/vscode-configured"
USER_SETUP_VER_RAN=$(cat "$USER_SETUP_VER_FILE")

mkdir -p "$(dirname "$USER_SETUP_VER_FILE")" || exit 1

USER_SETUP_VER_FILE_V1="$HOME/.bluefin-vscode-configured"
# Upgrade from v1 to v2 changes only the location of the USER_SETUP_VER.
# Exit if v1 file is present.
if [[ -f $USER_SETUP_VER_FILE_V1 ]]; then
echo "User setup v1 has already run. Exiting..."
rm $USER_SETUP_VER_FILE_V1
echo "$USER_SETUP_VER" > "$USER_SETUP_VER_FILE"
exit 0
fi

# Run script if updated
if [[ -f $USER_SETUP_VER_FILE && "$USER_SETUP_VER" = "$USER_SETUP_VER_RAN" ]]; then
echo "User setup has already run. Exiting..."
echo "User setup v$VER has already run. Exiting..."
exit 0
fi

Expand Down
14 changes: 7 additions & 7 deletions just/custom.just
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,13 @@ aqua:

[private]
bluefin-cli:
#!/usr/bin/env bash
if [ ! -f "${HOME}/.brew_pkgs" ]; then
echo dysk > "${HOME}/.brew_pkgs"
fi;
distrobox-create --nvidia --image ghcr.io/ublue-os/bluefin-cli:latest -n bluefin -Y -a "--env BREW_PKGS=.brew_pkgs"
echo "Entering bluefin-cli"
distrobox enter bluefin
#!/usr/bin/env bash
if [ ! -d "${XDG_DATA_HOME:-$HOME/.local/share}/bluefin-cli/Cellar" ]; then
mkdir -p "${XDG_DATA_HOME:-$HOME/.local/share}/bluefin-cli/Cellar"
fi;
distrobox-create --nvidia --image ghcr.io/ublue-os/bluefin-cli:latest -n bluefin --volume "${XDG_DATA_HOME:-$HOME/.local/share}/bluefin-cli/Cellar":/home/linuxbrew/.linuxbrew/Cellar:z
echo "Entering bluefin-cli"
distrobox enter -n bluefin

# Enable Cockpit for web-based system management | https://cockpit-project.org/
cockpit:
Expand Down
1 change: 1 addition & 0 deletions packages.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"cockpit-bridge",
"evtest",
"fish",
"firewall-config",
"glow",
"gum",
"gnome-shell-extension-appindicator",
Expand Down
17 changes: 8 additions & 9 deletions toolboxes/Containerfile.bluefin-cli
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ LABEL com.github.containers.toolbox="true" \
maintainer="[email protected]"

COPY ./toolboxes/packages.bluefin-cli /toolbox-packages
COPY ./toolboxes/files.bluefin-cli/etc /etc

# Update image
RUN apk update && \
Expand All @@ -16,6 +17,12 @@ RUN grep -v '^#' /toolbox-packages | xargs apk add

RUN rm /toolbox-packages

# Have Linuxbrew owned by UID = 1000
RUN chown -R 1000 /home/linuxbrew

# Give UID = 1000 sudo
RUN echo "#1000 ALL = (root) NOPASSWD:ALL" >> /etc/sudoers

# Get Distrobox-host-exec and host-spawn
RUN git clone https://github.com/89luca89/distrobox.git --single-branch /tmp/distrobox && \
cp /tmp/distrobox/distrobox-host-exec /usr/bin/distrobox-host-exec && \
Expand All @@ -31,13 +38,5 @@ RUN mkdir -p /usr/local/bin && \
ln -fs /usr/bin/distrobox-host-exec /usr/local/bin/podman && \
ln -fs /usr/bin/distrobox-host-exec /usr/local/bin/rpm-ostree

# Make Sudo Work (Assumes UID = 1000)
COPY ./toolboxes/files.bluefin-cli/etc/sudoers /etc/sudoers
COPY ./toolboxes/files.bluefin-cli/etc/pam.d /etc/pam.d

# Have Linuxbrew owned by UID = 1000
RUN chown -R 1000 /home/linuxbrew/.linuxbrew /home/linuxbrew/.linuxbrew/bin

# Change root shell to BASH

RUN sed -i -e '/^root/s/\/bin\/ash/\/bin\/bash/' /etc/passwd
RUN sed -i -e '/^root/s/\/bin\/ash/\/bin\/bash/' /etc/passwd
8 changes: 0 additions & 8 deletions toolboxes/brew_script.bluefin-cli

This file was deleted.

7 changes: 0 additions & 7 deletions toolboxes/files.bluefin-cli/etc/pam.d/sudo

This file was deleted.

7 changes: 0 additions & 7 deletions toolboxes/files.bluefin-cli/etc/pam.d/sudo-i

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
if test "$(id -u)" -gt "0" && test ! -f /home/linuxbrew/.firstrun && test -d /home/linuxbrew/.linuxbrew/Cellar; then
touch /home/linuxbrew/.firstrun
if test -n "$(ls -A /home/linuxbrew/.linuxbrew/Cellar)"; then
echo "Relinking Homebrew Cellar"
/home/linuxbrew/.linuxbrew/bin/brew list -1 | while read line
do
/home/linuxbrew/.linuxbrew/bin/brew unlink $line
/home/linuxbrew/.linuxbrew/bin/brew link $line
done
echo "Reinstalling explicictly installed Homebrew packages"
/home/linuxbrew/.linuxbrew/bin/brew leaves | while read line
do
/home/linuxbrew/.linuxbrew/bin/brew reinstall $line
done
fi
fi
3 changes: 0 additions & 3 deletions toolboxes/files.bluefin-cli/etc/sudoers

This file was deleted.

2 changes: 1 addition & 1 deletion toolboxes/packages.wolfi
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ gpg
iproute2
iputils
keyutils
libcap
libcap=2.68-r0
mount
ncurses
ncurses-terminfo
Expand Down
16 changes: 14 additions & 2 deletions usr/bin/ublue-user-flatpak-manager
Original file line number Diff line number Diff line change
@@ -1,10 +1,22 @@
#!/usr/bin/env bash

# Script Version
VER=1
VER_FILE="$HOME/.ublue_flatpak_manager_version"
VER=2
VER_FILE="${XDG_DATA_HOME:-$HOME/.local/share}/ublue/flatpak_manager_version"
VER_RAN=$(cat $VER_FILE)

mkdir -p "$(dirname "$VER_FILE")" || exit 1

# Upgrade from v1 to v2 changes only the location of the VER_FILE.
# Exit if v1 file is present.
VER_1_FILE="$HOME/.ublue_flatpak_manager_version"
if [[ -f $VER_1_FILE ]]; then
echo "Flatpak manager v1 has already ran. Exiting..."
rm $VER_1_FILE
echo $VER > $VER_FILE
exit 0
fi

# Run script if updated
if [[ -f $VER_FILE && $VER = $VER_RAN ]]; then
echo "Flatpak manager v$VER has already ran. Exiting..."
Expand Down
20 changes: 17 additions & 3 deletions usr/bin/ublue-user-setup
Original file line number Diff line number Diff line change
@@ -1,13 +1,27 @@
#!/usr/bin/env bash

# SCRIPT VERSION
USER_SETUP_VER=1
USER_SETUP_VER_FILE="$HOME/.ublue-configured"
USER_SETUP_VER=2
USER_SETUP_VER_FILE="${XDG_DATA_HOME:-$HOME/.local/share}/ublue/user-setup"
USER_SETUP_VER_RAN=$(cat $USER_SETUP_VER_FILE)

mkdir -p "$(dirname "$USER_SETUP_VER_FILE")" || exit 1

echo "$(dirname "$USER_SETUP_VER_FILE")"

# Upgrade from v1 to v2 changes only the location of the USER_SETUP_VER.
# Exit if v1 file is present.
USER_SETUP_VER_FILE_V1="$HOME/.ublue-configured"
if [[ -f $USER_SETUP_VER_FILE_V1 ]]; then
echo "User setup v1 has already run. Exiting..."
rm $USER_SETUP_VER_FILE_V1
echo $USER_SETUP_VER > $USER_SETUP_VER_FILE
exit 0
fi

# Run script if updated
if [[ -f $USER_SETUP_VER_FILE && $USER_SETUP_VER = $USER_SETUP_VER_RAN ]]; then
echo "User setup has already run. Exiting..."
echo "User setup v$VER has already run. Exiting..."
exit 0
fi

Expand Down
14 changes: 0 additions & 14 deletions usr/etc/dconf/db/local.d/01-ublue
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,6 @@
favorite-apps = ['org.mozilla.firefox.desktop', 'org.mozilla.Thunderbird.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Rhythmbox3.desktop', 'org.libreoffice.LibreOffice.writer.desktop', 'org.gnome.Software.desktop', 'code.desktop', 'ubuntu.desktop', 'yelp.desktop']
enabled-extensions = ['[email protected]', '[email protected]', 'blur-my-shell@aunetx', '[email protected]', 'logomenu@aryan_k', '[email protected]']

[org/gnome/desktop/app-folders]
folder-children=['Utilities', 'Distrobox', 'Wine', 'YaST', 'Pardus']

[org/gnome/desktop/app-folders/folders/Distrobox]
categories=['Distrobox']
name='Distrobox'
translate=false

[org/gnome/desktop/app-folders/folders/Wine]
apps=['winetricks.desktop']
categories=['X-Wine', 'wine-wine']
name='Wine'
translate=false

[org/gnome/desktop/background]
picture-uri='file:///usr/share/backgrounds/bluefin/bluefin-winter-dynamic.xml'
picture-uri-dark='file:///usr/share/backgrounds/bluefin/bluefin-winter-dynamic.xml'
Expand Down
30 changes: 30 additions & 0 deletions usr/etc/dconf/db/local.d/02-bluefin-folders
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
[org/gnome/desktop/app-folders]
folder-children=['Games', 'GamingUtilities', 'Utilities', 'Distrobox', 'Wine', 'YaST', 'Pardus']

[org/gnome/desktop/app-folders/folders/GamingUtilities]
apps=['protontricks.desktop', 'discover_overlay_configure.desktop', 'com.vysp3r.ProtonPlus.desktop', 'io.github.benjamimgois.goverlay.desktop', 'com.gerbilsoft.rom-properties.rp-config.desktop', 'input-remapper-gtk.desktop', 'steamos-nested-desktop.desktop']
name='Gaming Utilities'
translate=false

[org/gnome/desktop/app-folders/folders/Utilities]
apps=['com.github.tchx84.Flatseal.desktop', 'io.github.flattool.Warehouse.desktop', 'com.mattjakeman.ExtensionManager.desktop', 'org.gnome.tweaks.desktop', 'firewall-config.desktop', 'ca.desrt.dconf-editor.desktop']
categories=['X-GNOME-Utilities']
name='X-GNOME-Utilities.directory'
translate=true

[org/gnome/desktop/app-folders/folders/Games]
excluded-apps=['steam.desktop', 'net.lutris.Lutris.desktop', 'io.github.benjamimgois.goverlay.desktop', 'com.vysp3r.ProtonPlus.desktop', 'io.github.fastrizwaan.WineZGUI.desktop']
categories=['Game']
name='Games'
translate=false

[org/gnome/desktop/app-folders/folders/Distrobox]
categories=['Distrobox']
name='Distrobox'
translate=false

[org/gnome/desktop/app-folders/folders/Wine]
apps=['winetricks.desktop']
categories=['X-Wine', 'wine-wine']
name='Wine'
translate=false
1 change: 1 addition & 0 deletions usr/etc/flatpak/user/install
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ org.gnome.clocks
org.gnome.font-viewer
com.mattjakeman.ExtensionManager
com.github.tchx84.Flatseal
io.github.flattool.Warehouse
org.fedoraproject.MediaWriter
io.missioncenter.MissionCenter
io.github.celluloid_player.Celluloid