Last active
April 10, 2020 12:50
-
-
Save kavan-mevada/be9c129bfd9b19a84927037964f9a8d0 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 install live-build | |
#---------------------------------------- | |
# Configurating Live Build (lb_config) | |
#---------------------------------------- | |
lb config \ | |
--apt-recommends false \ | |
--distribution buster \ | |
--debian-installer live \ | |
--architecture amd64 \ | |
--memtest none \ | |
--source true \ | |
--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} | |
cat >> config/archives/desktop.list.chroot << EOF | |
deb http://ftp.debian.org/debian experimental main contrib non-free | |
deb http://ftp.debian.org/debian sid main contrib non-free | |
EOF | |
cat >> config/archives/desktop.list.binary << EOF | |
deb http://ftp.debian.org/debian experimental main contrib non-free | |
deb http://ftp.debian.org/debian sid main contrib non-free | |
EOF | |
#---------------------------------------- | |
# Adding Wallpaper | |
#---------------------------------------- | |
wget -O config/includes.chroot/usr/share/backgrounds/wallpaper.jpg http://i.imgur.com/u2oPC.jpg | |
cat > config/includes.chroot/usr/share/gnome-background-properties/debian-experimental.xml << EOF | |
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd"> | |
<wallpapers> | |
<wallpaper> | |
<name>Experimental</name> | |
<filename>/usr/share/backgrounds/wallpaper.jpg</filename> | |
<options>zoom</options> | |
</wallpaper> | |
</wallpapers> | |
EOF | |
#---------------------------------------- | |
# APT::Pinning | |
#---------------------------------------- | |
my_array=( | |
adwaita-icon-theme | |
libatk-adaptor | |
libatk-bridge2.0-0 | |
at-spi2-core | |
gir1.2-atspi-2.0 | |
libatspi2.0-0 | |
gir1.2-atk-1.0 | |
libatk1.0-0 | |
libatk1.0-data | |
libatkmm-1.6-1v5 | |
baobab | |
fonts-cantarell | |
cheese | |
cheese-common | |
gir1.2-cheese-3.0 | |
libcheese-gtk25 | |
libcheese8 | |
clutter-1.0-tests | |
gir1.2-clutter-1.0 | |
libclutter-1.0-0 | |
libclutter-1.0-common | |
gir1.2-clutter-gst-3.0 | |
gstreamer1.0-clutter-3.0 | |
libclutter-gst-3.0-0 | |
gir1.2-gtkclutter-1.0 | |
libclutter-gtk-1.0-0 | |
gir1.2-cogl-1.0 | |
#gir1.2-coglgst-2.0 | |
gir1.2-coglpango-1.0 | |
libcogl-common | |
libcogl-gles2-20 | |
libcogl-gst20 | |
libcogl-pango20 | |
libcogl-path20 | |
libcogl20 | |
dconf-cli | |
dconf-gsettings-backend | |
dconf-service | |
libdconf1 | |
eog | |
chromium-sandbox | |
chromium | |
chromium-common | |
chromium-l10n | |
#epiphany-browser | |
#epiphany-browser-data | |
evince | |
evince-common | |
gir1.2-evince-3.0 | |
libevdocument3-4 | |
libevview3-3 | |
evolution-data-server | |
evolution-data-server-common | |
gir1.2-camel-1.2 | |
gir1.2-ebackend-1.2 | |
gir1.2-ebook-1.2 | |
gir1.2-ebookcontacts-1.2 | |
gir1.2-ecal-2.0 | |
gir1.2-edatabook-1.2 | |
gir1.2-edatacal-2.0 | |
gir1.2-edataserver-1.2 | |
gir1.2-edataserverui-1.2 | |
libcamel-1.2-62 | |
libebackend-1.2-10 | |
libebook-1.2-20 | |
libebook-contacts-1.2-3 | |
libecal-2.0-1 | |
libedata-book-1.2-26 | |
libedata-cal-2.0-1 | |
libedataserver-1.2-24 | |
libedataserverui-1.2-2 | |
file-roller | |
folks-common | |
folks-tools | |
gir1.2-folks-0.6 | |
libfolks-dummy-dev | |
libfolks-dummy25 | |
libfolks-eds25 | |
libfolks-telepathy25 | |
libfolks25 | |
gcab | |
gir1.2-gcab-1.0 | |
libgcab-1.0-0 | |
gir1.2-gdkpixbuf-2.0 | |
libgdk-pixbuf2.0-0 | |
libgdk-pixbuf2.0-bin | |
libgdk-pixbuf2.0-common | |
gdm3 | |
gir1.2-gdm-1.0 | |
libgdm1 | |
gedit | |
gedit-common | |
gir1.2-geocodeglib-1.0 | |
libgeocode-glib0 | |
gir1.2-gfbgraph-0.2 | |
libgfbgraph-0.2-0 | |
gjs | |
libgjs0g | |
libglib2.0-0 | |
libglib2.0-bin | |
libglib2.0-data | |
libglib2.0-dev-bin | |
glib-networking | |
glib-networking-common | |
glib-networking-services | |
libglibmm-2.4-1v5 | |
gir1.2-gmime-3.0 | |
gmime-bin | |
libgmime-3.0-0 | |
gir1.2-gnomeautoar-0.1 | |
gir1.2-gnomeautoargtk-0.1 | |
libgnome-autoar-0-0 | |
libgnome-autoar-gtk-0-0 | |
gnome-backgrounds | |
gir1.2-gnomebluetooth-1.0 | |
gnome-bluetooth | |
libgnome-bluetooth13 | |
gnome-boxes | |
gnome-calculator | |
gnome-calendar | |
gnome-characters | |
gnome-clocks | |
gnome-color-manager | |
gnome-contacts | |
gnome-control-center | |
gnome-control-center-data | |
gir1.2-gnomedesktop-3.0 | |
gnome-desktop3-data | |
libgnome-desktop-3-18 | |
gnome-disk-utility | |
gnome-font-viewer | |
gnome-getting-started-docs | |
gnome-initial-setup | |
gnome-keyring | |
gnome-keyring-pkcs11 | |
libpam-gnome-keyring | |
gnome-logs | |
gnome-maps | |
gir1.2-gmenu-3.0 | |
gnome-menus | |
libgnome-menu-3-0 | |
gnome-music | |
gir1.2-goa-1.0 | |
gnome-online-accounts | |
libgoa-1.0-0b | |
libgoa-1.0-common | |
libgoa-backend-1.0-1 | |
gnome-online-miners | |
gnome-photos | |
gnome-screenshot | |
gnome-session | |
gnome-session-bin | |
gnome-session-common | |
gnome-settings-daemon | |
gnome-settings-daemon-common | |
gnome-shell | |
gnome-shell-common | |
gnome-shell-extensions | |
gnome-software | |
gnome-software-common | |
gnome-software-plugin-flatpak | |
gnome-software-plugin-snap | |
gnome-system-monitor | |
gnome-terminal | |
gnome-terminal-data | |
nautilus-extension-gnome-terminal | |
gnome-accessibility-themes | |
gnome-themes-extra | |
gnome-themes-extra-data | |
gnome-themes-standard | |
gnome-user-docs | |
gnome-user-guide | |
gnome-user-share | |
gnome-video-effects | |
gnome-video-effects-frei0r | |
gnome-weather | |
gir1.2-freedesktop | |
gir1.2-glib-2.0 | |
gobject-introspection | |
libgirepository-1.0-1 | |
gir1.2-gom-1.0 | |
libgom-1.0-0 | |
gir1.2-grilo-0.3 | |
libgrilo-0.3-0 | |
libgrilo-0.3-bin | |
grilo-plugins-0.3 | |
gir1.2-gdesktopenums-3.0 | |
gsettings-desktop-schemas | |
gir1.2-gsound-1.0 | |
gsound-tools | |
libgsound0 | |
gir1.2-gspell-1 | |
libgspell-1-2 | |
libgspell-1-common | |
gir1.2-gssdp-1.2 | |
gssdp-tools | |
libgssdp-1.2-0 | |
gir1.2-gtk-3.0 | |
gtk-3-examples | |
gtk-update-icon-cache | |
libgail-3-0 | |
libgtk-3-0 | |
libgtk-3-bin | |
libgtk-3-common | |
gtk-doc-tools | |
gir1.2-gtk-vnc-2.0 | |
gvncviewer | |
libgtk-vnc-2.0-0 | |
libgvnc-1.0-0 | |
libgtkmm-3.0-1v5 | |
gir1.2-gtksource-4 | |
libgtksourceview-4-0 | |
libgtksourceview-4-common | |
gir1.2-gupnp-1.2 | |
libgupnp-1.2-0 | |
gir1.2-gupnp-av-1.0 | |
libgupnp-av-1.0-2 | |
gir1.2-gupnpdlna-2.0 | |
gupnp-dlna-tools | |
libgupnp-dlna-2.0-3 | |
gvfs | |
gvfs-backends | |
gvfs-bin | |
gvfs-common | |
gvfs-daemons | |
gvfs-fuse | |
gvfs-libs | |
gir1.2-json-1.0 | |
json-glib-tools | |
libjson-glib-1.0-0 | |
libjson-glib-1.0-common | |
gir1.2-champlain-0.12 | |
gir1.2-gtkchamplain-0.12 | |
libchamplain-0.12-0 | |
libchamplain-gtk-0.12-0 | |
gir1.2-dazzle-1.0 | |
libdazzle-1.0-0 | |
libdazzle-tools | |
gir1.2-gdata-0.0 | |
libgdata-common | |
libgdata22 | |
gir1.2-gee-0.8 | |
libgee-0.8-2 | |
gir1.2-gkbd-3.0 | |
gkbd-capplet | |
libgnomekbd-common | |
libgnomekbd8 | |
gir1.2-gsf-1 | |
libgsf-1-114 | |
libgsf-1-common | |
libgsf-bin | |
gir1.2-gtop-2.0 | |
libgtop-2.0-11 | |
libgtop2-common | |
gir1.2-gudev-1.0 | |
libgudev-1.0-0 | |
gir1.2-gweather-3.0 | |
libgweather-3-16 | |
libgweather-common | |
gir1.2-gxps-0.1 | |
libgxps-utils | |
libgxps2 | |
gir1.2-mediaart-2.0 | |
libmediaart-2.0-0 | |
gir1.2-notify-0.7 | |
libnotify-bin | |
libnotify4 | |
gir1.2-peas-1.0 | |
libpeas-1.0-0 | |
libpeas-common | |
gir1.2-rsvg-2.0 | |
librsvg2-2 | |
librsvg2-bin | |
librsvg2-common | |
gir1.2-secret-1 | |
libsecret-1-0 | |
libsecret-common | |
libsecret-tools | |
libsigc++-2.0-0v5 | |
gir1.2-soup-2.4 | |
libsoup-gnome2.4-1 | |
libsoup2.4-1 | |
gir1.2-zpj-0.0 | |
libzapojit-0.0-0 | |
mm-common | |
gir1.2-mutter-5 | |
libmutter-5-0 | |
mutter | |
mutter-common | |
gir1.2-nautilus-3.0 | |
libnautilus-extension1a | |
nautilus | |
nautilus-data | |
gnome-orca | |
orca | |
gir1.2-pango-1.0 | |
libpango-1.0-0 | |
#libpango1.0-0 | |
libpangocairo-1.0-0 | |
libpangoft2-1.0-0 | |
libpangoxft-1.0-0 | |
pango1.0-tools | |
libpangomm-1.4-1v5 | |
chezdav | |
libphodav-2.0-0 | |
libphodav-2.0-common | |
spice-webdavd | |
python3-pyatspi | |
python-gi | |
python-gi-cairo | |
python-gi-dbg | |
python3-gi | |
python3-gi-cairo | |
python3-gi-dbg | |
gir1.2-rest-0.7 | |
gir1.2-restextras-0.7 | |
librest-0.7-0 | |
librest-extras-0.7-0 | |
librygel-core-2.6-2 | |
librygel-db-2.6-2 | |
librygel-renderer-2.6-2 | |
librygel-renderer-gst-2.6-2 | |
librygel-ruih-2.0-1 | |
librygel-server-2.6-2 | |
rygel | |
rygel-gst-launch | |
rygel-playbin | |
rygel-preferences | |
rygel-ruih | |
rygel-tracker | |
simple-scan | |
gnome-sushi | |
gir1.2-totem-1.0 | |
libtotem0 | |
totem | |
totem-common | |
totem-plugins | |
gir1.2-totemplparser-1.0 | |
libtotem-plparser-common | |
libtotem-plparser18 | |
gir1.2-tracker-2.0 | |
libtracker-control-2.0-0 | |
libtracker-miner-2.0-0 | |
libtracker-sparql-2.0-0 | |
tracker | |
tracker-extract | |
tracker-miner-fs | |
libvala-0.48-0 | |
libvalacodegen-0.48-0 | |
libvaladoc-0.48-0 | |
libvaladoc-0.48-data | |
valac | |
valac-0.48-vapi | |
valac-bin | |
valadoc | |
gir1.2-vte-2.91 | |
libvte-2.91-0 | |
libvte-2.91-common | |
libyelp0 | |
yelp | |
yelp-tools | |
yelp-xsl | |
zenity | |
zenity-common | |
) | |
for i in ${my_array[@]}; do | |
echo -e 'Package: '$i'\nPin: release a=experimental\nPin-Priority: 600\n' >> config/archives/desktop.pref.chroot | |
done | |
echo -e 'Package: *\nPin: release a=sid\nPin-Priority: 1\n' >> config/archives/desktop.pref.chroot | |
echo -e 'Package: gir1.2-coglgst-2.0\nPin: version 1.22.6-1\nPin-Priority: 999\n' >> config/archives/desktop.pref.chroot | |
echo -e 'Package: libpango1.0-0\nPin: version 1.44.7-3\nPin-Priority: 999\n' >> config/archives/desktop.pref.chroot | |
cat > config/package-lists/desktop.list.chroot << EOF | |
#........................................ | |
# Adding GRUB2 Bootloader (mandatory) | |
#........................................ | |
grub-common | |
grub2-common | |
grub-efi-amd64 | |
#........................................ | |
# Adding live-build packages (mandatory) | |
#........................................ | |
live-boot | |
live-config | |
live-boot-initramfs-tools | |
user-setup | |
ca-certificates | |
locales | |
sudo | |
plymouth | |
plymouth-themes | |
pulseaudio | |
pulseaudio-module-bluetooth | |
network-manager-gnome | |
gstreamer1.0-plugins-bad | |
gstreamer1.0-plugins-bad-videoparsers | |
gstreamer1.0-plugins-bad-faad | |
gstreamer1.0-plugins-ugly | |
gstreamer1.0-libav | |
gstreamer1.0-vaapi | |
libavcodec-extra | |
ffmpegthumbnailer | |
EOF | |
for i in ${my_array[@]}; do | |
echo -e ''$i'\n' >> config/package-lists/desktop.list.chroot | |
done | |
mkdir -p config/includes.chroot/etc/skel | |
cat > config/includes.chroot/etc/skel/.bashrc << EOF | |
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/wallpaper.jpg' | |
[org.gnome.desktop.screensaver] | |
picture-options='zoom' | |
picture-uri='file:///usr/share/backgrounds/wallpaper.jpg' | |
[org.gnome.desktop.interface] | |
document-font-name='Cantarell-Regular' | |
font-name='Cantarell-Regular' | |
#monospace-font-name='FiraCode-Regular' | |
[org.gnome.nautilus.desktop] | |
font='Cantarell-Regular' | |
[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' | |
#[org.gnome.shell] | |
#enabled-extensions=['[email protected]'] | |
#[org.gnome.shell.extensions.dash-to-dock] | |
#dock-position='BOTTOM' | |
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 Experimental-GNOME"/g' /usr/lib/os-release | |
gnome-extensions enable [email protected] | |
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/ | |
sudo plymouth-set-default-theme spinner -R | |
EOF | |
sudo lb build |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment