Skip to content

marcs-sus/linux-survival-kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux Desktop Survival Kit

A curated collection of scripts, guides, and configurations to streamline the setup and maintenance of Linux desktop environments. Whether you're setting up a new system or hardening an existing one, this toolkit provides practical solutions for common tasks.

📋 Table of Contents

Quick Start

Clone the repository:

git clone https://github.com/yourusername/linux-desktop-survival-kit.git
cd linux-desktop-survival-kit

Make scripts executable:

chmod +x **/*.sh

Run any script with:

sudo ./path/to/script.sh

📚 Guides

Comprehensive guides covering setup and configuration:

Guide Description
APT Package Manager Complete reference for APT commands, frontends (Nala), and alternative package managers (Snap, Flatpak)
Firmware Updating Keep your hardware firmware up-to-date with fwupd
UFW Firewall Setup Simple yet effective firewall configuration with UFW
LUKS and TPM2 Auto Decryption Configure automatic disk decryption using TPM 2.0 hardware security chips

🔧 Scripts

All scripts include error handling, colored output, and helpful feedback. They can be placed in /usr/local/bin/ for system-wide execution or ~/.local/bin/ for user-specific execution. But most can be run from anywhere.

Script Description Usage
ufw-config.sh Installs and configures UFW with secure defaults, rate limiting for SSH, and opens common ports sudo ./Firewall/ufw-config.sh
debian-update-all.sh Updates packages across APT, Flatpak, and Snap; supports APT frontends (Nala, Aptitude) sudo ./Package-Manager/debian-update-all.sh
arch-update-all.sh Updates packages across pacman, AUR (yay/paru), Flatpak, and Snap sudo ./Package-Manager/arch-update-all.sh
fwupd-flow.sh Automates firmware update workflow: checks devices, refreshes metadata, and installs updates sudo ./Firmware/fwupd-flow.sh
git-autosync.sh Syncs Git repositories (fetch, pull, push); supports recursive scanning ./Scripts/Automation/git-autosync.sh [--recursive]
auto-aliases.sh Automatically creates aliases and organizes them into ~/.<SHELL_NAME>_aliases ./Scripts/Automation/auto-aliases.sh
install-chrome.sh Installs Google Chrome with proper repository setup and signing keys sudo ./Misc/install-chrome.sh
switch-audio.sh Switches audio output between available PulseAudio/Pipewire-Pulse sinks ./Scripts/System/switch-audio.sh

⚙️ Systemd Services

Systemd unit files for automating system tasks. They can be placed in /etc/systemd/system/.

Unit Description Usage
rclone-mount@.service Mounts an RClone remote as a systemd service (template) sudo systemctl enable --now rclone-mount@<remote_name>.service

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Special thanks to the open-source community for the tools that make these configurations possible:

  • UFW (Uncomplicated Firewall)
  • fwupd (Firmware update daemon)
  • systemd-cryptenroll
  • APT and its frontends

Note: Always review scripts before running them with elevated privileges. While these scripts are designed to be safe, it's good practice to understand what they do to your system.

About

Combination of tutorials, tips and scripts to help begginers at desktop Linux

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages