diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..ea32c6e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,32 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: bug, help wanted +assignees: TriangularDev + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Please complete the following information:** + - Version: [e.g. TriOS 13 Bepis] + - Architecture: [e.g. x86_64] + - Hardware: [CPU, GPU, Motherboard, Model, Laptop/Desktop, etc] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..95adede --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: enhancement +assignees: TriangularDev + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/non-bug-issue.md b/.github/ISSUE_TEMPLATE/non-bug-issue.md new file mode 100644 index 0000000..f287d56 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/non-bug-issue.md @@ -0,0 +1,20 @@ +--- +name: Non-bug issue +about: Ask for help with a problem that isn't a bug +title: "[HELP WANTED]" +labels: documentation, help wanted +assignees: TriangularDev + +--- + +**What is the issue you are having? Please describe.** +A clear and concise description of what your problem is. Ex. How do I use [...] + +**Describe what you need to know** +A clear and concise description of what you want someone to tell you + +**Describe what you've tried** +Have you tried to solve it yourself? If so, what have you tried? + +**Additional context** +Add any other context or screenshots that you think are relevant here. diff --git a/.github/workflows/build-trios-trixie-dev.yml b/.github/workflows/build-trios-trixie-dev.yml index 5746d75..e0fceb5 100644 --- a/.github/workflows/build-trios-trixie-dev.yml +++ b/.github/workflows/build-trios-trixie-dev.yml @@ -4,6 +4,10 @@ on: push: branches: [ dev ] +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: build-trios: name: Build and Package ISO @@ -13,38 +17,63 @@ jobs: - name: Checkout Repository uses: actions/checkout@v4 - - name: Set up variables + - name: Set up version file and variables id: vars shell: bash run: | _commit_hash=$(git rev-parse --short HEAD) + _runner_name="${RUNNER_NAME:-default-runner}" + + echo "${_commit_hash}" > ./Trixie/config/includes.chroot_after_packages/etc/trios/release echo "commit_hash=${_commit_hash}" >> "$GITHUB_OUTPUT" - mkdir -p ./TriOs_Output + echo "runner_name=${_runner_name}" >> "$GITHUB_OUTPUT" + mkdir -p ./TriOS_Output - - name: Debug commit hash + - name: Debug commit hash and runner name run: | echo "Commit hash is: ${{ steps.vars.outputs.commit_hash }}" + echo "Runner name is: ${{ steps.vars.outputs.runner_name }}" + + - name: Stop and Remove Old Container and Image (if exists) + run: | + _container_name="trios-builder-${{ steps.vars.outputs.runner_name }}" + _image_name="trios-builder-${{ steps.vars.outputs.runner_name }}" + + # Stop and remove any container with this name + if [ "$(docker ps -aq -f name=^${_container_name}$)" ]; then + echo "Stopping existing container: ${_container_name}" + docker stop "${_container_name}" || true + echo "Removing existing container: ${_container_name}" + docker rm -f "${_container_name}" || true + fi + + # Remove old image if exists + if [ "$(docker images -q ${_image_name})" ]; then + echo "Removing old image: ${_image_name}" + docker rmi -f "${_image_name}" || true + fi - name: Build Docker Image working-directory: ./builder run: | - docker build -t trios-builder . + docker build -t trios-builder-${{ steps.vars.outputs.runner_name }} . - name: Run Docker Container (Privileged) run: | - docker run --rm -i \ + docker run -i \ --privileged \ - -v "./Trixie:/TriOs" \ - -v "./TriOs_Output:/TriOs_Output" \ - trios-builder + --name "trios-builder-${{ steps.vars.outputs.runner_name }}" \ + -v "./Trixie:/TriOS" \ + -v "./TriOS_Output:/TriOS_Output" \ + "trios-builder-${{ steps.vars.outputs.runner_name }}" - name: Verify ISO Output run: | - ls -lh ./TriOs_Output || true + 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 + path: ./TriOS_Output/live-image-amd64.hybrid.iso diff --git a/.github/workflows/build-trios-trixie-nightly.yml b/.github/workflows/build-trios-trixie-nightly.yml index ea51c64..05302bc 100644 --- a/.github/workflows/build-trios-trixie-nightly.yml +++ b/.github/workflows/build-trios-trixie-nightly.yml @@ -2,13 +2,16 @@ name: Build TriOS ISO (Nightly) on: schedule: - # Runs every day at midnight UTC - - cron: "0 0 * * *" - # Allows manual triggering, but only on the 'dev' branch + # Runs every day at 07:00 UTC + - cron: "0 7 * * *" workflow_dispatch: branches: - dev +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: build-trios: name: Build and Package ISO @@ -18,38 +21,63 @@ jobs: - name: Checkout Repository uses: actions/checkout@v4 - - name: Set up variables + - name: Set up version file and variables id: vars shell: bash run: | _timestamp=$(date -u +"%Y-%m-%dT%H-%M-%SZ") + _runner_name="${RUNNER_NAME:-default-runner}" + + echo "${_timestamp}" > ./Trixie/config/includes.chroot_after_packages/etc/trios/release echo "timestamp=${_timestamp}" >> "$GITHUB_OUTPUT" - mkdir -p ./TriOs_Output + echo "runner_name=${_runner_name}" >> "$GITHUB_OUTPUT" + mkdir -p ./TriOS_Output - - name: Debug timestamp + - name: Debug timestamp and runner name run: | echo "Timestamp is: ${{ steps.vars.outputs.timestamp }}" + echo "Runner name is: ${{ steps.vars.outputs.runner_name }}" + + - name: Stop and Remove Old Container and Image (if exists) + run: | + _container_name="trios-builder-${{ steps.vars.outputs.runner_name }}" + _image_name="trios-builder-${{ steps.vars.outputs.runner_name }}" + + # Stop and remove any container with this name + if [ "$(docker ps -aq -f name=^${_container_name}$)" ]; then + echo "Stopping existing container: ${_container_name}" + docker stop "${_container_name}" || true + echo "Removing existing container: ${_container_name}" + docker rm -f "${_container_name}" || true + fi + + # Remove old image if exists + if [ "$(docker images -q ${_image_name})" ]; then + echo "Removing old image: ${_image_name}" + docker rmi -f "${_image_name}" || true + fi - name: Build Docker Image working-directory: ./builder run: | - docker build -t trios-builder . + docker build -t trios-builder-${{ steps.vars.outputs.runner_name }} . - name: Run Docker Container (Privileged) run: | - docker run --rm -i \ + docker run -i \ --privileged \ - -v "./Trixie:/TriOs" \ - -v "./TriOs_Output:/TriOs_Output" \ - trios-builder + --name "trios-builder-${{ steps.vars.outputs.runner_name }}" \ + -v "./Trixie:/TriOS" \ + -v "./TriOS_Output:/TriOS_Output" \ + "trios-builder-${{ steps.vars.outputs.runner_name }}" - name: Verify ISO Output run: | - ls -lh ./TriOs_Output || true + 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 + path: ./TriOS_Output/live-image-amd64.hybrid.iso diff --git a/.github/workflows/build-trios-trixie-prod.yml b/.github/workflows/build-trios-trixie-prod.yml index dbe0db2..c3d7b6c 100644 --- a/.github/workflows/build-trios-trixie-prod.yml +++ b/.github/workflows/build-trios-trixie-prod.yml @@ -4,6 +4,10 @@ on: push: branches: [ prod ] +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: build-trios: name: Build and Package ISO @@ -13,38 +17,68 @@ jobs: - name: Checkout Repository uses: actions/checkout@v4 - - name: Set up variables + - name: Set up version file and variables id: vars shell: bash run: | - _version=$(cat ./Trixie/release_name | tr -d '\n\r') + _runner_name="${RUNNER_NAME:-default-runner}" + + if [ -f ./TriOS/Trixie/release_name ]; then + _version=$(cat ./TriOS/Trixie/release_name | tr -d '\n\r') + else + _version="unknown" + fi + + echo "${_version}" > ./Trixie/config/includes.chroot_after_packages/etc/trios/release echo "version=${_version}" >> "$GITHUB_OUTPUT" - mkdir -p ./TriOs_Output + echo "runner_name=${_runner_name}" >> "$GITHUB_OUTPUT" + mkdir -p ./TriOS_Output - - name: Debug version + - name: Debug version and runner name run: | echo "Version is: ${{ steps.vars.outputs.version }}" + echo "Runner name is: ${{ steps.vars.outputs.runner_name }}" + + - name: Stop and Remove Old Container and Image (if exists) + run: | + _container_name="trios-builder-${{ steps.vars.outputs.runner_name }}" + _image_name="trios-builder-${{ steps.vars.outputs.runner_name }}" + + # Stop and remove any container with this name + if [ "$(docker ps -aq -f name=^${_container_name}$)" ]; then + echo "Stopping existing container: ${_container_name}" + docker stop "${_container_name}" || true + echo "Removing existing container: ${_container_name}" + docker rm -f "${_container_name}" || true + fi + + # Remove old image if exists + if [ "$(docker images -q ${_image_name})" ]; then + echo "Removing old image: ${_image_name}" + docker rmi -f "${_image_name}" || true + fi - name: Build Docker Image working-directory: ./builder run: | - docker build -t trios-builder . + docker build -t trios-builder-${{ steps.vars.outputs.runner_name }} . - name: Run Docker Container (Privileged) run: | - docker run --rm -i \ + docker run -i \ --privileged \ - -v "./Trixie:/TriOs" \ - -v "./TriOs_Output:/TriOs_Output" \ - trios-builder + --name "trios-builder-${{ steps.vars.outputs.runner_name }}" \ + -v "./Trixie:/TriOS" \ + -v "./TriOS_Output:/TriOS_Output" \ + "trios-builder-${{ steps.vars.outputs.runner_name }}" - name: Verify ISO Output run: | - ls -lh ./TriOs_Output || true + 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 + path: ./TriOS_Output/live-image-amd64.hybrid.iso diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml new file mode 100644 index 0000000..ec0c662 --- /dev/null +++ b/.github/workflows/static.yml @@ -0,0 +1,43 @@ +# Simple workflow for deploying static content to GitHub Pages +name: Deploy static content to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ["dev"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Single deploy job since we're just deploying + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Pages + uses: actions/configure-pages@v5 + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + # Upload web directory + path: './web/' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/AI_POLICY.md b/AI_POLICY.md index 13a7788..e51c80d 100644 --- a/AI_POLICY.md +++ b/AI_POLICY.md @@ -13,5 +13,5 @@ This ensures that TriOS remains transparent, reliable, and true to its intended The core idea is simple: "There should always be a human somewhere in the loop." -If you discover content that appears to have originated from AI and have questions about its origin, please open an issue in the [TriOS repository](https://github.com/TriangularDev/TriOs/issues) for clarification. +If you discover content that appears to have originated from AI and have questions about its origin, please open an issue in the [TriOS repository](https://github.com/TriangularDev/TriOS/issues) for clarification. diff --git a/README.md b/README.md index 8535d2f..d96e319 100755 --- a/README.md +++ b/README.md @@ -1,99 +1,178 @@ # TriOS +TriOS Logo + TriOS is a Debian-based operating system designed for users who want a clean, smooth, and ready-to-use Linux experience. -It ships with Debian’s full set of standard repositories and drivers (including non-free firmware) to ensure maximum hardware compatibility. +It ships with Debian’s full standard repositories and driver packages (including non-free firmware) to ensure maximum hardware compatibility. ## Base Information -TriOS is based on **Debian 13 “Trixie”**, which will receive: -- Full security support until **August 2028** -- Long Term Support (LTS) until **August 2030** + +TriOS is based on **Debian 13 “Trixie”**, which is expected to receive: + +* Full security support until **August 2028 (expected)** +* Long Term Support (LTS) until **August 2030 (planned)** + +Forky-based and later Sid-based releases are being considered. Bookworm-based releases will never be officially supported. For more details, see the official [Debian release and support timeline](https://www.debian.org/releases/). ## Why TriOS? + I wanted a Linux distribution that was: -- **Minimal** – like Lubuntu, keeping the system lightweight and efficient. -- **Smooth** – like Linux Mint, with polish and usability out of the box. -- **Tailored to my workflow** – focused on game development, gaming, and creative studio work. +* **Minimal** – like Lubuntu, keeping the system lightweight and efficient. +* **Smooth** – like Linux Mint, with polish and usability right out of the box. +* **Tailored to my workflow** – focused on game development, gaming, and creative studio work. -I am yet to find a disto that provides a balanced system that is easy to set up, stays out of the way, and supports both everyday use and demanding workflows. +I’ve yet to find a distro that offers a well-balanced system that’s easy to set up, stays out of the way, and supports both everyday use and demanding workloads. -I used to use Linux Mint to fulfill these needs, but the overhead of abstraction has made everyday usage difficult. +I used to rely on Linux Mint for this, but its growing abstraction layers have made everyday use feel sluggish and unnecessarily complicated. -Most distributions either prioritise developers or everyday users, but what if a you tried to optimise for both? +Most distributions either prioritize developers or everyday users, but what if you optimized for both? -That's why I made TriOs. +That’s why I made **TriOS**. ## Features -- Debian-based -- Includes tools to install drivers for AMD, Intel, and NVIDIA hardware -- Minimal default desktop environment with room to customize -- Smooth out-of-the-box performance and experience -- Stable if used correctly + +* Debian-based +* KDE Plasma desktop environment (minimal configuration, ready to customize) +* Includes tools to install drivers for AMD, Intel, and NVIDIA hardware +* Smooth, polished experience right out of the box +* Stable if used correctly + +**Note:** TriOS is currently in **pre-beta**. It’s functional and mostly stable in testing, but I **don’t recommend using it as your primary daily driver** just yet. Things are still evolving rapidly. + +## System Requirements + +TriOS is built to run on a wide range of hardware, so most computers can run it without issues. However, for the best experience, especially when gaming or developing, stronger hardware is recommended. + +### Minimum Requirements + +| Component | Minimum Specification | Example Hardware | +| ----------- | --------------------------------------------------------- | --------------------------------------------------- | +| **CPU** | Dual-core 64-bit processor | Intel Core i3-6100, AMD FX-6300, or newer | +| **GPU** | Integrated or low-end discrete GPU capable of running KDE | Intel HD Graphics 530, AMD Radeon R5, NVIDIA GT 710 | +| **RAM** | 2–4 GB | 4 GB strongly recommended | +| **Storage** | 32 GB (SSD or HDD) | SSD highly recommended for speed and reliability | +| **Display** | 1366×768 or higher | Any modern 720p+ display | +| **Network** | Internet connection required for installation | Ethernet or supported Wi-Fi adapter | + +### Recommended Requirements + +| Component | Recommended Specification | Example Hardware | +| ----------- | ------------------------------------------------------- | ------------------------------------------------------------- | +| **CPU** | Quad-core or higher, modern 64-bit architecture | Intel Core i5-12400, AMD Ryzen 5 5600, or newer | +| **GPU** | Mid-to-high tier GPU suitable for gaming or development | NVIDIA GTX 1660 Ti / RTX 3060, AMD RX 6600 XT, Intel Arc A580 | +| **RAM** | 8–16 GB | 16 GB ideal for development workloads | +| **Storage** | 512 GB+ SSD | NVMe SSD preferred for fastest performance | +| **Display** | 1920×1080 (Full HD) or higher | 1080p or 1440p recommended for workstation use | +| **Network** | Broadband connection | Useful for updates, Steam, and package downloads | + +TriOS will **run smoothly** on older or modest systems, but for a fluid KDE experience and creative workloads, modern midrange hardware or better is encouraged. + +## Version Naming + +TriOS version names follow a simple and consistent format: + +> **[Debian Release Number] [TriOS Codename]** + +For example: + +* TriOS Bepis Logo **13 Bepis** → Planned beta release (current dev and prod branch) +* TriOS Tenna Logo **13 Tenna** → Planned first stable release (not in use) + +Future versions will continue this naming pattern, aligning with each major Debian release and a unique TriOS codename for clarity and identity. + +For TriOS development, you can see surface-level progress on the [Trello board](https://trello.com/b/PD5ehPOS/trios-operating-system). ## License + TriOS itself (custom scripts, configs, and branding) is licensed under the **MIT License**. Please note: -- The operating system includes software packages from Debian, each under their own respective licenses. -- Non-free firmware and proprietary drivers are redistributed under the terms provided by their respective vendors. -- For full license information, see `/usr/share/doc/*/copyright` within the installed system. + +* The operating system includes software packages from Debian, each under their own respective licenses. +* Proprietary drivers and firmware are included as-is under their redistribution terms, consistent with Debian’s non-free-firmware policy. +* For full license information, see `/usr/share/doc/*/copyright` within the installed system. ## 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. +TriOS is built for **amd64**. Future builds may also be available for **i386 (32-bit)** and **arm64**. +However, support for i386 is becoming increasingly limited upstream. TriOS hasn’t been tested on arm64 or i386 yet, but if you’re feeling brave, you can always build it yourself. + +You **must have a working internet connection** when installing TriOS. + +### Recommended Builds + +Please see the [Secure Boot Notice](#secure-boot-notice) section if you plan to run TriOS on physical hardware. + +* [Latest Release (13 Bepis)](https://nightly.link/TriangularDev/TriOS/workflows/build-trios-trixie-prod/prod) (Currently unavailable) + +### Unstable Builds -Recommended builds: +* [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) -- [Latest Release (13 Bepis)](https://nightly.link/TriangularDev/TriOs/workflows/build-trios-trixie-prod/prod) +**Important:** The official TriOS Updater (once released) **will not support updating from non-production builds**. +If you’re running a nightly or dev build, you’ll need to manually reinstall the production version to continue receiving official updates. -Unstable builds: +Before installing, always verify your ISO with the provided checksum. -- [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) +## Secure Boot Notice -## Building the ISO from source +Before installing **TriOS**, please **disable Secure Boot** in your system’s BIOS or UEFI settings. -I heavily recommend to use an official build. But if you wish to build it yourself, follow the guide below. +TriOS includes non-free firmware and proprietary drivers that **require Secure Boot to be turned off** to function properly. +If Secure Boot remains enabled, the installer may fail to boot, or certain drivers (especially NVIDIA and AMD GPU drivers) may not load correctly. -### Install build tools +TriOS includes basic kernel signing support, but it may not work reliably under Secure Boot, so disabling it is strongly recommended. -``` +**To disable Secure Boot:** -sudo apt update -sudo apt install live-build git debian-archive-keyring +1. Reboot your computer and enter the BIOS/UEFI setup (usually by pressing `Del`, `F2`, or `Esc` during startup). +2. Locate the **Secure Boot** option under *Boot*, *Security*, or *Authentication* settings. +3. Set **Secure Boot** to **Disabled**. +4. Save changes and reboot. -``` +After installation, leave it disabled if possible. -### Clone the repository +## Building the ISO from Source -``` +I spent **way too much time** getting this automatic build system to work **for your convenience.** -git clone [https://github.com/TriangularDev/TriOs/](https://github.com/TriangularDev/TriOs/) -cd TriOs/Trixie +But hey, if you want to take the hard road and rebuild it yourself just because you *can*, who am I to stop you? +Go ahead. I won’t judge (much). -``` +> **Note for developers and source builders:** +> Some distributions, such as **Ubuntu Noble**, include a severely outdated version of `live-build` in their package repositories (sometimes as old as 2012). +> If you encounter issues when building TriOS or the build scripts fail unexpectedly, install the **this version** of `live-build` manually using the `.deb` package below: +> +> [http://ftp.us.debian.org/debian/pool/main/l/live-build/live-build_20250505+deb13u1_all.deb](http://ftp.us.debian.org/debian/pool/main/l/live-build/live-build_20250505+deb13u1_all.deb) +> +> This ensures compatibility with Debian 13 “Trixie” and prevents build-time errors. -### Configure parameters +### The Elite Docker Container in Question -``` +The Docker container lives in the `builder/` directory. It’s a standard container setup. +The `build-trios.sh` script only works if you’re running it as root and the repo is cloned to the root user’s home directory. +(This requirement is due to Debian Live Build permissions; running under a non-root user with `sudo` may work if configured correctly.) -lb config --initramfs live-boot -lb config --bootappend-live "boot=live components union=overlay nopersistence" -lb config --architecture amd64 # or i386/arm64 +If you want additional customization, bind volumes to the `TriOS` and `TriOS_Output` directories. +`TriOS` should be a copy of the repo, and `TriOS_Output` should be an empty folder. -``` +If you’re developing for TriOS, I recommend using a separate copy of the repo rather than your working one. +Pull requests containing generated build artifacts or temporary configurations will be rejected. -### Build the ISO +When compiling, the branch you use depends on your purpose: -``` +* If you want to test the latest changes or peek in on developer status, use the **dev** branch. + (Or you could, y'know, use the already compiled build.) +* If you don't trust me and just want the production system but built by yourself, use the **prod** branch. +* If you want to run TriOS with your own modifications, use **your own directory**, whatever that may be. -sudo lb build +### Testing the ISO (optional but recommended) -``` +Boot the ISO in a VM or from a USB stick to verify functionality before distributing it. +But seriously, **please** test your builds before telling other people they’re safe to use. -### Test the ISO (optional but recommended) -Boot the ISO in a VM or from a USB stick to verify functionality before release. diff --git a/Trixie/config/binary b/Trixie/config/binary old mode 100755 new mode 100644 index 14c4c57..b59b99d --- a/Trixie/config/binary +++ b/Trixie/config/binary @@ -1,170 +1,119 @@ # config/binary - options for live-build(7), binary stage -# $LB_BINARY_FILESYSTEM: set image filesystem -# (Default: fat16) -LB_BINARY_FILESYSTEM="fat16" +# Set image type +LB_IMAGE_TYPE="iso-hybrid" -# $LB_BINARY_IMAGES: set image type -# (Default: iso-hybrid) -LB_BINARY_IMAGES="iso-hybrid" +# Set image filesystem +LB_BINARY_FILESYSTEM="fat32" -# $LB_APT_INDICES: set apt/aptitude generic indices -# (Default: true) +# Set apt/aptitude generic indices LB_APT_INDICES="true" -# $LB_BOOTAPPEND_LIVE: set boot parameters -# (Default: empty) -LB_BOOTAPPEND_LIVE="" +# Set boot parameters +LB_BOOTAPPEND_LIVE="boot=live components union=overlayfs quiet splash" -# $LB_BOOTAPPEND_INSTALL: set boot parameters -# (Default: empty) +# Set boot parameters LB_BOOTAPPEND_INSTALL="" -# $LB_BOOTAPPEND_FAILSAFE: set boot parameters -# (Default: empty) -LB_BOOTAPPEND_FAILSAFE="memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal" +# Set boot parameters +LB_BOOTAPPEND_LIVE_FAILSAFE="boot=live components memtest noapic noapm nodma nomce nosmp nosplash vga=788" -# $LB_BOOTLOADER: set bootloader -# (Default: syslinux) -LB_BOOTLOADER="syslinux" +# Set BIOS bootloader +LB_BOOTLOADER_BIOS="syslinux" -# $LB_CHECKSUMS: set checksums -# (Default: sha256) +# Set EFI bootloader +LB_BOOTLOADER_EFI="grub-efi" + +# Set bootloaders +LB_BOOTLOADERS="" + +# Set checksums LB_CHECKSUMS="sha256" -# $LB_COMPRESSION: set compression -# (Default: xz) -LB_COMPRESSION="xz" +# Set compression +LB_COMPRESSION="none" + +# Support dm-verity on rootfs +LB_DM_VERITY="" + +# Support FEC on dm-verity rootfs +LB_DM_VERITY_FEC_ROOTS="" + +# Set sign script for roothash for dm-verity rootfs +LB_DM_VERITY_SIGN="" -# $LB_ZSYNC: set zsync -# (Default: true) -LB_ZSYNC="true" +# Set zsync +LB_ZSYNC="false" -# ${LB_BUILD_WITH_CHROOT: control if we build binary images chrooted -# (Default: true) -# DO NEVER, *NEVER*, *N*E*V*E*R* SET THIS OPTION to false. +# Control if we build binary images chrooted +# NEVER, *EVER*, *E*V*E*R* SET THIS OPTION to false. LB_BUILD_WITH_CHROOT="true" -# $LB_DEBIAN_INSTALLER: set debian-installer -# (Default: false) -LB_DEBIAN_INSTALLER="false" +# Set debian-installer +LB_DEBIAN_INSTALLER="none" -# $LB_DEBIAN_INSTALLER_DISTRIBUTION: set debian-installer suite -# (Default: empty) +# Set debian-installer suite LB_DEBIAN_INSTALLER_DISTRIBUTION="trixie" -# $LB_DEBIAN_INSTALLER_PRESEEDFILE: set debian-installer preseed filename/url -# (Default: ) +# Set debian-installer preseed filename/url LB_DEBIAN_INSTALLER_PRESEEDFILE="" -# $LB_DEBIAN_INSTALLER_GUI: toggle use of GUI debian-installer -# (Default: true) +# Toggle use of GUI debian-installer LB_DEBIAN_INSTALLER_GUI="true" -# $LB_GRUB_SPLASH: set custom grub splash -# (Default: empty) -LB_GRUB_SPLASH="" - -# $LB_HDD_LABEL: set hdd label -# (Default: DEBIAN_LIVE) +# Set hdd label LB_HDD_LABEL="DEBIAN_LIVE" -# $LB_HDD_SIZE: set hdd filesystem size -# (Default: 10000) -LB_HDD_SIZE="10000" - -# $LB_ISO_APPLICATION: set iso author -# (Default: Debian Live) -LB_ISO_APPLICATION="Debian Live" +# Set hdd filesystem size +LB_HDD_SIZE="auto" -# $LB_ISO_PREPARER: set iso preparer -# (Default: live-build 3.0~a57-1; http://packages.qa.debian.org/live-build) -LB_ISO_PREPARER="live-build 3.0~a57-1; http://packages.qa.debian.org/live-build" +# Set start of partition for the hdd target for BIOSes that expect a specific boot partition start (e.g. "63s"). If empty, use optimal layout. +LB_HDD_PARTITION_START="" -# $LB_ISO_PUBLISHER: set iso publisher -# (Default: Debian Live project; http://live.debian.net/; debian-live@lists.debian.org) -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 20251012-14:40) -LB_ISO_VOLUME="Debian trixie 20251012-14:40" +# Set iso author +LB_ISO_APPLICATION="Debian Live" -# $LB_EXT_BLOCKSIZE: set EXT block size -# (Default: unset) -LB_EXT_BLOCKSIZE="" +# Set iso preparer +LB_ISO_PREPARER="live-build @LB_VERSION@; https://salsa.debian.org/live-team/live-build" -# $LB_EXT_RESIZEBLOCKS: set EXT resize parameter -# (Default: unset) -LB_EXT_RESIZEBLOCKS="" +# Set iso publisher +LB_ISO_PUBLISHER="Debian Live project; https://wiki.debian.org/DebianLive; debian-live@lists.debian.org" -# $LB_EXT_FUDGEFACTOR: set extra size of EXT images (in %) -# (Default: unset) -LB_EXT_FUDGEFACTOR="" +# Set iso volume (max 32 chars) +LB_ISO_VOLUME="Debian trixie @ISOVOLUME_TS@" -# $LB_JFFS2_ERASEBLOCK: set jffs2 eraseblock size -# (Default: unset) +# Set jffs2 eraseblock size LB_JFFS2_ERASEBLOCK="" -# $LB_MEMTEST: set memtest -# (Default: memtest86+) -LB_MEMTEST="memtest86+" +# Set memtest +LB_MEMTEST="none" -# $LB_WIN32_LOADER: set win32-loader -# (Default: false) -LB_WIN32_LOADER="false" - -# $LB_NET_ROOT_FILESYSTEM: set netboot filesystem -# (Default: nfs) -LB_NET_ROOT_FILESYSTEM="nfs" - -# $LB_NET_ROOT_MOUNTOPTIONS: set nfsopts -# (Default: empty) -LB_NET_ROOT_MOUNTOPTIONS="" - -# $LB_NET_ROOT_PATH: set netboot server directory -# (Default: /srv/debian-live) -LB_NET_ROOT_PATH="/srv/debian-live" - -# $LB_NET_ROOT_SERVER: set netboot server address -# (Default: 192.168.1.1) -LB_NET_ROOT_SERVER="192.168.1.1" +# Set loadlin +LB_LOADLIN="false" -# $LB_NET_COW_FILESYSTEM: set net client cow filesystem -# (Default: nfs) -LB_NET_COW_FILESYSTEM="nfs" - -# $LB_NET_COW_MOUNTOPTIONS: set cow mount options -# (Default: empty) -LB_NET_COW_MOUNTOPTIONS="" +# Set win32-loader +LB_WIN32_LOADER="false" -# $LB_NET_COW_PATH: set cow directory -# (Default: ) -LB_NET_COW_PATH="" +# Set net tarball +LB_NET_TARBALL="true" -# $LB_NET_COW_SERVER: set cow server -# (Default: ) -LB_NET_COW_SERVER="" +# Set onie +LB_ONIE="false" -# $LB_NET_TARBALL: set net tarball -# (Default: true) -LB_NET_TARBALL="true" +# Set onie additional kernel cmdline options +LB_ONIE_KERNEL_CMDLINE="" -# $LB_FIRMWARE_BINARY: include firmware packages in debian-installer -# (Default: true) +# Set inclusion of firmware packages in debian-installer LB_FIRMWARE_BINARY="true" -# $LB_FIRMWARE_CHROOT: include firmware packages in debian-installer -# (Default: true) +# Set inclusion of firmware packages in the live image LB_FIRMWARE_CHROOT="true" -# $LB_SWAP_FILE_PATH: set swap file path -# (Default: ) +# Set swap file path LB_SWAP_FILE_PATH="" -# $LB_SWAP_FILE_SIZE: set swap file size -# (Default: 512) +# Set swap file size LB_SWAP_FILE_SIZE="512" -# $LB_SYSLINUX_THEME: set syslinux theme package -# (Default: live-build) -LB_SYSLINUX_THEME="live-build" +# Enable/disable UEFI secure boot support +LB_UEFI_SECURE_BOOT="auto" diff --git a/Trixie/config/bootstrap b/Trixie/config/bootstrap old mode 100755 new mode 100644 index 59034cc..0f541d3 --- a/Trixie/config/bootstrap +++ b/Trixie/config/bootstrap @@ -1,137 +1,76 @@ # config/bootstrap - options for live-build(7), bootstrap stage -# $LB_ARCHITECTURES: select chroot architectures -# (Default: autodetected) -LB_ARCHITECTURES="amd64" +# Select architecture to use +LB_ARCHITECTURE="amd64" -# $LB_BOOTSTRAP_INCLUDE: include packages on base -# (Default: empty) -LB_BOOTSTRAP_INCLUDE="" +# Select distribution to use +LB_DISTRIBUTION="trixie" -# $LB_BOOTSTRAP_EXCLUDE: exclude packages on base -# (Default: empty) -LB_BOOTSTRAP_EXCLUDE="" +# Select parent distribution to use +LB_PARENT_DISTRIBUTION="" -# $LB_BOOTSTRAP_FLAVOUR: select flavour to use -# (Default: empty) -LB_BOOTSTRAP_FLAVOUR="" +# Select distribution to use in the chroot +LB_DISTRIBUTION_CHROOT="trixie" -# $LB_BOOTSTRAP_KEYRING: set distribution keyring -# (Default: empty) -LB_BOOTSTRAP_KEYRING="" +# Select parent distribution to use in the chroot +LB_PARENT_DISTRIBUTION_CHROOT="trixie" -# $LB_DISTRIBUTION: select distribution to use -# (Default: trixie) -LB_DISTRIBUTION="trixie" +# Select distribution to use in the final image +LB_DISTRIBUTION_BINARY="trixie" -# $LB_PARENT_DISTRIBUTION: select parent distribution to use -# (Default: trixie) -LB_PARENT_DISTRIBUTION="trixie" +# Select parent distribution to use in the final image +LB_PARENT_DISTRIBUTION_BINARY="trixie" -# $LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION: select parent distribution for debian-installer to use -# (Default: trixie) -LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="trixie" +# Select parent distribution for debian-installer to use +LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="" -# $LB_PARENT_MIRROR_BOOTSTRAP: set parent mirror to bootstrap from -# (Default: http://ftp.debian.org/debian/) -LB_PARENT_MIRROR_BOOTSTRAP="http://ftp.debian.org/debian/" +# Select archive areas to use +LB_ARCHIVE_AREAS="main contrib non-free non-free-firmware" -# $LB_PARENT_MIRROR_CHROOT: set parent mirror to fetch packages from -# (Default: http://ftp.debian.org/debian/) -LB_PARENT_MIRROR_CHROOT="http://ftp.debian.org/debian/" +# Select parent archive areas to use +LB_PARENT_ARCHIVE_AREAS="main contrib non-free non-free-firmware" -# $LB_PARENT_MIRROR_CHROOT_SECURITY: set security parent mirror to fetch packages from -# (Default: http://security.debian.org/) -LB_PARENT_MIRROR_CHROOT_SECURITY="http://security.debian.org/" +# Set parent mirror to bootstrap from +LB_PARENT_MIRROR_BOOTSTRAP="http://deb.debian.org/debian/" -# $LB_PARENT_MIRROR_CHROOT_VOLATILE: set volatile parent mirror to fetch packages from -# (Default: http://ftp.debian.org/debian/) -LB_PARENT_MIRROR_CHROOT_VOLATILE="http://ftp.debian.org/debian/" +# Set parent mirror to fetch packages from +LB_PARENT_MIRROR_CHROOT="http://deb.debian.org/debian/" -# $LB_PARENT_MIRROR_CHROOT_BACKPORTS: set backports parent mirror to fetch packages from -# (Default: http://backports.debian.org/debian-backports/) -LB_PARENT_MIRROR_CHROOT_BACKPORTS="http://backports.debian.org/debian-backports/" +# Set security parent mirror to fetch packages from +LB_PARENT_MIRROR_CHROOT_SECURITY="http://security.debian.org/" -# $LB_PARENT_MIRROR_BINARY: set parent mirror which ends up in the image -# (Default: http://cdn.debian.net/debian/) -LB_PARENT_MIRROR_BINARY="http://cdn.debian.net/debian/" +# Set parent mirror which ends up in the image +LB_PARENT_MIRROR_BINARY="http://deb.debian.org/debian/" -# $LB_PARENT_MIRROR_BINARY_SECURITY: set security parent mirror which ends up in the image -# (Default: http://security.debian.org/) +# Set security parent mirror which ends up in the image LB_PARENT_MIRROR_BINARY_SECURITY="http://security.debian.org/" -# $LB_PARENT_MIRROR_BINARY_VOLATILE: set volatile parent mirror which ends up in the image -# (Default: http://cdn.debian.net/debian/) -LB_PARENT_MIRROR_BINARY_VOLATILE="http://cdn.debian.net/debian/" - -# $LB_PARENT_MIRROR_BINARY_BACKPORTS: set backports parent mirror which ends up in the image -# (Default: http://backports.debian.org/debian-backports/) -LB_PARENT_MIRROR_BINARY_BACKPORTS="http://backports.debian.org/debian-backports/" +# Set debian-installer parent mirror +LB_PARENT_MIRROR_DEBIAN_INSTALLER="http://deb.debian.org/debian/" -# $LB_PARENT_MIRROR_DEBIAN_INSTALLER: set debian-installer parent mirror -# (Default: http://ftp.debian.org/debian/) -LB_PARENT_MIRROR_DEBIAN_INSTALLER="http://ftp.debian.org/debian/" +# Set mirror to bootstrap from +LB_MIRROR_BOOTSTRAP="http://deb.debian.org/debian/" -# $LB_MIRROR_BOOTSTRAP: set mirror to bootstrap from -# (Default: http://ftp.debian.org/debian/) -LB_MIRROR_BOOTSTRAP="http://ftp.debian.org/debian/" +# Set mirror to fetch packages from +LB_MIRROR_CHROOT="http://deb.debian.org/debian/" -# $LB_MIRROR_CHROOT: set mirror to fetch packages from -# (Default: http://ftp.debian.org/debian/) -LB_MIRROR_CHROOT="http://ftp.debian.org/debian/" - -# $LB_MIRROR_CHROOT_SECURITY: set security mirror to fetch packages from -# (Default: http://security.debian.org/) +# Set security mirror to fetch packages from LB_MIRROR_CHROOT_SECURITY="http://security.debian.org/" -# $LB_MIRROR_CHROOT_VOLATILE: set volatile mirror to fetch packages from -# (Default: http://ftp.debian.org/debian/) -LB_MIRROR_CHROOT_VOLATILE="http://ftp.debian.org/debian/" - -# $LB_MIRROR_CHROOT_BACKPORTS: set backports mirror to fetch packages from -# (Default: http://backports.debian.org/debian-backports/) -LB_MIRROR_CHROOT_BACKPORTS="http://backports.debian.org/debian-backports/" +# Set mirror which ends up in the image +LB_MIRROR_BINARY="http://deb.debian.org/debian/" -# $LB_MIRROR_BINARY: set mirror which ends up in the image -# (Default: http://cdn.debian.net/debian/) -LB_MIRROR_BINARY="http://cdn.debian.net/debian/" - -# $LB_MIRROR_BINARY_SECURITY: set security mirror which ends up in the image -# (Default: http://security.debian.org/) +# Set security mirror which ends up in the image LB_MIRROR_BINARY_SECURITY="http://security.debian.org/" -# $LB_MIRROR_BINARY_VOLATILE: set volatile mirror which ends up in the image -# (Default: http://cdn.debian.net/debian/) -LB_MIRROR_BINARY_VOLATILE="http://cdn.debian.net/debian/" - -# $LB_MIRROR_BINARY_BACKPORTS: set backports mirror which ends up in the image -# (Default: http://backports.debian.org/debian-backports/) -LB_MIRROR_BINARY_BACKPORTS="http://backports.debian.org/debian-backports/" - -# $LB_MIRROR_DEBIAN_INSTALLER: set debian-installer mirror -# (Default: http://ftp.debian.org/debian/) -LB_MIRROR_DEBIAN_INSTALLER="http://ftp.debian.org/debian/" - -# $LB_ARCHIVES: enable available third-party archives -# (Default: empty) -LB_ARCHIVES="" - -# $LB_ARCHIVE_AREAS: select archive areas to use -# (Default: main contrib non-free non-free-firmware) -LB_ARCHIVE_AREAS="main contrib non-free non-free-firmware" - -# $LB_PARENT_ARCHIVE_AREAS: select archive areas to use -# (Default: main) -LB_PARENT_ARCHIVE_AREAS="main" +# Set debian-installer mirror +LB_MIRROR_DEBIAN_INSTALLER="http://deb.debian.org/debian/" -# $LB_BOOTSTRAP_QEMU_ARCHITECTURES: architectures to use foreign bootstrap -# (Default: ) -LB_BOOTSTRAP_QEMU_ARCHITECTURES="" +# Set architectures to use foreign bootstrap +LB_BOOTSTRAP_QEMU_ARCHITECTURE="" -# $LB_BOOTSTRAP_QEMU_EXCLUDE: packages to exclude during foreign bootstrap -# (Default: ) +# Set packages to exclude during foreign bootstrap LB_BOOTSTRAP_QEMU_EXCLUDE="" -# $LB_BOOTSTRAP_QEMU_STATIC: static qemu binary for foreign bootstrap -# (Default: ) +# Set static qemu binary for foreign bootstrap LB_BOOTSTRAP_QEMU_STATIC="" diff --git a/Trixie/config/chroot b/Trixie/config/chroot old mode 100755 new mode 100644 index c26d43a..df37a9a --- a/Trixie/config/chroot +++ b/Trixie/config/chroot @@ -1,45 +1,37 @@ # config/chroot - options for live-build(7), chroot stage -# $LB_CHROOT_FILESYSTEM: set chroot filesystem -# (Default: squashfs) +# Set chroot filesystem LB_CHROOT_FILESYSTEM="squashfs" -# $LB_UNION_FILESYSTEM: set union filesystem -# (Default: aufs) -LB_UNION_FILESYSTEM="aufs" +# Set chroot squashfs compression level +LB_CHROOT_SQUASHFS_COMPRESSION_LEVEL="" -# $LB_EXPOSED_ROOT: expose root as read only -# (Default: false) -LB_EXPOSED_ROOT="false" +# Set chroot squashfs compression type +LB_CHROOT_SQUASHFS_COMPRESSION_TYPE="" -# $LB_HOOKS: set hook commands -# (Default: empty) -LB_HOOKS="" +# Set union filesystem +LB_UNION_FILESYSTEM="overlay" -# $LB_INTERACTIVE: set interactive build -# (Default: false) +# Set interactive build LB_INTERACTIVE="false" -# $LB_KEYRING_PACKAGES: set keyring packages -# (Default: empty) +# Set keyring packages LB_KEYRING_PACKAGES="debian-archive-keyring" -# $LB_LINUX_FLAVOURS: set kernel flavour to use -# (Default: autodetected) -LB_LINUX_FLAVOURS="amd64" +# Set kernel flavour to use (with arch) +LB_LINUX_FLAVOURS_WITH_ARCH="amd64" -# $LB_LINUX_PACKAGES: set kernel packages to use -# (Default: autodetected) +# Set kernel packages to use LB_LINUX_PACKAGES="linux-image" -# $LB_SECURITY: enable security updates -# (Default: true) +# Enable security updates LB_SECURITY="true" -# $LB_VOLATILE: enable volatile updates -# (Default: true) -LB_VOLATILE="true" +# Enable updates updates +LB_UPDATES="true" -# $LB_BACKPORTS: enable backports updates -# (Default: false) -LB_BACKPORTS="false" +# Enable backports updates +LB_BACKPORTS="true" + +# Enable proposed updates +LB_PROPOSED_UPDATES="false" diff --git a/Trixie/config/common b/Trixie/config/common old mode 100755 new mode 100644 index 952a919..ed6874c --- a/Trixie/config/common +++ b/Trixie/config/common @@ -1,141 +1,102 @@ # config/common - common options for live-build(7) -# LB_CONFIG_VERSION: internal version of the configuration file format -LB_CONFIG_VERSION="3.0~a57" +# Version of live-build used to build config (config format version) +LB_CONFIGURATION_VERSION="20250505+deb13u1" -# $LB_APT: set package manager -# (Default: apt) +# Set package manager LB_APT="apt" -# $LB_APT_FTP_PROXY: set apt/aptitude ftp proxy -# (Default: autodetected or empty) -LB_APT_FTP_PROXY="" - -# $LB_APT_HTTP_PROXY: set apt/aptitude http proxy -# (Default: autodetected or empty) +# Set proxy for HTTP connections LB_APT_HTTP_PROXY="" -# $LB_APT_PIPELINE: set apt/aptitude pipeline depth -# (Default: ) +# Set apt/aptitude pipeline depth LB_APT_PIPELINE="" -# $LB_APT_RECOMMENDS: set apt/aptitude recommends -# (Default: true) +# Set apt/aptitude recommends LB_APT_RECOMMENDS="true" -# $LB_APT_SECURE: set apt/aptitude security -# (Default: true) +# Set apt/aptitude security LB_APT_SECURE="true" -# $LB_APT_SOURCE_ARCHIVES: set apt/aptitude source entries in sources.list -# (Default: true) +# Set apt/aptitude source entries in sources.list LB_APT_SOURCE_ARCHIVES="true" -# $LB_BOOTSTRAP: set bootstrap program -# (Default: debootstrap) -LB_BOOTSTRAP="debootstrap" - -# $LB_CACHE: control cache -# (Default: true) +# Control cache LB_CACHE="true" -# $LB_CACHE_INDICES: control if downloaded package indices should be cached -# (Default: false) +# Control if downloaded package indices should be cached LB_CACHE_INDICES="false" -# $LB_CACHE_PACKAGES: control if downloaded packages files should be cached -# (Default: true) +# Control if downloaded packages files should be cached LB_CACHE_PACKAGES="true" -# $LB_CACHE_STAGES: control if completed stages should be cached -# (Default: bootstrap) +# Control if completed stages should be cached LB_CACHE_STAGES="bootstrap" -# $LB_DEBCONF_FRONTEND: set debconf(1) frontend to use -# (Default: noninteractive) +# Set debconf(1) frontend to use LB_DEBCONF_FRONTEND="noninteractive" -# $LB_DEBCONF_NOWARNINGS: set debconf(1) warnings -# (Default: yes) -LB_DEBCONF_NOWARNINGS="yes" - -# $LB_DEBCONF_PRIORITY: set debconf(1) priority to use -# (Default: critical) +# Set debconf(1) priority to use LB_DEBCONF_PRIORITY="critical" -# $LB_INITRAMFS: set initramfs hook -# (Default: live-boot) +# Set initramfs hook LB_INITRAMFS="live-boot" -# $LB_INITRAMFS_COMPRESSION: set initramfs compression -# (Default: ) -LB_INITRAMFS_COMPRESSION="" +# Set initramfs compression +LB_INITRAMFS_COMPRESSION="gzip" -# $LB_INITSYSTEM: set init system -# (Default: systemd) +# Set init system LB_INITSYSTEM="systemd" -# $LB_FDISK: set fdisk program -# (Default: autodetected) -LB_FDISK="fdisk" - -# $LB_LOSETUP: set losetup program -# (Default: autodetected) -LB_LOSETUP="losetup" - -# $LB_MODE: set distribution mode -# (Default: debian) +# Set distribution mode LB_MODE="debian" -# $LB_SYSTEM: set system type -# (Default: live) +# Set system type LB_SYSTEM="live" -# $LB_ROOT_COMMAND: use sudo or equivalent -# (Default: empty) -#LB_ROOT_COMMAND="sudo" +# Set base name of the image +LB_IMAGE_NAME="live-image" -# $LB_USE_FAKEROOT: use fakeroot/fakechroot -# (Default: false) -LB_USE_FAKEROOT="false" +# Set options to use with apt +APT_OPTIONS="--yes -o Acquire::Retries=5" -# $LB_TASKSEL: set tasksel program -# (Default: apt) -LB_TASKSEL="apt" +# Set options to use with aptitude +APTITUDE_OPTIONS="--assume-yes -o Acquire::Retries=5" -# $LB_TEMPLATES: set templates -# (Default: /usr/share/live/build/templates) -LB_TEMPLATES="/usr/share/live/build/templates" +# Set options to use with debootstrap +DEBOOTSTRAP_OPTIONS="" + +# Set script to use with debootstrap +DEBOOTSTRAP_SCRIPT="" + +# Set options to use with gzip +GZIP_OPTIONS="-6 --rsyncable" + +# Enable UTC timestamps +LB_UTC_TIME="false" # live-build options -# $_BREAKPOINTS: enable breakpoints -# (Default: false) +# Enable breakpoints +# If set here, overrides the command line option #_BREAKPOINTS="false" -# $_DEBUG: enable debug -# (Default: false) +# Enable debug +# If set here, overrides the command line option #_DEBUG="false" -# $_COLOR: enable color -# (Default: false) -#_COLOR="false" +# Enable color +# If set here, overrides the command line option +#_COLOR="auto" -# $_FORCE: enable force -# (Default: false) +# Enable force +# If set here, overrides the command line option #_FORCE="false" -# $_QUIET: enable quiet -# (Default: false) -_QUIET="false" +# Enable quiet +# If set here, overrides the command line option +#_QUIET="false" -# $_VERBOSE: enable verbose -# (Default: false) +# Enable verbose +# If set here, overrides the command line option #_VERBOSE="false" - -# Internal stuff (FIXME) -APT_OPTIONS="--yes" -APTITUDE_OPTIONS="--assume-yes" -GZIP_OPTIONS="-6 --rsyncable" -ISOHYBRID_OPTIONS="" -GENISOIMAGE_OPTIONS_EXTRA="" diff --git a/Trixie/config/hooks/live/0010-disable-kexec-tools.hook.chroot b/Trixie/config/hooks/live/0010-disable-kexec-tools.hook.chroot new file mode 120000 index 0000000..996f766 --- /dev/null +++ b/Trixie/config/hooks/live/0010-disable-kexec-tools.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/live/0010-disable-kexec-tools.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/live/0050-disable-sysvinit-tmpfs.hook.chroot b/Trixie/config/hooks/live/0050-disable-sysvinit-tmpfs.hook.chroot new file mode 120000 index 0000000..5ddf090 --- /dev/null +++ b/Trixie/config/hooks/live/0050-disable-sysvinit-tmpfs.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/live/0050-disable-sysvinit-tmpfs.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/live/9003-extrainstalls.hook.chroot b/Trixie/config/hooks/live/9003-extrainstalls.hook.chroot new file mode 100755 index 0000000..56c6297 --- /dev/null +++ b/Trixie/config/hooks/live/9003-extrainstalls.hook.chroot @@ -0,0 +1,86 @@ +#!/usr/bin/env bash +set -e + +echo "[Hook] Adding Lutris, WineHQ, Bottles, Discord, RetroArch, and VS Code repositories and packages" + +# --- Flathub Remote --- +echo "[Hook] Adding Flathub remote" +flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo + +# --- Enable Multiarch --- +echo "[Hook] Enabling Multiarch" +dpkg --add-architecture i386 + +# --- Prepare Keyrings Directory --- +echo "[Hook] Creating keyrings directory" +mkdir -pm755 /etc/apt/keyrings + +# --- Lutris Repository --- +echo "[Hook] Adding Lutris repository and key" +wget -q -O- https://download.opensuse.org/repositories/home:/strycore/Debian_12/Release.key \ + | gpg --dearmor -o /etc/apt/keyrings/lutris.gpg + +cat << 'EOF' > /etc/apt/sources.list.d/lutris.sources +Types: deb +URIs: https://download.opensuse.org/repositories/home:/strycore/Debian_12/ +Suites: ./ +Components: +Signed-By: /etc/apt/keyrings/lutris.gpg +EOF + +# --- WineHQ Repository --- +echo "[Hook] Adding WineHQ repository and key" +wget -q -O- https://dl.winehq.org/wine-builds/winehq.key \ + | gpg --dearmor -o /etc/apt/keyrings/winehq-archive.key + +wget -q -NP /etc/apt/sources.list.d/ \ + https://dl.winehq.org/wine-builds/debian/dists/trixie/winehq-trixie.sources + +# --- Visual Studio Code Repository --- +echo "[Hook] Adding Visual Studio Code repository and key" +wget -qO- https://packages.microsoft.com/keys/microsoft.asc \ + | gpg --dearmor -o /etc/apt/keyrings/microsoft.gpg + +cat << 'EOF' > /etc/apt/sources.list.d/vscode.sources +Types: deb +URIs: https://packages.microsoft.com/repos/code +Suites: stable +Components: main +Signed-By: /etc/apt/keyrings/microsoft.gpg +EOF + +# --- Update and Install Packages --- +echo "[Hook] Updating package lists" +apt update + +echo "[Hook] Installing Steam (via steam-installer), Lutris, WineHQ (stable), and VS Code" +apt install -y --install-recommends \ + steam-installer \ + lutris \ + winehq-stable \ + code + +# --- Bottles Flatpak --- +echo "[Hook] Installing Bottles (Flatpak)" +flatpak install -y flathub com.usebottles.bottles + +# --- RetroArch Flatpak --- +echo "[Hook] Installing RetroArch (Flatpak)" +flatpak install -y flathub org.libretro.RetroArch + +# --- Discord Installation --- +echo "[Hook] Downloading and installing Discord (.deb)" +_tmp_dir=$(mktemp -d) +cd "$_tmp_dir" + +wget -q -O discord.deb "https://discord.com/api/download?platform=linux&format=deb" +apt install -y ./discord.deb + +cd / +rm -rf "$_tmp_dir" + +echo "[Hook] Discord installed successfully" + +# --- Done --- +echo "[Hook] Completed repository setup and installations successfully" + diff --git a/Trixie/config/hooks/live/9004-kernelconfig.hook.chroot b/Trixie/config/hooks/live/9004-kernelconfig.hook.chroot new file mode 100755 index 0000000..349e77a --- /dev/null +++ b/Trixie/config/hooks/live/9004-kernelconfig.hook.chroot @@ -0,0 +1,7 @@ +#!/bin/sh +set -e + + +echo "Enabling sysrq..." +echo 'kernel.sysrq = 1' > /etc/sysctl.d/99-sysrq.conf + diff --git a/Trixie/config/hooks/live/9005-nodebian.chroot b/Trixie/config/hooks/live/9005-nodebian.chroot new file mode 100755 index 0000000..9811c4d --- /dev/null +++ b/Trixie/config/hooks/live/9005-nodebian.chroot @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +set -e + +# Remove the old Debian branding/theme package +apt purge -y desktop-base + +# Generate a default SDDM config if none exists +if [ ! -f /etc/sddm.conf ]; then + sddm --example-config > /etc/sddm.conf +fi + +# Set the Breeze Dark theme as the current SDDM theme +sed -i '/^\[Theme\]/,/^\[/ s/^Current=.*/Current=breeze/' /etc/sddm.conf || true +sed -i '/^\[Theme\]/,/^\[/ s/^#Current=.*/Current=breeze/' /etc/sddm.conf || true + +# In case the [Theme] section doesn't exist, append it +if ! grep -q "^\[Theme\]" /etc/sddm.conf; then + echo -e "\n[Theme]\nCurrent=breeze" >> /etc/sddm.conf +fi + +# Force the dark variant in KDE settings if available +mkdir -p /etc/sddm.conf.d +cat > /etc/sddm.conf.d/theme.conf </dev/null || true +chmod -R 755 /usr/share/pixmaps 2>/dev/null || true + +# --- /etc/ directories --- +find /etc -type d -exec chmod 755 {} \; 2>/dev/null || true + +# --- Sensitive files --- +chmod 600 /etc/shadow /etc/gshadow 2>/dev/null || true +chmod 644 /etc/passwd /etc/group /etc/os-release /etc/hostname 2>/dev/null || true +chmod 640 /etc/sudoers 2>/dev/null || true +chmod 600 /etc/securetty 2>/dev/null || true + +# --- /etc/skel --- +if [ -d /etc/skel ]; then + chown -R root:root /etc/skel + chmod -R 755 /etc/skel +fi + +# --- /etc/xdg/kdeglobals --- +if [ -f /etc/xdg/kdeglobals ]; then + chown root:root /etc/xdg/kdeglobals + chmod 644 /etc/xdg/kdeglobals +fi + +# --- /etc/calamares --- +if [ -d /etc/calamares ]; then + chown -R root:root /etc/calamares + chmod -R 755 /etc/calamares +fi + +# --- /etc/dpkg --- +if [ -d /etc/dpkg ]; then + chown -R root:root /etc/dpkg + chmod -R 755 /etc/dpkg +fi + +# --- /etc/trios --- +if [ -d /etc/trios ]; then + chown -R root:root /etc/trios + chmod -R 755 /etc/trios +fi + +echo "[Hook] Permission adjustments complete." + diff --git a/Trixie/config/hooks/normal/1000-create-mtab-symlink.hook.chroot b/Trixie/config/hooks/normal/1000-create-mtab-symlink.hook.chroot new file mode 120000 index 0000000..55d1085 --- /dev/null +++ b/Trixie/config/hooks/normal/1000-create-mtab-symlink.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/1000-create-mtab-symlink.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/1010-enable-cryptsetup.hook.chroot b/Trixie/config/hooks/normal/1010-enable-cryptsetup.hook.chroot new file mode 120000 index 0000000..2d0ce43 --- /dev/null +++ b/Trixie/config/hooks/normal/1010-enable-cryptsetup.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/1010-enable-cryptsetup.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/1020-create-locales-files.hook.chroot b/Trixie/config/hooks/normal/1020-create-locales-files.hook.chroot new file mode 120000 index 0000000..f08fbf6 --- /dev/null +++ b/Trixie/config/hooks/normal/1020-create-locales-files.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/1020-create-locales-files.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/5000-update-apt-file-cache.hook.chroot b/Trixie/config/hooks/normal/5000-update-apt-file-cache.hook.chroot new file mode 120000 index 0000000..78ae30f --- /dev/null +++ b/Trixie/config/hooks/normal/5000-update-apt-file-cache.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/5000-update-apt-file-cache.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/5010-update-apt-xapian-index.hook.chroot b/Trixie/config/hooks/normal/5010-update-apt-xapian-index.hook.chroot new file mode 120000 index 0000000..29fc799 --- /dev/null +++ b/Trixie/config/hooks/normal/5010-update-apt-xapian-index.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/5010-update-apt-xapian-index.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/5020-update-glx-alternative.hook.chroot b/Trixie/config/hooks/normal/5020-update-glx-alternative.hook.chroot new file mode 120000 index 0000000..397d923 --- /dev/null +++ b/Trixie/config/hooks/normal/5020-update-glx-alternative.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/5020-update-glx-alternative.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/5030-update-plocate-database.hook.chroot b/Trixie/config/hooks/normal/5030-update-plocate-database.hook.chroot new file mode 120000 index 0000000..c8303b6 --- /dev/null +++ b/Trixie/config/hooks/normal/5030-update-plocate-database.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/5030-update-plocate-database.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/5040-update-nvidia-alternative.hook.chroot b/Trixie/config/hooks/normal/5040-update-nvidia-alternative.hook.chroot new file mode 120000 index 0000000..706bd9e --- /dev/null +++ b/Trixie/config/hooks/normal/5040-update-nvidia-alternative.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/5040-update-nvidia-alternative.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/5050-dracut.hook.chroot b/Trixie/config/hooks/normal/5050-dracut.hook.chroot new file mode 120000 index 0000000..e1a120f --- /dev/null +++ b/Trixie/config/hooks/normal/5050-dracut.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/5050-dracut.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/8000-remove-adjtime-configuration.hook.chroot b/Trixie/config/hooks/normal/8000-remove-adjtime-configuration.hook.chroot new file mode 120000 index 0000000..e11d36f --- /dev/null +++ b/Trixie/config/hooks/normal/8000-remove-adjtime-configuration.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/8000-remove-adjtime-configuration.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/8010-remove-backup-files.hook.chroot b/Trixie/config/hooks/normal/8010-remove-backup-files.hook.chroot new file mode 120000 index 0000000..91eac7d --- /dev/null +++ b/Trixie/config/hooks/normal/8010-remove-backup-files.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/8010-remove-backup-files.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/8020-remove-dbus-machine-id.hook.chroot b/Trixie/config/hooks/normal/8020-remove-dbus-machine-id.hook.chroot new file mode 120000 index 0000000..348dd26 --- /dev/null +++ b/Trixie/config/hooks/normal/8020-remove-dbus-machine-id.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/8020-remove-dbus-machine-id.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/8030-truncate-log-files.hook.chroot b/Trixie/config/hooks/normal/8030-truncate-log-files.hook.chroot new file mode 120000 index 0000000..57a3dc1 --- /dev/null +++ b/Trixie/config/hooks/normal/8030-truncate-log-files.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/8030-truncate-log-files.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/8040-remove-mdadm-configuration.hook.chroot b/Trixie/config/hooks/normal/8040-remove-mdadm-configuration.hook.chroot new file mode 120000 index 0000000..0182be1 --- /dev/null +++ b/Trixie/config/hooks/normal/8040-remove-mdadm-configuration.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/8040-remove-mdadm-configuration.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/8050-remove-openssh-server-host-keys.hook.chroot b/Trixie/config/hooks/normal/8050-remove-openssh-server-host-keys.hook.chroot new file mode 120000 index 0000000..818772a --- /dev/null +++ b/Trixie/config/hooks/normal/8050-remove-openssh-server-host-keys.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/8050-remove-openssh-server-host-keys.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/8060-remove-systemd-machine-id.hook.chroot b/Trixie/config/hooks/normal/8060-remove-systemd-machine-id.hook.chroot new file mode 120000 index 0000000..a130d14 --- /dev/null +++ b/Trixie/config/hooks/normal/8060-remove-systemd-machine-id.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/8060-remove-systemd-machine-id.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/8070-remove-temporary-files.hook.chroot b/Trixie/config/hooks/normal/8070-remove-temporary-files.hook.chroot new file mode 120000 index 0000000..558c6f5 --- /dev/null +++ b/Trixie/config/hooks/normal/8070-remove-temporary-files.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/8070-remove-temporary-files.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/8080-reproducible-glibc.hook.chroot b/Trixie/config/hooks/normal/8080-reproducible-glibc.hook.chroot new file mode 120000 index 0000000..ddf3b9f --- /dev/null +++ b/Trixie/config/hooks/normal/8080-reproducible-glibc.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/8080-reproducible-glibc.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/8090-remove-ssl-cert-snakeoil.hook.chroot b/Trixie/config/hooks/normal/8090-remove-ssl-cert-snakeoil.hook.chroot new file mode 120000 index 0000000..ff98622 --- /dev/null +++ b/Trixie/config/hooks/normal/8090-remove-ssl-cert-snakeoil.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/8090-remove-ssl-cert-snakeoil.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/8100-remove-udev-persistent-cd-rules.hook.chroot b/Trixie/config/hooks/normal/8100-remove-udev-persistent-cd-rules.hook.chroot new file mode 120000 index 0000000..e761a72 --- /dev/null +++ b/Trixie/config/hooks/normal/8100-remove-udev-persistent-cd-rules.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/8100-remove-udev-persistent-cd-rules.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/8110-remove-udev-persistent-net-rules.hook.chroot b/Trixie/config/hooks/normal/8110-remove-udev-persistent-net-rules.hook.chroot new file mode 120000 index 0000000..d0ca0a5 --- /dev/null +++ b/Trixie/config/hooks/normal/8110-remove-udev-persistent-net-rules.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/8110-remove-udev-persistent-net-rules.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/9000-remove-gnome-icon-cache.hook.chroot b/Trixie/config/hooks/normal/9000-remove-gnome-icon-cache.hook.chroot new file mode 120000 index 0000000..d48e646 --- /dev/null +++ b/Trixie/config/hooks/normal/9000-remove-gnome-icon-cache.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/9000-remove-gnome-icon-cache.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/9010-remove-python-pyc.hook.chroot b/Trixie/config/hooks/normal/9010-remove-python-pyc.hook.chroot new file mode 120000 index 0000000..9c1f673 --- /dev/null +++ b/Trixie/config/hooks/normal/9010-remove-python-pyc.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/9010-remove-python-pyc.hook.chroot \ No newline at end of file diff --git a/Trixie/config/hooks/normal/9020-remove-man-cache.hook.chroot b/Trixie/config/hooks/normal/9020-remove-man-cache.hook.chroot new file mode 120000 index 0000000..b0eff9b --- /dev/null +++ b/Trixie/config/hooks/normal/9020-remove-man-cache.hook.chroot @@ -0,0 +1 @@ +/usr/share/live/build/hooks/normal/9020-remove-man-cache.hook.chroot \ No newline at end of file diff --git a/Trixie/config/includes.chroot/etc/os-release b/Trixie/config/includes.chroot/etc/os-release deleted file mode 100644 index dc054ee..0000000 --- a/Trixie/config/includes.chroot/etc/os-release +++ /dev/null @@ -1,10 +0,0 @@ -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" diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/debian/branding.desc b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/debian/branding.desc new file mode 100644 index 0000000..5690fc3 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/debian/branding.desc @@ -0,0 +1,39 @@ +--- +componentName: debian +welcomeStyleCalamares: true +welcomeExpandingLogo: true +windowExpanding: normal +windowSize: 800px,580px +windowPlacement: center + +strings: + productName: Debian GNU/Linux + shortProductName: Debian + version: 13 + shortVersion: 13 + versionedName: Debian 13 + shortVersionedName: Debian 13 + bootloaderEntryName: Debian + productUrl: https://debian.org + supportUrl: https://www.debian.org/support + knownIssuesUrl: https://bugs.debian.org + releaseNotesUrl: https://www.debian.org/releases/trixie/releasenotes + donateUrl: https://www.debian.org + +sidebar: widget +navigation: widget + +images: + productLogo: "debian-logo.png" + productIcon: "debian-logo.png" + productWelcome: "welcome.png" + +slideshow: "show.qml" + +style: + SidebarBackground: "#26475b" + SidebarText: "#FFFFFF" + SidebarTextCurrent: "#fbfbfb" + SidebarBackgroundCurrent: "#265370" + +slideshowAPI: 2 diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/debian/debian-logo.png b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/debian/debian-logo.png new file mode 100644 index 0000000..49db799 Binary files /dev/null and b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/debian/debian-logo.png differ diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/debian/show.qml b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/debian/show.qml new file mode 100644 index 0000000..81be54d --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/debian/show.qml @@ -0,0 +1,51 @@ +/* === This file is part of Calamares - === + * + * Copyright 2015, Teo Mrnjavac + * Copyright 2018-2019, Jonathan Carter + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, or (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +import QtQuick 2.0; +import calamares.slideshow 1.0; + +Presentation +{ + id: presentation + + Timer { + interval: 20000 + repeat: true + onTriggered: presentation.goToNextSlide() + } + + Slide { + Image { + id: background1 + source: "slide1.png" + width: 467; height: 280 + fillMode: Image.PreserveAspectFit + anchors.centerIn: parent + } + Text { + anchors.horizontalCenter: background1.horizontalCenter + anchors.top: background1.bottom + text: qsTr("Welcome to Debian GNU/Linux.
"+ + "The rest of the installation is automated and should complete in a few minutes.") + wrapMode: Text.WordWrap + width: 600 + horizontalAlignment: Text.Center + } + } + +} diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/debian/slide1.png b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/debian/slide1.png new file mode 100644 index 0000000..664c34f Binary files /dev/null and b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/debian/slide1.png differ diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/debian/welcome.png b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/debian/welcome.png new file mode 100644 index 0000000..73ad915 Binary files /dev/null and b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/debian/welcome.png differ diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/trios/TriOS.png b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/trios/TriOS.png new file mode 100644 index 0000000..e1658dc Binary files /dev/null and b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/trios/TriOS.png differ diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/trios/branding.desc b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/trios/branding.desc new file mode 100644 index 0000000..03fd8d2 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/trios/branding.desc @@ -0,0 +1,35 @@ +--- +componentName: trios +welcomeStyleCalamares: true +welcomeExpandingLogo: true +windowExpanding: normal +windowSize: 800px,580px +windowPlacement: center + +strings: + productName: TriOS + shortProductName: TriOS + version: 13 Bepis + shortVersion: Bepis + versionedName: 13 Bepis + shortVersionedName: TriOS Bepis + bootloaderEntryName: TriOS + productUrl: https://www.github.com/TriangularDev/TriOS + +sidebar: widget +navigation: widget + +images: + productLogo: "trios-logo.svg" + productIcon: "trios-logo.svg" + productWelcome: "welcome.png" + +slideshow: "show.qml" + +style: + SidebarBackground: "#000000" + SidebarText: "#FFFFFF" + SidebarTextCurrent: "#fbfbfb" + SidebarBackgroundCurrent: "#265370" + +slideshowAPI: 2 diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/trios/debian-logo.png b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/trios/debian-logo.png new file mode 100644 index 0000000..49db799 Binary files /dev/null and b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/trios/debian-logo.png differ diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/trios/show.qml b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/trios/show.qml new file mode 100644 index 0000000..fa0472e --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/trios/show.qml @@ -0,0 +1,51 @@ +/* === This file is part of Calamares - === + * + * Copyright 2015, Teo Mrnjavac + * Copyright 2018-2019, Jonathan Carter + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, or (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +import QtQuick 2.0; +import calamares.slideshow 1.0; + +Presentation +{ + id: presentation + + Timer { + interval: 20000 + repeat: true + onTriggered: presentation.goToNextSlide() + } + + Slide { + Image { + id: background1 + source: "welcome.png" + width: 467; height: 280 + fillMode: Image.PreserveAspectFit + anchors.centerIn: parent + } + Text { + anchors.horizontalCenter: background1.horizontalCenter + anchors.top: background1.bottom + text: qsTr("Welcome to TriOS.
"+ + "The rest of the installation is automated and should complete in a few minutes.") + wrapMode: Text.WordWrap + width: 600 + horizontalAlignment: Text.Center + } + } + +} diff --git a/Trixie/config/includes.chroot/usr/share/pixmaps/debian.svg b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/trios/trios-logo.svg similarity index 100% rename from Trixie/config/includes.chroot/usr/share/pixmaps/debian.svg rename to Trixie/config/includes.chroot_after_packages/etc/calamares/branding/trios/trios-logo.svg diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/trios/welcome.png b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/trios/welcome.png new file mode 100644 index 0000000..b79e0a1 Binary files /dev/null and b/Trixie/config/includes.chroot_after_packages/etc/calamares/branding/trios/welcome.png differ diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/bootloader.conf b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/bootloader.conf new file mode 100644 index 0000000..e2e6dc8 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/bootloader.conf @@ -0,0 +1,54 @@ +# Bootloader configuration. The bootloader is installed to allow +# the system to start (and pick one of the installed operating +# systems to run). +--- +# Define which bootloader you want to use for EFI installations +# Possible options are 'grub', 'sb-shim' and 'systemd-boot'. +efiBootLoader: "grub" + +# systemd-boot configuration files settings, set kernel and initramfs file names +# and amount of time before default selection boots +kernel: "/vmlinuz-linux" +img: "/initramfs-linux.img" +fallback: "/initramfs-linux-fallback.img" +timeout: "10" + +# Optionally set the menu entry name and kernel name to use in systemd-boot. +# If not specified here, these settings will be taken from branding.desc. +# +# bootloaderEntryName: "Generic GNU/Linux" +# kernelLine: ", with Stable-Kernel" +# fallbackKernelLine: ", with Stable-Kernel (fallback initramfs)" + +# GRUB 2 binary names and boot directory +# Some distributions (e.g. Fedora) use grub2-* (resp. /boot/grub2/) names. +# These names are also used when using sb-shim, since that needs some +# GRUB functionality (notably grub-probe) to work. As needed, you may use +# complete paths like `/usr/bin/efibootmgr` for the executables. +# +grubInstall: "grub-install" +grubMkconfig: "grub-mkconfig" +grubCfg: "/boot/grub/grub.cfg" +grubProbe: "grub-probe" +efiBootMgr: "efibootmgr" + +# Optionally set the bootloader ID to use for EFI. This is passed to +# grub-install --bootloader-id. +# +# If not set here, the value from bootloaderEntryName from branding.desc +# is used, with problematic characters (space and slash) replaced. +# +# The ID is also used as a directory name within the EFI environment, +# and the bootloader is copied from /boot/efi/EFI// . When +# setting the option here, keep in mind that the name is sanitized +# (problematic characters, see above, are replaced). +# +# efiBootloaderId: "dirname" + +# Optionally install a copy of the GRUB EFI bootloader as the EFI +# fallback loader (either bootia32.efi or bootx64.efi depending on +# the system). This may be needed on certain systems (Intel DH87MC +# seems to be the only one). If you set this to false, take care +# to add another module to optionally install the fallback on those +# boards that need it. +installEFIFallback: true diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/displaymanager.conf b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/displaymanager.conf new file mode 100644 index 0000000..8f8e9c7 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/displaymanager.conf @@ -0,0 +1,28 @@ +# Configure one or more display managers (e.g. SDDM) +# with a "best effort" approach. +--- +#The DM module attempts to set up all the DMs found in this list, in that precise order. +#It also sets up autologin, if the feature is enabled in globalstorage. +#The displaymanagers list can also be set in globalstorage, and in that case it overrides anything set up here. +displaymanagers: + - slim + - sddm + - lightdm + - gdm + - mdm + - lxdm + - kdm + +#Enable the following settings to force a desktop environment in your displaymanager configuration file: +#defaultDesktopEnvironment: +# executable: "startkde" +# desktopFile: "plasma" + +#If true, try to ensure that the user, group, /var directory etc. for the +#display manager are set up correctly. This is normally done by the distribution +#packages, and best left to them. Therefore, it is disabled by default. +basicSetup: false + +#If true, setup autologin for openSUSE. This only makes sense on openSUSE +#derivatives or other systems where /etc/sysconfig/displaymanager exists. +sysconfigSetup: false diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/finished.conf b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/finished.conf new file mode 100644 index 0000000..188edf0 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/finished.conf @@ -0,0 +1,4 @@ +--- +restartNowEnabled: true +restartNowChecked: true +restartNowCommand: "systemctl -i reboot" diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/fstab.conf b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/fstab.conf new file mode 100644 index 0000000..5edd310 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/fstab.conf @@ -0,0 +1,11 @@ +--- +mountOptions: + default: defaults,noatime + btrfs: defaults,noatime +ssdExtraMountOptions: + ext4: discard + jfs: discard + xfs: discard + swap: discard + btrfs: discard,compress=lzo +crypttabOptions: luks,discard,keyscript=/bin/cat diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/luksopenswaphookcfg.conf b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/luksopenswaphookcfg.conf new file mode 100644 index 0000000..f5610cd --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/luksopenswaphookcfg.conf @@ -0,0 +1,4 @@ +# Writes an openswap configuration with LUKS settings to the given path +--- +# Path of the configuration file to write (in the target system) +configFilePath: /etc/openswap.conf diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/machineid.conf b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/machineid.conf new file mode 100644 index 0000000..fa3527f --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/machineid.conf @@ -0,0 +1,15 @@ +--- +# Whether to create /etc/machine-id for systemd. +systemd: true +# Whether to create /var/lib/dbus/machine-id for D-Bus. +dbus: true +# Whether /var/lib/dbus/machine-id should be a symlink to /etc/machine-id +# (ignored if dbus is false, or if there is no /etc/machine-id to point to). +symlink: true +# Whether to copy entropy from the host +entropy-copy: true +# Which files to write (paths in the target) +entropy-files: + - /var/lib/urandom/random-seed + - /var/lib/systemd/random-seed + diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/mount.conf b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/mount.conf new file mode 100644 index 0000000..ae17dcf --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/mount.conf @@ -0,0 +1,44 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Mount filesystems in the target (generally, before treating the +# target as a usable chroot / "live" system). Filesystems are +# automatically mounted from the partitioning module. Filesystems +# listed here are **extra**. The filesystems listed in *extraMounts* +# are mounted in all target systems. +--- +# Extra filesystems to mount. The key's value is a list of entries; each +# entry has five keys: +# - device The device node to mount +# - fs (optional) The filesystem type to use +# - mountPoint Where to mount the filesystem +# - options (optional) An array of options to pass to mount +# - efi (optional) A boolean that when true is only mounted for UEFI installs +# +# The device is not mounted if the mountPoint is unset or if the fs is +# set to unformatted. +# +extraMounts: + - device: proc + fs: proc + mountPoint: /proc + - device: sys + fs: sysfs + mountPoint: /sys + - device: /dev + mountPoint: /dev + options: [ bind ] + - device: tmpfs + fs: tmpfs + mountPoint: /run + - device: /run/udev + mountPoint: /run/udev + options: [ bind ] + - device: efivarfs + fs: efivarfs + mountPoint: /sys/firmware/efi/efivars + efi: true + - device: /dev/pts + mountPoint: /dev/pts + options: [ bind ] + # /dev/pts is required by apt for storing the logs diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/packages.conf b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/packages.conf new file mode 100644 index 0000000..e18bae0 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/packages.conf @@ -0,0 +1,14 @@ +backend: apt + +operations: + - remove: + - 'live-boot' + - 'live-boot-doc' + - 'live-config' + - 'live-config-doc' + - 'live-config-systemd' + - 'live-config-systemd' + - 'live-tools' + - 'live-task-localisation' + - 'live-task-recommended' + - 'calamares-settings-debian' diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/unpackfs.conf b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/unpackfs.conf new file mode 100644 index 0000000..833a68b --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/unpackfs.conf @@ -0,0 +1,5 @@ +--- +unpack: + - source: "/run/live/medium/live/filesystem.squashfs" + sourcefs: "squashfs" + destination: "" diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/users.conf b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/users.conf new file mode 100644 index 0000000..d172bee --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/users.conf @@ -0,0 +1,26 @@ +--- +userGroup: users +defaultGroups: + - cdrom + - floppy + - sudo + - audio + - dip + - video + - plugdev + - netdev + - lpadmin + - scanner + - bluetooth +autologinGroup: autologin +sudoersGroup: sudo +setRootPassword: false + +passwordRequirements: + nonempty: true + minLength: -1 # Password at least this many characters + maxLength: -1 # Password at most this many characters + libpwquality: + - minlen=0 + - minclass=0 + diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/welcome.conf b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/welcome.conf new file mode 100644 index 0000000..8f8b7a6 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/calamares/modules/welcome.conf @@ -0,0 +1,20 @@ +--- +showSupportUrl: true +showKnownIssuesUrl: true +showReleaseNotesUrl: true + +requirements: + requiredStorage: 32 + requiredRam: 2.0 + internetCheckUrl: https://google.com + check: + - storage + - ram + - power + - root + - internet + required: + - storage + - ram + - root + - internet diff --git a/Trixie/config/includes.chroot_after_packages/etc/calamares/settings.conf b/Trixie/config/includes.chroot_after_packages/etc/calamares/settings.conf new file mode 100644 index 0000000..e988cc0 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/calamares/settings.conf @@ -0,0 +1,74 @@ +# Configuration file for Calamares +# Syntax is YAML 1.2 +--- + +# "local" is LIBDIR/calamares/modules with settings in SHARE/calamares/modules +modules-search: [ local, /usr/lib/calamares/modules ] + +# If this is set to true, Calamares refers to itself as a "setup program" +# rather than an "installer". Defaults to the value of dont-chroot, but +# Calamares will complain if this is not explicitly set. +oem-setup: false + +# Disable cancel button entirely (optional) +disable-cancel: false + +# Disable cancel during execution (optional) +disable-cancel-during-exec: false + +# Automatically quit Calamares after successful installation +quit-at-end: false + +sequence: + # Phase 1 - prepare. + - show: + - welcome + - locale + - keyboard + - partition + - users + - summary + + # Phase 2 - install. + - exec: + - partition + - mount + - unpackfs + - luksbootkeyfile + - dpkg-unsafe-io + - sources-media + - machineid + - fstab + - locale + - keyboard + - localecfg + - users + - displaymanager + - networkcfg + - hwclock + - services-systemd + - bootloader-config + - grubcfg + - bootloader + - packages + - plymouthcfg + - initramfscfg + - initramfs + - dpkg-unsafe-io-undo + - sources-media-unmount + - sources-final + - umount + + # Phase 3 - postinstall. + - show: + - finished + +# Branding configuration +branding: trios + +# Prompt before each install phase +prompt-install: false + +# If true, disables chrooting into the target system +dont-chroot: false + diff --git a/Trixie/config/includes.chroot_after_packages/etc/dpkg/dpkg.config.d/force-confold.conf b/Trixie/config/includes.chroot_after_packages/etc/dpkg/dpkg.config.d/force-confold.conf new file mode 100644 index 0000000..603b1fe --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/dpkg/dpkg.config.d/force-confold.conf @@ -0,0 +1,2 @@ +# When presented with conflicting configurations, always select the one already on the system. +force-confold diff --git a/Trixie/config/includes.chroot_after_packages/etc/hostname b/Trixie/config/includes.chroot_after_packages/etc/hostname new file mode 100644 index 0000000..17d1371 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/hostname @@ -0,0 +1 @@ +trios diff --git a/Trixie/config/includes.chroot_after_packages/etc/kdg/kdeglobals b/Trixie/config/includes.chroot_after_packages/etc/kdg/kdeglobals new file mode 100755 index 0000000..b322fc2 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/kdg/kdeglobals @@ -0,0 +1,167 @@ +[ColorEffects:Disabled] +ChangeSelectionColor= +Color=56,56,56 +ColorAmount=0 +ColorEffect=0 +ContrastAmount=0.65 +ContrastEffect=1 +Enable= +IntensityAmount=0.1 +IntensityEffect=2 + +[ColorEffects:Inactive] +ChangeSelectionColor=true +Color=112,111,110 +ColorAmount=0.025 +ColorEffect=2 +ContrastAmount=0.1 +ContrastEffect=2 +Enable=false +IntensityAmount=0 +IntensityEffect=0 + +[Colors:Button] +BackgroundAlternate=30,87,116 +BackgroundNormal=41,44,48 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:Complementary] +BackgroundAlternate=30,87,116 +BackgroundNormal=32,35,38 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:Header] +BackgroundAlternate=32,35,38 +BackgroundNormal=41,44,48 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:Header][Inactive] +BackgroundAlternate=41,44,48 +BackgroundNormal=32,35,38 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:Selection] +BackgroundAlternate=30,87,116 +BackgroundNormal=61,174,233 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=252,252,252 +ForegroundInactive=161,169,177 +ForegroundLink=253,188,75 +ForegroundNegative=176,55,69 +ForegroundNeutral=198,92,0 +ForegroundNormal=252,252,252 +ForegroundPositive=23,104,57 +ForegroundVisited=155,89,182 + +[Colors:Tooltip] +BackgroundAlternate=32,35,38 +BackgroundNormal=41,44,48 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:View] +BackgroundAlternate=29,31,34 +BackgroundNormal=20,22,24 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:Window] +BackgroundAlternate=41,44,48 +BackgroundNormal=32,35,38 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[General] +ColorSchemeHash=7b61368c55eaab4075e7b1ae9501f3675b0f830f + +[KDE] +LookAndFeelPackage=org.kde.breezedark.desktop + +[KFileDialog Settings] +Allow Expansion=false +Automatically select filename extension=true +Breadcrumb Navigation=true +Decoration position=2 +LocationCombo Completionmode=5 +PathCombo Completionmode=5 +Show Bookmarks=false +Show Full Path=false +Show Inline Previews=true +Show Preview=false +Show Speedbar=true +Show hidden files=false +Sort by=Name +Sort directories first=true +Sort hidden files last=false +Sort reversed=false +Speedbar Width=140 +View Style=DetailTree + +[WM] +activeBackground=39,44,49 +activeBlend=252,252,252 +activeForeground=252,252,252 +inactiveBackground=32,36,40 +inactiveBlend=161,169,177 +inactiveForeground=161,169,177 diff --git a/Trixie/config/includes.chroot_after_packages/etc/kdg/kscreenlockerrc b/Trixie/config/includes.chroot_after_packages/etc/kdg/kscreenlockerrc new file mode 100755 index 0000000..38feb8f --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/kdg/kscreenlockerrc @@ -0,0 +1,3 @@ +[Daemon] +Autolock=false +LockOnSuspend=false diff --git a/Trixie/config/includes.chroot_after_packages/etc/kdg/ksplashrc b/Trixie/config/includes.chroot_after_packages/etc/kdg/ksplashrc new file mode 100644 index 0000000..c252676 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/kdg/ksplashrc @@ -0,0 +1,3 @@ +[KSplash] +Engine=none +Theme=None diff --git a/Trixie/config/includes.chroot_after_packages/etc/kdg/kwinrc b/Trixie/config/includes.chroot_after_packages/etc/kdg/kwinrc new file mode 100755 index 0000000..3af58ec --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/kdg/kwinrc @@ -0,0 +1,13 @@ +[Desktops] +Id_1=1e2b85ae-f764-4177-a6f8-89bdb4f36229 +Number=1 +Rows=1 + +[Tiling] +padding=4 + +[Tiling][4c85f5bb-4dcb-5bec-8433-5c0e6860d679] +tiles={"layoutDirection":"horizontal","tiles":[{"width":0.25},{"width":0.5},{"width":0.25}]} + +[Xwayland] +Scale=1 diff --git a/Trixie/config/includes.chroot_after_packages/etc/kdg/plasma-org.kde.plasma.desktop-appletsrc b/Trixie/config/includes.chroot_after_packages/etc/kdg/plasma-org.kde.plasma.desktop-appletsrc new file mode 100755 index 0000000..905ad6e --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/kdg/plasma-org.kde.plasma.desktop-appletsrc @@ -0,0 +1,155 @@ +[ActionPlugins][0] +MiddleButton;NoModifier=org.kde.paste +RightButton;NoModifier=org.kde.contextmenu + +[ActionPlugins][1] +RightButton;NoModifier=org.kde.contextmenu + +[Containments][71] +activityId= +formfactor=2 +immutability=1 +lastScreen=0 +location=4 +plugin=org.kde.panel +wallpaperplugin=org.kde.image + +[Containments][71][Applets][72] +immutability=1 +plugin=org.kde.plasma.kickoff + +[Containments][71][Applets][72][Configuration] +PreloadWeight=100 +popupHeight=508 +popupWidth=647 + +[Containments][71][Applets][72][Configuration][ConfigDialog] +DialogHeight=540 +DialogWidth=720 + +[Containments][71][Applets][72][Configuration][General] +favoritesPortedToKAstats=true +icon=/usr/share/pixmaps/trios-logo.svg +systemFavorites=suspend\\,hibernate\\,reboot\\,shutdown + +[Containments][71][Applets][73] +immutability=1 +plugin=org.kde.plasma.pager + +[Containments][71][Applets][74] +immutability=1 +plugin=org.kde.plasma.icontasks + +[Containments][71][Applets][75] +immutability=1 +plugin=org.kde.plasma.marginsseparator + +[Containments][71][Applets][76] +immutability=1 +plugin=org.kde.plasma.systemtray + +[Containments][71][Applets][76][Configuration] +SystrayContainmentId=77 + +[Containments][71][Applets][88] +immutability=1 +plugin=org.kde.plasma.digitalclock + +[Containments][71][Applets][88][Configuration] +popupHeight=400 +popupWidth=560 + +[Containments][71][Applets][89] +immutability=1 +plugin=org.kde.plasma.showdesktop + +[Containments][71][General] +AppletOrder=72;73;74;75;76;88;89 + +[Containments][77] +activityId= +formfactor=2 +immutability=1 +lastScreen=0 +location=4 +plugin=org.kde.plasma.private.systemtray +popupHeight=432 +popupWidth=432 +wallpaperplugin=org.kde.image + +[Containments][77][Applets][78] +immutability=1 +plugin=org.kde.kdeconnect + +[Containments][77][Applets][79] +immutability=1 +plugin=org.kde.kscreen + +[Containments][77][Applets][80] +immutability=1 +plugin=org.kde.plasma.cameraindicator + +[Containments][77][Applets][81] +immutability=1 +plugin=org.kde.plasma.clipboard + +[Containments][77][Applets][82] +immutability=1 +plugin=org.kde.plasma.devicenotifier + +[Containments][77][Applets][83] +immutability=1 +plugin=org.kde.plasma.keyboardlayout + +[Containments][77][Applets][84] +immutability=1 +plugin=org.kde.plasma.manage-inputmethod + +[Containments][77][Applets][85] +immutability=1 +plugin=org.kde.plasma.notifications + +[Containments][77][Applets][86] +immutability=1 +plugin=org.kde.plasma.vault + +[Containments][77][Applets][87] +immutability=1 +plugin=org.kde.plasma.volume + +[Containments][77][Applets][87][Configuration][General] +migrated=true + +[Containments][77][Applets][90] +immutability=1 +plugin=org.kde.plasma.brightness + +[Containments][77][Applets][91] +immutability=1 +plugin=org.kde.plasma.battery + +[Containments][77][Applets][92] +immutability=1 +plugin=org.kde.plasma.networkmanagement + +[Containments][77][General] +extraItems=org.kde.kdeconnect,org.kde.kscreen,org.kde.kupapplet,org.kde.plasma.battery,org.kde.plasma.bluetooth,org.kde.plasma.brightness,org.kde.plasma.cameraindicator,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications,org.kde.plasma.vault,org.kde.plasma.volume +knownItems=org.kde.kdeconnect,org.kde.kscreen,org.kde.kupapplet,org.kde.plasma.battery,org.kde.plasma.bluetooth,org.kde.plasma.brightness,org.kde.plasma.cameraindicator,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications,org.kde.plasma.vault,org.kde.plasma.volume + +[Containments][90] +ItemGeometries-1280x800= +ItemGeometriesHorizontal= +activityId=b5266d1d-23f1-4e19-905d-b138e2fdbc60 +formfactor=0 +immutability=1 +lastScreen=0 +location=0 +plugin=org.kde.plasma.folder +wallpaperplugin=org.kde.image + +[Containments][90][General] +positions={"1280x800":[]} + +[ScreenMapping] +itemsOnDisabledScreens= +screenMapping=desktop:/Install-GPU-Drivers.sh,0,6322c607-86eb-43cf-9f15-e740d6839264,desktop:/calamares-install-debian.desktop,0,6322c607-86eb-43cf-9f15-e740d6839264,desktop:/Install-GPU-Drivers.sh,0,7c0b31d5-55b4-4692-b300-16e43cbc3192,desktop:/calamares-install-debian.desktop,0,7c0b31d5-55b4-4692-b300-16e43cbc3192,desktop:/Install-GPU-Drivers.sh,0,b5266d1d-23f1-4e19-905d-b138e2fdbc60,desktop:/calamares-install-debian.desktop,0,b5266d1d-23f1-4e19-905d-b138e2fdbc60 diff --git a/Trixie/config/includes.chroot_after_packages/etc/kdg/plasmarc b/Trixie/config/includes.chroot_after_packages/etc/kdg/plasmarc new file mode 100644 index 0000000..0c4e886 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/kdg/plasmarc @@ -0,0 +1,3 @@ +[Theme] +name=breeze-dark + diff --git a/Trixie/config/includes.chroot_after_packages/etc/kdg/plasmashellrc b/Trixie/config/includes.chroot_after_packages/etc/kdg/plasmashellrc new file mode 100755 index 0000000..6b719f6 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/kdg/plasmashellrc @@ -0,0 +1,17 @@ +[PlasmaViews][Panel 25] +floating=1 + +[PlasmaViews][Panel 48] +floating=1 + +[PlasmaViews][Panel 48][Defaults] +thickness=44 + +[PlasmaViews][Panel 71] +floating=1 + +[PlasmaViews][Panel 71][Defaults] +thickness=44 + +[Updates] +performed=/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/containmentactions_middlebutton.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/digitalclock_migrate_font_settings.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/digitalclock_migrate_showseconds_setting.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/digitalclock_rename_timezonedisplay_key.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/folderview_fix_recursive_screenmapping.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/keyboardlayout_migrateiconsetting.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/keyboardlayout_remove_shortcut.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/klipper_clear_config.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/maintain_existing_desktop_icon_sizes.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/mediaframe_migrate_useBackground_setting.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/migrate_font_weights.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/move_desktop_layout_config.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/no_middle_click_paste_on_panels.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/systemloadviewer_systemmonitor.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/unlock_widgets.js diff --git a/Trixie/config/includes.chroot_after_packages/etc/os-release b/Trixie/config/includes.chroot_after_packages/etc/os-release new file mode 100644 index 0000000..d0b67cb --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/os-release @@ -0,0 +1,23 @@ +PRETTY_NAME="TriOS 13 (bepis)" +NAME="TriOS" +VERSION_ID="13" +VERSION="13 (bepis)" +VERSION_CODENAME=trixie +DEBIAN_VERSION_FULL=13.1 + +ID=trios +ID_LIKE=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" +DOCUMENTATION_URL="https://github.com/TriangularDev/TriOS/wiki" +LOGO="/usr/share/pixmaps/trios-logo" + +VARIANT="Bepis" +VARIANT_ID=bepis +TRIOS_EDITION="Bepis" +TRIOS_FLAVOR="Desktop" +TRIOS_MAINTAINER="TriangularDev" +TRIOS_DESCRIPTION="Most distributions either prioritize developers or everyday users, but what if you tried to optimize for both?" +TRIOS_GITHUB="https://github.com/TriangularDev/TriOS" diff --git a/Trixie/config/includes.chroot_after_packages/etc/skel/.config/fastfetch/config.jsonc b/Trixie/config/includes.chroot_after_packages/etc/skel/.config/fastfetch/config.jsonc new file mode 100644 index 0000000..1a5ce33 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/skel/.config/fastfetch/config.jsonc @@ -0,0 +1,37 @@ +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "modules": [ + "title", + "separator", + "os", + "host", + "kernel", + "uptime", + "packages", + "shell", + "display", + "de", + "wm", + "wmtheme", + "theme", + "icons", + "font", + "cursor", + "terminal", + "terminalfont", + "cpu", + "gpu", + "memory", + "swap", + "disk", + "localip", + "battery", + "poweradapter", + "locale", + "break", + "colors" + ], + "logo": { + "type": "none" + } +} diff --git a/Trixie/config/includes.chroot_after_packages/etc/skel/.config/kdeglobals b/Trixie/config/includes.chroot_after_packages/etc/skel/.config/kdeglobals new file mode 100755 index 0000000..b322fc2 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/skel/.config/kdeglobals @@ -0,0 +1,167 @@ +[ColorEffects:Disabled] +ChangeSelectionColor= +Color=56,56,56 +ColorAmount=0 +ColorEffect=0 +ContrastAmount=0.65 +ContrastEffect=1 +Enable= +IntensityAmount=0.1 +IntensityEffect=2 + +[ColorEffects:Inactive] +ChangeSelectionColor=true +Color=112,111,110 +ColorAmount=0.025 +ColorEffect=2 +ContrastAmount=0.1 +ContrastEffect=2 +Enable=false +IntensityAmount=0 +IntensityEffect=0 + +[Colors:Button] +BackgroundAlternate=30,87,116 +BackgroundNormal=41,44,48 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:Complementary] +BackgroundAlternate=30,87,116 +BackgroundNormal=32,35,38 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:Header] +BackgroundAlternate=32,35,38 +BackgroundNormal=41,44,48 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:Header][Inactive] +BackgroundAlternate=41,44,48 +BackgroundNormal=32,35,38 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:Selection] +BackgroundAlternate=30,87,116 +BackgroundNormal=61,174,233 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=252,252,252 +ForegroundInactive=161,169,177 +ForegroundLink=253,188,75 +ForegroundNegative=176,55,69 +ForegroundNeutral=198,92,0 +ForegroundNormal=252,252,252 +ForegroundPositive=23,104,57 +ForegroundVisited=155,89,182 + +[Colors:Tooltip] +BackgroundAlternate=32,35,38 +BackgroundNormal=41,44,48 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:View] +BackgroundAlternate=29,31,34 +BackgroundNormal=20,22,24 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:Window] +BackgroundAlternate=41,44,48 +BackgroundNormal=32,35,38 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[General] +ColorSchemeHash=7b61368c55eaab4075e7b1ae9501f3675b0f830f + +[KDE] +LookAndFeelPackage=org.kde.breezedark.desktop + +[KFileDialog Settings] +Allow Expansion=false +Automatically select filename extension=true +Breadcrumb Navigation=true +Decoration position=2 +LocationCombo Completionmode=5 +PathCombo Completionmode=5 +Show Bookmarks=false +Show Full Path=false +Show Inline Previews=true +Show Preview=false +Show Speedbar=true +Show hidden files=false +Sort by=Name +Sort directories first=true +Sort hidden files last=false +Sort reversed=false +Speedbar Width=140 +View Style=DetailTree + +[WM] +activeBackground=39,44,49 +activeBlend=252,252,252 +activeForeground=252,252,252 +inactiveBackground=32,36,40 +inactiveBlend=161,169,177 +inactiveForeground=161,169,177 diff --git a/Trixie/config/includes.chroot_after_packages/etc/skel/.config/kscreenlockerrc b/Trixie/config/includes.chroot_after_packages/etc/skel/.config/kscreenlockerrc new file mode 100755 index 0000000..38feb8f --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/skel/.config/kscreenlockerrc @@ -0,0 +1,3 @@ +[Daemon] +Autolock=false +LockOnSuspend=false diff --git a/Trixie/config/includes.chroot_after_packages/etc/skel/.config/ksplashrc b/Trixie/config/includes.chroot_after_packages/etc/skel/.config/ksplashrc new file mode 100644 index 0000000..c252676 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/skel/.config/ksplashrc @@ -0,0 +1,3 @@ +[KSplash] +Engine=none +Theme=None diff --git a/Trixie/config/includes.chroot_after_packages/etc/skel/.config/kwinrc b/Trixie/config/includes.chroot_after_packages/etc/skel/.config/kwinrc new file mode 100755 index 0000000..3af58ec --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/skel/.config/kwinrc @@ -0,0 +1,13 @@ +[Desktops] +Id_1=1e2b85ae-f764-4177-a6f8-89bdb4f36229 +Number=1 +Rows=1 + +[Tiling] +padding=4 + +[Tiling][4c85f5bb-4dcb-5bec-8433-5c0e6860d679] +tiles={"layoutDirection":"horizontal","tiles":[{"width":0.25},{"width":0.5},{"width":0.25}]} + +[Xwayland] +Scale=1 diff --git a/Trixie/config/includes.chroot_after_packages/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc b/Trixie/config/includes.chroot_after_packages/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc new file mode 100755 index 0000000..905ad6e --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc @@ -0,0 +1,155 @@ +[ActionPlugins][0] +MiddleButton;NoModifier=org.kde.paste +RightButton;NoModifier=org.kde.contextmenu + +[ActionPlugins][1] +RightButton;NoModifier=org.kde.contextmenu + +[Containments][71] +activityId= +formfactor=2 +immutability=1 +lastScreen=0 +location=4 +plugin=org.kde.panel +wallpaperplugin=org.kde.image + +[Containments][71][Applets][72] +immutability=1 +plugin=org.kde.plasma.kickoff + +[Containments][71][Applets][72][Configuration] +PreloadWeight=100 +popupHeight=508 +popupWidth=647 + +[Containments][71][Applets][72][Configuration][ConfigDialog] +DialogHeight=540 +DialogWidth=720 + +[Containments][71][Applets][72][Configuration][General] +favoritesPortedToKAstats=true +icon=/usr/share/pixmaps/trios-logo.svg +systemFavorites=suspend\\,hibernate\\,reboot\\,shutdown + +[Containments][71][Applets][73] +immutability=1 +plugin=org.kde.plasma.pager + +[Containments][71][Applets][74] +immutability=1 +plugin=org.kde.plasma.icontasks + +[Containments][71][Applets][75] +immutability=1 +plugin=org.kde.plasma.marginsseparator + +[Containments][71][Applets][76] +immutability=1 +plugin=org.kde.plasma.systemtray + +[Containments][71][Applets][76][Configuration] +SystrayContainmentId=77 + +[Containments][71][Applets][88] +immutability=1 +plugin=org.kde.plasma.digitalclock + +[Containments][71][Applets][88][Configuration] +popupHeight=400 +popupWidth=560 + +[Containments][71][Applets][89] +immutability=1 +plugin=org.kde.plasma.showdesktop + +[Containments][71][General] +AppletOrder=72;73;74;75;76;88;89 + +[Containments][77] +activityId= +formfactor=2 +immutability=1 +lastScreen=0 +location=4 +plugin=org.kde.plasma.private.systemtray +popupHeight=432 +popupWidth=432 +wallpaperplugin=org.kde.image + +[Containments][77][Applets][78] +immutability=1 +plugin=org.kde.kdeconnect + +[Containments][77][Applets][79] +immutability=1 +plugin=org.kde.kscreen + +[Containments][77][Applets][80] +immutability=1 +plugin=org.kde.plasma.cameraindicator + +[Containments][77][Applets][81] +immutability=1 +plugin=org.kde.plasma.clipboard + +[Containments][77][Applets][82] +immutability=1 +plugin=org.kde.plasma.devicenotifier + +[Containments][77][Applets][83] +immutability=1 +plugin=org.kde.plasma.keyboardlayout + +[Containments][77][Applets][84] +immutability=1 +plugin=org.kde.plasma.manage-inputmethod + +[Containments][77][Applets][85] +immutability=1 +plugin=org.kde.plasma.notifications + +[Containments][77][Applets][86] +immutability=1 +plugin=org.kde.plasma.vault + +[Containments][77][Applets][87] +immutability=1 +plugin=org.kde.plasma.volume + +[Containments][77][Applets][87][Configuration][General] +migrated=true + +[Containments][77][Applets][90] +immutability=1 +plugin=org.kde.plasma.brightness + +[Containments][77][Applets][91] +immutability=1 +plugin=org.kde.plasma.battery + +[Containments][77][Applets][92] +immutability=1 +plugin=org.kde.plasma.networkmanagement + +[Containments][77][General] +extraItems=org.kde.kdeconnect,org.kde.kscreen,org.kde.kupapplet,org.kde.plasma.battery,org.kde.plasma.bluetooth,org.kde.plasma.brightness,org.kde.plasma.cameraindicator,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications,org.kde.plasma.vault,org.kde.plasma.volume +knownItems=org.kde.kdeconnect,org.kde.kscreen,org.kde.kupapplet,org.kde.plasma.battery,org.kde.plasma.bluetooth,org.kde.plasma.brightness,org.kde.plasma.cameraindicator,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications,org.kde.plasma.vault,org.kde.plasma.volume + +[Containments][90] +ItemGeometries-1280x800= +ItemGeometriesHorizontal= +activityId=b5266d1d-23f1-4e19-905d-b138e2fdbc60 +formfactor=0 +immutability=1 +lastScreen=0 +location=0 +plugin=org.kde.plasma.folder +wallpaperplugin=org.kde.image + +[Containments][90][General] +positions={"1280x800":[]} + +[ScreenMapping] +itemsOnDisabledScreens= +screenMapping=desktop:/Install-GPU-Drivers.sh,0,6322c607-86eb-43cf-9f15-e740d6839264,desktop:/calamares-install-debian.desktop,0,6322c607-86eb-43cf-9f15-e740d6839264,desktop:/Install-GPU-Drivers.sh,0,7c0b31d5-55b4-4692-b300-16e43cbc3192,desktop:/calamares-install-debian.desktop,0,7c0b31d5-55b4-4692-b300-16e43cbc3192,desktop:/Install-GPU-Drivers.sh,0,b5266d1d-23f1-4e19-905d-b138e2fdbc60,desktop:/calamares-install-debian.desktop,0,b5266d1d-23f1-4e19-905d-b138e2fdbc60 diff --git a/Trixie/config/includes.chroot_after_packages/etc/skel/.config/plasmashellrc b/Trixie/config/includes.chroot_after_packages/etc/skel/.config/plasmashellrc new file mode 100755 index 0000000..6b719f6 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/skel/.config/plasmashellrc @@ -0,0 +1,17 @@ +[PlasmaViews][Panel 25] +floating=1 + +[PlasmaViews][Panel 48] +floating=1 + +[PlasmaViews][Panel 48][Defaults] +thickness=44 + +[PlasmaViews][Panel 71] +floating=1 + +[PlasmaViews][Panel 71][Defaults] +thickness=44 + +[Updates] +performed=/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/containmentactions_middlebutton.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/digitalclock_migrate_font_settings.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/digitalclock_migrate_showseconds_setting.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/digitalclock_rename_timezonedisplay_key.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/folderview_fix_recursive_screenmapping.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/keyboardlayout_migrateiconsetting.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/keyboardlayout_remove_shortcut.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/klipper_clear_config.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/maintain_existing_desktop_icon_sizes.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/mediaframe_migrate_useBackground_setting.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/migrate_font_weights.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/move_desktop_layout_config.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/no_middle_click_paste_on_panels.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/systemloadviewer_systemmonitor.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/unlock_widgets.js diff --git a/Trixie/config/includes.chroot_after_packages/etc/skel/.face b/Trixie/config/includes.chroot_after_packages/etc/skel/.face new file mode 100644 index 0000000..667af2e --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/skel/.face @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Trixie/config/includes.chroot_after_packages/etc/skel/.face.icon b/Trixie/config/includes.chroot_after_packages/etc/skel/.face.icon new file mode 120000 index 0000000..1310f56 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/skel/.face.icon @@ -0,0 +1 @@ +.face \ No newline at end of file diff --git a/Trixie/config/includes.chroot_after_packages/etc/skel/Desktop/gpuinst.desktop b/Trixie/config/includes.chroot_after_packages/etc/skel/Desktop/gpuinst.desktop new file mode 100644 index 0000000..cf1a95d --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/skel/Desktop/gpuinst.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Name=TriOS Driver Installer (Konsole) +Comment=Install additional drivers (Requires admin) +Exec=pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY konsole --noclose -e bash -c "/etc/trios/Install-GPU-Drivers.sh; echo; read -p 'Press Enter to close...' " +Icon=system-software-install +Terminal=false +Categories=Utility; +StartupNotify=true + diff --git a/Trixie/config/includes.chroot_after_packages/etc/trios/Install-GPU-Drivers.sh b/Trixie/config/includes.chroot_after_packages/etc/trios/Install-GPU-Drivers.sh new file mode 100755 index 0000000..183ba3f --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/trios/Install-GPU-Drivers.sh @@ -0,0 +1,201 @@ +#!/bin/bash +# ───────────────────────────────────────────────────────────── +# TriOS GPU Driver Installer (v6 - Hybrid Smart Edition) +# Safely installs and maintains up-to-date GPU drivers +# Supports all hybrid GPU setups (Intel+NVIDIA, AMD+NVIDIA, AMD+Intel) +# Designed for Debian 13 "Trixie" (Stable) +# Only GPU-related packages are allowed from Debian Testing +# ───────────────────────────────────────────────────────────── + +set -e + +echo "=== TriOS GPU Driver Installer v6 ===" +echo +echo "Supports NVIDIA, AMD, Intel, and all hybrid combinations." +echo "Stable base preserved; GPU drivers sourced safely from Testing." +echo +read -rp "Press any key to continue, or Ctrl+C to cancel... " -n1 -s +echo -e "\n" + +# ─── Root Check ────────────────────────────────────────────── +if [ "$EUID" -ne 0 ]; then + echo "Please run as root (or with sudo)." + exit 1 +fi + +# ─── Helper Functions ──────────────────────────────────────── +add_repo() { + local _file="$1" + local _marker="$2" + local _content="$3" + if ! grep -Rq "$_marker" /etc/apt/sources.list*; then + echo "[*] Adding repository: $_marker" + echo "$_content" > "/etc/apt/sources.list.d/${_file}.list" + _needs_update=true + fi +} + +prompt_yn() { + local _prompt="$1" + read -rp "$_prompt [y/N]: " _ans + [[ "$_ans" =~ ^[Yy]$ ]] +} + +install_pkg() { + local _pkg="$1" + dpkg -s "$_pkg" &>/dev/null || apt-get install -y "$_pkg" +} + +# ─── Enable 32-bit Multiarch ───────────────────────────────── +if ! dpkg --print-foreign-architectures | grep -q i386; then + echo "[*] Enabling 32-bit multiarch support..." + dpkg --add-architecture i386 + _needs_update=true +fi + +# ─── Repositories ──────────────────────────────────────────── +echo "[*] Ensuring Debian repositories are configured..." +add_repo "trixie" "deb.debian.org/debian trixie" \ +"deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware +deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware +deb http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware" + +add_repo "backports" "trixie-backports" \ +"deb http://deb.debian.org/debian trixie-backports main contrib non-free non-free-firmware" + +add_repo "fasttrack" "fasttrack.debian.net" \ +"deb http://fasttrack.debian.net/debian-fasttrack trixie-fasttrack main contrib non-free non-free-firmware +deb http://fasttrack.debian.net/debian trixie-backports-staging main contrib non-free non-free-firmware" + +add_repo "testing" "deb.debian.org/debian testing" \ +"deb http://deb.debian.org/debian testing main contrib non-free non-free-firmware" + +# ─── Strict APT Pinning ────────────────────────────────────── +cat >/etc/apt/preferences.d/gpu-drivers.pref <<'EOF' +# Default: Debian Stable (Trixie) +Package: * +Pin: release a=trixie +Pin-Priority: 990 + +# Testing disabled by default +Package: * +Pin: release a=testing +Pin-Priority: 100 + +# GPU packages allowed from Testing +Package: nvidia-driver nvidia-settings nvidia-kernel-dkms libnvidia-gl* \ + libnvidia-egl* libnvidia-compute* libnvidia-encode* libnvidia-decode* \ + mesa* libgl1-mesa* libegl* libgbm* vulkan* firmware-amd* firmware-linux* \ + intel-media* xserver-xorg-video-intel libvulkan* libdrm* clinfo \ + amd64-microcode intel-microcode +Pin: release a=testing +Pin-Priority: 900 +EOF + +# ─── Optional Mesa Git Repo ────────────────────────────────── +if prompt_yn "Enable experimental Mesa Git repository for AMD/Intel?"; then + add_repo "mesa-git" "home:/nicoo:/mesa" \ +"deb http://download.opensuse.org/repositories/home:/nicoo:/mesa:/debian/Debian_Trixie/ ./" + curl -fsSL https://download.opensuse.org/repositories/home:/nicoo:/mesa:/debian/Debian_Trixie/Release.key \ + | gpg --dearmor -o /etc/apt/trusted.gpg.d/mesa-git.gpg +fi + +# ─── Update Once ───────────────────────────────────────────── +if [ "$_needs_update" = true ]; then + echo "[*] Updating package lists..." + apt-get update -y +fi + +# ─── Base Utilities ────────────────────────────────────────── +install_pkg pciutils +install_pkg curl +install_pkg lsb-release +install_pkg nvidia-detect + +# ─── GPU Detection ─────────────────────────────────────────── +GPU_INFO=$(lspci | awk '/VGA|3D|Display/ {print tolower($0)}') +HAS_NVIDIA=false +HAS_AMD=false +HAS_INTEL=false + +echo "Detected GPU(s):" +echo "$GPU_INFO" +echo + +grep -q nvidia <<< "$GPU_INFO" && HAS_NVIDIA=true +grep -q amd <<< "$GPU_INFO" && HAS_AMD=true +grep -q intel <<< "$GPU_INFO" && HAS_INTEL=true + +# ─── Install Functions ─────────────────────────────────────── +install_nvidia() { + echo "[*] Installing NVIDIA drivers..." + local _driver + _driver=$(nvidia-detect | awk '/recommended/ {print $3}' | head -n1) + _driver=${_driver:-nvidia-driver} + + for _target in fasttrack trixie-backports testing; do + if apt-get install -y -t "$_target" "$_driver" nvidia-settings nvidia-prime; then + break + fi + done + + apt-get install -y libnvidia-gl:i386 libnvidia-egl-gbm1:i386 || true + # ───────────────────────────────────────────────────── + # Steam / Proton 32-bit support (GL + Vulkan for games) + # These are harmless if already satisfied or unavailable + apt-get install -y nvidia-driver-libs:i386 nvidia-vulkan-icd:i386 || true +} + + +install_amd() { + echo "[*] Installing AMD drivers..." + apt-get install -y -t testing mesa-vulkan-drivers mesa-opencl-icd clinfo \ + vulkan-validationlayers mesa-vulkan-drivers:i386 mesa-opencl-icd:i386 \ + firmware-amd-graphics +} + +install_intel() { + echo "[*] Installing Intel drivers..." + apt-get install -y -t testing xserver-xorg-video-intel \ + intel-media-va-driver-non-free intel-gpu-tools \ + mesa-vulkan-drivers mesa-vulkan-drivers:i386 +} + +configure_hybrid() { + echo "[*] Configuring hybrid GPU environment..." + + # Always install hybrid control tools + apt-get install -y nvidia-prime switcheroo-control bbswitch-dkms + + # Detect combo type + if $HAS_NVIDIA && $HAS_INTEL; then + echo "[*] Detected NVIDIA + Intel hybrid (Optimus)" + echo "[i] You can switch using: sudo prime-select nvidia|intel" + elif $HAS_NVIDIA && $HAS_AMD; then + echo "[*] Detected NVIDIA + AMD hybrid" + echo "[i] Use environment variable DRI_PRIME=1 for AMD rendering." + elif $HAS_AMD && $HAS_INTEL; then + echo "[*] Detected AMD + Intel hybrid" + echo "[i] Use DRI_PRIME=1 or vendor-specific profiles for render offloading." + fi +} + +# ─── Install in Safe Order ─────────────────────────────────── +# Mesa first, proprietary last +if $HAS_INTEL; then install_intel; fi +if $HAS_AMD; then install_amd; fi +if $HAS_NVIDIA; then install_nvidia; fi + +# ─── Hybrid Handling ───────────────────────────────────────── +if ($HAS_NVIDIA && $HAS_INTEL) || ($HAS_NVIDIA && $HAS_AMD) || ($HAS_AMD && $HAS_INTEL); then + configure_hybrid +fi + +# ─── Cleanup ───────────────────────────────────────────────── +apt-get autoremove -y +apt-get clean + +echo +echo "=== GPU Driver Installation Complete ===" +echo "Stable base preserved — hybrid setups configured automatically." +echo "Reboot to apply changes." diff --git a/Trixie/config/includes.chroot_after_packages/etc/trios/README.txt b/Trixie/config/includes.chroot_after_packages/etc/trios/README.txt new file mode 100644 index 0000000..cda29a6 --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/trios/README.txt @@ -0,0 +1,3 @@ +This folder is intended for storing files for the TriOS operating system to use arbitrarily. + +Users should not edit this folder. diff --git a/Trixie/config/includes.chroot_after_packages/etc/trios/update_trios.sh b/Trixie/config/includes.chroot_after_packages/etc/trios/update_trios.sh new file mode 100755 index 0000000..bd5d29e --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/etc/trios/update_trios.sh @@ -0,0 +1,196 @@ +#!/bin/bash +# ───────────────────────────────────────────────────────────── +# TriOS GPU Driver Installer (v6 - Hybrid Smart Edition) +# Safely installs and maintains up-to-date GPU drivers +# Supports all hybrid GPU setups (Intel+NVIDIA, AMD+NVIDIA, AMD+Intel) +# Designed for Debian 13 "Trixie" (Stable) +# Only GPU-related packages are allowed from Debian Testing +# ───────────────────────────────────────────────────────────── + +set -e + +echo "=== TriOS GPU Driver Installer v6 ===" +echo +echo "Supports NVIDIA, AMD, Intel, and all hybrid combinations." +echo "Stable base preserved; GPU drivers sourced safely from Testing." +echo +read -rp "Press any key to continue, or Ctrl+C to cancel... " -n1 -s +echo -e "\n" + +# ─── Root Check ────────────────────────────────────────────── +if [ "$EUID" -ne 0 ]; then + echo "Please run as root (or with sudo)." + exit 1 +fi + +# ─── Helper Functions ──────────────────────────────────────── +add_repo() { + local _file="$1" + local _marker="$2" + local _content="$3" + if ! grep -Rq "$_marker" /etc/apt/sources.list*; then + echo "[*] Adding repository: $_marker" + echo "$_content" > "/etc/apt/sources.list.d/${_file}.list" + _needs_update=true + fi +} + +prompt_yn() { + local _prompt="$1" + read -rp "$_prompt [y/N]: " _ans + [[ "$_ans" =~ ^[Yy]$ ]] +} + +install_pkg() { + local _pkg="$1" + dpkg -s "$_pkg" &>/dev/null || apt-get install -y "$_pkg" +} + +# ─── Enable 32-bit Multiarch ───────────────────────────────── +if ! dpkg --print-foreign-architectures | grep -q i386; then + echo "[*] Enabling 32-bit multiarch support..." + dpkg --add-architecture i386 + _needs_update=true +fi + +# ─── Repositories ──────────────────────────────────────────── +echo "[*] Ensuring Debian repositories are configured..." +add_repo "trixie" "deb.debian.org/debian trixie" \ +"deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware +deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware +deb http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware" + +add_repo "backports" "trixie-backports" \ +"deb http://deb.debian.org/debian trixie-backports main contrib non-free non-free-firmware" + +add_repo "fasttrack" "fasttrack.debian.net" \ +"deb http://fasttrack.debian.net/debian-fasttrack trixie-fasttrack main contrib non-free non-free-firmware +deb http://fasttrack.debian.net/debian trixie-backports-staging main contrib non-free non-free-firmware" + +add_repo "testing" "deb.debian.org/debian testing" \ +"deb http://deb.debian.org/debian testing main contrib non-free non-free-firmware" + +# ─── Strict APT Pinning ────────────────────────────────────── +cat >/etc/apt/preferences.d/gpu-drivers.pref <<'EOF' +# Default: Debian Stable (Trixie) +Package: * +Pin: release a=trixie +Pin-Priority: 990 + +# Testing disabled by default +Package: * +Pin: release a=testing +Pin-Priority: 100 + +# GPU packages allowed from Testing +Package: nvidia-driver nvidia-settings nvidia-kernel-dkms libnvidia-gl* \ + libnvidia-egl* libnvidia-compute* libnvidia-encode* libnvidia-decode* \ + mesa* libgl1-mesa* libegl* libgbm* vulkan* firmware-amd* firmware-linux* \ + intel-media* xserver-xorg-video-intel libvulkan* libdrm* clinfo \ + amd64-microcode intel-microcode +Pin: release a=testing +Pin-Priority: 900 +EOF + +# ─── Optional Mesa Git Repo ────────────────────────────────── +if prompt_yn "Enable experimental Mesa Git repository for AMD/Intel?"; then + add_repo "mesa-git" "home:/nicoo:/mesa" \ +"deb http://download.opensuse.org/repositories/home:/nicoo:/mesa:/debian/Debian_Trixie/ ./" + curl -fsSL https://download.opensuse.org/repositories/home:/nicoo:/mesa:/debian/Debian_Trixie/Release.key \ + | gpg --dearmor -o /etc/apt/trusted.gpg.d/mesa-git.gpg +fi + +# ─── Update Once ───────────────────────────────────────────── +if [ "$_needs_update" = true ]; then + echo "[*] Updating package lists..." + apt-get update -y +fi + +# ─── Base Utilities ────────────────────────────────────────── +install_pkg pciutils +install_pkg curl +install_pkg lsb-release +install_pkg nvidia-detect + +# ─── GPU Detection ─────────────────────────────────────────── +GPU_INFO=$(lspci | awk '/VGA|3D|Display/ {print tolower($0)}') +HAS_NVIDIA=false +HAS_AMD=false +HAS_INTEL=false + +echo "Detected GPU(s):" +echo "$GPU_INFO" +echo + +grep -q nvidia <<< "$GPU_INFO" && HAS_NVIDIA=true +grep -q amd <<< "$GPU_INFO" && HAS_AMD=true +grep -q intel <<< "$GPU_INFO" && HAS_INTEL=true + +# ─── Install Functions ─────────────────────────────────────── +install_nvidia() { + echo "[*] Installing NVIDIA drivers..." + local _driver + _driver=$(nvidia-detect | awk '/recommended/ {print $3}' | head -n1) + _driver=${_driver:-nvidia-driver} + + for _target in fasttrack trixie-backports testing; do + if apt-get install -y -t "$_target" "$_driver" nvidia-settings nvidia-prime; then + break + fi + done + + apt-get install -y libnvidia-gl:i386 libnvidia-egl-gbm1:i386 || true +} + +install_amd() { + echo "[*] Installing AMD drivers..." + apt-get install -y -t testing mesa-vulkan-drivers mesa-opencl-icd clinfo \ + vulkan-validationlayers mesa-vulkan-drivers:i386 mesa-opencl-icd:i386 \ + firmware-amd-graphics +} + +install_intel() { + echo "[*] Installing Intel drivers..." + apt-get install -y -t testing xserver-xorg-video-intel \ + intel-media-va-driver-non-free intel-gpu-tools \ + mesa-vulkan-drivers mesa-vulkan-drivers:i386 +} + +configure_hybrid() { + echo "[*] Configuring hybrid GPU environment..." + + # Always install hybrid control tools + apt-get install -y nvidia-prime switcheroo-control bbswitch-dkms + + # Detect combo type + if $HAS_NVIDIA && $HAS_INTEL; then + echo "[*] Detected NVIDIA + Intel hybrid (Optimus)" + echo "[i] You can switch using: sudo prime-select nvidia|intel" + elif $HAS_NVIDIA && $HAS_AMD; then + echo "[*] Detected NVIDIA + AMD hybrid" + echo "[i] Use environment variable DRI_PRIME=1 for AMD rendering." + elif $HAS_AMD && $HAS_INTEL; then + echo "[*] Detected AMD + Intel hybrid" + echo "[i] Use DRI_PRIME=1 or vendor-specific profiles for render offloading." + fi +} + +# ─── Install in Safe Order ─────────────────────────────────── +# Mesa first, proprietary last +if $HAS_INTEL; then install_intel; fi +if $HAS_AMD; then install_amd; fi +if $HAS_NVIDIA; then install_nvidia; fi + +# ─── Hybrid Handling ───────────────────────────────────────── +if ($HAS_NVIDIA && $HAS_INTEL) || ($HAS_NVIDIA && $HAS_AMD) || ($HAS_AMD && $HAS_INTEL); then + configure_hybrid +fi + +# ─── Cleanup ───────────────────────────────────────────────── +apt-get autoremove -y +apt-get clean + +echo +echo "=== GPU Driver Installation Complete ===" +echo "Stable base preserved — hybrid setups configured automatically." +echo "Reboot to apply changes." diff --git a/Trixie/config/includes.chroot_after_packages/usr/share/pixmaps/trios-logo.svg b/Trixie/config/includes.chroot_after_packages/usr/share/pixmaps/trios-logo.svg new file mode 100644 index 0000000..667af2e --- /dev/null +++ b/Trixie/config/includes.chroot_after_packages/usr/share/pixmaps/trios-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Trixie/config/package-lists/developer.list.chroot b/Trixie/config/package-lists/developer.list.chroot new file mode 100755 index 0000000..650ef73 --- /dev/null +++ b/Trixie/config/package-lists/developer.list.chroot @@ -0,0 +1,72 @@ +# Core Build Tools +build-essential +cmake +ninja-build +git +curl +wget +zip +unzip +tar + +# Languages +python3 +python3-pip +python3-venv +nodejs +npm +# openjdk-17-jdk +golang +ruby +rustc +cargo +mono-complete + +# Web Development +# apache2 +# php +# mariadb-server +sqlite3 +# postgresql +# redis-server + +# Version Control & Collaboration +git +git-lfs +gh + +# Editors & IDEs +# code +# sublime-text +vim +# emacs +geany +kate +qtcreator +idle + +# Game Development Tools +godot3 +blender +gimp +krita +inkscape + +# Containers & Virtualization +docker.io +docker-compose +# virtualbox +# vagrant + +# Debugging & Profiling +gdb +valgrind +strace +ltrace + +# Package & Repo Tools +apt-transport-https +# software-properties-common +snapd +flatpak + diff --git a/Trixie/config/package-lists/firmware.list.chroot b/Trixie/config/package-lists/firmware.list.chroot new file mode 100755 index 0000000..c61cb70 --- /dev/null +++ b/Trixie/config/package-lists/firmware.list.chroot @@ -0,0 +1,34 @@ +# --- Graphics Stack (Base) --- +xserver-xorg-video-all +mesa-utils +mesa-utils-extra +mesa-vulkan-drivers +libvulkan1 +vulkan-tools +va-driver-all +vdpau-driver-all +intel-media-va-driver +libgl1:i386 +libdrm2:i386 +libvulkan1:i386 +vulkan-validationlayers +mesa-opencl-icd +clinfo + +# --- Firmware (Base) --- +firmware-linux +firmware-linux-nonfree +firmware-misc-nonfree +firmware-amd-graphics +firmware-intel-sound +firmware-iwlwifi +firmware-realtek +firmware-atheros +intel-microcode +amd64-microcode + +# --- GPU/Performance Tools --- +gamemode +corectrl +powertop + diff --git a/Trixie/config/package-lists/gamer.list.chroot b/Trixie/config/package-lists/gamer.list.chroot new file mode 100755 index 0000000..115b466 --- /dev/null +++ b/Trixie/config/package-lists/gamer.list.chroot @@ -0,0 +1,48 @@ +# Game Launchers & Platforms +# steam +# lutris +# heroic +# itch +# legendary manul +# bottles + +# Compatibility Layers +# wine +# winetricks +# protontricks +gamemode +libvulkan1 +vulkan-tools +mesa-utils + +# Game Optimization & Tools +# mangohud +# vkbasalt +# goverlay +corectrl +# cpupower +powertop + +# Recording & Streaming +obs-studio +kdenlive +peek +audacity + +# Controller & Input Support +# game-devices-udev +joystick +qjoypad +antimicrox + +# Chat & Voice +# discord +mumble +# teamspeak3-client + +# Game Utilities +p7zip-full +unrar +zenity +xdg-utils + diff --git a/Trixie/config/package-lists/installer.list.chroot b/Trixie/config/package-lists/installer.list.chroot new file mode 100755 index 0000000..10d985c --- /dev/null +++ b/Trixie/config/package-lists/installer.list.chroot @@ -0,0 +1,3 @@ +calamares +calamares-settings-debian + diff --git a/Trixie/config/package-lists/kde.list.chroot b/Trixie/config/package-lists/kde.list.chroot index 2a3ec96..01b064a 100755 --- a/Trixie/config/package-lists/kde.list.chroot +++ b/Trixie/config/package-lists/kde.list.chroot @@ -1,5 +1,85 @@ -task-kde-desktop -konsole +# Core Desktop +plasma-desktop sddm +plasma-nm +plasma-pa +plasma-workspace-wallpapers + +# Core KDE Settings & Integration +systemsettings +powerdevil +kde-config-gtk-style +kde-config-sddm +kde-config-screenlocker +kwalletmanager +kio-extras + +# Networking network-manager -network-manager-gnome +bluez +bluedevil + +# System +sudo +polkit-kde-agent-1 +udisks2 +gvfs-backends +gvfs-fuse +bash-completion + +# Files +dolphin +kde-cli-tools +filelight +vlc + +# Terminal +konsole +htop +fastfetch + +# Internet +firefox-esr +wget +curl + +# Audio & Video +pipewire +pipewire-audio +pipewire-pulse +wireplumber +pavucontrol-qt +ffmpeg +kamoso + +# Fonts & Theme +fonts-dejavu +fonts-noto-color-emoji +breeze-cursor-theme +breeze-icon-theme +qt5ct + +# Power +upower +power-profiles-daemon + +# Utilities +ark +kate +kcalc +okular +unzip +zip + +# Printing +cups +print-manager + +# System Tools +discover +plasma-systemmonitor +apt-transport-https + +# Backups +timeshift + diff --git a/Trixie/config/package-lists/kernelsign.list.chroot b/Trixie/config/package-lists/kernelsign.list.chroot new file mode 100644 index 0000000..8c89a76 --- /dev/null +++ b/Trixie/config/package-lists/kernelsign.list.chroot @@ -0,0 +1,3 @@ +shim-signed +grub-efi-amd64-signed +linux-image-amd64 \ No newline at end of file diff --git a/Trixie/config/package-lists/live.list.chroot b/Trixie/config/package-lists/live.list.chroot new file mode 100644 index 0000000..ab91c73 --- /dev/null +++ b/Trixie/config/package-lists/live.list.chroot @@ -0,0 +1,4 @@ +live-boot +live-config +live-config-systemd +systemd-sysv diff --git a/Trixie/config/package-lists/moo.list.chroot b/Trixie/config/package-lists/moo.list.chroot new file mode 100755 index 0000000..c6b9ffd --- /dev/null +++ b/Trixie/config/package-lists/moo.list.chroot @@ -0,0 +1 @@ +cowsay diff --git a/Trixie/config/package-lists/python.list.chroot b/Trixie/config/package-lists/python.list.chroot deleted file mode 100755 index b6f3090..0000000 --- a/Trixie/config/package-lists/python.list.chroot +++ /dev/null @@ -1 +0,0 @@ -python3-full diff --git a/Trixie/config/source b/Trixie/config/source old mode 100755 new mode 100644 index 93a022a..f8c29a1 --- a/Trixie/config/source +++ b/Trixie/config/source @@ -1,9 +1,7 @@ # config/source - options for live-build(7), source stage -# $LB_SOURCE: set source option -# (Default: false) +# Set source option LB_SOURCE="false" -# $LB_SOURCE_IMAGES: set image type -# (Default: tar) +# Set image type LB_SOURCE_IMAGES="tar" diff --git a/Trixie/release_name b/Trixie/release_name index b26bfaf..8019f1f 100644 --- a/Trixie/release_name +++ b/Trixie/release_name @@ -1 +1 @@ -13-Bepis +13-bepis diff --git a/assets/Bepis.svg b/assets/Bepis.svg new file mode 100644 index 0000000..d2f0c7f --- /dev/null +++ b/assets/Bepis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/Tenna.svg b/assets/Tenna.svg new file mode 100644 index 0000000..bd2c57b --- /dev/null +++ b/assets/Tenna.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/TriOS.png b/assets/TriOS.png new file mode 100644 index 0000000..e1658dc Binary files /dev/null and b/assets/TriOS.png differ diff --git a/assets/TriOS.svg b/assets/TriOS.svg new file mode 100644 index 0000000..667af2e --- /dev/null +++ b/assets/TriOS.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/builder/Dockerfile b/builder/Dockerfile index 7b27a02..c4bdce5 100755 --- a/builder/Dockerfile +++ b/builder/Dockerfile @@ -16,14 +16,13 @@ RUN apt update && apt install -y \ && rm -rf /var/lib/apt/lists/* # Set working directory -WORKDIR /TriOs +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" && \ +CMD lb config --bootappend-live "boot=live components union=overlay nopersistence init=/lib/systemd/systemd user-fullname=TriOS" && \ 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." + lb build --verbose --debug && \ + mkdir -p /TriOS_Output && \ + cp -r ./live-image* /TriOS_Output/ && \ + echo "TriOS ISO build complete. Files copied to /TriOS_Output." diff --git a/builder/build-trios.sh b/builder/build-trios.sh index c15d60b..6227491 100755 --- a/builder/build-trios.sh +++ b/builder/build-trios.sh @@ -1,5 +1,52 @@ -docker build -t trios-builder . -docker run --privileged -it \ - -v ~/TriOs/Trixie:/TriOs \ - -v ~/TriOs_Output:/TriOs_Output \ - trios-builder +#!/bin/bash +set -e + +# === Configuration === +_repo_dir="$HOME/TriOS" +_builder_dir="$_repo_dir/builder" +_trios_dir="$_repo_dir/Trixie" +_output_dir="$HOME/TriOS_Output" +_release_file="$_trios_dir/config/includes.chroot/etc/trios/release" +_runner_name="$(hostname)" +_image_name="trios-builder-${_runner_name}" +_container_name="${_image_name}" + +# === Preparation === +echo "Preparing TriOS build environment..." +cd "$_repo_dir" + +# Get short commit hash +_commit_hash=$(git rev-parse --short HEAD) + +# Ensure output directory exists +mkdir -p "$_output_dir" + +# Write 'custombuild' to release file +echo "custombuild" > "$_release_file" +echo "Wrote 'custombuild' to: $_release_file" + +# Debug info +echo "Commit hash: $_commit_hash" +echo "Runner name: $_runner_name" +echo "Output directory: $_output_dir" + +# === Build Docker Image === +echo "Building Docker image: $_image_name" +cd "$_builder_dir" +docker build -t "$_image_name" . + +# === Run Docker Container (attached, auto-remove) === +echo "Running Docker container (privileged mode)..." +docker run -it --rm \ + --privileged \ + --name "$_container_name" \ + -v "$_trios_dir:/TriOS" \ + -v "$_output_dir:/TriOS_Output" \ + "$_image_name" + +# === Verify Output === +echo "Build completed. ISO output contents:" +ls -lh "$_output_dir" || true + +echo "TriOS ISO build finished successfully!" + diff --git a/calc_downtime.py b/calc_downtime.py new file mode 100644 index 0000000..7c229cd --- /dev/null +++ b/calc_downtime.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 +import subprocess +import datetime +from collections import Counter + +def get_commit_hours(repo_path="."): + # Get all commit timestamps in ISO 8601 format + result = subprocess.run( + ["git", "-C", repo_path, "log", "--pretty=format:%ci"], + capture_output=True, text=True, check=True + ) + commit_times = result.stdout.strip().split("\n") + + hours = [] + for time_str in commit_times: + try: + dt = datetime.datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S %z") + hours.append(dt.hour) + except ValueError: + continue # skip invalid entries + return hours + +def find_least_active_hours(hours): + counter = Counter(hours) + total_commits = sum(counter.values()) + activity = [(hour, counter[hour], counter[hour]/total_commits*100) for hour in range(24)] + activity.sort(key=lambda x: x[1]) # Sort by least activity + return activity + +def print_activity_summary(activity): + print("Commit activity by hour (UTC):") + for hour, count, pct in activity: + print(f"{hour:02d}:00 - {count:4d} commits ({pct:5.2f}%)") + + least_active = activity[0][0] + print(f"\n💤 Least active hour: {least_active:02d}:00 UTC") + print(f"Suggested build window: around {least_active:02d}:00 UTC\n") + +if __name__ == "__main__": + repo = "." # current directory by default + hours = get_commit_hours(repo) + if not hours: + print("No commits found.") + else: + activity = find_least_active_hours(hours) + print_activity_summary(activity) diff --git a/web/trios/export_config.sh b/web/trios/export_config.sh new file mode 100755 index 0000000..b82de34 --- /dev/null +++ b/web/trios/export_config.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash +# ======================================================================== +# KDE Theme + Panel Config Exporter +# Exports ONLY the config files that define: +# - Which themes are active (names only) +# - What apps & widgets are in your taskbar/panels +# ======================================================================== + +# Output directory and archive name +_export_dir="$HOME/kde_theme_minimal_export" +_archive_name="kde_theme_minimal_export_$(date +%Y-%m-%d_%H-%M-%S).tar.gz" + +echo "Creating export directory: $_export_dir" +mkdir -p "$_export_dir" + +# --- CORE THEME CONFIG FILES ------------------------------------------- +_config_files=( + "$HOME/.config/kdeglobals" # color scheme, widget style, icons, cursor + "$HOME/.config/plasmarc" # plasma style (desktop theme) + "$HOME/.config/kwinrc" # window decoration, effects + "$HOME/.config/ksplashrc" # splash screen theme + "$HOME/.config/kscreenlockerrc" # lock screen theme + "$HOME/.config/plasmashellrc" # shell-level config + "$HOME/.config/plasma-org.kde.plasma.desktop-appletsrc" # panels, widgets, launchers +) + +echo "Copying selected KDE configuration files..." +for _file in "${_config_files[@]}"; do + if [[ -f "$_file" ]]; then + _dest="$_export_dir$(dirname "${_file#$HOME}")" + mkdir -p "$_dest" + cp -v "$_file" "$_dest/" + else + echo "Skipping missing: $_file" + fi +done + +# --- ARCHIVE ------------------------------------------------------------ +echo "Creating archive: $_archive_name" +tar -czf "$_archive_name" -C "$_export_dir" . + +echo "Uploading to Uruu.se" +curl -i -F files[]=@$_archive_name https://uguu.se/upload + +echo "Export complete!" diff --git a/web/trios/updater/13-bepis.tar.gz b/web/trios/updater/13-bepis.tar.gz new file mode 100644 index 0000000..bf067b8 Binary files /dev/null and b/web/trios/updater/13-bepis.tar.gz differ