Last active
November 10, 2020 16:24
-
-
Save kavan-mevada/ad643d4e221442cecbb55de2eaa4fb6e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#----------------------------------------- | |
# Installing Required Tools | |
#----------------------------------------- | |
sudo apt-get update | |
lb config \ | |
-d sid \ | |
-a amd64 \ | |
--apt-recommends false \ | |
--apt-options '--yes -oAPT::Default-Release=unstable' \ | |
--debian-installer live \ | |
--initsystem systemd \ | |
--debian-installer-distribution daily \ | |
--archive-areas "main contrib non-free" \ | |
--bootappend-live "boot=live components quiet splash config hostname=debian username=live locales=en_US.UTF-8" \ | |
--binary-images iso-hybrid | |
mkdir -p config/includes.chroot/usr/share/{backgrounds,gnome-background-properties,glib-2.0/schemas} | |
echo "deb http://deb.debian.org/debian/ buster main contrib non-free" >> config/archives/desktop.list.chroot | |
echo "deb http://deb.debian.org/debian/ sid main contrib non-free" >> config/archives/sid.list.chroot | |
echo "deb http://deb.debian.org/debian/ experimental main contrib non-free" >> config/archives/experimental.list.chroot | |
cat >> config/archives/experimental.pref.chroot << EOF | |
Package: plymouth plymouth-themes plymouth-label | |
Pin: release n=experimental | |
Pin-Priority: 900 | |
EOF | |
#---------------------------------------- | |
# Adding Wallpaper | |
#---------------------------------------- | |
mkdir -p config/includes.chroot/usr/share/backgrounds/gnome | |
curl -o config/includes.chroot/usr/share/backgrounds/gnome/adwaita-morning.jpg https://gitlab.gnome.org/GNOME/gnome-backgrounds/-/raw/master/backgrounds/adwaita-morning.jpg | |
curl -o config/includes.chroot/usr/share/backgrounds/gnome/adwaita-day.jpg https://gitlab.gnome.org/GNOME/gnome-backgrounds/-/raw/master/backgrounds/adwaita-day.jpg | |
curl -o config/includes.chroot/usr/share/backgrounds/gnome/adwaita-night.jpg https://gitlab.gnome.org/GNOME/gnome-backgrounds/-/raw/master/backgrounds/adwaita-night.jpg | |
doInstall=$(echo $(apt-cache depends gnome-core | grep Depends | sed "s/.*ends:\ //") | sed "s/\(<\|>\)//g") | |
doInstall+=" gvfs-fuse locales keyboard-configuration console-setup sudo eject xdg-utils xdg-user-dirs-gtk" | |
# Package for Live-Builds | |
doInstall+=" live-task-base user-setup" | |
# Plymouth new | |
doInstall+=" plymouth plymouth-label plymouth-themes" | |
# Add fonts | |
doInstall+=" fonts-noto fonts-symbola fonts-quicksand librsvg2-common" | |
doInstall+=" network-*-gnome nautilus-extension-gnome-terminal pulseaudio-module-bluetooth pulseaudio-module-gsettings" | |
# Add Flatpak packages | |
doInstall+=" flatpak gnome-software gnome-software-plugin-flatpak xdg-desktop-portal flatpak-xdg-utils xdg-desktop-portal-gtk" | |
# Add Podman packages | |
doInstall+=" podman uidmap slirp4netns runc" | |
# Add utility packages | |
doInstall+=" pciutils usbutils keyutils lvm2 mdadm dmsetup cryptsetup dmraid e2fsprogs btrfs-progs dosfstools xfsprogs jfsutils ssh curl git" | |
notInstall=(gnome-characters gnome-contacts gnome-calculator baobab evince gnome-font-viewer yelp eog gnome-logs software-properties-gtk gedit totem firefox-esr firefox-browser firefox chromium chromium-browser gvfs-fuse-browser) | |
for element in ${notInstall[@]}; do doInstall=$(echo $doInstall | sed "s/ $element//g"); done | |
echo $doInstall > config/package-lists/desktop.list.chroot | |
cat config/package-lists/desktop.list.chroot | |
####################################### | |
# Add Bootloader | |
####################################### | |
cat > config/package-lists/debian.list.binary << EOF | |
# EFI support, ensure we have the required .deb in the ISO available for | |
# installation | |
#if ARCHITECTURES i386 | |
grub-efi | |
grub-efi-ia32 | |
#endif | |
#if ARCHITECTURES amd64 | |
grub-efi | |
grub-efi-amd64 | |
#endif | |
EOF | |
#---------------------------------------- | |
# System GSettings Overrides | |
#---------------------------------------- | |
cat > config/includes.chroot/usr/share/glib-2.0/schemas/11_desktop-base.gschema.override << EOF | |
[org.gnome.desktop.background] | |
picture-options='zoom' | |
picture-uri='file:///usr/share/backgrounds/gnome/adwaita-timed.xml' | |
[org.gnome.desktop.screensaver] | |
picture-options='zoom' | |
picture-uri='file:///usr/share/backgrounds/gnome/adwaita-timed.xml' | |
[org.gnome.desktop.interface] | |
document-font-name='Cantarell 10' | |
font-name='Cantarell 10' | |
#monospace-font-name='FiraCode-Regular' | |
[org.gnome.nautilus.desktop] | |
font='Cantarell 10' | |
[org.gnome.nautilus.icon-view] | |
default-zoom-level='small' | |
[org.gnome.nautilus.list-view] | |
default-zoom-level='small' | |
[org.gnome.desktop.peripherals.mouse] | |
natural-scroll=true | |
[org.gnome.desktop.peripherals.touchpad] | |
natural-scroll=true | |
[org.gnome.desktop.interface] | |
gtk-theme='Adwaita' | |
EOF | |
#---------------------------------------- | |
# Terminal GSettings Overrides | |
#---------------------------------------- | |
cat > config/includes.chroot/usr/share/glib-2.0/schemas/11_gsettings-desktop-schemas.gschema.override << EOF | |
[org.gnome.Terminal.Legacy.Settings] | |
default-show-menubar=false | |
theme-variant='dark' | |
EOF | |
#---------------------------------------- | |
# Adding Hooks | |
#---------------------------------------- | |
cat > config/hooks/normal/10_desktop-base.hook.chroot << EOF | |
sudo sed -i 's/PRETTY_NAME=".*"/PRETTY_NAME="Debian"/g' /usr/lib/os-release | |
sudo glib-compile-schemas /usr/share/glib-2.0/schemas | |
sudo sed -i 's/OnlyShowIn=GNOME/NotShowIn=GNOME/g' /usr/share/applications/software-properties-gnome.desktop | |
sudo sed -i 's/OnlyShowIn=GNOME/NotShowIn=GNOME/g' /usr/share/applications/software-properties-gtk.desktop | |
#---------------------------------------- | |
# Podman containers configuration | |
#---------------------------------------- | |
sudo mkdir -p /etc/containers | |
sudo curl -L -o /etc/containers/registries.conf https://raw.githubusercontent.com/projectatomic/registries/master/registries.fedora | |
sudo curl -L -o /etc/containers/policy.json https://raw.githubusercontent.com/containers/skopeo/master/default-policy.json | |
sudo echo 'user.max_user_namespaces=65536' > /etc/sysctl.d/userns.conf | |
sudo echo 'kernel.unprivileged_userns_clone=1' >> /etc/sysctl.d/userns.conf | |
sudo sysctl -p /etc/sysctl.d/userns.conf | |
sudo plymouth-set-default-theme -R spinner | |
#---------------------------------------- | |
# GNOME's default flatpaks apps | |
#---------------------------------------- | |
flatpak remote-add --installation=extra --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo | |
sudo apt full-upgrade -y | |
EOF | |
sudo lb build | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment