Turn into flake

This commit is contained in:
Joscha 2023-05-07 18:05:44 +02:00
parent 6806a90b38
commit aa8cb1fe2c
6 changed files with 75 additions and 3 deletions

48
flake.nix Normal file
View file

@ -0,0 +1,48 @@
{
outputs = { self, nixpkgs }:
let forAllSystems = nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed;
in {
packages = forAllSystems (system:
let pkgs = import nixpkgs { inherit system; };
in rec {
default = antigrav;
antigrav = pkgs.stdenv.mkDerivation {
pname = "antigrav";
version = "2016-07-13";
src = ./.;
nativeBuildInputs = with pkgs; [ copyDesktopItems ];
buildInputs = with pkgs; [ SDL2 openal libpng libGLU freealut ];
# https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/setup-hooks/copy-desktop-items.sh
# https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/make-desktopitem/default.nix
#
# https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys
# https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
#
# Available categories:
# https://specifications.freedesktop.org/menu-spec/latest/apa.html
# https://specifications.freedesktop.org/menu-spec/latest/apas02.html
desktopItems = [
(pkgs.makeDesktopItem {
name = "antigravitaattori";
icon = "antigravitaattori";
exec = "antigrav -f -r 1920";
desktopName = "Antigravitaattori";
categories = [ "Game" "ArcadeGame" ];
})
];
postInstall = "install -D ${./icon_256.png} $out/share/icons/hicolor/256x256/apps/antigravitaattori.png";
# SDL files are imported directly as "SDL_xyz.h", not as "SDL2/SDL_xyz.h"
NIX_CFLAGS_COMPILE = "-I${pkgs.lib.getDev pkgs.SDL2}/include/SDL2";
# Antigrav calls printf with a string constant instead of a literal.
# https://nixos.org/manual/nixpkgs/stable/#sec-hardening-flags-enabled-by-default
hardeningDisable = [ "format" ];
};
}
);
};
}