diff --git a/samples/build_system.dcfg b/samples/build_system.dcfg new file mode 100644 index 0000000..68b981f --- /dev/null +++ b/samples/build_system.dcfg @@ -0,0 +1,21 @@ +fn lib = { + targets = [ + { + name = 'kernel' + source = 'src/kernel' + output = 'bin/kernel.elf' + options = { + optimization = 'O2' + debug = false + } + } + { + name = 'initrd' + source = 'src/initrd' + output = 'bin/initrd.img' + } + ] + + parallel_jobs = 8 + cache.enable = true +} diff --git a/samples/disks.dcfg b/samples/disks.dcfg new file mode 100644 index 0000000..ebd55ff --- /dev/null +++ b/samples/disks.dcfg @@ -0,0 +1,13 @@ +fn lib = { + partitions.aliases = { + root = "hd0p2" + boot = "hd0p1" + swap = "hd0p3" + } + + partitions = { + automount = [ 'boot' 'root' ] + swap.enable = true + swap.size = 2g + } +} diff --git a/samples/network.dcfg b/samples/network.dcfg new file mode 100644 index 0000000..81ebcd2 --- /dev/null +++ b/samples/network.dcfg @@ -0,0 +1,23 @@ +fn lib = { + enable = true + + interfaces = { + eth0.ip = '192.168.0.10' + eth0.gateway = '192.168.0.1' + eth0.dns = [ '8.8.8.8' '1.1.1.1' ] + + wlan0 = { + ssid = "HomeWiFi" + password = "super_secret" + dhcp = on + } + } + + firewall = { + tcp = (lib.join + [ 22 80 443 ] + (lib.list_from_range 3000 3010) + ) + udp = [ 53 123 ] + } +} diff --git a/samples/services.dcfg b/samples/services.dcfg new file mode 100644 index 0000000..e0f3f08 --- /dev/null +++ b/samples/services.dcfg @@ -0,0 +1,20 @@ +fn lib = (lib.join + [ + { + stage = 'boot' + every = 7d + action.command = 'logrotate("/var/log/*.log")' + } + { + stage = 'network' + after = 'boot' + action.binary = root:/System/Programs/NetworkManager + } + { + stage = 'gui' + after = 'network' + action.binary = root:/System/Programs/DisplayManager + } + ] + (import root:/System/Services/ssh.conf lib) +) diff --git a/samples/web_server.dcfg b/samples/web_server.dcfg new file mode 100644 index 0000000..2c0565d --- /dev/null +++ b/samples/web_server.dcfg @@ -0,0 +1,18 @@ +fn lib = { + enable = true + host = '0.0.0.0' + port = 8080 + document_root = /www + + ssl = { + enable = on + cert = /etc/ssl/server.crt + key = /etc/ssl/server.key + } + + logging = { + level = 'info' + access_log = /var/log/httpd/access.log + error_log = /var/log/httpd/error.log + } +} diff --git a/samples/window_manager.dcfg b/samples/window_manager.dcfg new file mode 100644 index 0000000..da82e21 --- /dev/null +++ b/samples/window_manager.dcfg @@ -0,0 +1,9 @@ +fn lib = { + keybindings = [ + { key = 'Main-Shift-Escape' action = lib.quit_wm } + { key = 'Main-Shift-Q' action = lib.kill_application } + { key = 'Main-Shift-C' action = lib.close_application } + { key = 'Main-Space' action = (lib.execute 'alacritty') } + ] +} +