Personal-use NixOS configuration
at main 63 lines 1.4 kB view raw
1{ 2 lib, 3 pkgs, 4 buildDotnetModule, 5 dotnetCorePackages, 6 fetchFromGitHub, 7}: 8 9buildDotnetModule rec { 10 pname = "network-optimizer"; 11 version = "1.11.5"; 12 13 src = fetchFromGitHub { 14 owner = "Ozark-Connect"; 15 repo = "NetworkOptimizer"; 16 tag = "v${version}"; 17 hash = "sha256-d7htjw7gozUnnqzmuDlg5Ala828nJ9zeBZsf3EFxbm4="; 18 }; 19 20 nugetDeps = ./deps.json; 21 22 dotnet-sdk = dotnetCorePackages.sdk_10_0; 23 dotnet-runtime = dotnetCorePackages.aspnetcore_10_0; 24 25 projectFile = "src/NetworkOptimizer.Web"; 26 27 dotnetBuildFlags = [ 28 "-p:OverridePackageVersion=${version}" 29 ]; 30 31 patches = [ 32 ./ignore_local_packages.patch 33 ]; 34 35 buildPhase = '' 36 runHook preBuild 37 38 env dotnet publish $dotnetProjectFiles \ 39 --configuration Release \ 40 --self-contained \ 41 --output "$out/lib/${pname}" \ 42 --no-restore \ 43 ''${dotnetInstallFlags[@]} \ 44 ''${dotnetFlags[@]} 45 46 runHook postBuild 47 ''; 48 49 selfContainedBuild = true; 50 enableParallelBuilding = false; 51 52 nativeBuildInputs = with pkgs; [ 53 git 54 ]; 55 56 meta = { 57 description = "Self-hosted performance optimization and security audit tool for UniFi Networks"; 58 homepage = "https://github.com/Ozark-Connect/NetworkOptimizer"; 59 license = lib.licenses.bsl11; 60 maintainers = with lib.maintainers; [ encode42 ]; 61 mainProgram = "NetworkOptimizer.Web"; 62 }; 63}