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