Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
a5ffd15
Add builder and assume less defaults
TriangularDev Oct 4, 2025
bf70ae4
Add essential tools
TriangularDev Oct 8, 2025
caeed07
Add initramfs
TriangularDev Oct 8, 2025
d1c288e
Update dockerfile (clone on runtime)
TriangularDev Oct 8, 2025
9fa2940
Merge branch 'dev' of github.com:TriangularDev/TriOs into dev
TriangularDev Oct 8, 2025
93958a7
Remove stupid residual data
TriangularDev Oct 8, 2025
2b8daab
FUCK IT JUST HAVE AI REDO MY SHITTY CODE
TriangularDev Oct 8, 2025
ee42e00
And also add the initramfs (cuz systems kinda need that)
TriangularDev Oct 8, 2025
ece803a
Disable cache :)
TriangularDev Oct 8, 2025
903e7a4
Fix docker
TriangularDev Oct 8, 2025
91554cf
Go go gadget cache clearer
TriangularDev Oct 8, 2025
72e164c
Make initramfs come first???
TriangularDev Oct 8, 2025
72c976c
Make the build OUTSIDE the container
TriangularDev Oct 8, 2025
0dcfc04
Actually make the runner in the run phase
TriangularDev Oct 8, 2025
f7e6c08
ooo preventitive measures ooo
TriangularDev Oct 8, 2025
e4ffa01
Add full debian repo list to docker
TriangularDev Oct 8, 2025
4a3daf3
God I hate docker
TriangularDev Oct 8, 2025
612839f
docker fix?
TriangularDev Oct 8, 2025
b99b2d7
Update Dockerfile
TriangularDev Oct 8, 2025
b363166
Add 32-bit support
TriangularDev Oct 8, 2025
73447ae
Add backports
TriangularDev Oct 8, 2025
6159a97
Scratch that - I have an idea (Scary)
TriangularDev Oct 12, 2025
3d8de3b
Change order since lb is stupid
TriangularDev Oct 12, 2025
81d606f
Add xfce
TriangularDev Oct 12, 2025
4b409df
Dead internet theory
TriangularDev Oct 12, 2025
3bd9bed
privilege update
TriangularDev Oct 12, 2025
7f3f077
Set systemd as the default initsystem
TriangularDev Oct 12, 2025
fe7e603
Add installer user
TriangularDev Oct 12, 2025
6f0b26b
Make the freaking script executable
TriangularDev Oct 12, 2025
16089a1
Enable autologin
TriangularDev Oct 12, 2025
9ecc130
Migrate to kde
TriangularDev Oct 12, 2025
fa5e6d5
Add kde
TriangularDev Oct 12, 2025
dc6733f
Add repos by default
TriangularDev Oct 12, 2025
dba3e95
Add TriOs logo
TriangularDev Oct 12, 2025
d3a792d
Remove emoji and add os-release file
TriangularDev Oct 13, 2025
9f54ebf
Update README.md
TriangularDev Oct 13, 2025
48d712a
Create build-trios.yml
TriangularDev Oct 13, 2025
c66e995
test commit
TriangularDev Oct 13, 2025
38398a2
Proly should have specified
TriangularDev Oct 13, 2025
7cbdbc0
Delete test
TriangularDev Oct 13, 2025
562a13f
Damn it aint a tty
TriangularDev Oct 13, 2025
55ffcee
All that way for no trixie
TriangularDev Oct 13, 2025
0ea5548
Test workflow update 1
TriangularDev Oct 13, 2025
04e080e
Test workflow update 2
TriangularDev Oct 13, 2025
ebcd50b
TriOs, the sustainability update
TriangularDev Oct 13, 2025
cfeac68
TriOs: The make everything work update
TriangularDev Oct 13, 2025
7db1db8
TriOs: The trust issues update
TriangularDev Oct 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions .github/workflows/build-trios-trixie-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Build TriOS ISO (Dev branch)

on:
push:
branches: [ dev ]

jobs:
build-trios:
name: Build and Package ISO
runs-on: self-hosted

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Set up variables
id: vars
shell: bash
run: |
_commit_hash=$(git rev-parse --short HEAD)
echo "commit_hash=${_commit_hash}" >> "$GITHUB_OUTPUT"
mkdir -p ~/TriOs_Output

- name: Debug commit hash
run: |
echo "Commit hash is: ${{ steps.vars.outputs.commit_hash }}"

- name: Build Docker Image
working-directory: ./builder
run: |
docker build -t trios-builder .

- name: Run Docker Container (Privileged)
run: |
docker run --rm -i \
--privileged \
-v "./Trixie:/TriOs" \
-v "$HOME/TriOs_Output:/TriOs_Output" \
trios-builder

- name: Verify ISO Output
run: |
ls -lh ~/TriOs_Output || true

- name: Upload ISO Artifact
uses: actions/upload-artifact@v4
with:
name: trios-dev-${{ steps.vars.outputs.commit_hash }}.iso
path: ~/TriOs_Output/live-image-amd64.hybrid.iso

51 changes: 51 additions & 0 deletions .github/workflows/build-trios-trixie-nighly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Build TriOS ISO (Nightly)

on:
schedule:
# Runs every day at midnight UTC
- cron: "0 0 * * *"

jobs:
build-trios:
name: Build and Package ISO
runs-on: self-hosted

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Set up variables
id: vars
shell: bash
run: |
_timestamp=$(date -u +"%Y-%m-%dT%H-%M-%SZ")
echo "timestamp=${_timestamp}" >> "$GITHUB_OUTPUT"
mkdir -p ~/TriOs_Output

- name: Debug timestamp
run: |
echo "Timestamp is: ${{ steps.vars.outputs.timestamp }}"

- name: Build Docker Image
working-directory: ./builder
run: |
docker build -t trios-builder .

- name: Run Docker Container (Privileged)
run: |
docker run --rm -i \
--privileged \
-v "./Trixie:/TriOs" \
-v "$HOME/TriOs_Output:/TriOs_Output" \
trios-builder

- name: Verify ISO Output
run: |
ls -lh ~/TriOs_Output || true

- name: Upload ISO Artifact
uses: actions/upload-artifact@v4
with:
name: trios-nightly-${{ steps.vars.outputs.timestamp }}.iso
path: ~/TriOs_Output/live-image-amd64.hybrid.iso

50 changes: 50 additions & 0 deletions .github/workflows/build-trios-trixie-prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Build TriOS ISO (Prod branch)

on:
push:
branches: [ prod ]

jobs:
build-trios:
name: Build and Package ISO
runs-on: self-hosted

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Set up variables
id: vars
shell: bash
run: |
_version=$(cat ./Trixie/release_name | tr -d '\n\r')
echo "version=${_version}" >> "$GITHUB_OUTPUT"
mkdir -p ~/TriOs_Output

- name: Debug version
run: |
echo "Version is: ${{ steps.vars.outputs.version }}"

- name: Build Docker Image
working-directory: ./builder
run: |
docker build -t trios-builder .

- name: Run Docker Container (Privileged)
run: |
docker run --rm -i \
--privileged \
-v "./Trixie:/TriOs" \
-v "$HOME/TriOs_Output:/TriOs_Output" \
trios-builder

- name: Verify ISO Output
run: |
ls -lh ~/TriOs_Output || true

- name: Upload ISO Artifact
uses: actions/upload-artifact@v4
with:
name: trios-prod-${{ steps.vars.outputs.version }}.iso
path: ~/TriOs_Output/live-image-amd64.hybrid.iso

Empty file modified LICENSE
100644 → 100755
Empty file.
13 changes: 8 additions & 5 deletions README.md
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,16 @@ Please note:
## Downloads
TriOs was made for amd64. Future builds may also be available for i386 (32 bit) and arm64. TriOs hasn't been tested on arm64 or i386, but if you wish to try it anyway, you can build it yourself.

You MUST have a working internet connection when installing TriOs.

Recommended builds:

- [Latest Release (V.1.0)](add-url-here-later-kthxbai)
- [Latest Release (13 Bepis)](https://nightly.link/TriangularDev/TriOs/workflows/build-trios-trixie-prod/prod)

Unstable builds:

- [Nightly Build](add-url-here-later-kthxbai)
- [Latest Commit](add-url-here-later-kthxbai)
- [Nightly Build](https://nightly.link/TriangularDev/TriOs/workflows/build-trios-trixie-nightly/dev)
- [Latest Commit](https://nightly.link/TriangularDev/TriOs/workflows/build-trios-trixie-dev/dev)

## Building the ISO from source

Expand All @@ -60,14 +62,15 @@ sudo apt install live-build git debian-archive-keyring

```
git clone https://github.com/TriangularDev/TriOs/
cd TriOs
cd TriOs/Trixie
```

### Configure parameters

```
lb config --initramfs live-boot
lb config --bootappend-live "boot=live components union=overlay nopersistence"
lb config --architecture amd64 # or i386/arm64
lb config --archive-areas "main contrib non-free non-free-firmware"
```

### Build the ISO
Expand Down
File renamed without changes.
12 changes: 6 additions & 6 deletions config/binary → Trixie/config/binary
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ LB_ZSYNC="true"
LB_BUILD_WITH_CHROOT="true"

# $LB_DEBIAN_INSTALLER: set debian-installer
# (Default: live)
LB_DEBIAN_INSTALLER="live"
# (Default: false)
LB_DEBIAN_INSTALLER="false"

# $LB_DEBIAN_INSTALLER_DISTRIBUTION: set debian-installer suite
# (Default: empty)
Expand Down Expand Up @@ -86,8 +86,8 @@ LB_ISO_PREPARER="live-build 3.0~a57-1; http://packages.qa.debian.org/live-build"
LB_ISO_PUBLISHER="Debian Live project; http://live.debian.net/; debian-live@lists.debian.org"

# $LB_ISO_VOLUME: set iso volume (max 32 chars)
# (Default: Debian trixie 20251004-12:24)
LB_ISO_VOLUME="Debian trixie 20251004-12:24"
# (Default: Debian trixie 20251012-14:40)
LB_ISO_VOLUME="Debian trixie 20251012-14:40"

# $LB_EXT_BLOCKSIZE: set EXT block size
# (Default: unset)
Expand All @@ -110,8 +110,8 @@ LB_JFFS2_ERASEBLOCK=""
LB_MEMTEST="memtest86+"

# $LB_WIN32_LOADER: set win32-loader
# (Default: true)
LB_WIN32_LOADER="true"
# (Default: false)
LB_WIN32_LOADER="false"

# $LB_NET_ROOT_FILESYSTEM: set netboot filesystem
# (Default: nfs)
Expand Down
File renamed without changes.
File renamed without changes.
4 changes: 2 additions & 2 deletions config/common → Trixie/config/common
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,8 @@ LB_INITRAMFS="live-boot"
LB_INITRAMFS_COMPRESSION=""

# $LB_INITSYSTEM: set init system
# (Default: sysvinit)
LB_INITSYSTEM="sysvinit"
# (Default: systemd)
LB_INITSYSTEM="systemd"

# $LB_FDISK: set fdisk program
# (Default: autodetected)
Expand Down
10 changes: 10 additions & 0 deletions Trixie/config/includes.chroot/etc/os-release
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
PRETTY_NAME="TriOs 13 (Bepis)"
NAME="TriOs"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.1
ID=debian
HOME_URL="https://github.com/TriangularDev/TriOs/"
SUPPORT_URL="https://github.com/TriangularDev/TriOs/issues"
BUG_REPORT_URL="https://github.com/TriangularDev/TriOs/issues"
1 change: 1 addition & 0 deletions Trixie/config/includes.chroot/usr/share/pixmaps/debian.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions Trixie/config/package-lists/kde.list.chroot
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
task-kde-desktop
konsole
sddm
network-manager
network-manager-gnome
1 change: 1 addition & 0 deletions Trixie/config/package-lists/python.list.chroot
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python3-full
File renamed without changes.
1 change: 1 addition & 0 deletions Trixie/release_name
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
13-Bepis
29 changes: 29 additions & 0 deletions builder/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Use Debian Trixie as the base image
FROM debian:trixie

# Run as root
USER root

# Prevent interactive prompts
ENV DEBIAN_FRONTEND=noninteractive

# Update system and install dependencies
RUN apt update && apt install -y \
live-build \
git \
debian-archive-keyring \
sudo \
&& rm -rf /var/lib/apt/lists/*

# Set working directory
WORKDIR /TriOs

# Default command: configure and build TriOS ISO, then copy to output
CMD lb config --initramfs live-boot && \
lb config --bootappend-live "boot=live components union=overlay nopersistence" && \
lb config --architecture amd64 && \
lb build && \
mkdir -p /TriOs_Output && \
cp -r ./live-image* /TriOs_Output/ && \
echo "TriOS ISO build complete. Files copied to /TriOs_Output."

5 changes: 5 additions & 0 deletions builder/build-trios.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
docker build -t trios-builder .
docker run --privileged -it \
-v ~/TriOs/Trixie:/TriOs \
-v ~/TriOs_Output:/TriOs_Output \
trios-builder