create flake.nix
This commit is contained in:
parent
ee13b798fc
commit
eb673a5d20
1 changed files with 68 additions and 0 deletions
68
flake.nix
Normal file
68
flake.nix
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
{
|
||||||
|
description = "Cisco Packet Tracer 7";
|
||||||
|
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
|
||||||
|
outputs = { self, nixpkgs, flake-utils, ... }:
|
||||||
|
let
|
||||||
|
pkgs = import nixpkgs { system = "x86_64-linux"; };
|
||||||
|
ptFiles = pkgs.stdenv.mkDerivation {
|
||||||
|
name = "PacketTracer7drv";
|
||||||
|
version = "7.3.1";
|
||||||
|
dontUnpack = true;
|
||||||
|
src = pkgs.fetchurl {
|
||||||
|
url = "http://kafpi.local/PacketTracer_731_amd64.deb";
|
||||||
|
hash = "sha256-w5gC0V3WHQC6J/uMEW2kX9hWKrS0mZZVWtZriN6s4n8=";
|
||||||
|
};
|
||||||
|
nativeBuildInputs = with pkgs; [ dpkg makeWrapper ];
|
||||||
|
installPhase = ''
|
||||||
|
dpkg-deb -x $src $out
|
||||||
|
makeWrapper "$out/opt/pt/bin/PacketTracer7" "$out/bin/packettracer7" --prefix LD_LIBRARY_PATH : "$out/opt/pt/bin"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
ptFhsEnv = pkgs.buildFHSEnv {
|
||||||
|
name = "packettracer7";
|
||||||
|
runScript = "${ptFiles}/bin/packettracer7";
|
||||||
|
|
||||||
|
targetPkgs = pkgs:
|
||||||
|
with pkgs; [
|
||||||
|
alsa-lib
|
||||||
|
dbus
|
||||||
|
expat
|
||||||
|
fontconfig
|
||||||
|
glib
|
||||||
|
libglvnd
|
||||||
|
libpulseaudio
|
||||||
|
libudev0-shim
|
||||||
|
libxkbcommon
|
||||||
|
libxml2
|
||||||
|
libxslt
|
||||||
|
nspr
|
||||||
|
nss
|
||||||
|
xorg.libICE
|
||||||
|
xorg.libSM
|
||||||
|
xorg.libX11
|
||||||
|
xorg.libXScrnSaver
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
packettracer7 = pkgs.stdenv.mkDerivation {
|
||||||
|
pname = "ciscoPacketTracer7";
|
||||||
|
version = "7.3.1";
|
||||||
|
dontUnpack = true;
|
||||||
|
installPhase = ''
|
||||||
|
mkdir $out
|
||||||
|
${pkgs.xorg.lndir}/bin/lndir -silent ${ptFhsEnv} $out
|
||||||
|
'';
|
||||||
|
desktopItems = [
|
||||||
|
(pkgs.makeDesktopItem {
|
||||||
|
name = "cisco-pt7.desktop";
|
||||||
|
desktopName = "Cisco Packet Tracer 7";
|
||||||
|
icon = "${ptFiles}/opt/pt/art/app.png";
|
||||||
|
exec = "packettracer7 %f";
|
||||||
|
mimeTypes =
|
||||||
|
[ "application/x-pkt" "application/x-pka" "application/x-pkz" ];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
nativeBuildInputs = [ pkgs.xorg.lndir ];
|
||||||
|
};
|
||||||
|
in { packages.x86_64-linux.default = packettracer7; };
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue