Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Nexus Linux

A Linux distribution derived from CachyOS, built with archiso. Nexus Linux ships the KDE Plasma desktop, the Calamares installer (offline and online), and its own repository of forked packages with Nexus branding.

This repository contains the live ISO build configuration and the source for the Nexus fork packages.

Repository layout

.
├── cachyos-live-iso/          # archiso profile + build scripts (upstream tree)
│   ├── archiso/               #   airootfs overlay, pacman.conf, package lists
│   ├── localpkgs/             #   Nexus fork packages (built into a local repo)
│   ├── build-nexus-iso.sh     #   one-shot ISO build
│   ├── build-nexus-repo.sh    #   fork package build + profile swap
│   └── buildiso.sh            #   upstream ISO build driver
├── LICENSE
└── README.md

Fork packages (cachyos-live-iso/localpkgs/)

Package Replaces Purpose
nexus-keyring cachyos-keyring Nexus package signing keys (nexus.gpg, nexus-trusted, nexus-revoked)
nexus-mirrorlist cachyos-mirrorlist Nexus mirrorlist (installed to /etc/pacman.d/cachyos-* paths)
nexus-hooks cachyos-hooks libalpm hooks
nexus-wallpapers cachyos-wallpapers Default wallpapers + per-desktop defaults
nexus-kde-settings cachyos-kde-settings Default KDE Plasma settings
nexus-fish-config cachyos-fish-config Fish shell configuration
nexus-settings cachyos-settings System settings (systemd services, udev rules)
nexus-calamares cachyos-calamares-next Calamares installer (built from source)
cachyos-hello Welcome screen, Nexus-branded via patch

Building the ISO

Build on an Arch-based host (needs pacman/makepkg; this cannot run in a sandbox).

Requirements

sudo pacman -S archiso --needed

One-shot build

cd cachyos-live-iso
./build-nexus-iso.sh                 # default profile: "desktop minimal"
./build-nexus-iso.sh "desktop"       # single profile

This script:

  1. Imports the upstream PGP keys used for signed sources
  2. Installs all build/makedepends in one pacman call
  3. Builds every fork package in localpkgs/ and populates localpkgs/repo/ (transient network failures are retried up to 3 times)
  4. Swaps cachyos-* references to nexus-* in the Calamares netinstall.yaml and appends the [nexus] file repo to archiso/pacman.conf
  5. Runs buildiso.sh and writes the ISO to build/out/

Manual steps

# build fork packages + create local repo
./build-nexus-repo.sh

# wire fork packages into the ISO profile
./build-nexus-repo.sh --apply-swap

# build the ISO
./buildiso.sh -p "desktop minimal" -v

Signing key

The master signing key is generated by localpkgs/nexus-keyring/gen-nexus-keyring.sh:

  • Fingerprint: D7E66A16EB101E21ADC20D6315F9E61760540D3C
  • Identity: Nexus Linux Packaging <nexus@nexuslinux.org>

Back up the private key under localpkgs/nexus-keyring/gnupg/.

The [nexus] repo currently uses SigLevel = TrustAll in archiso/pacman.conf; this is temporary and must be replaced with the real nexus.gpg key + SigLevel = Optional once the keyring is distributed.

Known notes

  • The installed system's pacman.conf is generated from archiso/pacman.conf + pacman-more.conf by shellprocess scripts, and the repo section name must match the mirror's database filename. Nexus keeps the cachyos repo section names (and /etc/pacman.d/cachyos-* paths) until the Nexus repositories go live.
  • Packages that are not yet forked (themes, chwd, kernel-manager, deckify, ...) remain as upstream cachyos-* packages in the profile on purpose.
  • cachyos-hello is built separately via localpkgs/build-hello.sh and bundled into the airootfs for offline installation.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors