syn990 / SYN-OS

SYN-OS: A specialized Arch Linux-based operating system providing advanced users with customization & efficiency. Features a minimal UI built from modular components for maximum flexibility. Build a live ISO image tailored to specific requirements with the SYN-OS profile.
MIT License
3 stars 0 forks source link

SYN-OS

SYN-OS Banner

SYN-OS is a highly customizable Arch Linux-based operating system crafted by William Hayward-Holland (Syntax990). It leverages a collection of build scripts, dotfiles, and custom theming to provide a streamlined, efficient, and personalized computing experience. With a focus on modularity and user control, SYN-OS bridges the gap between the minimalism of vanilla Arch and a functional desktop environment.


Table of Contents


Key Features


Installation Overview

The SYN-OS installation is handled through a streamlined two-script process that automates system setup while allowing for customization:

  1. Stage 0 (syn-stage0.zsh):

    • Initiated with the command syntax990 (an alias in .zshrc on the installation media).
    • Prepares the system by configuring disk partitions, setting up the environment, and installing packages.
    • Organizes packages into logical arrays for clarity and modularity.
    • Executes arch-chroot to enter the installation environment and automatically runs syn-stage1.zsh for the next stage.
  2. Stage 1 (syn-stage1.zsh):

    • Finalizes the installation within the chroot environment.
    • Contains user account variables that can be customized prior to execution, allowing for personalized setup.
    • Sets up users, installs the bootloader, and applies configurations.

Note: The MBR/UEFI boot process has been unified, so separate scripts for each boot method are no longer required. The installation scripts handle bootloader installation seamlessly.


Customizing Installation Scripts

Before running syntax990 to initiate the installation, you may want to customize certain settings in both syn-stage0.zsh and syn-stage1.zsh to fit your specific requirements, such as disk partitioning, package selection, and user account details.

Editing Stage 0 and Stage 1 Scripts

Both scripts are located in /root/syn-resources/scripts/. You can use nano, a simple command-line editor, to make these edits.

  1. Open the scripts with nano:

    • For Stage 0:
      nano /root/syn-resources/scripts/syn-stage0.zsh
    • For Stage 1:
      nano /root/syn-resources/scripts/syn-stage1.zsh
  2. Edit Variables and Settings:

    • In syn-stage0.zsh, you might adjust partitioning and package arrays.
    • In syn-stage1.zsh, you can set user account details and any other custom settings.
  3. Save Changes:

    • After editing, press CTRL + O, then Enter to save.
    • Exit nano with CTRL + X.

Making these adjustments before running syntax990 ensures that the installation process will be tailored to your environment and requirements.


Package Collection

Packages are organized into arrays within the installation scripts, reflecting different system components for logical clarity.

Package Categories

To enhance readability, the packages are presented in the following table format:

Category Description Packages
Base Packages Essential system components base, base-devel, linux, linux-firmware, archlinux-keyring, sudo, zsh, gcc, fakeroot, dosfstools, pacman-contrib
System Utilities Fundamental system functionalities alsa-utils, dhcpcd, dnsmasq, hostapd, iwd, pulseaudio, python-pyalsa, kbd, archlinux-xdg-menu
Control Center Apps GUI tools for system settings lxrandr, obconf-qt, pavucontrol-qt
Window Manager & GUI Graphical interface and window management openbox, xorg-server, xorg-xinit, qt5ct, xcompmgr, tint2
CLI Tools Command-line utilities git, htop, man, nano, reflector, rsync, wget
GUI Applications User-friendly applications engrampa, feh, kitty, kwrite, pcmanfm-qt
Fonts Visual appearance and compatibility terminus-font, ttf-bitstream-vera
Additional CLI Tools Extra command-line utilities for advanced users android-tools, archiso, binwalk, brightnessctl, hdparm, hexedit, lshw, ranger, sshfs, yt-dlp
Additional GUI Apps Enhanced functionality applications audacity, chromium, gimp, kdenlive, obs-studio, openra, spectacle, vlc
Bootloader Packages Bootloader installation packages systemd-boot (for UEFI systems), syslinux (for BIOS/MBR systems)

Customization and Theming

Dotfiles and Configuration

SYN-OS comes with a comprehensive set of dotfiles located in the DotfileOverlay directory, providing pre-configured settings for:

These dotfiles are copied to the new system during installation, offering a consistent and personalized environment out-of-the-box.

Openbox Window Manager

Openbox is customized extensively in SYN-OS, offering:

Openbox Customization

Tint2 Panel

The Tint2 panel is tailored to enhance usability:

Tint2 Panel

xinitrc and Startup Scripts

The ~/.xinitrc file is customized to:


System Architecture


Target Audience

SYN-OS is designed for users who desire:


Development Status


Getting Started

Downloading the ISO

Earlier versions:

Creating a Bootable USB Drive

Mac Users

  1. Insert a USB drive with at least 4GB of storage.
  2. Open Terminal (Applications > Utilities).
  3. Identify your USB drive with diskutil list.
  4. Unmount the USB drive: diskutil unmountDisk /dev/diskN (replace N with your disk number).
  5. Write the ISO to the USB drive:

    sudo dd if=/path/to/SYN-OS-M-141.iso of=/dev/diskN bs=1m
  6. Eject the USB drive after the process completes.

Windows Users

  1. Download and install Rufus from the official website.
  2. Insert a USB drive with at least 1GB of storage.
  3. Open Rufus and select your USB drive under "Device."
  4. Select SYN-OS ISO: Click on the "Select" button next to "Boot selection" and choose the downloaded SYN-OS ISO file.
  5. Partition Scheme: Ensure that the partition scheme is set to "MBR" for BIOS or "GPT" for UEFI systems.
  6. Click "Start" to create the bootable USB drive.

Booting into the SYN-OS Live Environment

  1. Restart your computer and boot from the USB drive.
  2. Select SYN-OS from the boot menu.
  3. Enter the live environment, which starts in a terminal (TTY).

Running the Installation

  1. Optional Customization:

    • Edit Variables: If necessary, edit the installation scripts to match your disk setup.
    • Check Disk Names: Run lsblk to verify disk and partition names.
  2. Start Installation:

    • Execute the Alias: Simply type syntax990 and press Enter.
    • Installation Begins: The alias runs the installation scripts from start to finish.
  3. Follow Prompts:

    • Confirmation: You'll be prompted to confirm disk wiping and other critical actions.
    • Automatic Configuration: The script handles bootloader installation seamlessly.

Post-Installation

  1. Reboot the System:

    • Remove the USB drive.
    • Boot into your new SYN-OS installation.
  2. First Login:

    • Log in with the credentials set during installation.
  3. Start X Session (if desired):

    • At the terminal prompt, type startx to launch the graphical environment.
  4. Further Customization:

    • Modify dotfiles, themes, and configurations to tailor the system to your preferences.

Contributing

Contributions are welcome! Feel free to:


License

SYN-OS is licensed under the MIT License. See the LICENSE file for more details.

MIT License


Support

For support and inquiries:

Feel free to explore and customize SYN-OS to suit your preferences and requirements. Your feedback and contributions are highly appreciated!


Enjoy your journey with SYN-OS!


Note: This README is intended for the GitHub project of SYN-OS. The latest release is SYN-OS-M-141, reflecting the most recent updates and enhancements.


Additional Information