my over complex system configurations
dotfiles.isabelroses.com/
nixos
nix
flake
dotfiles
linux
1{
2 lib,
3 pkgs,
4 config,
5 ...
6}:
7let
8 inherit (lib) mkIf genAttrs;
9
10 cfg = config.garden.system.security.binaries;
11in
12{
13 options.garden.system.security = {
14 binaries.enable = lib.mkEnableOption "allow for none patched binaries to be run";
15 };
16
17 config = mkIf cfg.enable {
18 garden.packages = { inherit (pkgs) appimage-run; };
19
20 # run appimages with appimage-run
21 boot.binfmt.registrations =
22 genAttrs
23 [
24 "appimage"
25 "AppImage"
26 ]
27 (ext: {
28 recognitionType = "extension";
29 magicOrExtension = ext;
30 interpreter = "/run/current-system/sw/bin/appimage-run";
31 });
32
33 # run unpatched linux binaries with nix-ld
34 programs.nix-ld = {
35 enable = true;
36 libraries = builtins.attrValues {
37 inherit (pkgs)
38 openssl
39 curl
40 glib
41 util-linux
42 glibc
43 icu
44 libunwind
45 libuuid
46 zlib
47 libsecret
48 # graphical
49 freetype
50 libglvnd
51 libnotify
52 sdl3
53 vulkan-loader
54 gdk-pixbuf
55 libx11
56 ;
57
58 inherit (pkgs.stdenv.cc) cc;
59 };
60 };
61 };
62}