54
flake.nix
Normal file
54
flake.nix
Normal file
@@ -0,0 +1,54 @@
|
||||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
haskell-flake.url = "github:srid/haskell-flake";
|
||||
};
|
||||
|
||||
outputs =
|
||||
inputs@{
|
||||
self,
|
||||
nixpkgs,
|
||||
flake-parts,
|
||||
...
|
||||
}:
|
||||
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||
systems = nixpkgs.lib.systems.flakeExposed;
|
||||
imports = [ inputs.haskell-flake.flakeModule ];
|
||||
|
||||
perSystem =
|
||||
{ self', pkgs, ... }:
|
||||
{
|
||||
formatter = pkgs.nixfmt-tree;
|
||||
|
||||
haskellProjects.default = {
|
||||
basePackages = pkgs.haskellPackages;
|
||||
devShell = {
|
||||
enable = true;
|
||||
hlsCheck.enable = true;
|
||||
|
||||
tools = hp: {
|
||||
inherit (pkgs)
|
||||
nixpkgs-fmt
|
||||
;
|
||||
inherit (hp)
|
||||
cabal-fmt
|
||||
fourmolu
|
||||
;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
packages.default = self'.packages.aoc2024;
|
||||
apps =
|
||||
let
|
||||
name = n: "day${(if n < 10 then "0" else "") + toString n}";
|
||||
in
|
||||
with pkgs.lib;
|
||||
genAttrs (map name (range 1 1)) (n: {
|
||||
type = "app";
|
||||
program = "${self'.packages.aoc2025}/bin/${n}";
|
||||
});
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user