utoy/flake.nix

48 lines
1.4 KiB
Nix

{
description = "Unicode toy";
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
outputs = { self, nixpkgs }: {
packages.x86_64-linux.utoy =
let
overlay = import ./nix/overlay.nix;
pkgs = nixpkgs.legacyPackages.x86_64-linux.extend overlay;
settings = import ./nix/settings.nix;
haskellDeps = import ./nix/haskell-deps.nix;
haskellPackages = pkgs.haskell.packages."${settings.ghc}";
utoy =
{ mkDerivation }:
mkDerivation {
version = "0.5";
pname = "utoy";
license = pkgs.lib.licenses.mit;
src =
let
buildFiles = [
./LICENSE
./utoy.cabal
./Setup.hs
./app
./src
./static
./test
];
in
pkgs.lib.sources.cleanSourceWith {
src = ./.;
filter = path: _type: pkgs.lib.any (prefix: pkgs.lib.hasPrefix (toString prefix) path) buildFiles;
};
libraryHaskellDepends = haskellDeps haskellPackages;
};
in
pkgs.haskell.lib.justStaticExecutables (haskellPackages.callPackage utoy {});
packages.x86_64-linux.default = self.packages.x86_64-linux.utoy;
};
}