From c990b1fc6255460e1e163d4deef5178b678fa5b2 Mon Sep 17 00:00:00 2001 From: Sebastiaan Reggers Date: Tue, 5 May 2026 19:05:38 +0000 Subject: [PATCH] Include NixOS build instructions in INSTALL.md Setting up custom programs is always a bit of a handful with Nix, so here are some instructions for this (niche) usecase --- INSTALL.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/INSTALL.md b/INSTALL.md index c973162b..6b27ba29 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -65,3 +65,47 @@ qmake make ./porymap ``` + +## NixOS + +You need to create an instructions file for compiling the package with Qt and wrapping it as a Qt app. This instructions file can then be used for nix-build or referenced within the shell.nix file for your project. + +Example `porymap.nix` instructions file: +```nix +{ pkgs ? import {} }: + +pkgs.stdenv.mkDerivation rec { + pname = "porymap"; + version = "6.3.1"; + + src = pkgs.fetchFromGitHub { + owner = "huderlem"; + repo = "porymap"; + rev = version; + sha256 = "sha256-EG09aOgJrIe5X+e/SKcZn+mxkZ2N4mBmRxlEV3LYvgo="; + }; + + nativeBuildInputs = with pkgs; [ + git + qt6.qtdeclarative + qt6.qtcharts + qt6.wrapQtAppsHook + ]; + + buildInputs = with pkgs; [ + qt6.qtdeclarative + qt6.qtcharts + ]; + + installPhase = '' + mkdir -p $out/bin + cp porymap $out/bin/ + wrapQtApp $out/bin/porymap # Wrap the binary to include Qt plugins + ''; + + buildPhase = '' + qmake + make -j$NIX_BUILD_CORES + ''; +} +```