A Collection of Functions to Setup Linux (Tested for Arch Linux)
- Overview
- Installation Guide
- How to Use
- Scripts
- Available Functions
- Dependencies
- Contributing
- License
This project provides a collection of scripts to automate the setup of a Linux system, primarily tested on Arch Linux. It aims to streamline the post-installation configuration process by offering functions for various setup tasks.
To get started with Open-Linux-Setup:
- Clone the repository:
git clone https://github.com/Firstp1ck/Open-Linux-Setup.git
- Navigate to the directory:
cd Open-Linux-Setup - [Optional] Make scripts executable:
You might need to make the scripts executable:
chmod +x *.sh main/*.sh Other/*.sh # Adjust path if needed
Before running the main system setup script, you must configure the necessary variables using the Start_set_variable.sh script. This script will guide you through setting up paths, preferences, and other variables that Start_System_setup.sh relies on.
To run the script:
cd Path/to/Script
./Start_set_variable.shFollow the prompts to set your desired configuration.
Once you have set the variables using Start_set_variable.sh, you can execute the main system setup script Start_System_setup.sh. This script will then use the variables you configured to perform the system setup tasks.
To run the main setup script:
cd Path/to/Script
./Start_System_setup.shThe script will proceed with the automated setup based on your configuration.
This repository includes several scripts to assist with your Linux setup. Here's a brief overview:
system_variables.sh: This script contains variables related to system and user variables used by the setup scripts.Start_set_variables.sh: This interactive script is used to set environment variables and configuration options, as detailed in the "How to Use" section.Start_System_setup.sh: This is the primary script that orchestrates the execution of various system setup tasks based on the variables set.Start_ssh_server.sh: This script starts or manages SSH server.Start_pihole_check.sh: This script checks the status of a Pi-hole.Start_restart_wifi.sh: This script is used to restart the Wi-Fi connection.Start_server_status.sh: This script checks and reports the status of a server setup with Nginx/Docker and other services to add.Start_user_editor.sh: This script is used to set up and manage users.Start_network_check.sh: This script performs various network connectivity or configuration checks.
Functions in the Start_System_setup.sh Script
update_eos_mirrors: Update EndeavourOS mirrorsupdate_arch_mirrors: Update Arch Linux mirrorsupdate_pacman: Update pacman packagesupdate_yay: Update AUR packagesupdate_debian: Update Debian packagesupdate_fedora: Update Fedora packagesupdate_firmware: Check and install firmware updatesremove_cache: Remove pacman cache
install_packages: Install pacman and AUR packagesinstall_drivers: Install graphics drivers
Debug_ntfs_drives: Fix and mount NTFS USB drives
configure_drives: Mounts unmounted drives not yet added to fstabconfigure_pacman_color: Ensure pacman Color and ILoveCandy are setconfigure_fish: Set fish as default shell and add fzf as file managementconfigure_bluetooth: Setup Bluetoothconfigure_ssh: Configure SSH keys and connectionconfigure_git: Setup Git configurationconfigure_environment: Set up environment variables for Librewolf and Neovimconfigure_dotfiles: Setup dotfilesconfigure_virtual_env: Setup Virtual Machinesconfigure_ollama: Configure Ollama AIconfigure_razer: Setup Open-Razerconfigure_input_remapper: Setup Input-Remapperconfigure_fingerprint: Setup fingerprint readerconfigure_grub: Configure GRUB bootloaderconfigure_timeshift: Setup Timeshift backupsconfigure_grub_btrfsd: Configure GRUB BTRFSconfigure_network_manager: Configure NetworkManagerconfigure_wifi: Configure WiFi settingsconfigure_rust: Configure Rust, if installedconfigure_gnome_keyring: Setup GNOME Keyringconfigure_filepicker: Configure file pickerconfigure_monitor: Configure monitor settingsconfigure_onedrive: Setup OneDriveconfigure_onedrive_rclone: Setup OneDrive (rclone)sync_arch_to_nas: Sync Arch to NASconfigure_nas_sync: Setup NAS Sync for Onedriveconfigure_wallpaper_path: Configure wallpaper pathconfigure_hyprlock_wallpaper: Configure Hyprlock wallpaperconfigure_notification: Configure Dunst Notification Daemonconfigure_waydroid: Configure Waydroidconfigure_torbrowser: Configure Tor Network/Browser
This setup may depend on or integrate with other projects. A notable dependency is:
- Hyprland-Simple-Setup: This project is designed with compatibility in mind for users who may also be using or integrating with my
Hyprland-Simple-Setuprepository:- The Functions:
configure_hyprlock_wallpaperandconfigure_dotfilesdepend on this repository.
- The Functions:
Please ensure any external dependencies are met before running the function of the main script.
Contributions are welcome! If you'd like to contribute to this project, please feel free to fork the repository, make your changes, and submit a pull request.
This project is licensed under the terms of the LICENSE file.