48 lines
1.1 KiB
Nix
48 lines
1.1 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:cachix/devenv-nixpkgs/rolling";
|
|
devenv = {
|
|
url = "github:cachix/devenv";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
treefmt-nix.url = "github:numtide/treefmt-nix";
|
|
};
|
|
outputs = {
|
|
flake-utils,
|
|
nixpkgs,
|
|
treefmt-nix,
|
|
devenv,
|
|
...
|
|
} @ inputs:
|
|
flake-utils.lib.eachDefaultSystem (
|
|
system: let
|
|
pkgs = import nixpkgs {inherit system;};
|
|
|
|
treefmtConfig = {...}: {
|
|
projectRootFile = "flake.nix";
|
|
programs = {
|
|
alejandra.enable = true;
|
|
gofmt.enable = true;
|
|
};
|
|
};
|
|
|
|
treefmtEval = treefmt-nix.lib.evalModule pkgs (treefmtConfig {inherit pkgs;});
|
|
in {
|
|
formatter = treefmtEval.config.build.wrapper;
|
|
|
|
devShells.default = devenv.lib.mkShell {
|
|
inherit inputs pkgs;
|
|
|
|
modules = [
|
|
({...}: {
|
|
languages = {
|
|
go.enable = true;
|
|
};
|
|
})
|
|
];
|
|
};
|
|
}
|
|
);
|
|
}
|