https://github.com/marcs-sus/linux-survival-kit
Combination of tutorials, tips and scripts to help begginers at desktop Linux
https://github.com/marcs-sus/linux-survival-kit
desktop-linux guides kit linux shell
Last synced: about 1 month ago
JSON representation
Combination of tutorials, tips and scripts to help begginers at desktop Linux
- Host: GitHub
- URL: https://github.com/marcs-sus/linux-survival-kit
- Owner: marcs-sus
- Created: 2025-09-05T18:53:16.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2025-10-03T00:18:49.000Z (9 months ago)
- Last Synced: 2025-10-03T02:35:53.630Z (9 months ago)
- Topics: desktop-linux, guides, kit, linux, shell
- Language: Shell
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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](#quick-start)
- [Guides](#guides)
- [Scripts](#scripts)
- [Systemd Services](#systemd-services)
- [License](#license)
- [Acknowledgments](#acknowledgments)
Quick Start
Clone the repository:
```bash
git clone https://github.com/yourusername/linux-desktop-survival-kit.git
cd linux-desktop-survival-kit
```
Make scripts executable:
```bash
chmod +x **/*.sh
```
Run any script with:
```bash
sudo ./path/to/script.sh
```
📚 Guides
Comprehensive guides covering setup and configuration:
| Guide | Description |
| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| [APT Package Manager](Package-Manager/package-manager-guide.md) | Complete reference for APT commands, frontends (Nala), and alternative package managers (Snap, Flatpak) |
| [Firmware Updating](Firmware/firmware-updating.md) | Keep your hardware firmware up-to-date with `fwupd` |
| [UFW Firewall Setup](Firewall/firewall-setup.md) | Simple yet effective firewall configuration with UFW |
| [LUKS and TPM2 Auto Decryption](Encryption/luks-tpm2-setup.md) | 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](Firewall/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](Package-Manager/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](Package-Manager/arch-update-all.sh) | Updates packages across pacman, AUR (yay/paru), Flatpak, and Snap | `sudo ./Package-Manager/arch-update-all.sh` |
| [fwupd-flow.sh](Firmware/fwupd-flow.sh) | Automates firmware update workflow: checks devices, refreshes metadata, and installs updates | `sudo ./Firmware/fwupd-flow.sh` |
| [git-autosync.sh](Scripts/Automation/git-autosync.sh) | Syncs Git repositories (fetch, pull, push); supports recursive scanning | `./Scripts/Automation/git-autosync.sh [--recursive]` |
| [auto-aliases.sh](Scripts/Automation/auto-aliases.sh) | Automatically creates aliases and organizes them into ~/.\_aliases | `./Scripts/Automation/auto-aliases.sh` |
| [install-chrome.sh](Misc/install-chrome.sh) | Installs Google Chrome with proper repository setup and signing keys | `sudo ./Misc/install-chrome.sh` |
| [switch-audio.sh](Scripts/System/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](Systemd/rclone-mount@.service) | Mounts an RClone remote as a systemd service (template) | `sudo systemctl enable --now rclone-mount@.service` |
License
This project is licensed under the MIT License - see the [LICENSE](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.