Skip to content

Instantly share code, notes, and snippets.

@Unixware
Last active August 9, 2024 12:23
Show Gist options
  • Save Unixware/2adc506e4bca1b745afd28aaee3af40a to your computer and use it in GitHub Desktop.
Save Unixware/2adc506e4bca1b745afd28aaee3af40a to your computer and use it in GitHub Desktop.
#
# Debian custom minimal desktop post-install script, openbox + apps I use
#
if ! [ $(id -u) = 0 ]; then
echo "This script must run with sudo, try again..."
exit 1
fi
clear
export inst="sudo apt install -y --no-install-recommends"
export desk=false
#
clear
read -p "[!] this step will install >> contrib non-free << repos!" -n1 wkey
echo ""
sudo cp ./sources.list /etc/apt/sources.list
clear
echo "cleaning up unwanted fonts/apps"
sudo apt purge -y fonts-arabeyes
# if no need of extra apps for the netbooks
read -p "[?] Desktop-system install? [Y]/n " -n 1 reply
reply=${reply:-Y}
if [[ $reply =~ ^[Yy]$ ]]; then
export desk=true
echo $desk
fi
##### pre-install apps
#
#
sudo apt update
sudo apt install sysvbanner
clear
########
#
#
sysvbanner "core apps"
#
sudo apt install -y xorg xinit xbindkeys xsensors xdm xbacklight xinput \
xserver-xorg-input-all dbus-x11 feh scrot \
xsecurelock bsdmainutils arandr lxappearance menu picom orage aptitude xterm \
firmware-linux-nonfree intel-gpu-tools intel-media-va-driver libxcb-xinerama0 \
network-manager-gnome network-manager \
libnotify-bin dunst \
tint2 openbox obconf xfce4-power-manager
# slim
echo "fonts + themes"
sudo apt install -y fonts-noto-color-emoji \
gtk2-engines-murrine qt5-style-plugins qt5ct \
#
echo "ufw setup"
sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable
# pipewire
#
echo "Pipewire"
sudo apt install -y pipewire-pulse wireplumber pipewire-media-session- \
volumeicon-alsa pulseaudio-utils pavucontrol
#
systemctl --user --now enable wireplumber.service
# zram
#
echo "zRAM"
sudo apt install zram-tools
echo -e "ALGO=zstd\nPERCENT=60" | sudo tee -a /etc/default/zramswap
sudo service zramswap reload
###### END of services
sysvbanner "clean up"
sudo apt update
sudo apt -y autoremove
sysvbanner "common apps"
sudo apt install -y --no-install-recommends nfs-common numlockx git vim \
vim-gui-common vim-gtk3 xxd hexedit x86dis mc bash-completion \
dmenu fatsort secure-delete curl pipx whois traceroute dconf-cli \
xclip nmap ncat alpine keepassxc wget ranger rename vlc orpie encfs \
imagemagick xarchiver thunar thunar-volman thunar-archive-plugin gvfs gvfs-backends \
gvfs-fuse gnome-disk-utility solaar evince \
sysvbanner "set groups"
sudo usermod -a -G dialout,uucp,lp,disk $USER
if [ "$desk" = false ] ; then
echo "laptop stuff"
sudo apt install -y laptop-mode-tools
exit
fi
sysvbanner "DeskApps"
# lots of stuff here...
#
sudo dpkg --add-architecture i386
sudo apt update
echo "Apps mainly for DESKTOP!"
sudo apt install -y --no-install-recommends exiftool simple-scan pandoc rclone rsync \
mupdf mupdf-tools flrig wsjtx jtdx sshpass aria2 minicom putty gftp cups \
printer-driver-splix dconf-editor qimgv mtpaint \
libmtp-common mtp-tools libmtp-runtime libmtp9 libdbus-glib-1-2 \
lrzip lzip lzop ncompress pbzip2 pigz plzip unar unshield \
arj lbzip2 lhasa liblz4-tool p7zip zip unzip bchunk \
fonts-noto-color-emoji adb fastboot f2fs-tools \
ffmpeg libgpod4 gtkpod libwacom-bin audacious tin
echo "emulators"
$inst hatari vice dosbox
echo "desktop libs for some apps"
sudo apt install -y libserialport0 libsdl2-image-2.0-0 \
libsdl2-ttf-2.0-0 libsdl2-net-2.0-0 \
echo "desktop dev packages"
sudo apt install -y autoconf pkg-config bison cmake patchelf
####
sysvbanner "pyApps"
echo "python apps installation"
# pipx install ffcuesplitter split cue/wav to mp3
# pipx install brightness-controller-linux for laptops
pipx install amitools
pipx install img2pdf
pipx install ocrmypdf
pipx install gallery-dl
pipx install mintotp
pipx install adif_merge
pipx install getgist
pipx install epy-reader
pipx install pcbasic
clear
sysvbanner "end!"
exit
# POST install manual tasks:
edit NetworkManager configuration file
/etc/NetworkManager/NetworkManager.conf
to:
managed=true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment