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.
- Key Features
- Installation Overview
- Package Collection
- Customization and Theming
- System Architecture
- Target Audience
- Development Status
- Getting Started
- Contributing
- License
- Support
- Modular Package Collection: Carefully curated packages categorized for logical system components.
- Custom Dotfiles and Theming: Pre-configured settings and themes for an out-of-the-box personalized experience.
- Two-Stage Installation Process: Automated scripts that streamline setup.
- Terminal-Centric Design: Starts in a terminal environment by default, emphasizing efficiency.
- Flexible GUI Options:
- Transition to X session via
startx. - Customized Openbox window manager with extensive theming.
- Custom Tint2 panel with specialized menus.
- Transition to X session via
- Highly Customizable: Easily modify variables, scripts, and configurations to tailor the system to your needs.
- Root Overlay Feature: Add custom files and configurations during installation for further personalization.
The SYN-OS installation is handled through a streamlined two-script process that automates system setup while allowing for customization:
-
Stage 0 (
syn-stage0.zsh):- Initiated with the command
syntax990(an alias in.zshrcon 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-chrootto enter the installation environment and automatically runssyn-stage1.zshfor the next stage.
- Initiated with the command
-
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.
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.
Both scripts are located in /root/syn-resources/scripts/. You can use nano, a simple command-line editor, to make these edits.
-
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
- For Stage 0:
-
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.
- In
-
Save Changes:
- After editing, press
CTRL + O, thenEnterto save. - Exit
nanowithCTRL + X.
- After editing, press
Making these adjustments before running syntax990 ensures that the installation process will be tailored to your environment and requirements.
Packages are organized into arrays within the installation scripts, reflecting different system components for logical clarity.
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) |
SYN-OS comes with a comprehensive set of dotfiles located in the DotfileOverlay directory, providing pre-configured settings for:
- Shell environment (
.zshrc,.bashrc) - Editor configurations
- Application settings
These dotfiles are copied to the new system during installation, offering a consistent and personalized environment out-of-the-box.
Openbox is customized extensively in SYN-OS, offering:
- Custom Themes: A selection of compiled themes to choose from.
- Keybindings: Pre-configured keyboard shortcuts for efficient navigation.
- Menus: Customized right-click menus for quick access to applications.
The Tint2 panel is tailored to enhance usability:
- Custom Layout: Adjusted panel size, position, and appearance.
- Specialized Menus: Quick access to system controls and applications.
- Systray Integration: Seamless integration with system notifications and indicators.
The ~/.xinitrc file is customized to:
- Launch Openbox with the preferred configurations.
- Start background services and applications.
- Provide an easy way to modify startup behavior.
- Core Base: Built upon Arch Linux for simplicity and control.
- Terminal-Focused: Boots into a terminal (TTY) environment by default.
- Optional GUI: Start the graphical environment with
startxwhen needed. - Modular Components: Packages and configurations are organized logically for easy modification.
SYN-OS is designed for users who desire:
- Granular Control: Deep customization options over their operating system.
- Efficiency: A minimal environment without unnecessary bloat.
- Customization: A template to build upon vanilla Arch with pre-configured options.
- Learning Experience: Insight into the build process and system configuration.
- Active Development: Ongoing improvements and updates.
- Latest Release: SYN-OS-M-141 (November 2024)
- Community Contributions: Open to issues, feature requests, and pull requests.
- Single Developer: Primarily developed by William Hayward-Holland (Syntax990).
- Latest Version: SYN-OS-M-141 Edition (November 2024)
Earlier versions:
- SYN-OS-ArchTech Corp. Edition JULY 2024
- SYN-OS-VOLITION JUNE 2024
- SYN-OS-Soam-Do-Huawei MAY 2024
- SYN-OS-Chronomorph FEB 2024
-
Insert a USB drive with at least 4GB of storage.
-
Open Terminal (Applications > Utilities).
-
Identify your USB drive with
diskutil list. -
Unmount the USB drive:
diskutil unmountDisk /dev/diskN(replaceNwith your disk number). -
Write the ISO to the USB drive:
sudo dd if=/path/to/SYN-OS-M-141.iso of=/dev/diskN bs=1m
-
Eject the USB drive after the process completes.
- Download and install Rufus from the official website.
- Insert a USB drive with at least 1GB of storage.
- Open Rufus and select your USB drive under "Device."
- Select SYN-OS ISO: Click on the "Select" button next to "Boot selection" and choose the downloaded SYN-OS ISO file.
- Partition Scheme: Ensure that the partition scheme is set to "MBR" for BIOS or "GPT" for UEFI systems.
- Click "Start" to create the bootable USB drive.
- Restart your computer and boot from the USB drive.
- Select SYN-OS from the boot menu.
- Enter the live environment, which starts in a terminal (TTY).
-
Optional Customization:
- Edit Variables: If necessary, edit the installation scripts to match your disk setup.
- Check Disk Names: Run
lsblkto verify disk and partition names.
-
Start Installation:
- Execute the Alias: Simply type
syntax990and press Enter. - Installation Begins: The alias runs the installation scripts from start to finish.
- Execute the Alias: Simply type
-
Follow Prompts:
- Confirmation: You'll be prompted to confirm disk wiping and other critical actions.
- Automatic Configuration: The script handles bootloader installation seamlessly.
-
Reboot the System:
- Remove the USB drive.
- Boot into your new SYN-OS installation.
-
First Login:
- Log in with the credentials set during installation.
-
Start X Session (if desired):
- At the terminal prompt, type
startxto launch the graphical environment.
- At the terminal prompt, type
-
Further Customization:
- Modify dotfiles, themes, and configurations to tailor the system to your preferences.
Contributions are welcome! Feel free to:
- Report Issues: Use the GitHub issue tracker to report bugs or request features.
- Submit Pull Requests: Share improvements or fixes.
- Collaborate: Join discussions and contribute to the project's growth.
SYN-OS is licensed under the MIT License. See the LICENSE file for more details.
For support and inquiries:
- Email:
[email protected] - LinkedIn: William Hayward-Holland
- Arch Wiki: Refer to The Arch Wiki for general guidance.
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.
- GitHub Repository: https://github.com/syn990/SYN-OS
- Issue Tracker: GitHub Issues



