-
-
Save tilpner/6c30125069b62ea67622b820f6af2149 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ config, pkgs, lib, ... }: | |
let | |
inherit (pkgs) stdenv writeScript buildFHSUserEnv; | |
# Frankensteins chroot | |
pname = "fsc-run"; | |
previousSystemPackages = | |
lib.filter | |
(p: !(lib.hasPrefix pname p.name)) | |
config.environment.systemPackages; | |
extraPackages = let | |
tzdir = "${pkgs.tzdata}/share/zoneinfo"; | |
etc-zoneinfo = pkgs.runCommand "zoneinfo" {} '' | |
mkdir -p $out/etc | |
ln -s ${tzdir} $out/etc/zoneinfo | |
ln -s ${tzdir}/UTC $out/etc/localtime | |
''; | |
in (with pkgs; [ | |
alsaLib libpulseaudio mesa_glu zlib | |
openssl | |
pciutils | |
python2 | |
which perl | |
xdg_utils | |
etc-zoneinfo | |
gst_all_1.gstreamer gst_all_1.gst-plugins-ugly | |
libdrm | |
xorg.xkeyboardconfig | |
]) ++ (with pkgs.xlibs; [ | |
libX11 | |
libXcomposite libXtst libXrandr xrandr | |
libXext libXfixes | |
libXinerama | |
libpciaccess | |
]); | |
fhsPackages = previousSystemPackages ++ extraPackages; | |
fscRun = buildFHSUserEnv rec { | |
name = pname; | |
targetPkgs = _: fhsPackages; | |
multiPkgs = _: fhsPackages; | |
runScript = writeScript pname '' | |
#!${stdenv.shell} | |
run="$1" | |
if [ "$run" = "" ]; then | |
echo "Usage: ${pname} command-to-run args..." >&2 | |
exit 1 | |
fi | |
shift | |
exec "$run" "$@" | |
''; | |
}; | |
in { | |
environment.systemPackages = [ fscRun ]; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment