Initial commit
commit
77c068cc4a
|
@ -0,0 +1,2 @@
|
|||
result
|
||||
result-*
|
|
@ -0,0 +1,341 @@
|
|||
let Genode = env:DHALL_GENODE
|
||||
|
||||
in λ ( _
|
||||
: {}
|
||||
)
|
||||
→ Genode.Init::{
|
||||
, verbose = True
|
||||
, children =
|
||||
toMap
|
||||
{ timer =
|
||||
Genode.Init.Start::{
|
||||
, binary = "timer"
|
||||
, resources = { caps = 96, ram = Genode.units.MiB 1 }
|
||||
, provides = [ "Timer" ]
|
||||
}
|
||||
, report_rom =
|
||||
Genode.Init.Start::{
|
||||
, binary = "report_rom"
|
||||
, resources = { caps = 96, ram = Genode.units.MiB 1 }
|
||||
, provides = [ "ROM", "Report" ]
|
||||
, config =
|
||||
Some
|
||||
( Genode.Prelude.XML.text
|
||||
''
|
||||
<config verbose="no">
|
||||
<policy label="leitzentrale_config -> leitzentrale"
|
||||
report="global_keys_handler -> leitzentrale"/>
|
||||
<policy label="leitzentrale -> manager -> nitpicker_hover"
|
||||
report="nitpicker -> hover"/>
|
||||
<policy label="pointer -> hover" report="nitpicker -> hover"/>
|
||||
<policy label="pointer -> xray"
|
||||
report="global_keys_handler -> leitzentrale"/>
|
||||
<policy label="pointer -> shape" report="shape"/>
|
||||
<policy label="clipboard -> focus" report="nitpicker -> focus"/>
|
||||
<policy label="capslock" report="global_keys_handler -> capslock"/>
|
||||
<policy label="numlock" report="global_keys_handler -> numlock"/>
|
||||
<policy label="runtime -> clicked" report="nitpicker -> clicked"/>
|
||||
<policy label="nit_focus -> leitzentrale"
|
||||
report="global_keys_handler -> leitzentrale"/>
|
||||
<policy label="nit_focus -> hover" report="nitpicker -> hover"/>
|
||||
<policy label="leitzentrale -> manager -> displays"
|
||||
report="nitpicker -> displays"/>
|
||||
<policy label="runtime -> runtime_view -> dialog"
|
||||
report="leitzentrale -> manager -> runtime_view_dialog"/>
|
||||
<policy label="leitzentrale -> manager -> runtime_view_hover"
|
||||
report="runtime -> runtime_view -> hover"/>
|
||||
</config>
|
||||
''
|
||||
)
|
||||
}
|
||||
, report_logger =
|
||||
Genode.Init.Start::{
|
||||
, binary = "report_rom"
|
||||
, resources = { caps = 96, ram = Genode.units.MiB 1 }
|
||||
, provides = [ "ROM", "Report" ]
|
||||
, config =
|
||||
Some (Genode.Prelude.XML.text "<config verbose=\"yes\"/>")
|
||||
}
|
||||
, config_fs =
|
||||
Genode.Init.Start::{
|
||||
, binary = "vfs"
|
||||
, resources = { caps = 128, ram = Genode.units.MiB 12 }
|
||||
, provides = [ "File_system" ]
|
||||
, config =
|
||||
Some
|
||||
( Genode.Prelude.XML.text
|
||||
''
|
||||
<config>
|
||||
<vfs>
|
||||
<ram/>
|
||||
<import>
|
||||
<dir name="managed">
|
||||
<rom name="fonts" label="fonts.config"/>
|
||||
<rom name="fb_drv" label="fb_drv.config"/>
|
||||
<rom name="wifi" label="wifi.config"/>
|
||||
<rom name="installation"/>
|
||||
<rom name="runtime" label="empty_runtime.config"/>
|
||||
<rom name="input_filter" label="input_filter.config"/>
|
||||
<inline name="depot_query"><query/></inline>
|
||||
</dir>
|
||||
<rom name="input_filter" label="input_filter.config"/>
|
||||
<rom name="fb_drv" label="fb_drv.config"/>
|
||||
<rom name="nitpicker" label="nitpicker.config"/>
|
||||
<rom name="numlock_remap" label="numlock_remap.config"/>
|
||||
<rom name="leitzentrale" label="leitzentrale.config"/>
|
||||
<rom name="drivers" label="drivers.config"/>
|
||||
<rom name="deploy" label="manual_deploy.config"/>
|
||||
<rom name="usb" label="usb.config"/>
|
||||
<rom name="clipboard" label="clipboard.config"/>
|
||||
<rom name="en_us.chargen"/>
|
||||
<rom name="special.chargen"/>
|
||||
<inline name="system">} [config_system_content] {
|
||||
</inline>
|
||||
</import>
|
||||
</vfs>
|
||||
<policy label="config_fs_rom -> " root="/" />
|
||||
<policy label="rw" root="/" writeable="yes" />
|
||||
</config>
|
||||
''
|
||||
)
|
||||
}
|
||||
, config_fs_rom =
|
||||
Genode.Init.Start::{
|
||||
, binary = "fs_rom"
|
||||
, resources = { caps = 128, ram = Genode.units.MiB 10 }
|
||||
, provides = [ "ROM" ]
|
||||
, routes =
|
||||
[ Genode.ServiceRoute.child "File_system" "config_fs" ]
|
||||
}
|
||||
, report_fs_rom =
|
||||
Genode.Init.Start::{
|
||||
, binary = "fs_rom"
|
||||
, resources = { caps = 128, ram = Genode.units.MiB 3 }
|
||||
, provides = [ "ROM" ]
|
||||
, routes =
|
||||
[ Genode.ServiceRoute.child "File_system" "report_fs" ]
|
||||
}
|
||||
, report_fs =
|
||||
Genode.Init.Start::{
|
||||
, binary = "ram_fs"
|
||||
, resources = { caps = 128, ram = Genode.units.MiB 16 }
|
||||
, provides = [ "File_system" ]
|
||||
, config =
|
||||
Some
|
||||
( Genode.Prelude.XML.text
|
||||
''
|
||||
<config>
|
||||
<content>
|
||||
<inline name="log">### start ###</inline>
|
||||
<dir name="runtime">
|
||||
<inline name="state"><empty/></inline>
|
||||
<dir name="wifi_drv">
|
||||
<inline name="accesspoints"><empty/></inline>
|
||||
<inline name="state"> <empty/></inline>
|
||||
</dir>
|
||||
<dir name="nic_router">
|
||||
<inline name="state"><empty/></inline> </dir>
|
||||
<dir name="update">
|
||||
<inline name="state"><empty/></inline> </dir>
|
||||
<dir name="depot_query">
|
||||
<inline name="blueprint"><empty/></inline> </dir>
|
||||
</dir>
|
||||
</content>
|
||||
<policy label="fs_report -> "
|
||||
root="/" writeable="yes"/>
|
||||
<policy label="log_terminal -> "
|
||||
root="/" writeable="yes"/>
|
||||
<policy label="report_fs_rom -> "
|
||||
root="/"/>
|
||||
<policy label="ro"
|
||||
root="/"/>
|
||||
</config>
|
||||
''
|
||||
)
|
||||
}
|
||||
, fs_report =
|
||||
Genode.Init.Start::{
|
||||
, binary = "fs_report"
|
||||
, provides = [ "Report" ]
|
||||
, config =
|
||||
Some
|
||||
( Genode.Prelude.XML.text
|
||||
"<config> <vfs> <fs/> </vfs> </config>"
|
||||
)
|
||||
, routes =
|
||||
[ Genode.ServiceRoute.child "File_system" "report_fs" ]
|
||||
}
|
||||
, drivers =
|
||||
Genode.Init.Start::{
|
||||
, binary = "init"
|
||||
, constrainPhys = True
|
||||
, resources = { caps = 3000, ram = Genode.units.MiB 96 }
|
||||
, provides =
|
||||
[ "Input", "Framebuffer", "Block", "Usb", "Platform" ]
|
||||
, routes =
|
||||
[ Genode.ServiceRoute.parent "IO_MEM"
|
||||
, Genode.ServiceRoute.parent "IO_PORT"
|
||||
, Genode.ServiceRoute.parent "IRQ"
|
||||
, Genode.ServiceRoute.parentLabel
|
||||
"ROM"
|
||||
(Some "config")
|
||||
(Some "drivers.config")
|
||||
, Genode.ServiceRoute.child "Timer" "timer"
|
||||
, Genode.ServiceRoute.child "Report" "fs_report"
|
||||
, Genode.ServiceRoute.childLabel
|
||||
"ROM"
|
||||
"config_fs_rom"
|
||||
(Some "usb_policy")
|
||||
(Some "usb_policy")
|
||||
, Genode.ServiceRoute.childLabel
|
||||
"ROM"
|
||||
"report_rom"
|
||||
(Some "capslock")
|
||||
(Some "capslock")
|
||||
, Genode.ServiceRoute.childLabel
|
||||
"ROM"
|
||||
"report_rom"
|
||||
(Some "numlock")
|
||||
(Some "numlock")
|
||||
]
|
||||
}
|
||||
, nitpicker =
|
||||
Genode.Init.Start::{
|
||||
, binary = "nitpicker"
|
||||
, resources = { caps = 1000, ram = Genode.units.MiB 6 }
|
||||
, provides = [ "Nitpicker" ]
|
||||
, routes =
|
||||
[ Genode.ServiceRoute.childLabel
|
||||
"ROM"
|
||||
"config_fs_rom"
|
||||
(Some "config")
|
||||
(Some "nitpicker")
|
||||
, Genode.ServiceRoute.childLabel
|
||||
"ROM"
|
||||
"nit_focus"
|
||||
(Some "focus")
|
||||
(Some "focus")
|
||||
, Genode.ServiceRoute.childLabel
|
||||
"Report"
|
||||
"report_logger"
|
||||
(Some "keystate")
|
||||
(Some "keystate")
|
||||
, Genode.ServiceRoute.child "Report" "report_rom"
|
||||
, Genode.ServiceRoute.child "Framebuffer" "drivers"
|
||||
, Genode.ServiceRoute.child "Input" "drivers"
|
||||
, Genode.ServiceRoute.child "Timer" "timer"
|
||||
]
|
||||
}
|
||||
, nit_focus =
|
||||
Genode.Init.Start::{
|
||||
, binary = "rom_filter"
|
||||
, provides = [ "ROM" ]
|
||||
, config =
|
||||
Some
|
||||
( Genode.Prelude.XML.text
|
||||
''
|
||||
<config>
|
||||
<input name="lockscreen_enabled" rom="hover" node="hover">
|
||||
<attribute name="label" /> </input>
|
||||
<input name="leitzentrale_enabled" rom="leitzentrale" node="leitzentrale">
|
||||
<attribute name="enabled" /> </input>
|
||||
<output node="focus">
|
||||
<if>
|
||||
<has_value input="lockscreen_enabled" value="lock_screen" />
|
||||
<then>
|
||||
<attribute name="label" value="lock_screen"/>
|
||||
</then>
|
||||
<else>
|
||||
<if>
|
||||
<has_value input="leitzentrale_enabled" value="yes" />
|
||||
<then>
|
||||
<attribute name="label" value="leitzentrale -> manager -> fader -> "/>
|
||||
</then>
|
||||
<else>
|
||||
<attribute name="label" value="runtime -> focus"/>
|
||||
</else>
|
||||
</if>
|
||||
</else>
|
||||
</if>
|
||||
</output>
|
||||
</config>
|
||||
''
|
||||
)
|
||||
, routes =
|
||||
[ Genode.ServiceRoute.childLabel
|
||||
"ROM"
|
||||
"report_rom"
|
||||
(Some "hover")
|
||||
(None Text)
|
||||
, Genode.ServiceRoute.childLabel
|
||||
"ROM"
|
||||
"report_rom"
|
||||
(Some "leitzentrale")
|
||||
(None Text)
|
||||
, Genode.ServiceRoute.childLabel
|
||||
"ROM"
|
||||
"report_rom"
|
||||
(Some "slides")
|
||||
(None Text)
|
||||
]
|
||||
}
|
||||
, pointer =
|
||||
Genode.Init.Start::{
|
||||
, binary = "pointer"
|
||||
, resources = { caps = 128, ram = Genode.units.MiB 2 }
|
||||
, provides = [ "Report" ]
|
||||
, config =
|
||||
Some (Genode.Prelude.XML.text "<config shapes=\"yes\"/>")
|
||||
, routes =
|
||||
[ Genode.ServiceRoute.child "Nitpicker" "nitpicker"
|
||||
, Genode.ServiceRoute.childLabel
|
||||
"ROM"
|
||||
"report_rom"
|
||||
(Some "hover")
|
||||
(None Text)
|
||||
, Genode.ServiceRoute.childLabel
|
||||
"ROM"
|
||||
"report_rom"
|
||||
(Some "xray")
|
||||
(None Text)
|
||||
]
|
||||
}
|
||||
, global_keys_handler =
|
||||
Genode.Init.Start::{
|
||||
, binary = "global_keys_handler"
|
||||
, config =
|
||||
Some
|
||||
( Genode.Prelude.XML.text
|
||||
''
|
||||
<config>
|
||||
<bool name="leitzentrale" initial="yes"/>
|
||||
<bool name="capslock" initial="no"/>
|
||||
<bool name="numlock" initial="no"/>
|
||||
<bool name="slides" initial="no"/>
|
||||
|
||||
<press name="KEY_PRESENTATION" bool="slides" change="toggle"/>
|
||||
<press name="KEY_DASHBOARD" bool="leitzentrale" change="toggle"/>
|
||||
<press name="KEY_CAPSLOCK" bool="capslock" change="toggle"/>
|
||||
<press name="KEY_NUMLOCK" bool="numlock" change="toggle"/>
|
||||
|
||||
<report name="leitzentrale"> <bool name="leitzentrale"/> </report>
|
||||
<report name="capslock"> <bool name="capslock"/> </report>
|
||||
<report name="numlock"> <bool name="numlock"/> </report>
|
||||
<report name="slides"> <bool name="slides"/> </report>
|
||||
</config>
|
||||
''
|
||||
)
|
||||
, routes =
|
||||
[ Genode.ServiceRoute.child "Report" "report_rom"
|
||||
, Genode.ServiceRoute.child "Nitpicker" "nitpicker"
|
||||
, Genode.ServiceRoute.child "Timer" "timer"
|
||||
]
|
||||
}
|
||||
, rtc_drv =
|
||||
Genode.Init.Start::{
|
||||
, binary = "rtc_drv"
|
||||
, provides = [ "Rtc" ]
|
||||
, routes = [ Genode.ServiceRoute.parent "IO_PORT" ]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,232 @@
|
|||
<config prio_levels="2">
|
||||
|
||||
<parent-provides>
|
||||
<service name="ROM"/>
|
||||
<service name="IRQ"/>
|
||||
<service name="IO_MEM"/>
|
||||
<service name="IO_PORT"/>
|
||||
<service name="PD"/>
|
||||
<service name="RM"/>
|
||||
<service name="CPU"/>
|
||||
<service name="LOG"/>
|
||||
<service name="Timer"/>
|
||||
<service name="Report"/>
|
||||
</parent-provides>
|
||||
|
||||
<default-route>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</default-route>
|
||||
|
||||
<default caps="100"/>
|
||||
|
||||
<service name="Framebuffer">
|
||||
<default-policy> <child name="dynamic"/> </default-policy> </service>
|
||||
|
||||
<service name="Block">
|
||||
<default-policy> <child name="dynamic"/> </default-policy> </service>
|
||||
|
||||
<service name="Usb">
|
||||
<default-policy> <child name="usb_drv"/> </default-policy> </service>
|
||||
|
||||
<service name="Platform">
|
||||
<default-policy> <child name="platform_drv"/> </default-policy> </service>
|
||||
|
||||
<service name="Input">
|
||||
<default-policy> <child name="input_filter"/> </default-policy> </service>
|
||||
|
||||
<start name="report_rom">
|
||||
<resource name="RAM" quantum="2M"/>
|
||||
<provides> <service name="Report"/> <service name="ROM"/> </provides>
|
||||
<config verbose="no">
|
||||
<policy label="platform_drv -> acpi" report="acpi_drv -> acpi"/>
|
||||
<policy label="driver_manager -> pci_devices" report="platform_drv -> pci"/>
|
||||
<policy label="usb_drv -> config" report="driver_manager -> usb_drv.config"/>
|
||||
<policy label="driver_manager -> usb_devices" report="usb_drv -> devices"/>
|
||||
<policy label="dynamic -> config" report="driver_manager -> init.config"/>
|
||||
<policy label="driver_manager -> ahci_ports" report="dynamic -> ahci_ports"/>
|
||||
<policy label="driver_manager -> nvme_ns" report="dynamic -> nvme_ns"/>
|
||||
<policy label="rom_reporter -> acpi" report="acpi_drv -> acpi"/>
|
||||
<policy label="rom_reporter -> pci_devices" report="platform_drv -> pci"/>
|
||||
<policy label="rom_reporter -> usb_devices" report="usb_drv -> devices"/>
|
||||
</config>
|
||||
</start>
|
||||
|
||||
<start name="rom_reporter">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<config>
|
||||
<rom label="acpi"/>
|
||||
<rom label="pci_devices"/>
|
||||
<rom label="usb_devices"/>
|
||||
</config>
|
||||
<route>
|
||||
<service name="ROM" label="acpi"> <child name="report_rom"/> </service>
|
||||
<service name="ROM" label="pci_devices"> <child name="report_rom"/> </service>
|
||||
<service name="ROM" label="usb_devices"> <child name="report_rom"/> </service>
|
||||
<service name="Report" label="acpi"> <parent label="acpi"/> </service>
|
||||
<service name="Report" label="pci_devices"> <parent label="pci_devices"/> </service>
|
||||
<service name="Report" label="usb_devices"> <parent label="usb_devices"/> </service>
|
||||
<service name="LOG"> <parent/> </service>
|
||||
<service name="PD"> <parent/> </service>
|
||||
<service name="CPU"> <parent/> </service>
|
||||
<service name="ROM"> <parent/> </service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="acpi_drv" caps="350" priority="-1">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<route>
|
||||
<service name="Report" label="acpi"> <child name="report_rom"/> </service>
|
||||
<service name="Report" label="smbios_table"> <parent label="smbios_table"/> </service>
|
||||
<service name="IO_MEM"> <parent/> </service>
|
||||
<service name="LOG"> <parent/> </service>
|
||||
<service name="PD"> <parent/> </service>
|
||||
<service name="RM"> <parent/> </service>
|
||||
<service name="CPU"> <parent/> </service>
|
||||
<service name="ROM"> <parent/> </service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="platform_drv" caps="400">
|
||||
<resource name="RAM" quantum="4M" constrain_phys="yes"/>
|
||||
<provides>
|
||||
<service name="Platform"/>
|
||||
<service name="Acpi"/>
|
||||
</provides>
|
||||
<route>
|
||||
<service name="ROM" label="system"> <parent label="system"/> </service>
|
||||
<service name="ROM" label="acpi"> <child name="report_rom"/> </service>
|
||||
<service name="Report" label="pci"> <child name="report_rom"/> </service>
|
||||
<service name="IRQ"> <parent/> </service>
|
||||
<service name="IO_MEM"> <parent/> </service>
|
||||
<service name="IO_PORT"> <parent/> </service>
|
||||
<service name="ROM"> <parent/> </service>
|
||||
<service name="PD"> <parent/> </service>
|
||||
<service name="CPU"> <parent/> </service>
|
||||
<service name="LOG"> <parent/> </service>
|
||||
<service name="Timer"> <parent/> </service>
|
||||
</route>
|
||||
<config system="yes">
|
||||
<report pci="yes"/>
|
||||
<policy label_prefix="ps2_drv"> <device name="PS2"/> </policy>
|
||||
<policy label_prefix="dynamic -> vesa_fb_drv"> <pci class="VGA"/> </policy>
|
||||
<policy label_prefix="dynamic -> ahci_drv"> <pci class="AHCI"/> </policy>
|
||||
<policy label_prefix="dynamic -> nvme_drv"> <pci class="NVME"/> </policy>
|
||||
<policy label_prefix="usb_drv"> <pci class="USB"/> </policy>
|
||||
<policy label_prefix="dynamic -> intel_fb_drv">
|
||||
<pci class="VGA"/>
|
||||
<pci bus="0" device="0" function="0"/>
|
||||
<pci class="ISABRIDGE"/>
|
||||
</policy>
|
||||
<policy label_suffix="-> wifi"> <pci class="WIFI"/> </policy>
|
||||
<policy label_suffix="-> nic"> <pci class="ETHERNET"/> </policy>
|
||||
<policy label_suffix="-> audio"> <pci class="AUDIO"/> <pci class="HDAUDIO"/> </policy>
|
||||
<policy label="acpica"> </policy>
|
||||
</config>
|
||||
</start>
|
||||
|
||||
<start name="usb_drv" caps="200" priority="-1">
|
||||
<resource name="RAM" quantum="16M"/>
|
||||
<provides> <service name="Input"/> <service name="Usb"/> </provides>
|
||||
<route>
|
||||
<service name="Platform"> <child name="platform_drv"/> </service>
|
||||
<service name="ROM" label="config">
|
||||
<child name="report_rom"/> </service>
|
||||
<service name="ROM" label="capslock"> <parent label="capslock"/> </service>
|
||||
<service name="ROM" label="numlock"> <parent label="numlock"/> </service>
|
||||
<service name="Report" label="devices"> <child name="report_rom"/> </service>
|
||||
<service name="Report" label="config"> <parent label="usb_active_config"/> </service>
|
||||
<service name="ROM"> <parent/> </service>
|
||||
<service name="PD"> <parent/> </service>
|
||||
<service name="RM"> <parent/> </service>
|
||||
<service name="CPU"> <parent/> </service>
|
||||
<service name="LOG"> <parent/> </service>
|
||||
<service name="Timer"> <parent/> </service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="ps2_drv" priority="0">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides> <service name="Input"/> </provides>
|
||||
<route>
|
||||
<service name="Platform"> <child name="platform_drv"/> </service>
|
||||
<service name="ROM"> <parent/> </service>
|
||||
<service name="PD"> <parent/> </service>
|
||||
<service name="CPU"> <parent/> </service>
|
||||
<service name="LOG"> <parent/> </service>
|
||||
<service name="Timer"> <parent/> </service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<!-- toggle key mappings depending on the numlock state -->
|
||||
<start name="numlock_remap_rom" priority="-1">
|
||||
<binary name="rom_filter"/>
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides> <service name="ROM"/> </provides>
|
||||
<route>
|
||||
<service name="ROM" label="config"> <parent label="numlock_remap.config"/> </service>
|
||||
<service name="ROM" label="numlock"> <parent label="numlock"/> </service>
|
||||
<any-service> <parent/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="input_filter" caps="90" priority="-1">
|
||||
<resource name="RAM" quantum="2M"/>
|
||||
<provides> <service name="Input"/> </provides>
|
||||
<route>
|
||||
<service name="ROM" label="config"> <parent label="input_filter.config"/> </service>
|
||||
<service name="ROM" label="numlock.remap"> <child name="numlock_remap_rom"/> </service>
|
||||
<service name="ROM" label="capslock"> <parent label="capslock"/> </service>
|
||||
<service name="Input" label="ps2"> <child name="ps2_drv"/> </service>
|
||||
<service name="Input" label="usb"> <child name="usb_drv"/> </service>
|
||||
<service name="ROM"> <parent/> </service>
|
||||
<service name="PD"> <parent/> </service>
|
||||
<service name="CPU"> <parent/> </service>
|
||||
<service name="LOG"> <parent/> </service>
|
||||
<service name="Timer"> <parent/> </service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="driver_manager" priority="-1">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<route>
|
||||
<service name="Report" label="init.config"> <child name="report_rom"/> </service>
|
||||
<service name="Report" label="usb_drv.config"> <child name="report_rom"/> </service>
|
||||
<service name="Report" label="block_devices"> <parent label="block_devices"/> </service>
|
||||
<service name="ROM" label="usb_devices"> <child name="report_rom"/> </service>
|
||||
<service name="ROM" label="pci_devices"> <child name="report_rom"/> </service>
|
||||
<service name="ROM" label="ahci_ports"> <child name="report_rom"/> </service>
|
||||
<service name="ROM" label="nvme_ns"> <child name="report_rom"/> </service>
|
||||
<service name="ROM" label="usb_policy"> <parent label="usb_policy"/> </service>
|
||||
<service name="LOG"> <parent/> </service>
|
||||
<service name="PD"> <parent/> </service>
|
||||
<service name="CPU"> <parent/> </service>
|
||||
<service name="ROM"> <parent/> </service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="dynamic" caps="1400" priority="0">
|
||||
<binary name="init"/>
|
||||
<resource name="RAM" quantum="1G"/>
|
||||
<provides>
|
||||
<service name="Framebuffer"/>
|
||||
<service name="Block"/>
|
||||
</provides>
|
||||
<route>
|
||||
<service name="Platform"> <child name="platform_drv"/> </service>
|
||||
<service name="Report" label="ahci_ports"> <child name="report_rom"/> </service>
|
||||
<service name="Report" label="nvme_ns"> <child name="report_rom"/> </service>
|
||||
<service name="Report"> <parent/> </service>
|
||||
<service name="Usb"> <child name="usb_drv"/> </service>
|
||||
<service name="ROM" label="config"> <child name="report_rom"/> </service>
|
||||
<service name="LOG"> <parent/> </service>
|
||||
<service name="PD"> <parent/> </service>
|
||||
<service name="RM"> <parent/> </service>
|
||||
<service name="CPU"> <parent/> </service>
|
||||
<service name="ROM"> <parent/> </service>
|
||||
<service name="IO_MEM"> <parent/> </service>
|
||||
<service name="IO_PORT"> <parent/> </service>
|
||||
<service name="Timer"> <parent/> </service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
</config>
|
|
@ -0,0 +1,75 @@
|
|||
{
|
||||
"inputs": {
|
||||
"dhall-haskell": {
|
||||
"inputs": {
|
||||
"nixpkgs": {
|
||||
"inputs": {},
|
||||
"narHash": "sha256-wJg4DA700SoQbEz61448sR6BgxRa1R92K3vvCV1g+HY=",
|
||||
"originalUrl": "git+https://github.com/nixos/nixpkgs.git?ref=18.09-beta&rev=1d4de0d552ae9aa66a5b8dee5fb0650a4372d148",
|
||||
"url": "git+https://github.com/nixos/nixpkgs.git?ref=18.09-beta&rev=1d4de0d552ae9aa66a5b8dee5fb0650a4372d148"
|
||||
},
|
||||
"nixpkgsStaticLinux": {
|
||||
"inputs": {},
|
||||
"narHash": "sha256-famU3pJZ4vkElV9qc71HmyRVSvcrAhfMZ0UJKpmmKP8=",
|
||||
"originalUrl": "git+https://github.com/nh2/nixpkgs.git?ref=static-haskell-nix-stack-dhall-working",
|
||||
"url": "git+https://github.com/nh2/nixpkgs.git?ref=static-haskell-nix-stack-dhall-working&rev=925aac04f4ca58aceb83beef18cb7dae0715421b"
|
||||
}
|
||||
},
|
||||
"narHash": "sha256-NGbS2bymVuCQcanlBO41I6ZjSAZSLXhACK3qQU25zUs=",
|
||||
"originalUrl": "git+https://github.com/dhall-lang/dhall-haskell?ref=flake",
|
||||
"url": "git+https://github.com/dhall-lang/dhall-haskell?ref=flake&rev=256810cd5adf1ae5862eed0ffdaab4cf49f6fe67"
|
||||
},
|
||||
"genode-depot": {
|
||||
"inputs": {
|
||||
"nixpkgs": {
|
||||
"inputs": {},
|
||||
"narHash": "sha256-Y5ZOTgInrYYoas3vM8uTPLA2DvFI9YoI6haftIKl9go=",
|
||||
"originalUrl": "nixpkgs",
|
||||
"url": "github:edolstra/nixpkgs/015c9ec3372e328ea6742b409a1e9aa26dab2b31"
|
||||
}
|
||||
},
|
||||
"narHash": "sha256-bCKZSw8cBTJf5EPSXzuKPTaM8EAFXez27BCMZn+rUk0=",
|
||||
"originalUrl": "genode-depot",
|
||||
"url": "git+file:///home/repo/genode-depot?ref=master&rev=b9119fccb3114829900ae75886d3b5edb54bbd7f"
|
||||
},
|
||||
"genodepkgs": {
|
||||
"inputs": {
|
||||
"dhall-haskell": {
|
||||
"inputs": {
|
||||
"nixpkgs": {
|
||||
"inputs": {},
|
||||
"narHash": "sha256-wJg4DA700SoQbEz61448sR6BgxRa1R92K3vvCV1g+HY=",
|
||||
"originalUrl": "git+https://github.com/nixos/nixpkgs.git?ref=18.09-beta&rev=1d4de0d552ae9aa66a5b8dee5fb0650a4372d148",
|
||||
"url": "git+https://github.com/nixos/nixpkgs.git?ref=18.09-beta&rev=1d4de0d552ae9aa66a5b8dee5fb0650a4372d148"
|
||||
},
|
||||
"nixpkgsStaticLinux": {
|
||||
"inputs": {},
|
||||
"narHash": "sha256-famU3pJZ4vkElV9qc71HmyRVSvcrAhfMZ0UJKpmmKP8=",
|
||||
"originalUrl": "git+https://github.com/nh2/nixpkgs.git?ref=static-haskell-nix-stack-dhall-working",
|
||||
"url": "git+https://github.com/nh2/nixpkgs.git?ref=static-haskell-nix-stack-dhall-working&rev=925aac04f4ca58aceb83beef18cb7dae0715421b"
|
||||
}
|
||||
},
|
||||
"narHash": "sha256-NGbS2bymVuCQcanlBO41I6ZjSAZSLXhACK3qQU25zUs=",
|
||||
"originalUrl": "git+https://github.com/dhall-lang/dhall-haskell?ref=flake",
|
||||
"url": "git+https://github.com/dhall-lang/dhall-haskell?ref=flake&rev=256810cd5adf1ae5862eed0ffdaab4cf49f6fe67"
|
||||
},
|
||||
"nixpkgs": {
|
||||
"inputs": {},
|
||||
"narHash": "sha256-1pvSqpPbcREIGI7BF6A29b81bH/dZvywTPwYhrMaRa0=",
|
||||
"originalUrl": "git+https://gitea.c3d2.de/ehmry/nixpkgs.git",
|
||||
"url": "git+https://gitea.c3d2.de/ehmry/nixpkgs.git?ref=master&rev=ff59349d99ff0ff2496e85278c596df3a14ef3ec"
|
||||
}
|
||||
},
|
||||
"narHash": "sha256-QTWywbGQT7FK6EpcbLicI3zrjNBc5f/6zp9OPMc8soI=",
|
||||
"originalUrl": "git+file:///home/repo/genodepkgs?ref=flake",
|
||||
"url": "git+file:///home/repo/genodepkgs?ref=flake&rev=347b52e1b1484e3e812db9bc6279d2a22ab5aa18"
|
||||
},
|
||||
"nixpkgs": {
|
||||
"inputs": {},
|
||||
"narHash": "sha256-1pvSqpPbcREIGI7BF6A29b81bH/dZvywTPwYhrMaRa0=",
|
||||
"originalUrl": "git+https://gitea.c3d2.de/ehmry/nixpkgs.git",
|
||||
"url": "git+https://gitea.c3d2.de/ehmry/nixpkgs.git?ref=master&rev=ff59349d99ff0ff2496e85278c596df3a14ef3ec"
|
||||
}
|
||||
},
|
||||
"version": 3
|
||||
}
|
|
@ -0,0 +1,93 @@
|
|||
{
|
||||
edition = 201909;
|
||||
|
||||
description = "Genode desktop varaint";
|
||||
|
||||
inputs = {
|
||||
genodepkgs.url = "git+file:///home/repo/genodepkgs?ref=flake";
|
||||
nixpkgs.uri = "git+https://gitea.c3d2.de/ehmry/nixpkgs.git";
|
||||
dhall-haskell.uri =
|
||||
"git+https://github.com/dhall-lang/dhall-haskell?ref=flake";
|
||||
};
|
||||
|
||||
outputs = { self, genodepkgs, nixpkgs, dhall-haskell, genode-depot }:
|
||||
let
|
||||
lib = import (genodepkgs + "/lib") {
|
||||
inherit genodepkgs nixpkgs dhall-haskell;
|
||||
};
|
||||
in {
|
||||
|
||||
packages.x86_64-genode.iso = with genodepkgs.packages.x86_64-genode;
|
||||
lib.x86_64-genode.buildNovaIso {
|
||||
name = "schlitzohr";
|
||||
rom = let
|
||||
upstream = genode-base.src.src;
|
||||
depot = genode-depot.packages.x86_64-genode;
|
||||
in {
|
||||
config = lib.renderDhallInit ./config.dhall "{=}";
|
||||
acpi_drv = "${genode-os}/bin/acpi_drv";
|
||||
ahci_drv = "${genode-os}/bin/ahci_drv";
|
||||
vesa_fb_drv = "${depot.vesa_drv}/bin/vesa_fb_drv";
|
||||
"clipboard.config" =
|
||||
"${upstream}/repos/gems/run/sculpt/clipboard.config";
|
||||
driver_manager = "${depot.driver_manager}/bin/driver_manager";
|
||||
"drivers.config" = ./drivers.config;
|
||||
"empty_runtime.config" =
|
||||
"${upstream}/repos/gems/run/sculpt/empty_runtime.config";
|
||||
"en_us.chargen" =
|
||||
"${upstream}/repos/os/src/server/input_filter/en_us.chargen";
|
||||
"fb_drv.config" =
|
||||
"${upstream}/repos/os/recipes/raw/drivers_interactive-pc/fb_drv.config";
|
||||
"fonts.config" = "${upstream}/repos/gems/run/sculpt/fonts.config";
|
||||
fs_report = "${genode-os}/bin/fs_report";
|
||||
fs_rom = "${genode-os}/bin/fs_rom";
|
||||
global_keys_handler = "${genode-os}/bin/global_keys_handler";
|
||||
"input_filter.config" =
|
||||
"${upstream}/repos/os/recipes/raw/drivers_interactive-pc/input_filter.config";
|
||||
input_filter = "${genode-os}/bin/input_filter";
|
||||
"installation" =
|
||||
builtins.toFile "installation" ''<installation arch="x86_64"/>'';
|
||||
"leitzentrale.config" =
|
||||
"${upstream}/repos/gems/run/sculpt/leitzentrale.config";
|
||||
log_core = "${genode-os}/bin/log_core";
|
||||
"nitpicker.config" = ./nitpicker.config;
|
||||
nitpicker = "${genode-os}/bin/nitpicker";
|
||||
"numlock_remap.config" =
|
||||
"${upstream}/repos/gems/recipes/raw/drivers_managed-pc/numlock_remap.config";
|
||||
platform_drv = "${genode-os}/bin/platform_drv";
|
||||
pointer = "${genode-os}/bin/pointer";
|
||||
ps2_drv = "${genode-os}/bin/ps2_drv";
|
||||
ram_fs = "${genode-os}/bin/ram_fs";
|
||||
report_rom = "${genode-os}/bin/report_rom";
|
||||
rom_filter = "${genode-os}/bin/rom_filter";
|
||||
rom_reporter = "${genode-os}/bin/rom_reporter";
|
||||
rtc_drv = "${genode-os}/bin/rtc_drv";
|
||||
"special.chargen" =
|
||||
"${upstream}/repos/os/src/server/input_filter/special.chargen";
|
||||
terminal_log = "${genode-os}/bin/terminal_log";
|
||||
"usb.config" = "${upstream}/repos/gems/run/sculpt/usb.config";
|
||||
usb_drv = "${depot.usb_drv}/bin/usb_drv";
|
||||
vfs = "${genode-os}/bin/vfs";
|
||||
"vfs_import.lib.so" = "${depot.vfs_import}/lib/vfs_import.lib.so";
|
||||
"vfs.lib.so" = "${genode-os}/lib/vfs.lib.so";
|
||||
"wifi.config" = "${upstream}/repos/gems/run/sculpt/wifi.config";
|
||||
"manual_deploy.config" = builtins.toFile "manual_deploy.config" ''
|
||||
<config arch="x86_64">
|
||||
<common_routes>
|
||||
<service name="ROM" label_last="ld.lib.so"> <parent/> </service>
|
||||
<service name="ROM" label_last="vfs.lib.so"> <parent/> </service>
|
||||
<service name="ROM" label_last="init"> <parent/> </service>
|
||||
<service name="CPU"> <parent/> </service>
|
||||
<service name="PD"> <parent/> </service>
|
||||
<service name="LOG"> <parent/> </service>
|
||||
<service name="Timer"> <parent/> </service>
|
||||
</common_routes>
|
||||
</config>
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
defaultPackage = self.packages.x86_64-genode.iso;
|
||||
|
||||
};
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
<config focus="rom">
|
||||
<report hover="yes" focus="yes" clicked="yes" keystate="no" displays="yes"/>
|
||||
<background color="#131415"/>
|
||||
<domain name="pointer" layer="1" content="client" label="no" origin="pointer" />
|
||||
<domain name="lock" layer="2" content="client" label="no" hover="always" focus="click"/>
|
||||
<domain name="leitzentrale" layer="3" content="client" label="no" hover="always" focus="click" />
|
||||
<domain name="default" layer="5" color="#052944" hover="always" focus="click" />
|
||||
<domain name="decorator" layer="5" content="client" label="no" hover="always" focus="transient" />
|
||||
<domain name="desktop" layer="5" content="client" label="no" hover="always" focus="click" />
|
||||
<domain name="background" layer="6" content="client" label="no" hover="always" focus="transient" />
|
||||
|
||||
<policy label_suffix="-> decorator" domain="decorator"/>
|
||||
<policy label_prefix="runtime -> wm" domain="desktop"/>
|
||||
<policy label_prefix="runtime -> themed_wm" domain="desktop"/>
|
||||
|
||||
<policy label="lock_screen" domain="lock"/>
|
||||
<policy label_prefix="pointer" domain="pointer"/>
|
||||
<policy label_prefix="leitzentrale -> " domain="leitzentrale"/>
|
||||
<policy label="backdrop" domain="background"/>
|
||||
<default-policy domain="default"/>
|
||||
|
||||
<global-key name="KEY_RESTART" label="global_keys_handler -> input" />
|
||||
<global-key name="KEY_DASHBOARD" label="global_keys_handler -> input" />
|
||||
<global-key name="KEY_CAPSLOCK" label="global_keys_handler -> input" />
|
||||
<global-key name="KEY_NUMLOCK" label="global_keys_handler -> input" />
|
||||
<global-key name="KEY_SCREEN" label="runtime -> wm -> wm -> decorator" />
|
||||
<global-key name="KEY_SCREEN" label="runtime -> themed_wm -> wm -> decorator" />
|
||||
</config>
|
Loading…
Reference in New Issue