mirror of
https://github.com/optim-enterprises-bv/secureblue.git
synced 2025-11-07 13:58:03 +00:00
Initial commit
This commit is contained in:
16
Containerfile
Normal file
16
Containerfile
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
FROM ghcr.io/cgwalters/fedora-silverblue:37
|
||||||
|
# See https://pagure.io/releng/issue/11047 for final location
|
||||||
|
|
||||||
|
COPY etc /etc
|
||||||
|
COPY usr /usr
|
||||||
|
|
||||||
|
COPY ublue-firstboot /usr/bin
|
||||||
|
|
||||||
|
RUN rpm-ostree override remove firefox firefox-langpacks && \
|
||||||
|
rpm-ostree install distrobox gnome-tweaks && \
|
||||||
|
sed -i 's/#AutomaticUpdatePolicy.*/AutomaticUpdatePolicy=stage/' /etc/rpm-ostreed.conf && \
|
||||||
|
systemctl enable rpm-ostreed-automatic.timer && \
|
||||||
|
systemctl enable flatpak-automatic.timer && \
|
||||||
|
dconf update && \
|
||||||
|
rpm-ostree cleanup -m && \
|
||||||
|
ostree container commit
|
||||||
6
etc/profile.d/ublue-firstboot.sh
Normal file
6
etc/profile.d/ublue-firstboot.sh
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
if test "$(id -u)" -gt "0" && test -d "$HOME"; then
|
||||||
|
if test ! -e "$HOME"/.config/ublue/firstboot-done; then
|
||||||
|
mkdir -p "$HOME"/.config/autostart
|
||||||
|
cp -f /etc/skel.d/.config/autostart/ublue-firstboot.desktop "$HOME"/.config/autostart
|
||||||
|
fi
|
||||||
|
fi
|
||||||
8
etc/skel.d/.config/autostart/ublue-firstboot.desktop
Normal file
8
etc/skel.d/.config/autostart/ublue-firstboot.desktop
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=Ublue Desktop FirstBoot Setup
|
||||||
|
Comment=Sets up Ublue Desktop Correctly On FirstBoot
|
||||||
|
Exec=/usr/bin/ublue-firstboot
|
||||||
|
Icon=org.gnome.Terminal
|
||||||
|
Type=Application
|
||||||
|
Categories=Utility;System;
|
||||||
|
Name[en_US]=startup
|
||||||
12
etc/systemd/system/flatpak-automatic.service
Normal file
12
etc/systemd/system/flatpak-automatic.service
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=flatpak Automatic Update
|
||||||
|
Documentation=man:flatpak(1)
|
||||||
|
Wants=network-online.target
|
||||||
|
After=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/usr/bin/flatpak update -y
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
11
etc/systemd/system/flatpak-automatic.timer
Normal file
11
etc/systemd/system/flatpak-automatic.timer
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=flatpak Automatic Update Trigger
|
||||||
|
Documentation=man:flatpak(1)
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnBootSec=5m
|
||||||
|
OnCalendar=0/6:00:00
|
||||||
|
Persistent=true
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
153
ublue-firstboot
Executable file
153
ublue-firstboot
Executable file
@@ -0,0 +1,153 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if test -e "$HOME"/.config/ublue/firstboot-done; then
|
||||||
|
echo "Already ran"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
(
|
||||||
|
echo "# Waiting for Internet connection"
|
||||||
|
until /usr/bin/ping -q -c 1 flathub.org; do sleep 1; done
|
||||||
|
echo "00"
|
||||||
|
|
||||||
|
echo "# Removing Filtered Flathub Repository"
|
||||||
|
/usr/bin/flatpak remote-delete flathub --force ||:
|
||||||
|
if [ "$?" != 0 ] ; then
|
||||||
|
zenity --error \
|
||||||
|
--text="Removing Filtered Flathub Repo Failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "3"
|
||||||
|
|
||||||
|
echo "# Enabling Flathub Repository"
|
||||||
|
/usr/bin/flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||||
|
if [ "$?" != 0 ] ; then
|
||||||
|
zenity --error \
|
||||||
|
--text="Adding Flathub Repo Failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "5"
|
||||||
|
|
||||||
|
echo "# Removing Fedora Flatpak Repository"
|
||||||
|
/usr/bin/flatpak remote-delete fedora --force ||:
|
||||||
|
if [ "$?" != 0 ] ; then
|
||||||
|
zenity --error \
|
||||||
|
--text="Removing Fedora Flatpak Repo Failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "7"
|
||||||
|
|
||||||
|
echo "# Installing Firefox"
|
||||||
|
/usr/bin/flatpak install --user --noninteractive flathub org.mozilla.firefox
|
||||||
|
if [ "$?" != 0 ] ; then
|
||||||
|
zenity --error \
|
||||||
|
--text="Installing Firefox Failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "10"
|
||||||
|
|
||||||
|
echo "# Installing Thunderbird"
|
||||||
|
/usr/bin/flatpak install --user --noninteractive flathub org.mozilla.Thunderbird
|
||||||
|
if [ "$?" != 0 ] ; then
|
||||||
|
zenity --error \
|
||||||
|
--text="Installing Thunderbird Failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "20"
|
||||||
|
|
||||||
|
echo "# Installing GNOME Applications"
|
||||||
|
/usr/bin/flatpak install --user --noninteractive flathub \
|
||||||
|
org.gnome.Calculator \
|
||||||
|
org.gnome.Calendar \
|
||||||
|
org.gnome.Characters \
|
||||||
|
org.gnome.Connections \
|
||||||
|
org.gnome.Contacts \
|
||||||
|
org.gnome.Evince \
|
||||||
|
org.gnome.Firmware \
|
||||||
|
org.gnome.Logs
|
||||||
|
if [ "$?" != 0 ] ; then
|
||||||
|
zenity --error \
|
||||||
|
--text="Installing GNOME Applications Failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "30"
|
||||||
|
|
||||||
|
echo "# Installing more GNOME Applications"
|
||||||
|
/usr/bin/flatpak install --user --noninteractive flathub \
|
||||||
|
org.gnome.Maps \
|
||||||
|
org.gnome.NautilusPreviewer \
|
||||||
|
org.gnome.TextEditor \
|
||||||
|
org.gnome.Weather \
|
||||||
|
org.gnome.baobab \
|
||||||
|
org.gnome.clocks \
|
||||||
|
org.gnome.eog \
|
||||||
|
org.gnome.font-viewer
|
||||||
|
if [ "$?" != 0 ] ; then
|
||||||
|
zenity --error \
|
||||||
|
--text="Installing GNOME more Applications Failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "40"
|
||||||
|
|
||||||
|
echo "# Installing Extension Manager"
|
||||||
|
/usr/bin/flatpak install --user --noninteractive flathub com.mattjakeman.ExtensionManager
|
||||||
|
if [ "$?" != 0 ] ; then
|
||||||
|
zenity --error \
|
||||||
|
--text="Installing Extension Manager Failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "50"
|
||||||
|
|
||||||
|
echo "# Installing LibreOffice"
|
||||||
|
/usr/bin/flatpak install --user --noninteractive flathub org.libreoffice.LibreOffice
|
||||||
|
if [ "$?" != 0 ] ; then
|
||||||
|
zenity --error \
|
||||||
|
--text="Installing LibreOffice Failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "70"
|
||||||
|
|
||||||
|
echo "# Installing DejaDup Backup"
|
||||||
|
/usr/bin/flatpak install --user --noninteractive flathub org.gnome.DejaDup
|
||||||
|
if [ "$?" != 0 ] ; then
|
||||||
|
zenity --error \
|
||||||
|
--text="Installing DejaDup Failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "80"
|
||||||
|
|
||||||
|
echo "# Installing Font Downloader"
|
||||||
|
/usr/bin/flatpak install --user --noninteractive flathub org.gustavoperedo.FontDownloader
|
||||||
|
if [ "$?" != 0 ] ; then
|
||||||
|
zenity --error \
|
||||||
|
--text="Installing FontDownloader Failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "85"
|
||||||
|
|
||||||
|
echo "# Installing Flatseal"
|
||||||
|
/usr/bin/flatpak install --user --noninteractive flathub com.github.tchx84.Flatseal
|
||||||
|
if [ "$?" != 0 ] ; then
|
||||||
|
zenity --error \
|
||||||
|
--text="Installing Flatseal Failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "90"
|
||||||
|
|
||||||
|
echo "# Installing Celluloid Media Player"
|
||||||
|
/usr/bin/flatpak install --user --noninteractive flathub io.github.celluloid_player.Celluloid
|
||||||
|
if [ "$?" != 0 ] ; then
|
||||||
|
zenity --error \
|
||||||
|
--text="Installing Celluloid Failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "100"
|
||||||
|
|
||||||
|
echo "# Reticulating Final Splines"
|
||||||
|
mkdir -p "$HOME"/.config/ublue/
|
||||||
|
touch "$HOME"/.config/ublue/firstboot-done
|
||||||
|
|
||||||
|
if [ "$?" != 0 ] ; then
|
||||||
|
zenity --error \
|
||||||
|
--text="Firstboot Configuration Error"
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user