Initial commit

master
Meliurwen 2 years ago
commit 68c85f4a1a
Signed by: meliurwen
GPG Key ID: 818A8B35E9F1CE10
  1. 171
      install-chroot.sh
  2. 1
      root/etc/apt/sources.list
  3. 1
      root/etc/apt/sources.list.d/eracolatore.list
  4. 64
      root/etc/apt/trusted.gpg.d/eracolatore.asc
  5. 19
      root/etc/chromium-ungoogled/00-default.conf
  6. 16
      root/etc/default/console-setup
  7. 2
      root/etc/default/hwclock
  8. 10
      root/etc/default/keyboard
  9. 1
      root/etc/default/locale
  10. 37
      root/etc/default/nss
  11. 37
      root/etc/default/useradd
  12. 1
      root/etc/hostname
  13. 9
      root/etc/hosts
  14. 9
      root/etc/locale.gen
  15. 16
      root/etc/rc.local
  16. 132
      root/srv/apt.list
  17. BIN
      root/srv/background.jpg
  18. 53
      root/srv/entrypoint.sh
  19. 46
      root/srv/get_dotfiles.sh

@ -0,0 +1,171 @@
#!/bin/sh
set -e
apt install \
debootstrap \
squashfs-tools \
xorriso \
isolinux \
syslinux-efi \
grub-pc-bin \
grub-efi-amd64-bin \
mtools \
dosfstools
mkdir -p /srv/LIVE_BOOT
debootstrap \
--arch=amd64 \
--variant=minbase \
--merged-usr \
sid \
/srv/LIVE_BOOT/chroot \
http://deb.debian.org/debian/
# Copy the filesystem tree
cp -R $PWD/root/* /srv/LIVE_BOOT/chroot
# Run script in chroot
chroot /srv/LIVE_BOOT/chroot /srv/entrypoint.sh
# Clean the installation
rm -rf /srv/LIVE_BOOT/chroot/srv/*
# Change password to the users
echo "Setting passwords for users..."
echo "root:root" | chpasswd --root /srv/LIVE_BOOT/chroot
echo "live-user:root" | chpasswd --root /srv/LIVE_BOOT/chroot
# Create directories that will contain files for our live environment files and scratch files.
bash -c "mkdir -p /srv/LIVE_BOOT/{staging/{EFI/boot,boot/grub/x86_64-efi,isolinux,live},tmp}"
# Compress the chroot environment into a Squash filesystem.
# I'm using blocks of 1MiB with xz for x86
mksquashfs \
/srv/LIVE_BOOT/chroot \
/srv/LIVE_BOOT/staging/live/filesystem.squashfs \
-e boot \
-b 1M \
-comp xz \
-Xbcj x86
# Copy the kernel and initramfs from inside the chroot to the live directory.
cp /srv/LIVE_BOOT/chroot/boot/vmlinuz-* \
/srv/LIVE_BOOT/staging/live/vmlinuz && \
cp /srv/LIVE_BOOT/chroot/boot/initrd.img-* \
/srv/LIVE_BOOT/staging/live/initrd
# Prepare Boot Loader Menus
# Create an ISOLINUX (Syslinux) boot menu. This boot menu is used when booting in BIOS/legacy mode.
cat <<'EOF' >/srv/LIVE_BOOT/staging/isolinux/isolinux.cfg
UI vesamenu.c32
MENU TITLE Boot Menu
DEFAULT linux
TIMEOUT 600
MENU RESOLUTION 640 480
MENU COLOR border 30;44 #40ffffff #a0000000 std
MENU COLOR title 1;36;44 #9033ccff #a0000000 std
MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel 37;44 #50ffffff #a0000000 std
MENU COLOR help 37;40 #c0ffffff #a0000000 std
MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std
MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07 37;40 #90ffffff #a0000000 std
MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
LABEL linux
MENU LABEL Debian Live [BIOS/ISOLINUX]
MENU DEFAULT
KERNEL /live/vmlinuz
APPEND initrd=/live/initrd boot=live
LABEL linux
MENU LABEL Debian Live [BIOS/ISOLINUX] (nomodeset)
MENU DEFAULT
KERNEL /live/vmlinuz
APPEND initrd=/live/initrd boot=live nomodeset
EOF
# Create a second, similar, boot menu for GRUB. This boot menu is used when booting in EFI/UEFI mode.
cat <<'EOF' >/srv/LIVE_BOOT/staging/boot/grub/grub.cfg
search --set=root --file /DEBIAN_CUSTOM
set default="0"
set timeout=30
# If X has issues finding screens, experiment with/without nomodeset.
menuentry "Debian Live [EFI/GRUB]" {
linux ($root)/live/vmlinuz boot=live
initrd ($root)/live/initrd
}
menuentry "Debian Live [EFI/GRUB] (nomodeset)" {
linux ($root)/live/vmlinuz boot=live nomodeset
initrd ($root)/live/initrd
}
EOF
# Create a third boot config.
# This config will be an early configuration file that is embedded inside GRUB in the EFI partition.
# This finds the root and loads the GRUB config from there.
cat <<'EOF' >/srv/LIVE_BOOT/tmp/grub-standalone.cfg
search --set=root --file /DEBIAN_CUSTOM
set prefix=($root)/boot/grub/
configfile /boot/grub/grub.cfg
EOF
# Create a special file in staging named DEBIAN_CUSTOM.
# This file will be used to help GRUB figure out which device contains our live filesystem.
# This file name must be unique and must match the file name in our grub.cfg config.
touch /srv/LIVE_BOOT/staging/DEBIAN_CUSTOM
# Prepare Boot Loader Files
# Copy BIOS/legacy boot required files into our workspace.
cp /usr/lib/ISOLINUX/isolinux.bin "/srv/LIVE_BOOT/staging/isolinux/" && \
cp /usr/lib/syslinux/modules/bios/* "/srv/LIVE_BOOT/staging/isolinux/"
# Copy EFI/modern boot required files into our workspace.
cp -r /usr/lib/grub/x86_64-efi/* "/srv/LIVE_BOOT/staging/boot/grub/x86_64-efi/"
# Generate an EFI bootable GRUB image.
grub-mkstandalone \
--format=x86_64-efi \
--output=/srv/LIVE_BOOT/tmp/bootx64.efi \
--locales="" \
--fonts="" \
"boot/grub/grub.cfg=/srv/LIVE_BOOT/tmp/grub-standalone.cfg"
# Create a FAT16 UEFI boot disk image containing the EFI bootloader.
# Note the use of the mmd and mcopy commands to copy our UEFI boot loader named bootx64.efi.
(cd /srv/LIVE_BOOT/staging/EFI/boot && \
dd if=/dev/zero of=efiboot.img bs=1M count=20 && \
mkfs.vfat efiboot.img && \
mmd -i efiboot.img efi efi/boot && \
mcopy -vi efiboot.img /srv/LIVE_BOOT/tmp/bootx64.efi ::efi/boot/
)
# Create Bootable ISO/CD
xorriso \
-as mkisofs \
-iso-level 3 \
-o "/srv/LIVE_BOOT/debian-custom.iso" \
-full-iso9660-filenames \
-volid "DEBIAN_CUSTOM" \
-isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin \
-eltorito-boot \
isolinux/isolinux.bin \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
--eltorito-catalog isolinux/isolinux.cat \
-eltorito-alt-boot \
-e /EFI/boot/efiboot.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
-append_partition 2 0xef /srv/LIVE_BOOT/staging/EFI/boot/efiboot.img \
"/srv/LIVE_BOOT/staging"

@ -0,0 +1 @@
deb http://deb.debian.org/debian sid main contrib non-free

@ -0,0 +1 @@
deb https://deb.eracolatore.tk/debian ./

@ -0,0 +1,64 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGFgXSEBEAC0ALO2LwPUuM8EnSn2Bcpic7/PEhd0yqel7mlog4x0/dgGb+EF
trRqkwlJDgrOE0Y4XjYil9WFHuwPaHAwJh4BfPyASL5rjA4qgM4whXr44rIwW82t
E/mY3aXahangTNwh3EtscJsINa5vnycKPRIMWiPIumi9OBfXb/8wuUX03CRJpDYi
M0R7YLmlokmlCvU8HRKb0b59fNFeQL26uloFc9Mx7xJYpYGgwO8TeUwiGOQyWhkm
H3nkUECRPsCd4x2hIUyF+gVxZKwIKiEH8UtNeO/kZKD/c+vDPOOVaCOnKDEreyTX
VyewyvQ+kQhUAjno3/rwxc9qXgh5twk0aH3aAwBSjStXDe0SXw4L0ZuJ4nBnOV3P
pjt8Z4aNYrZ5wgeGSvP31ZR0WxbmDzREYm9JZpwgK4xk84kyOMuS/9OQ7tzlb8zm
HYOR0DxzxoyZWw/BRD4D1h2JhQP1I/lCbsWLFde4HTplcWRmwCU6imxMcbhTgcsc
AGqgkhHNLRvgzmijYAVaaUz3Cu9xYeuH5jCtDvnvjcuz4Lljiaz0jwMvGV8b6ZwG
w7bP7x2/CP+FVlbTGG7nnfBBCJ6/rVdS1nsC8Awx5Jnqxi0ZKneKj53DGgt562fS
Wagu+Lk22d2kxidb3JvVeulyZk3Mf3r9tMj/rnIQJU2wSsOAEKeFoA4uwQARAQAB
tDFKb2UgVGVzdGVyICh3aXRoIHN0dXBpZCBwYXNzcGhyYXNlKSA8am9lQGZvby5i
YXI+iQJOBBMBCgA4FiEEySsb8ypM1CcNF6vaHIj+aSZshi0FAmFgXSECGwMFCwkI
BwIGFQoJCAsCBBYCAwECHgECF4AACgkQHIj+aSZshi2rKA//eDBYXQ8A6k2AZ2MB
cFlHPmK0TQlNrAgXozx08A+JCtZDWZK811WiCNRG3KNFSQ4K/htZm1K2xHwDw0b2
XXrRTy96wzf4VlC7Zugns0wcDPAFC4V1Z/R141UXgTp2btNSCmrZR3aCQmPLAPct
PBf2xA5CiSwavDwIOsvzbRc6Mxz4reOrI6Z8TdAG70mxDUvLLjAgHcXe0+0+8vuQ
fqf3/BQQfeCzCwt+nz9TMFPnJWi35d8+oNluWh/C6XKStVnVOx6CiRTebYhsThCa
fpnhrj/bJInTMdwmCeszw17oYjrNjBtEST16cdFIHVPRpuEutbXNggiAm3DpHdLV
/lmZXQQOPsfJuhDNx4QJzJL/gRx6aBxT/kgIffyIzmF/+/VGvsGi2rE/q1qjU8sV
cZsLP/kpRMZE0vTEgr1KuB+jPTqdCrgsAe2Tc/SQrIu2fBlAtyei4PT/+/B2xK9h
b2B8kz27hrkffs5yS1VnsU+CxlYknvGkMvaT5NqYJbcRu8pjQgTvCg1R3lKVU2vZ
MI8m/QDJ1f5wQ4fQqEYk6N7J2Ox5pUNRTtHxWeN0/bko7W7jn0D+2GBK7jWG0RTu
rcnPBKFDMwh7uGlkm7A5puO6d+IJGx+uWBlopliJYMO7Da6PVFtcPcioePwpEfaP
KQ3RTwUGmF6s7kt1mFYNtazoAom5Ag0EYWBdIQEQALOmev7b+jH22L15Q7Hy5/Vz
UEqUfxMfbwk7+2CpGeFX3kVuHaUYvu2T1PCz+VCDXdttOeylrYO70Vreuw/0DQR1
/akHR5juJzW+kSw7BXjiFbDk4RvTs+1F3sEP/Sn6+Z4izIQmxeE+olLrE6ZY/XW6
udkCfMAu5L79CKpy4wbYhaz9W4j0/yfLPWLM7VVftZojvJ6tSSydzSUone0Fo4cM
7MCUfMbk6h/YxncySIItlgdtQU5zKPndmcGerU2rKuxgIjgxUGCmqpy9+f3XqN/H
nz35185pbhfROtuvVdaZ84jsLw2mRnMkDbQuGTN0iKg/GKpgQr6VFN13bHUw29w+
d9lRLYVi0JeQLyjqDFqkEcq6rVtsew/XkjlgahXiGQqt1xOQdHOWQ32IIhJmV9s6
QJA+nFCbvO1fQvRwmP7timq/xCfNhL/mJuAmgghJLBqU+ts8k1SMDwWjfFi35XrE
ESSfk74AFsEQmYm6XocK4UCoyi/eG9jkkf4Ldt72+tk29Fbwwci90agdGf6xHQJx
y3M/AHHMNJ3KgQSNzXf9WoSAVUW+mIqm+sOwhzMeh/KbkrbG2qMF/iTljjjGS0c7
Dq4HPd1PhBt3ABcRKa3EURjdddTV05h1+SkGgb2NPeFajCOURRPi05Ltm1NfI2wY
Zz+yS6Rm8XM0fNYCHZrZABEBAAGJBGwEGAEKACAWIQTJKxvzKkzUJw0Xq9ociP5p
JmyGLQUCYWBdIQIbAgJACRAciP5pJmyGLcF0IAQZAQoAHRYhBBb7OY5EJzeuJc5h
k9sDmuzwhJTUBQJhYF0hAAoJENsDmuzwhJTUe64P/jzVM7LuBGA5vWpOlJv/2aGn
yGLVDXI0s1CjZ3b+BfbJD62TQKn7u3MeAUXhJwnMLt5yuJz+ThRkKxCH609C7doU
g4IpLIToTYdIItSvngPYTFZav0GWIxLAGxrEqQMWAPbp5YG7i63QtZKDa1mu/I/K
bXDNab5R2RHGF2G+unFCD7+dgCm2fZO2M+jwyqbOCCbnVdiQQ1Ny2fhqIpdqYuQg
/+AoocVHsTvrPPCmfdS3xaK11hoLE1PgQh+DddHXkTwQZ++WsU9OK1zedY4UMsGQ
25RjahxGVFMlNFzs25JDytdTZjdcWPD4BMNcLYt77qFKe2Hp4BPde8OEYyxkG9da
s+WCMzEFtsVZidQHRaG2JITPEuJVl4pU67jx62MHgdn1IE1wXCta0nhM0yVsb2hh
4J6sxr13/gp7Qs6WgpudNJVwt70Y+oJ2qASa5vlUygkWez69xcy3RxYg0QqHnQ1w
Jr2invgOxsUxC6tV9c+TDcB6LSaSvzzjHgjEJqSSzECDNfTTxj+3qKnmRYEY3GOM
sKO/bm/wYtzIdcdayBwBvGOBLQoMdDHSQYAPdpqSYCD3grgqXpC/nxyVrnESpA0C
R/QVGjyEKGPeCPP0DPcjmBm9pjFtdsZHgwFvGv+OX3boRWkJKLzT6YeVbknDjWYD
aIz8wnGD1wV8VzI1xnThjo8P/jaATR1xZfWxcTAHDdJ/eJ6nprjZE/tSakQ05JuL
1njBCPUiiPKTQXhXRYTd/SQyB15ozLK1D2wZV698FysyrGnIbnKrhCTdmngat6Je
eba+gFrsJs2RTvekSZUORHrYGwne/xVTtrLab/KeLmzzfIiCdE/i2YZLjSd5MLzo
XNlNUOOP7zYiECPe4gaMaubjtRuUPWrn7wzHvIXUq/LFQPk7rR8WVXHvVTlm4iPv
vkfA4TGHEeX5C1sMVZi/vgqnu4MMwB8lUAepfdufbkUsyQ4kpunxeXXjvEZTwMvD
rsQwwd4+Mz+idDm9xlbHZT1oAlwAUwtn+WzyyDtcVQQtW6T/j6/vEJJq0BaoC+nw
SB9pdNLf6ZbsEIw1HUMTjATTQg7sLDnH3NQ7H4wNQ8CnImHNHoVl9njij82LMXs6
IB8yjWCxEF/pfF+RVeD3w+gqwHCB1HqINz2CqcuuTFX447KO2Of+4EOCIYDyh21f
xDByT/fae6WwHqvNEGCTLz3yqITUNy7vgtda4BD2bSp2inJXVIGHwybVGhqgbJpm
TseH0dcWvmFH/qCzRsfZDpg6GQ4uW+hfEP+I4+HhnKeZStkcxXYCSe4Mos4qDSBf
D8vYVEPFIFGVfS6O5XcWjAP60xetbAx+cOpOEZtYm+297m3YxC0tEvWkGM4l97bb
XwvL
=dA8h
-----END PGP PUBLIC KEY BLOCK-----

@ -0,0 +1,19 @@
# Default settings for chromium-ungoogled.
# This file is sourced by /usr/bin/chromium-ungoogled
# See: https://github.com/ungoogled-software/ungoogled-chromium/blob/master/docs/flags.md
# Options to pass to chromium-ungoogled:
CHROMIUM_ONLY_FLAGS="\
--force-dark-mode \
--ignore-gpu-blocklist \
--enable-gpu-rasterization \
--enable-zero-copy"
CHROMIUM_UNGOOGLED_FLAGS="$CHROMIUM_ONLY_FLAGS \
--disable-search-engine-collection \
--show-avatar-button=incognito-and-guest \
--disable-sharing-hub \
--hide-sidepanel-button \
--bookmark-bar-ntp=never \
--remove-grab-handle"

@ -0,0 +1,16 @@
# CONFIGURATION FILE FOR SETUPCON
# Consult the console-setup(5) manual page.
ACTIVE_CONSOLES="/dev/tty[1-6]"
CHARMAP="UTF-8"
CODESET="Lat15"
FONTFACE="Fixed"
FONTSIZE="8x16"
VIDEOMODE=
# The following is an example how to use a braille font
# FONT='lat9w-08.psf.gz brl-8x8.psf'

@ -0,0 +1,2 @@
# Settings for the hwclock init script.
# See hwclock(5) for supported settings.

@ -0,0 +1,10 @@
# KEYBOARD CONFIGURATION FILE
# Consult the keyboard(5) manual page.
XKBMODEL="pc105"
XKBLAYOUT="it"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"

@ -0,0 +1 @@
# File generated by update-locale

@ -0,0 +1,37 @@
# /etc/default/nss
# This file can theoretically contain a bunch of customization variables
# for Name Service Switch in the GNU C library. For now there are only
# four variables:
#
# NETID_AUTHORITATIVE
# If set to TRUE, the initgroups() function will accept the information
# from the netid.byname NIS map as authoritative. This can speed up the
# function significantly if the group.byname map is large. The content
# of the netid.byname map is used AS IS. The system administrator has
# to make sure it is correctly generated.
#NETID_AUTHORITATIVE=TRUE
#
# SERVICES_AUTHORITATIVE
# If set to TRUE, the getservbyname{,_r}() function will assume
# services.byservicename NIS map exists and is authoritative, particularly
# that it contains both keys with /proto and without /proto for both
# primary service names and service aliases. The system administrator
# has to make sure it is correctly generated.
#SERVICES_AUTHORITATIVE=TRUE
#
# SETENT_BATCH_READ
# If set to TRUE, various setXXent() functions will read the entire
# database at once and then hand out the requests one by one from
# memory with every getXXent() call. Otherwise each getXXent() call
# might result into a network communication with the server to get
# the next entry.
#SETENT_BATCH_READ=TRUE
#
# ADJUNCT_AS_SHADOW
# If set to TRUE, the passwd routines in the NIS NSS module will not
# use the passwd.adjunct.byname tables to fill in the password data
# in the passwd structure. This is a security problem if the NIS
# server cannot be trusted to send the passwd.adjuct table only to
# privileged clients. Instead the passwd.adjunct.byname table is
# used to synthesize the shadow.byname table if it does not exist.
ADJUNCT_AS_SHADOW=TRUE

@ -0,0 +1,37 @@
# Default values for useradd(8)
#
# The SHELL variable specifies the default login shell on your
# system.
# Similar to DSHELL in adduser. However, we use "sh" here because
# useradd is a low level utility and should be as general
# as possible
SHELL=/bin/sh
#
# The default group for users
# 100=users on Debian systems
# Same as USERS_GID in adduser
# This argument is used when the -n flag is specified.
# The default behavior (when -n and -g are not specified) is to create a
# primary user group with the same name as the user being added to the
# system.
# GROUP=100
#
# The default home directory. Same as DHOME for adduser
# HOME=/home
#
# The number of days after a password expires until the account
# is permanently disabled
# INACTIVE=-1
#
# The default expire date
# EXPIRE=
#
# The SKEL variable specifies the directory containing "skeletal" user
# files; in other words, files such as a sample .profile that will be
# copied to the new user's home directory when it is created.
# SKEL=/etc/skel
#
# Defines whether the mail spool should be created while
# creating the account
# CREATE_MAIL_SPOOL=no

@ -0,0 +1 @@
debian-live

@ -0,0 +1,9 @@
127.0.0.1 localhost
127.0.1.1 debian-live
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

@ -0,0 +1,9 @@
# This file lists locales that you wish to have built. You can find a list
# of valid supported locales at /usr/share/i18n/SUPPORTED, and you can add
# user defined locales to /usr/local/share/i18n/SUPPORTED. If you change
# this file, you need to rerun locale-gen.
en_GB.UTF-8 UTF-8
en_US.UTF-8 UTF-8
it_IT.UTF-8 UTF-8

@ -0,0 +1,16 @@
#!/bin/sh -e
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Ensure that the script will "exit 0" on success or any other
# value on error.
#
# To enable or disable this script, just change the execution
# bits.
#
# By default, this script does nothing.
# Turn Numlock on for the TTYs
for tty in /dev/tty[1-6]; do
/usr/bin/setleds -D +num < $tty
done

@ -0,0 +1,132 @@
# Meliurwen's base environment
# Description: All the packages needed for a minimal fully working environment
# Target: debian/sid
# Usage: apt-get --no-install-recommends install $(grep -vE "^\s*#" <FILEPATH> | sed -e 's/#.*//' | tr "\n" " ")
# Network
iproute2 # ip command
wpasupplicant
wireless-tools
network-manager # Automatically handle network connections
ca-certificates
# Drivers
firmware-iwlwifi # Module for Intel wifi cards
firmware-misc-nonfree # Intel graphics driver
# Locales, Languages and Keyboard Layouts
locales
console-setup # Keyboard Layout
# Audio and brightness
brightnessctl
brightness-udev # udevadm control --reload-rules && udevadm trigger && usermod -aG video ${USER}
rtkit # Not essential for pipewire, but it helps avoid some crashes # systemctl enable rtkit
pipewire
pipewire-pulse # systemctl --user --now enable pipewire pipewire-pulse && systemctl --user daemon-reload
#pipewire-media-session # deprecated in favor of wireplumber
wireplumber
pipewire-audio-client-libraries
pulseaudio-utils
alsa-utils
# Hardware Tuning Services
tlp # systemctl enable tlp && systemctl start tlp
tlp-rdw
thinkfan # systemctl enable thinkfan && systemctl start thinkfan
# Extra services
openssh-client
openssh-server # systemctl disable ssh && systemctl stop ssh
openssh-sftp-server
# Core utilities
curl
wget
git
git-lfs
stow
nano
htop
iotop
powertop
nload
screen
less
bsdmainutils # cal, whois, mailutils... commands
dnsutils # dig
iputils-ping # ping
man
sudo # usermod -a -G sudo "$USER"
unzip
# Non-essential but very useful program
zsh
terminfo # ~/.zshrc dependency
zsh-syntax-highlighting # ZSH Plugin
zsh-autosuggestions # ZSH Plugin
haveged # Useful for some programs at boot that needs a good entropy
# X Server
xinit # startx and xinit
x11-xserver-utils
xserver-xorg-video-fbdev
xserver-xorg-video-vesa
xserver-xorg-input-all # Input devices (mouse, keyboard, touchpad, etc..)
xserver-xorg-video-intel
xwallpaper
numlockx
# Desktop core apps
i3-wm
i3lock
polybar
rofi
dunst
picom
rxvt-unicode
pavucontrol
nemo
network-manager-gnome
network-manager-openvpn-gnome # optional
gnome-icon-theme
policykit-1-gnome # Graphical password prompt for gparted, synaptic, etc...
# Polybar scripts
socat # mpv
jq # mpv
procps # mpv
# dunst config in i3
gettext-base # for envsubst in dunstrc template
# Desktop core utilites
mpv
sxiv
#gedit
mousepad
engrampa
zathura
#deepin-screenshot # Dropped by Deepin devs and then removed by Debian repos
xclip # needed for deepin-screenshot hack to work
# Meta Dependecies (dotvenv)
gawk # dconfman dependency
dconf-cli # dconfman dependency
dconf-editor # dconf GTK GUI
# Admin Tools
baobab
gparted
synaptic
mate-calc
# Browser Extensions
webext-ublock-origin-chromium
# Custom Repo Apps
adwaita-pink-dark
chromium-ungoogled
chromium-widevine-plugin

Binary file not shown.

After

Width:  |  Height:  |  Size: 960 KiB

@ -0,0 +1,53 @@
#!/bin/sh
set -e
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get -qq --no-install-recommends install ca-certificates
apt-get update
apt-get -qq --no-install-recommends install \
linux-image-amd64 \
live-boot \
systemd-sysv
# https://wiki.debian.org/it/Keyboard
apt-get -qq --no-install-recommends install console-setup locales
# Locales
locale-gen
# Timezone
# Older systems
#echo "Europe/Rome" > /etc/timezone
#dpkg-reconfigure -f noninteractive tzdata
# Newer systems
ln -fs /usr/share/zoneinfo/Europe/Rome /etc/localtime
dpkg-reconfigure -f noninteractive tzdata
apt-get -qq --no-install-recommends install $(grep -vE "^\s*#" /srv/apt.list | sed -e 's/#.*//' | tr "\n" " ")
apt-get -qq --no-install-recommends install sudo
useradd live-user --shell /bin/zsh --create-home --user-group --groups sudo
# Configuration
# brightnessctl
usermod -aG video live-user
# pipewire
#systemctl enable rtkit
systemctl enable tlp
systemctl enable thinkfan
systemctl disable ssh
# systemd rc-local compatibility
systemctl enable rc-local
apt-get clean
su live-user -s /srv/get_dotfiles.sh

@ -0,0 +1,46 @@
#!/bin/sh
set -e
cd "$HOME"
rm "$HOME/.profile"
mkdir -p "$HOME/.local/share/backgrounds"
cp /srv/background.jpg "$HOME/.local/share/backgrounds/"
mkdir -p "$HOME/.config"
printf "LANG=it_IT.UTF-8\nLANGUAGE=it_IT:en_US:en\n" > "$HOME/.config/locale.conf"
git clone https://gitlab.com/meliurwen/dotfiles.git .dotfiles
cd .dotfiles
cat ".mousepad/mousepad.dconf" | dbus-run-session dconf load "/org/xfce/mousepad/"
cat ".nemo/nemo.dconf" | dbus-run-session dconf load "/org/nemo/"
stow --restow --no-folding */
mkdir -p /tmp/deb-live/fonts
wget https://raw.githubusercontent.com/Keyamoon/IcoMoon-Free/master/Font/IcoMoon-Free.ttf -O /tmp/deb-live/fonts/IcoMoon-Free.ttf
wget https://raw.githubusercontent.com/google/material-design-icons/master/font/MaterialIcons-Regular.ttf -O /tmp/deb-live/fonts/MaterialIcons-Regular.ttf
wget https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/patched-fonts/ProggyClean/SlashedZero/complete/ProggyCleanTTSZ%20Nerd%20Font%20Complete%20Mono.ttf -O "/tmp/deb-live/fonts/ProggyCleanTTSZ Nerd Font Complete Mono.ttf"
wget https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/patched-fonts/Ubuntu/Bold/complete/Ubuntu%20Bold%20Nerd%20Font%20Complete.ttf -O "/tmp/deb-live/fonts/Ubuntu Bold Nerd Font Complete.ttf"
wget https://fonts.google.com/download?family=Noto%20Emoji -O /tmp/deb-live/noto-emoji.zip && unzip -p /tmp/deb-live/noto-emoji.zip static/NotoEmoji-Regular.ttf > /tmp/deb-live/fonts/NotoEmoji-Regular.ttf
mkdir -p "$HOME/.local/share/fonts"
cp /tmp/deb-live/fonts/* "$HOME/.local/share/fonts/"
mkdir -p /tmp/deb-live/consolefonts
wget https://raw.githubusercontent.com/powerline/fonts/master/Terminus/PSF/ter-powerline-v12n.psf.gz -O "/tmp/deb-live/consolefonts/ter-powerline-v12n.psf.gz"
mkdir -p "$HOME/.local/share/consolefonts"
cp /tmp/deb-live/consolefonts/* "$HOME/.local/share/consolefonts/"
# Reload locally installed fonts
fc-cache -f -v
# Installing zsh plugins
ln -s /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh $HOME/.config/zsh/plugins/zsh-autosuggestions.zsh
ln -s /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh $HOME/.config/zsh/plugins/zsh-syntax-highlighting.zsh
# Enabling Pipewire
systemctl --user --now enable pipewire pipewire-pulse || echo "pipewire should be enabled now..."
Loading…
Cancel
Save