mirror of
https://github.com/tommytran732/QubesOS-Scripts
synced 2024-11-13 22:01:34 -05:00
99 lines
3.2 KiB
Bash
99 lines
3.2 KiB
Bash
#!/bin/bash
|
|
|
|
# Copyright (C) 2023 Thien Tran
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
# use this file except in compliance with the License. You may obtain a copy of
|
|
# the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations under
|
|
# the License.
|
|
|
|
unpriv(){
|
|
sudo -u nobody "$@"
|
|
}
|
|
|
|
# Avoid phased updates
|
|
unpriv curl https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/apt/apt.conf.d/99sane-upgrades | sudo tee /etc/apt/apt.conf.d/99sane-upgrades
|
|
sudo chmod 644 /etc/apt/apt.conf.d/99sane-upgrades
|
|
|
|
# Adding KickSecure's signing key
|
|
curl --proxy http://127.0.0.1:8082/ --tlsv1.3 --proto =https --max-time 180 --output ~/derivative.asc https://www.kicksecure.com/derivative.asc
|
|
sudo cp ~/derivative.asc /usr/share/keyrings/derivative.asc
|
|
echo "deb [signed-by=/usr/share/keyrings/derivative.asc] https://deb.kicksecure.com bullseye main contrib non-free" | sudo tee /etc/apt/sources.list.d/derivative.list
|
|
sudo apt update
|
|
|
|
# Debloat
|
|
sudo apt purge -y thunderbird emacs emacs-gtk emacs-bin-common emacs-common firefox* keepassxc cups* system-config-printer* xsettingsd yelp*
|
|
sudo apt autoremove -y
|
|
sudo apt autoclean
|
|
|
|
# Distribution morphing
|
|
sudo apt install --no-install-recommends kicksecure-qubes-cli gnome-settings-daemon -y
|
|
sudo apt autoremove -y
|
|
sudo mv /etc/apt/sources.list ~/
|
|
sudo touch /etc/apt/sources.list
|
|
|
|
#E nabling SUID Disabler and Permission Hardener
|
|
sudo systemctl enable --now permission-hardening
|
|
|
|
# Enable hardened malloc
|
|
echo "/usr/lib/libhardened_malloc.so/libhardened_malloc.so" | sudo tee /etc/ld.so.preload
|
|
|
|
# Restrict /proc and access
|
|
sudo systemctl enable --now proc-hidepid.service
|
|
|
|
# educe kernel information leaks
|
|
# Will break a lot of applications. The apps I use on KickSecure work fine with it so I am enabling it.
|
|
sudo systemctl enable --now hide-hardware-info.service
|
|
|
|
# Install packages
|
|
sudo apt install --no-install-recommends tirdad qubes-gpg-split qubes-u2f eog qt5ct qt5-style-plugins arc-theme -y
|
|
|
|
# Setup SSH client
|
|
echo "GSSAPIAuthentication no" | sudo tee /etc/ssh/ssh_config.d/10-custom.conf
|
|
echo "VerifyHostKeyDNS yes" | sudo tee -a /etc/ssh/ssh_config.d/10-custom.conf
|
|
|
|
# Force DNSSEC
|
|
sudo sed -i 's/#DNSSEC=no/DNSSEC=yes/g' /etc/systemd/resolved.conf
|
|
sudo systemctl restart systemd-resolved
|
|
|
|
# Theming
|
|
|
|
echo "export QT_QPA_PLATFORMTHEME=gtk2" | sudo tee /etc/environment
|
|
|
|
echo "[org/gnome/desktop/interface]
|
|
gtk-theme='Arc-Dark'
|
|
|
|
[org/gnome/desktop/media-handling]
|
|
automount=false
|
|
automount-open=false" | sudo tee /etc/dconf/db/local.d/custom
|
|
|
|
sudo dconf update
|
|
|
|
# Flatpak update service
|
|
|
|
echo "[Unit]
|
|
Description=Update user Flatpaks
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
ExecStart=/usr/bin/flatpak --user update -y
|
|
|
|
[Install]
|
|
WantedBy=default.target" | sudo tee /etc/systemd/user/update-user-flatpaks.service
|
|
|
|
echo "[Unit]
|
|
Description=Update user Flatpaks daily
|
|
|
|
[Timer]
|
|
OnCalendar=daily
|
|
Persistent=true
|
|
|
|
[Install]
|
|
WantedBy=timers.target" | sudo tee /etc/systemd/user/update-user-flatpaks.timer |