Unverified Commit f6d4f4f0 authored by Atemu's avatar Atemu Committed by GitHub
Browse files

Merge pull request #328662 from Aleksanaa/nixos/appimage

nixos/appimage: support both type-1 and type-2 appimages in binfmt
parents 7159cbb9 1d1676b2
Loading
Loading
Loading
Loading
+30 −10
Original line number Diff line number Diff line
{ lib, config, pkgs, ... }:
{
  lib,
  config,
  pkgs,
  ...
}:

let
  cfg = config.programs.appimage;
@@ -18,16 +23,31 @@ in
  };

  config = lib.mkIf cfg.enable {
    boot.binfmt.registrations.appimage = lib.mkIf cfg.binfmt {
    boot.binfmt.registrations.appimage = lib.mkIf cfg.binfmt (
      let
        appimage_common = {
          wrapInterpreterInShell = false;
          interpreter = lib.getExe cfg.package;
          recognitionType = "magic";
          offset = 0;
          mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
        };
      in
      {
        appimage_type_1 = appimage_common // {
          magicOrExtension = ''\x7fELF....AI\x01'';
        };
        appimage_type_2 = appimage_common // {
          magicOrExtension = ''\x7fELF....AI\x02'';
        };
      }
    );
    environment.systemPackages = [ cfg.package ];
  };

  meta.maintainers = with lib.maintainers; [ jopejoe1 atemu ];
  meta.maintainers = with lib.maintainers; [
    jopejoe1
    atemu
    aleksana
  ];
}