91 lines
3.9 KiB
Nix
91 lines
3.9 KiB
Nix
{ inputs, ... }: {
|
|
# This one brings our custom packages from the 'pkgs' directory
|
|
additions = final: _prev: import ../pkgs { pkgs = final; };
|
|
|
|
# This one contains whatever you want to overlay
|
|
# You can change versions, add patches, set compilation flags, anything really.
|
|
# https://nixos.wiki/wiki/Overlays
|
|
modifications = final: prev:
|
|
{
|
|
# example = prev.example.overrideAttrs (oldAttrs: rec {
|
|
# ...
|
|
# });
|
|
rofimoji = prev.rofimoji.override { rofi = prev.rofi-wayland; };
|
|
|
|
electron = prev.electron.overrideAttrs (oldAttrs: {
|
|
postInstall = ''
|
|
wrapProgram $out/bin/electron \
|
|
--add-flags "--force-device-scale-factor=1.5"
|
|
'';
|
|
});
|
|
responder-patched = prev.responder.overrideAttrs (oldAttrs: rec {
|
|
buildInputs = oldAttrs.buildInputs or [ ] ++ [ prev.openssl prev.coreutils ];
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/bin $out/share/Responder
|
|
cp -R . $out/share/Responder
|
|
|
|
makeWrapper ${prev.python3.interpreter} $out/bin/responder \
|
|
--set PYTHONPATH "$PYTHONPATH:$out/share/Responder" \
|
|
--add-flags "$out/share/Responder/Responder.py" \
|
|
--run "mkdir -p /var/lib/responder"
|
|
|
|
substituteInPlace $out/share/Responder/Responder.conf \
|
|
--replace-quiet "Responder-Session.log" "/var/lib/responder/Responder-Session.log" \
|
|
--replace-quiet "Poisoners-Session.log" "/var/lib/responder/Poisoners-Session.log" \
|
|
--replace-quiet "Analyzer-Session.log" "/var/lib/responder/Analyzer-Session.log" \
|
|
--replace-quiet "Config-Responder.log" "/var/lib/responder/Config-Responder.log" \
|
|
--replace-quiet "Responder.db" "/var/lib/responder/Responder.db"
|
|
|
|
runHook postInstall
|
|
|
|
runHook postPatch
|
|
'';
|
|
|
|
postInstall = ''
|
|
wrapProgram $out/bin/responder \
|
|
--run "mkdir -p /var/lib/responder/certs && ${prev.openssl}/bin/openssl genrsa -out /var/lib/responder/certs/responder.key 2048 && ${prev.openssl}/bin/openssl req -new -x509 -days 3650 -key /var/lib/responder/certs/responder.key -out /var/lib/responder/certs/responder.crt -subj '/'" \
|
|
--run "mkdir -p /etc/responder && if [ ! -f /etc/responder/Responder.conf ]; then cp $out/share/Responder/Responder.conf /etc/responder/Responder.conf && chmod +w /etc/responder/Responder.conf; fi"
|
|
'';
|
|
|
|
postPatch = ''
|
|
if [ -f $out/share/Responder/settings.py ]; then
|
|
substituteInPlace $out/share/Responder/settings.py \
|
|
--replace-quiet "self.LogDir = os.path.join(self.ResponderPATH, 'logs')" "self.LogDir = os.path.join('/var/lib/responder', 'logs')" \
|
|
--replace-quiet "os.path.join(self.ResponderPATH, 'Responder.conf')" "'/etc/responder/Responder.conf'"
|
|
fi
|
|
|
|
if [ -f $out/share/Responder/utils.py ]; then
|
|
substituteInPlace $out/share/Responder/utils.py \
|
|
--replace-quiet "logfile = os.path.join(settings.Config.ResponderPATH, 'logs', fname)" "logfile = os.path.join('/var/lib/responder', 'logs', fname)"
|
|
fi
|
|
|
|
if [ -f $out/share/Responder/Responder.py ]; then
|
|
substituteInPlace $out/share/Responder/Responder.py \
|
|
--replace-quiet "certs/responder.crt" "/var/lib/responder/certs/responder.crt" \
|
|
--replace-quiet "certs/responder.key" "/var/lib/responder/certs/responder.key"
|
|
fi
|
|
|
|
if [ -f $out/share/Responder/Responder.conf ]; then
|
|
substituteInPlace $out/share/Responder/Responder.conf \
|
|
--replace-quiet "certs/responder.crt" "/var/lib/responder/certs/responder.crt" \
|
|
--replace-quiet "certs/responder.key" "/var/lib/responder/certs/responder.key"
|
|
fi
|
|
'';
|
|
});
|
|
|
|
};
|
|
|
|
stable-packages = final: _prev: {
|
|
stable = import inputs.nixpkgs-stable {
|
|
system = final.system;
|
|
config.allowUnfree = true;
|
|
};
|
|
};
|
|
}
|
|
|
|
|
|
|
|
|