anbox modules derivation

This commit is contained in:
Quentin Boyer 2022-01-16 20:41:37 +01:00
parent cc0a7319a2
commit 73d92b55cd
3 changed files with 55 additions and 1 deletions

43
nixos/anbox.nix Normal file
View file

@ -0,0 +1,43 @@
{ stdenv, lib, fetchFromGitHub, kernel, kmod, name, ... }:
let anbox-modules =
fetchFromGitHub {
owner = "choff";
repo = "anbox-modules";
rev = "8148a162755bf5500a07cf41a65a02c8f3eb0af9";
sha256 = "sha256-5YeKwLP0qdtmWbL6AXluyTmVcmKJJOFcZJ5NxXSSgok=";
};
in
stdenv.mkDerivation rec {
inherit name;
version = "0";
src = "${anbox-modules}/${name}";
#sourceRoot = "${src}/${ashmem}";
hardeningDisable = [ "pic" "format" ];
nativeBuildInputs = kernel.moduleBuildDependencies;
KERNEL_SRC = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
buildPhase = "make INSTALL_MOD_PATH=$out";
installPhase = ''
modDir=$out/lib/modules/${kernel.modDirVersion}/kernel/updates/
mkdir -p $modDir
mv ${name}_linux.ko $modDir/.
'';
/* makeFlags = [
"KERNELRELEASE=${kernel.modDirVersion}"
"KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"INSTALL_MOD_PATH=$(out)"
]; */
meta = with lib; {
description = "Kernel module for anbox - ${name}";
homepage = "https://github.com/choff/anbox-modules";
license = licenses.gpl2;
maintainers = [ ];
platforms = platforms.linux;
};
}

View file

@ -58,6 +58,10 @@
};
};
boot.kernelPackages = pkgs.linuxPackages_latest;
/* nixpkgs.config.allowBroken = true; */
virtualisation.waydroid.enable = true;
security.pam.services.swaylock = {
text = ''
auth include login

View file

@ -1,5 +1,9 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
let
ashmem = config.boot.kernelPackages.callPackage ./anbox.nix { name = "ashmem"; };
binder = config.boot.kernelPackages.callPackage ./anbox.nix { name = "binder"; };
in
{
xdg = {
portal = {
@ -19,6 +23,9 @@
'';
};
boot.extraModulePackages = [ ashmem binder ];
boot.kernelModules = [ "ashmem_linux" "binder_linux" ];
nixpkgs.config = {
allowUnfree = true;
};