forked from AbleOS/ableos
114 lines
2.5 KiB
Common Lisp
114 lines
2.5 KiB
Common Lisp
|
;;;;;;;;;;;
|
||
|
;; 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 <repo> <pkg-name>
|
||
|
;; 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)
|