diff --git a/config/aarch64/acid.toml b/config/aarch64/acid.toml
new file mode 100644
index 0000000000000000000000000000000000000000..57c064a61737e7685f35b973641ad876a7ad0743
--- /dev/null
+++ b/config/aarch64/acid.toml
@@ -0,0 +1,86 @@
+# Configuration for using acid
+
+# General settings
+[general]
+# Filesystem size in MiB
+filesystem_size = 256
+# Do not prompt if settings are not defined
+prompt = false
+
+# Package settings
+[packages]
+bootloader = {}
+bootstrap = {}
+acid = {}
+coreutils = {}
+# TODO: Does this need escalated?
+escalated = {}
+initfs = {}
+ion = {}
+ipcd = {}
+kernel = {}
+ptyd = {}
+
+# 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
+escalated
+"""
+
+[[files]]
+path = "/etc/init.d/10_acid"
+data = """
+export RUST_BACKTRACE full
+acid
+acid create_test
+acid switch
+acid tls
+acid thread
+shutdown
+"""
+
+[[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
diff --git a/config/aarch64/ci.toml b/config/aarch64/ci.toml
new file mode 100644
index 0000000000000000000000000000000000000000..88dd000a1f61ad5d83b6e08915e31e56cce57f5e
--- /dev/null
+++ b/config/aarch64/ci.toml
@@ -0,0 +1,209 @@
+# This is the CI configuration file
+
+# General settings
+[general]
+# Do not prompt if settings are not defined
+prompt = false
+
+# Package settings
+[packages]
+acid = {}
+atk = {}
+audiod = {}
+autoconf = {}
+automake = {}
+bash = {}
+binutils = {}
+bootloader = {}
+bootstrap = {}
+ca-certificates = {}
+cairo = {}
+cairodemo = {}
+#calculator = {}
+cargo = {}
+cleye = {}
+#cmatrix = {} # needs ncursesw now
+contain = {}
+coreutils = {}
+cosmic-text = {}
+cpal = {}
+curl = {}
+dash = {}
+diffutils = {}
+dosbox = {}
+drivers = {}
+drivers-initfs = {}
+duktape = {}
+eduke32 = {}
+escalated = {}
+exampled = {}
+expat = {}
+extrautils = {}
+#fal
+#fd = {} # ctrlc-3.1.1
+#ffmpeg = {} # undefined references
+findutils = {}
+fontconfig = {}
+#freeciv = {}
+freedoom = {}
+#freeglut = {}
+freepats = {}
+freetype = {}
+#friar = {} # mio patch
+fribidi = {}
+#game-2048 = {} # rustc-serialize
+games = {}
+#gawk = {} # langinfo.h
+gcc = {}
+gdbserver = {}
+#gdk-pixbuf = {} # shared-mime-info
+gears = {}
+generaluser-gs = {}
+gettext = {}
+gigalomania = {}
+git = {}
+glib = {}
+glium = {}
+glutin = {}
+gnu-binutils = {}
+gnu-grep = {}
+gnu-make = {}
+#gstreamer = {} # conflict with thread local errno
+harfbuzz = {}
+#hematite = {} # needs crate patches for redox-unix
+init = {}
+initfs = {}
+installer = {}
+installer-gui = {}
+ion = {}
+ipcd = {}
+jansson = {}
+kernel = {}
+keyboard-sfx = {}
+lci = {}
+libc-bench = {}
+libffi = {}
+libgmp = {}
+libiconv = {}
+libjpeg = {}
+libogg = {}
+liborbital = {}
+libpng = {}
+libsodium = {}
+libvorbis = {}
+libxml2 = {}
+llvm = {}
+logd = {}
+lua = {}
+#mdp = {} # ncursesw
+mesa = {}
+mesa_glu = {}
+mgba = {}
+#miniserve = {} # actix
+nasm = {}
+#ncdu = {} # fails to link with ncurses
+ncurses = {}
+#ncursesw = {} # mkstemp configure hang
+netdb = {}
+netstack = {}
+netsurf = {}
+netutils = {}
+neverball = {}
+#newlib = {} # obsolete
+#newlibtest = {} # obsolete
+nghttp2 = {}
+nulld = {}
+openjazz = {}
+openssl = {}
+openttd = {}
+openttd-opengfx = {}
+openttd-openmsx = {}
+openttd-opensfx = {}
+orbclient = {}
+orbdata = {}
+orbital = {}
+orbterm = {}
+orbutils = {}
+#orbutils-background = {} # needs recipe update
+#orbutils-launcher = {} # needs recipe update
+#orbutils-orblogin = {} # needs recipe update
+osdemo = {}
+#pango = {} # undefined references to std::__throw_system_error(int)
+#pastel = {} # needs crate patches for redox-unix
+patch = {}
+#pathfinder = {} # servo-fontconfig
+#pciids = {}
+pcre = {}
+perg = {}
+periodictable = {}
+#perl = {} # ctermid, tempnam, ttyname
+pixelcannon = {}
+pixman = {}
+#pkgar = {} # uses virtual Cargo.toml, needs recipe update
+pkg-config = {}
+pkgutils = {}
+#powerline = {} # dirs
+prboom = {}
+procedural-wallpapers-rs = {}
+ptyd = {}
+#python = {} # getaddrinfo
+#qemu = {}
+ramfs = {}
+randd = {}
+readline = {}
+redoxerd = {}
+redox-fatfs = {}
+redoxfs = {}
+redox-ssh = {}
+relibc = {}
+#relibc-tests = {} # madvise link error
+resist = {}
+#retroarch = {} # OS_TLSIndex not declared
+ripgrep = {}
+rodioplay = {}
+rs-nes = {}
+rust = {}
+rust64 = {}
+rust-cairo = {}
+rust-cairo-demo = {}
+rustual-boy = {}
+schismtracker = {}
+scummvm = {}
+sdl = {}
+sdl2 = {}
+sdl2_gears = {}
+sdl2_image = {}
+sdl2_mixer = {}
+sdl2_ttf = {}
+sdl_gfx = {}
+sdl_image = {}
+sdl_mixer = {}
+#sdl-player = {} # wctype_t
+sdl_ttf = {}
+sed = {}
+#servo = {} # some more crates to port
+#shared-mime-info = {} # intltool-update out of date
+shellharden = {}
+shellstorm = {}
+smith = {}
+sodium = {}
+sopwith = {}
+#ssh = {}
+strace = {}
+syobonaction = {}
+terminfo = {}
+#termplay = {} # backtrace cannot find link.h
+timidity = {}
+ttf-hack = {}
+userutils = {}
+uutils = {}
+vice = {}
+vim = {}
+vttest = {}
+vvvvvv = {}
+#webrender = {} # unwind
+#wesnoth = {}
+#winit = {} # tzset
+xz = {}
+zerod = {}
+zlib = {}
diff --git a/config/aarch64/demo.toml b/config/aarch64/demo.toml
index 14e007405ce6addd1938344338030edd88ea51cf..495f8f2f33b5c12d1669e308d8d202d1eb1ddd16 100644
--- a/config/aarch64/demo.toml
+++ b/config/aarch64/demo.toml
@@ -1,9 +1,9 @@
-# Default desktop configuration
+# Default demo configuration
 
 # General settings
 [general]
 # Filesystem size in MiB
-filesystem_size = 256
+filesystem_size = 300
 # Do not prompt if settings are not defined
 prompt = false
 
@@ -43,6 +43,11 @@ smith = {}
 userutils = {}
 uutils = {}
 
+bash = {}
+git = {}
+curl = {}
+vim = {}
+
 # User settings
 [users.root]
 password = "password"
diff --git a/config/aarch64/desktop-minimal.toml b/config/aarch64/desktop-minimal.toml
new file mode 100644
index 0000000000000000000000000000000000000000..63113fefa4c36dfa1add165e762965bb4b71a19f
--- /dev/null
+++ b/config/aarch64/desktop-minimal.toml
@@ -0,0 +1,132 @@
+# Default desktop configuration
+
+# General settings
+[general]
+# Filesystem size in MiB
+filesystem_size = 128
+# Do not prompt if settings are not defined
+prompt = false
+
+# Package settings
+[packages]
+bootstrap = {}
+coreutils = {}
+escalated = {}
+extrautils = {}
+initfs = {}
+ion = {}
+ipcd = {}
+kernel = {}
+orbdata = {}
+orbital = {}
+orbterm = {}
+orbutils-background = {}
+orbutils-launcher = {}
+orbutils-orblogin = {}
+ptyd = {}
+smith = {}
+userutils = {}
+uutils = {}
+
+# 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
+escalated
+"""
+
+[[files]]
+path = "/etc/init.d/20_orbital"
+data = """
+orbital orblogin launcher
+"""
+
+[[files]]
+path = "/etc/init.d/30_console"
+data = """
+getty 2
+getty debug: -J
+"""
+
+[[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
diff --git a/config/aarch64/desktop.toml b/config/aarch64/desktop.toml
index 444673300beec6ae6e87fa6ed9d36f1424a90da3..93b8f9049d47e9953f4e9b73ef2e62bfb244f299 100644
--- a/config/aarch64/desktop.toml
+++ b/config/aarch64/desktop.toml
@@ -3,7 +3,7 @@
 # General settings
 [general]
 # Filesystem size in MiB
-filesystem_size = 256
+filesystem_size = 300
 # Do not prompt if settings are not defined
 prompt = false
 
@@ -43,6 +43,11 @@ smith = {}
 userutils = {}
 uutils = {}
 
+bash = {}
+git = {}
+curl = {}
+vim = {}
+
 # User settings
 [users.root]
 password = "password"
diff --git a/config/aarch64/dev.toml b/config/aarch64/dev.toml
new file mode 100644
index 0000000000000000000000000000000000000000..fff4de9bc69f25a512cbe864bc005db47276e60e
--- /dev/null
+++ b/config/aarch64/dev.toml
@@ -0,0 +1,217 @@
+# Configuration for development, includes cargo and rustc
+
+# General settings
+[general]
+# Filesystem size in MiB
+filesystem_size = 2048
+# 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 = {}
+
+# CLI programs
+
+bash = {}
+curl = {}
+git = {}
+terminfo = {}
+vim = {}
+
+
+# Development tools
+cargo = {}
+crates-io-index = {}
+gcc = {}
+gnu-binutils = {}
+gnu-make = {}
+rust = {}
+
+# User settings
+[users.root]
+password = "password"
+uid = 0
+gid = 0
+name = "root"
+home = "/root"
+
+[users.user]
+# Password is unset
+password = ""
+
+[[files]]
+path = "/home/user/example.rs"
+data = """
+fn main() {
+    println!("Hello, Redox!");
+}
+"""
+
+[[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 orblogin launcher
+"""
+
+[[files]]
+path = "/etc/init.d/30_console"
+data = """
+getty 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
diff --git a/config/aarch64/resist.toml b/config/aarch64/resist.toml
new file mode 100644
index 0000000000000000000000000000000000000000..d7d5a16f7759de18546fd6223224537c97990616
--- /dev/null
+++ b/config/aarch64/resist.toml
@@ -0,0 +1,176 @@
+# Configuration for using resist
+
+# General settings
+[general]
+# Filesystem size in MiB
+filesystem_size = 256
+# Do not prompt if settings are not defined
+prompt = false
+
+# Package settings
+[packages]
+bootloader = {}
+bootstrap = {}
+coreutils = {}
+dash = {}
+diffutils = {}
+drivers = {}
+escalated = {}
+extrautils = {}
+findutils = {}
+gcc = {}
+gnu-binutils = {}
+gnu-make = {}
+initfs = {}
+ipcd = {}
+kernel = {}
+netdb = {}
+netstack = {}
+netutils = {}
+ptyd = {}
+resist = {}
+userutils = {}
+uutils = {}
+
+# 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
+"""
+
+[[files]]
+path = "/etc/init.d/20_resist"
+data = """
+export RUST_BACKTRACE full
+resist /share/resist/redox/spec.toml
+resist /share/resist/posix/base.toml
+resist /share/resist/posix/shell.toml
+shutdown
+"""
+
+[[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
diff --git a/config/aarch64/server-minimal.toml b/config/aarch64/server-minimal.toml
new file mode 100644
index 0000000000000000000000000000000000000000..1ab47138f73e6bce42c10042f75b4fd4d3b4c1c0
--- /dev/null
+++ b/config/aarch64/server-minimal.toml
@@ -0,0 +1,121 @@
+# Minimal configuration
+
+# General settings
+[general]
+# Filesystem size in MiB
+filesystem_size = 64
+# Do not prompt if settings are not defined
+prompt = false
+
+# Package settings
+[packages]
+bootstrap = {}
+coreutils = {}
+escalated = {}
+extrautils = {}
+initfs = {}
+ion = {}
+ipcd = {}
+kernel = {}
+ptyd = {}
+smith = {}
+userutils = {}
+uutils = {}
+
+# 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
+escalated
+"""
+
+[[files]]
+path = "/etc/init.d/30_console"
+data = """
+inputd -A 2
+getty 2
+getty debug: -J
+"""
+
+[[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
diff --git a/config/aarch64/server.toml b/config/aarch64/server.toml
index aac5e955be03eddfb53902a4f2ee9b6848d73f4f..9afa4f41a227782ddcd42a46351d0d99e08baa0e 100644
--- a/config/aarch64/server.toml
+++ b/config/aarch64/server.toml
@@ -3,7 +3,7 @@
 # General settings
 [general]
 # Filesystem size in MiB
-filesystem_size = 256
+filesystem_size = 300
 # Do not prompt if settings are not defined
 prompt = false
 
@@ -40,6 +40,11 @@ smith = {}
 userutils = {}
 uutils = {}
 
+bash = {}
+git = {}
+curl = {}
+vim = {}
+
 # User settings
 [users.root]
 password = "password"
diff --git a/config/i686/acid.toml b/config/i686/acid.toml
new file mode 100644
index 0000000000000000000000000000000000000000..57c064a61737e7685f35b973641ad876a7ad0743
--- /dev/null
+++ b/config/i686/acid.toml
@@ -0,0 +1,86 @@
+# Configuration for using acid
+
+# General settings
+[general]
+# Filesystem size in MiB
+filesystem_size = 256
+# Do not prompt if settings are not defined
+prompt = false
+
+# Package settings
+[packages]
+bootloader = {}
+bootstrap = {}
+acid = {}
+coreutils = {}
+# TODO: Does this need escalated?
+escalated = {}
+initfs = {}
+ion = {}
+ipcd = {}
+kernel = {}
+ptyd = {}
+
+# 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
+escalated
+"""
+
+[[files]]
+path = "/etc/init.d/10_acid"
+data = """
+export RUST_BACKTRACE full
+acid
+acid create_test
+acid switch
+acid tls
+acid thread
+shutdown
+"""
+
+[[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
diff --git a/config/i686/demo.toml b/config/i686/demo.toml
index d6c2173c46fa4495e66b7a6a596d41316ae1c1d1..a39ee554aa5b7dcf5d31545840bbcf1a1b540e29 100644
--- a/config/i686/demo.toml
+++ b/config/i686/demo.toml
@@ -66,6 +66,11 @@ smith = {}
 userutils = {}
 uutils = {}
 
+bash = {}
+git = {}
+curl = {}
+vim = {}
+
 # Games
 dosbox = {}
 freedoom = {}
diff --git a/config/i686/desktop.toml b/config/i686/desktop.toml
index 2ae08fc998b43ce62f7011a95d739ec43417ee82..aa0c35de62f88749e09ec3218577e4c92c470e08 100644
--- a/config/i686/desktop.toml
+++ b/config/i686/desktop.toml
@@ -3,7 +3,7 @@
 # General settings
 [general]
 # Filesystem size in MiB
-filesystem_size = 256
+filesystem_size = 300
 # Do not prompt if settings are not defined
 prompt = false
 
@@ -44,6 +44,11 @@ smith = {}
 userutils = {}
 uutils = {}
 
+bash = {}
+git = {}
+curl = {}
+vim = {}
+
 # User settings
 [users.root]
 password = "password"
diff --git a/config/i686/dev.toml b/config/i686/dev.toml
new file mode 100644
index 0000000000000000000000000000000000000000..fff4de9bc69f25a512cbe864bc005db47276e60e
--- /dev/null
+++ b/config/i686/dev.toml
@@ -0,0 +1,217 @@
+# Configuration for development, includes cargo and rustc
+
+# General settings
+[general]
+# Filesystem size in MiB
+filesystem_size = 2048
+# 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 = {}
+
+# CLI programs
+
+bash = {}
+curl = {}
+git = {}
+terminfo = {}
+vim = {}
+
+
+# Development tools
+cargo = {}
+crates-io-index = {}
+gcc = {}
+gnu-binutils = {}
+gnu-make = {}
+rust = {}
+
+# User settings
+[users.root]
+password = "password"
+uid = 0
+gid = 0
+name = "root"
+home = "/root"
+
+[users.user]
+# Password is unset
+password = ""
+
+[[files]]
+path = "/home/user/example.rs"
+data = """
+fn main() {
+    println!("Hello, Redox!");
+}
+"""
+
+[[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 orblogin launcher
+"""
+
+[[files]]
+path = "/etc/init.d/30_console"
+data = """
+getty 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
diff --git a/config/i686/resist.toml b/config/i686/resist.toml
new file mode 100644
index 0000000000000000000000000000000000000000..d7d5a16f7759de18546fd6223224537c97990616
--- /dev/null
+++ b/config/i686/resist.toml
@@ -0,0 +1,176 @@
+# Configuration for using resist
+
+# General settings
+[general]
+# Filesystem size in MiB
+filesystem_size = 256
+# Do not prompt if settings are not defined
+prompt = false
+
+# Package settings
+[packages]
+bootloader = {}
+bootstrap = {}
+coreutils = {}
+dash = {}
+diffutils = {}
+drivers = {}
+escalated = {}
+extrautils = {}
+findutils = {}
+gcc = {}
+gnu-binutils = {}
+gnu-make = {}
+initfs = {}
+ipcd = {}
+kernel = {}
+netdb = {}
+netstack = {}
+netutils = {}
+ptyd = {}
+resist = {}
+userutils = {}
+uutils = {}
+
+# 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
+"""
+
+[[files]]
+path = "/etc/init.d/20_resist"
+data = """
+export RUST_BACKTRACE full
+resist /share/resist/redox/spec.toml
+resist /share/resist/posix/base.toml
+resist /share/resist/posix/shell.toml
+shutdown
+"""
+
+[[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
diff --git a/config/i686/server.toml b/config/i686/server.toml
index c04f6fb4ef18d53b4eddf6876e0c1dc77849355a..d32b8874c87e41a11e687141c899ef8e53d48ebe 100644
--- a/config/i686/server.toml
+++ b/config/i686/server.toml
@@ -3,7 +3,7 @@
 # General settings
 [general]
 # Filesystem size in MiB
-filesystem_size = 128
+filesystem_size = 150
 # Do not prompt if settings are not defined
 prompt = false
 
@@ -36,6 +36,11 @@ smith = {}
 userutils = {}
 uutils = {}
 
+bash = {}
+git = {}
+curl = {}
+vim = {}
+
 # User settings
 [users.root]
 password = "password"
diff --git a/config/x86_64/demo.toml b/config/x86_64/demo.toml
index 0a617e6dd350dc0cbc6871471dd414bf29bb0a86..cb6a2af1c49fece2dce5af8711ad56af0a2cd6dd 100644
--- a/config/x86_64/demo.toml
+++ b/config/x86_64/demo.toml
@@ -70,6 +70,7 @@ uutils = {}
 periodictable = {}
 
 # Shell Apps
+
 bash = {}
 binutils = {}
 curl = {}
@@ -77,6 +78,7 @@ git = {}
 gnu-grep = {}
 ripgrep = {}
 sodium = {}
+vim = {}
 
 # Games
 dosbox = {}
diff --git a/config/x86_64/desktop-minimal.toml b/config/x86_64/desktop-minimal.toml
new file mode 100644
index 0000000000000000000000000000000000000000..63113fefa4c36dfa1add165e762965bb4b71a19f
--- /dev/null
+++ b/config/x86_64/desktop-minimal.toml
@@ -0,0 +1,132 @@
+# Default desktop configuration
+
+# General settings
+[general]
+# Filesystem size in MiB
+filesystem_size = 128
+# Do not prompt if settings are not defined
+prompt = false
+
+# Package settings
+[packages]
+bootstrap = {}
+coreutils = {}
+escalated = {}
+extrautils = {}
+initfs = {}
+ion = {}
+ipcd = {}
+kernel = {}
+orbdata = {}
+orbital = {}
+orbterm = {}
+orbutils-background = {}
+orbutils-launcher = {}
+orbutils-orblogin = {}
+ptyd = {}
+smith = {}
+userutils = {}
+uutils = {}
+
+# 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
+escalated
+"""
+
+[[files]]
+path = "/etc/init.d/20_orbital"
+data = """
+orbital orblogin launcher
+"""
+
+[[files]]
+path = "/etc/init.d/30_console"
+data = """
+getty 2
+getty debug: -J
+"""
+
+[[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
diff --git a/config/x86_64/desktop.toml b/config/x86_64/desktop.toml
index 2ae08fc998b43ce62f7011a95d739ec43417ee82..aa0c35de62f88749e09ec3218577e4c92c470e08 100644
--- a/config/x86_64/desktop.toml
+++ b/config/x86_64/desktop.toml
@@ -3,7 +3,7 @@
 # General settings
 [general]
 # Filesystem size in MiB
-filesystem_size = 256
+filesystem_size = 300
 # Do not prompt if settings are not defined
 prompt = false
 
@@ -44,6 +44,11 @@ smith = {}
 userutils = {}
 uutils = {}
 
+bash = {}
+git = {}
+curl = {}
+vim = {}
+
 # User settings
 [users.root]
 password = "password"
diff --git a/config/x86_64/dev.toml b/config/x86_64/dev.toml
index a82f07d0c94f0a26fcf55d91bb3506de0171317f..fff4de9bc69f25a512cbe864bc005db47276e60e 100644
--- a/config/x86_64/dev.toml
+++ b/config/x86_64/dev.toml
@@ -45,6 +45,8 @@ userutils = {}
 uutils = {}
 
 # CLI programs
+
+bash = {}
 curl = {}
 git = {}
 terminfo = {}
diff --git a/config/x86_64/server-minimal.toml b/config/x86_64/server-minimal.toml
new file mode 100644
index 0000000000000000000000000000000000000000..1ab47138f73e6bce42c10042f75b4fd4d3b4c1c0
--- /dev/null
+++ b/config/x86_64/server-minimal.toml
@@ -0,0 +1,121 @@
+# Minimal configuration
+
+# General settings
+[general]
+# Filesystem size in MiB
+filesystem_size = 64
+# Do not prompt if settings are not defined
+prompt = false
+
+# Package settings
+[packages]
+bootstrap = {}
+coreutils = {}
+escalated = {}
+extrautils = {}
+initfs = {}
+ion = {}
+ipcd = {}
+kernel = {}
+ptyd = {}
+smith = {}
+userutils = {}
+uutils = {}
+
+# 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
+escalated
+"""
+
+[[files]]
+path = "/etc/init.d/30_console"
+data = """
+inputd -A 2
+getty 2
+getty debug: -J
+"""
+
+[[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
diff --git a/config/x86_64/server.toml b/config/x86_64/server.toml
index 1655d259a16d370f62f82123f3193c4613899342..60fe6c576f690e4bd8426a5cc97eda984aec8749 100644
--- a/config/x86_64/server.toml
+++ b/config/x86_64/server.toml
@@ -3,7 +3,7 @@
 # General settings
 [general]
 # Filesystem size in MiB
-filesystem_size = 256
+filesystem_size = 300
 # Do not prompt if settings are not defined
 prompt = false
 
@@ -36,6 +36,11 @@ smith = {}
 userutils = {}
 uutils = {}
 
+bash = {}
+git = {}
+curl = {}
+vim = {}
+
 # User settings
 [users.root]
 password = "password"