TUI Github Review Tool
1{
2 inputs = {
3 flake-utils.url = "github:numtide/flake-utils";
4 nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
5 };
6
7 outputs = { self, flake-utils, nixpkgs }:
8 flake-utils.lib.eachDefaultSystem (system:
9 let
10 pkgs = (import nixpkgs) {
11 inherit system;
12 };
13
14 overlay = final: prev: {
15 duck = final.callCabal2nix "duck" ./. {};
16 };
17
18 haskellPackages = pkgs.haskellPackages.extend overlay;
19 in rec {
20 defaultPackage = pkgs.buildPackages.writeShellScriptBin "duck" ''
21 exec env PATH=${pkgs.gh}/bin:$PATH ${haskellPackages.duck}/bin/duck "$@"
22 '';
23
24 devShell = haskellPackages.shellFor {
25 packages = p : [
26 p.duck
27 ];
28 nativeBuildInputs = [
29 haskellPackages.ghc
30 haskellPackages.cabal-install
31 haskellPackages.haskell-language-server
32 haskellPackages.hlint
33 haskellPackages.ormolu
34 ];
35 buildInputs = [
36 pkgs.gh
37 ];
38 };
39 }
40 );
41}