name: particle-os-base
description: Base particle-os system with apt-cacher-ng integration for corona, apex, and euclase
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"  # Your apt-cacher-ng server
      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///download.opensuse.org/repositories/home:/strycore/Debian_12/ /"
      
  - type: org.osbuild.debian.apt
    options:
      packages:
        # Core system packages
        - curl
        - wget
        - vim
        - less
        - locales
        - ca-certificates
        - tzdata
        - apt-transport-https
        - gnupg
        - lsb-release
        - software-properties-common
        
        # Development tools
        - build-essential
        - git
        - python3
        - python3-pip
        - nodejs
        - npm
        
        # Container tools
        - docker.io
        - docker-compose
        - podman
        - podman-compose
        
        # System utilities
        - htop
        - iotop
        - net-tools
        - openssh-server
        - ufw
        - fail2ban
        
        # Gaming dependencies (for euclase/bazzite)
        - gamemode
        - lib32-gamemode
        - wine
        - winetricks
        - steam
        - lutris
        
        # Desktop environment (for corona/aurora)
        - kde-plasma-desktop
        - kde-standard
        - sddm
        
        # Development environment (for apex/bluefin)
        - code
        - distrobox
        - toolbox
        - flatpak
        - snapd
      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:
        particle:
          password: "$6$rounds=656000$salt$hashedpassword"
          shell: /bin/bash
          groups: ["users", "sudo", "docker", "kvm"]
          uid: 1000
          gid: 1000
          home: /home/particle
          comment: "particle-os User"
        developer:
          password: "$6$rounds=656000$salt$hashedpassword"
          shell: /bin/bash
          groups: ["users", "sudo", "docker"]
          uid: 1001
          gid: 1001
          home: /home/developer
          comment: "Developer User"
      default_shell: /bin/bash
      default_home: /home
      
  - type: org.osbuild.qemu
    options:
      formats: ["raw", "qcow2", "vmdk", "vdi"]
      size: "20G"
      filename: "particle-os-base"

output:
  formats: ["raw", "qcow2", "vmdk", "vdi"]
  size: "20G"
  path: "particle-os-base"

metadata:
  author: "particle-os"
  category: "base"
  tags: ["base", "particle-os", "corona", "apex", "euclase", "apt-cacher-ng"]
  apt_cacher_ng: "http://192.168.1.101:3142"
  description: "Base system for particle-os projects (corona, apex, euclase) with apt-cacher-ng integration"
