name: euclase
description: Euclase - Gaming-focused desktop and handheld OS (Debian implementation of ublue-os bazzite)
base-image: debian:trixie-slim
image-version: "13"

stages:
  - type: org.osbuild.debian.sources
    options:
      mirror: "https://deb.debian.org/debian"
      suite: "trixie"
      components: ["main", "contrib", "non-free"]
      apt_cacher_ng: "http://192.168.1.101:3142"
      additional_sources:
        - "deb http://192.168.1.101:3142/HTTPS///get.docker.com/ubuntu docker main"
        - "deb http://192.168.1.101:3142/HTTPS///packages.cloud.google.com/apt cloud-sdk main"
        - "deb http://192.168.1.101:3142/HTTPS///repo.steampowered.com/steam stable steam"
        - "deb http://192.168.1.101:3142/HTTPS///dl.winehq.org/wine-builds/debian trixie main"
      
  - type: org.osbuild.debian.apt
    options:
      packages:
        # Core system
        - curl
        - wget
        - vim
        - less
        - locales
        - ca-certificates
        - tzdata
        - apt-transport-https
        - gnupg
        
        # Desktop environment (KDE for gaming)
        - kde-plasma-desktop
        - kde-standard
        - sddm
        - plasma-nm
        - plasma-pa
        - kdeconnect
        - kscreen
        - kwin-x11
        - kwin-wayland
        
        # Gaming core packages
        - gamemode
        - lib32-gamemode
        - gamescope
        - mangohud
        - goverlay
        - steam
        - steam-devices
        - lutris
        - wine
        - winetricks
        - playonlinux
        
        # Graphics and drivers
        - mesa-utils
        - mesa-vulkan-drivers
        - lib32-mesa-vulkan-drivers
        - vulkan-tools
        - vulkan-validationlayers
        - lib32-vulkan-validationlayers
        - nvidia-driver
        - nvidia-settings
        - nvidia-xconfig
        
        # Audio for gaming
        - pulseaudio
        - pulseaudio-utils
        - pavucontrol
        - alsa-utils
        - jackd2
        - qjackctl
        
        # Input devices and controllers
        - xboxdrv
        - jstest-gtk
        - evtest
        - input-utils
        
        # Performance monitoring
        - htop
        - iotop
        - nvtop
        - radeontop
        - intel-gpu-tools
        - lm-sensors
        - psensor
        
        # Development tools
        - build-essential
        - git
        - python3
        - python3-pip
        - nodejs
        - npm
        
        # Container tools
        - docker.io
        - podman
        - flatpak
        
        # System utilities
        - net-tools
        - openssh-server
        - ufw
        - fail2ban
        - timeshift
        - bleachbit
        - gparted
        
        # Multimedia
        - vlc
        - mpv
        - ffmpeg
        - obs-studio
        - simplescreenrecorder
        
        # Office applications
        - libreoffice
        - thunderbird
        - firefox-esr
        
        # Additional gaming packages
        - retroarch
        - dolphin-emu
        - pcsx2
        - rpcs3
        - citra
        - yuzu
        - ryujinx
        
        # Gaming launchers
        - heroic-games-launcher
        - minigalaxy
        - itch
        - gog-galaxy
        
        # Additional KDE packages
        - kde-config-gtk-style
        - kde-config-screenlocker
        - kde-config-sddm
        - kde-config-plymouth
        - kde-config-systemd
      update: true
      clean: true
      
  - type: org.osbuild.debian.locale
    options:
      language: en_US.UTF-8
      default_locale: en_US.UTF-8
      additional_locales:
        - "de_DE.UTF-8"
        - "fr_FR.UTF-8"
        - "es_ES.UTF-8"
      
  - type: org.osbuild.debian.timezone
    options:
      timezone: UTC
      
  - type: org.osbuild.debian.users
    options:
      users:
        euclase:
          password: "$6$rounds=656000$salt$hashedpassword"
          shell: /bin/bash
          groups: ["users", "sudo", "docker", "kvm", "video", "audio", "input", "games"]
          uid: 1000
          gid: 1000
          home: /home/euclase
          comment: "Euclase User"
        gamer:
          password: "$6$rounds=656000$salt$hashedpassword"
          shell: /bin/bash
          groups: ["users", "video", "audio", "input", "games"]
          uid: 1001
          gid: 1001
          home: /home/gamer
          comment: "Gamer User"
      default_shell: /bin/bash
      default_home: /home
      
  - type: org.osbuild.qemu
    options:
      formats: ["raw", "qcow2", "vmdk", "vdi"]
      size: "35G"
      filename: "euclase"

output:
  formats: ["raw", "qcow2", "vmdk", "vdi"]
  size: "35G"
  path: "euclase"

metadata:
  author: "particle-os"
  category: "gaming"
  tags: ["euclase", "gaming", "kde", "steam", "wine", "apt-cacher-ng"]
  apt_cacher_ng: "http://192.168.1.101:3142"
  description: "Euclase - Gaming-focused desktop and handheld OS (Debian implementation of ublue-os bazzite)"
  based_on: "ublue-os bazzite"
  target_audience: "Gamers, content creators, handheld device users"
