genode-oberon/flake.nix

71 lines
2.7 KiB
Nix

{
edition = 201909;
description = "Genode desktop varaint";
inputs = {
dhall-haskell.uri =
"git+https://github.com/dhall-lang/dhall-haskell?ref=flake";
genode-depot.uri = "git+https://gitea.c3d2.de/ehmry/genode-depot.git";
genodepkgs.url = "git+https://gitea.c3d2.de/ehmry/genodepkgs?ref=flake";
libretro-genode.uri = "git+https://gitea.c3d2.de/ehmry/libretro-genode";
nixpkgs.uri = "git+https://gitea.c3d2.de/ehmry/nixpkgs.git?ref=genode";
};
outputs =
{ self, genodepkgs, nixpkgs, dhall-haskell, genode-depot, libretro-genode }:
let
lib = import (genodepkgs + "/lib") {
inherit genodepkgs nixpkgs dhall-haskell genode-depot;
};
pleaseNo = builtins.toFile "empty.xml" "<empty/>";
in {
packages.x86_64-genode.iso = with genodepkgs.packages.x86_64-genode;
lib.x86_64-genode.buildNovaIso {
name = "oberon";
rom = let
upstream = base.src;
depot = genode-depot.packages.x86_64-genode;
libretro = libretro-genode.packages.x86_64-genode;
in {
config = lib.renderDhallInit ./config.dhall "{=}";
acpi_drv = "${os}/bin/acpi_drv";
ahci_drv = "${os}/bin/ahci_drv";
capslock = pleaseNo;
driver_manager = "${depot.driver_manager}/bin/driver_manager";
"drivers.config" = ./drivers.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";
"input_filter.config" = ./input_filter.config;
input_filter = "${os}/bin/input_filter";
"libc.lib.so" = "${depot.libc}/lib/libc.lib.so";
"libm.lib.so" = "${depot.libc}/lib/libm.lib.so";
"libretro.so" = "${libretro.oberon}/bin/oberon/libretro.so";
log_core = "${os}/bin/log_core";
nitpicker = "${os}/bin/nitpicker";
numlock = pleaseNo;
"Oberon.dsk" =
"${libretro.oberon.smSrc}/DiskImage/Oberon-2019-01-21.dsk";
platform_drv = "${os}/bin/platform_drv";
ps2_drv = "${os}/bin/ps2_drv";
report_rom = "${os}/bin/report_rom";
rom_filter = "${os}/bin/rom_filter";
rom_reporter = "${os}/bin/rom_reporter";
"usb.config" = pleaseNo;
usb_drv = "${depot.usb_drv}/bin/usb_drv";
usb_policy = pleaseNo;
vesa_fb_drv = "${depot.vesa_drv}/bin/vesa_fb_drv";
"vfs.lib.so" = "${os}/lib/vfs.lib.so";
vfs = "${os}/bin/vfs";
};
};
defaultPackage = self.packages.x86_64-genode.iso;
};
}