comblang/flake.nix

76 lines
2.3 KiB
Nix

{
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,
config,
...
}: {
# Typically, you just want a single project named "default". But
# multiple projects are also possible, each using different GHC version.
haskellProjects.default = {
# The base package set representing a specific GHC version.
# By default, this is pkgs.haskellPackages.
# You may also create your own. See https://haskell.nixos.asia/package-set
basePackages = pkgs.haskell.packages.ghc912;
# Extra package information. See https://haskell.nixos.asia/dependency
#
# Note that local packages are automatically included in `packages`
# (defined by `defaults.packages` option).
#
packages = {
# aeson.source = "1.5.0.0"; # Override aeson to a custom version from Hackage
# shower.source = inputs.shower; # Override shower to a custom source path
};
settings = {
# aeson = {
# check = false;
# };
# relude = {
# haddock = false;
# broken = false;
# };
unicode-data = {
check = false;
};
};
devShell = {
# Enabled by default
# enable = true;
# Programs you want to make available in the shell.
# Default programs can be disabled by setting to 'null'
# tools = hp: { fourmolu = hp.fourmolu; ghcid = null; };
tools = hp: {ghcid = null;};
# Check that haskell-language-server works
hlsCheck.enable = false; # Requires sandbox to be disabled
};
autoWire = [
"packages"
"apps"
"checks"
"devShells"
];
};
packages.default = self'.packages.comblang;
};
};
}