{ 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; }; }