From 72cf91a928d2d8d378338e81b1ef7158883bf343 Mon Sep 17 00:00:00 2001 From: Able Date: Tue, 10 Dec 2024 08:43:47 -0600 Subject: [PATCH] proposed replacement for system.toml --- sysdata/system.lisp | 114 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 sysdata/system.lisp diff --git a/sysdata/system.lisp b/sysdata/system.lisp new file mode 100644 index 0000000..892f6cb --- /dev/null +++ b/sysdata/system.lisp @@ -0,0 +1,114 @@ +;;;;;;;;;;; +;; Repos ;; +;;;;;;;;;;; + +;; This is the core repo that is used for core things like networking ;; +(use-repo core "https://repo.ablecorp.us/core") +;; Add a secondary repo ;; +;; (use-repo able "https://repo.ablecorp.us/able") + +;; Set the default pkg-install to be binary ;; +(pkg-defaults binary:true) + +;; Install compilers ;; +;; pkg-install +;; pkg-name : A string or atom to search. +(pkg-install core hblang2) +;; Install the rust compiler ;; +(pkg-install core rustc) +(pkg-install core clang) + +;;;;;;;;;;;;;;; +;; Compilers ;; +;;;;;;;;;;;;;;; + +;; Set default compilers to use ;; +;; the dev tool pulls from this ;; +(compilers + hblang: 'hblang2 + rust: 'rustc + ;; Clang is not supported :thumbsup: + ;; c: 'clang +) + +;;;;;;;;;;;;;;;;; +;; Boot Loader ;; +;;;;;;;;;;;;;;;;; +(pkg-install core limine) + +(def limine_res (resolution 1024 768 24)) +(boot-loader + default-entry:1 + timeout:0 + interface_resolution: 'limine_res) + +(boot-loader-entry "ableos" + comment: "Default AbleOS boot entry." + protocol: "limine" + kernel_path: "boot:///kernel_${ARCH}" + kernel_cmdline: "" + resolution: 'limine_res) + +(boot-loader-entry "ableos-no-cluster" + comment: "Default AbleOS boot entry." + protocol: "limine" + kernel_path: "boot:///kernel_${ARCH}" + kernel_cmdline: "cluster=false" + resolution: 'limine_res) + +;;;;;;;;;;;;;;;;;;;; +;; Kernel Options ;; +;;;;;;;;;;;;;;;;;;;; + +;; A kernel package is required +(pkg-install core kernel-rust) + +;; Set the kernel to be used by ableOS ;; +;; Maybe set a default if this isn't set? ;; +;; Must be installed already ;; +(kernel 'kernel-rust) + +;;;;;;;;;;;; +;; Config ;; +;;;;;;;;;;;; + +;; Install packages ;; +(pkg-install core sunset) +(pkg-install core ps2-driver) + +;; A list of programs to run on startup ;; +(start '()) + +;; A list of programs to add to the driver supervisor ;; +(start-driver '(ps2-driver)) + +;; Set the window system to be used by ableOS ;; +;; Must be installed already ;; +;; adds the window system to the driver supervisor ;; +;; (def window-system (fn (a) (start-driver a))) +(window-system 'sunset) + +;;;;;;;;;;;;;;;; +;; Networking ;; +;;;;;;;;;;;;;;;; + +(networking + ;; set the network hostname + ;; TODO Namespace this somehow ;; + (hostname "ableOS") + ;; use dhcp to find an ip ;; + (ipv4 dhcp) + (ipv6 dhcp) + ;; Set the time server ;; + (ntp "time.nist.gov") + (dns 'router-dns-steal)) + +;;;;;;;;;;;;;;;;;;;;;; +;; Cluster Software ;; +;;;;;;;;;;;;;;;;;;;;;; + +;; Install the cluster software ;; +(pkg-install core cluster) + +;; Defaults to false ;; +(cluster enabled:false) \ No newline at end of file