##############################################################################
#                          Redox Demo Configuration                          #
#                                                                            #
# This file defines the setup of the Redox Demo system.                      #
#                                                                            #
# The "[packages]" section specifies what packages are installed in the      #
# filesystem prior to booting the system. During build, these packages must  #
# have a recipe defined in the config folder (see the Redox Book,            #
# Chapter 5.1). The first group of packages is mandatory for the system to   #
# function, although some items can be removed for special builds,           #
# e.g. The Orbital GUI is not required for a headless server.                #
#                                                                            #
# Items in the "Developer Tools" and "Games" section are optional. You can   #
# add your own programs here.                                                #
#                                                                            #
# The "[users]" section creates user id's and passwords. Each user will have #
# a home directory at boot.                                                  #
#                                                                            #
# The "[[files]]" section contains files needed by the system. If you need   #
# create a file, e.g. a config file for a program you are adding, you can do #
# it here.                                                                   #
#                                                                            #
##############################################################################

# General settings
[general]
# Filesystem size in MiB
filesystem_size = 768
# Do not prompt if settings are not defined
prompt = false

# Package settings
[packages]
audiod = {}
bootloader = {}
bootstrap = {}
ca-certificates = {}
contain = {}
coreutils = {}
dash = {}
diffutils = {}
drivers = {}
escalated = {}
extrautils = {}
findutils = {}
initfs = {}
installer = {}
installer-gui = {}
ion = {}
ipcd = {}
kernel = {}
netdb = {}
netstack = {}
netsurf = {}
netutils = {}
orbdata = {}
orbital = {}
orbterm = {}
orbutils = {}
pkgutils = {}
ptyd = {}
redoxfs = {}
relibc = {}
resist = {}
smith = {}
userutils = {}
uutils = {}

# Apps
periodictable = {}

# Shell Apps
bash = {}
binutils = {}
curl = {}
git = {}
gnu-grep = {}
ripgrep = {}
sodium = {}

# Games
dosbox = {}
freedoom = {}
games = {}
neverball = {}
prboom = {}
sopwith = {}
syobonaction = {}

# Demos
acid = {}
orbclient = {}
pixelcannon = {}
rodioplay = {}
gears = {}

# MIDI
freepats = {}

# User settings
[users.root]
password = "password"
uid = 0
gid = 0
name = "root"
home = "/root"

[users.user]
# Password is unset
password = ""

[[files]]
path = "/etc/init.d/00_base"
data = """
ipcd
ptyd
pcid /etc/pcid.d/
escalated
"""

[[files]]
path = "/etc/init.d/10_net"
data = """
smolnetd
dnsd
dhcpd -b
"""

[[files]]
path = "/etc/init.d/20_orbital"
data = """
audiod
orbital display:3/activate orblogin launcher
"""

[[files]]
path = "/etc/init.d/30_console"
data = """
getty display:2
getty debug: -J
"""

[[files]]
path = "/etc/net/dns"
data = """
208.67.222.222
"""

[[files]]
path = "/etc/net/ip"
data = """
10.0.2.15
"""

[[files]]
path = "/etc/net/ip_router"
data = """
10.0.2.2
"""

[[files]]
path = "/etc/net/ip_subnet"
data = """
255.255.255.0
"""

[[files]]
path = "/etc/net/mac"
data = """
54-52-00-ab-cd-ef
"""

[[files]]
path = "/etc/pkg.d/50_redox"
data = "https://static.redox-os.org/pkg"

[[files]]
path = "/etc/redox-release"
data = "0.8.0"

[[files]]
path = "/etc/group"
data = """
root;0;root
user;1000;user
sudo;1;user
"""

[[files]]
path = "/etc/hostname"
data = """
redox
"""

[[files]]
path = "/usr/bin"
data = "../bin"
symlink = true

[[files]]
path = "/usr/games"
data = "../games"
symlink = true

[[files]]
path = "/usr/include"
data = "../include"
symlink = true

[[files]]
path = "/usr/lib"
data = "../lib"
symlink = true

[[files]]
path = "/usr/share"
data = "../share"
symlink = true

[[files]]
path = "/tmp"
data = ""
directory= true
# 0o1777
mode = 1023

[[files]]
path = "/dev/null"
data = "null:"
symlink = true

[[files]]
path = "/dev/random"
data = "rand:"
symlink = true

[[files]]
path = "/dev/urandom"
data = "rand:"
symlink = true

[[files]]
path = "/dev/zero"
data = "zero:"
symlink = true

[[files]]
path = "/home/user/Welcome.txt"
data = """
##############################################################################
#                                                                            #
#                             Welcome to Redox!                              #
#                                                                            #
# Redox is an operating system written in Rust, a language with focus        #
# on safety and high performance. Redox, following the microkernel design,   #
# aims to be secure, usable, and free. Redox is inspired by previous kernels #
# and operating systems, such as SeL4, MINIX, Plan 9, and BSD.               #
#                                                                            #
# Redox _is not_ just a kernel, it's a full-featured Operating System,       #
# providing packages (memory allocator, file system, display manager, core   #
# utilities, etc.) that together make up a functional and convenient         #
# operating system. You can loosely think of it as the GNU or BSD ecosystem, #
# but in a memory safe language and with modern technology.                  #
#                                                                            #
# The website can be found at https://www.redox-os.org.                      #
#                                                                            #
# For things to try on Redox, please see                                     #
# https://doc.redox-os.org/book/ch02-06-trying-out-redox.html                #
#                                                                            #
##############################################################################
"""