23 lines
503 B
Nix
23 lines
503 B
Nix
{ lib, stdenv }:
|
|
|
|
{ name, symlinks }:
|
|
let
|
|
normalized = lib.mapAttrs' (n: v: lib.nameValuePair (lib.path.subpath.normalise n) "${v}") symlinks;
|
|
linkCommands = lib.mapAttrsToList
|
|
(n: v: ''
|
|
mkdir -p $out/$(dirname ${n})
|
|
ln -s ${v} $out/${n}
|
|
'')
|
|
normalized;
|
|
in
|
|
stdenv.mkDerivation {
|
|
name = "firefox";
|
|
phases = [ "installPhase" ];
|
|
preferLocalBuild = true;
|
|
allowSubstitutes = false;
|
|
installPhase = ''
|
|
mkdir $out
|
|
|
|
${lib.concatStringsSep "\n" linkCommands}
|
|
'';
|
|
}
|