flake-it-till-you-make-it/template/flake.nix

89 lines
2.2 KiB
Nix
Raw Normal View History

2025-05-30 22:10:22 +02:00
{
# FIXME: Set the description.
description = "";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-parts.url = "github:hercules-ci/flake-parts";
2025-05-30 22:33:42 +02:00
hooks = {
url = "github:cachix/git-hooks.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
treefmt = {
url = "github:numtide/treefmt-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-06-02 18:51:26 +02:00
# FIXME: Uncomment these if services are needed.
# inputs.process-compose.url = "github:Platonic-Systems/process-compose-flake";
# inputs.services.url = "github:juspay/services-flake";
2025-05-30 22:10:22 +02:00
};
outputs =
{
self,
nixpkgs,
flake-parts,
hooks,
treefmt,
2025-06-02 18:51:26 +02:00
# FIXME: Uncomment these if services are needed.
# process-compose,
# services,
2025-05-30 22:10:22 +02:00
}@inputs:
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [
hooks.flakeModule
treefmt.flakeModule
2025-06-02 18:51:26 +02:00
# FIXME: Uncomment this if services are needed.
# inputs.process-compose.flakeModule
2025-05-30 22:10:22 +02:00
];
systems = nixpkgs.lib.systems.flakeExposed;
perSystem =
{
config,
pkgs,
...
}:
{
treefmt = {
projectRootFile = "flake.nix";
programs.nixfmt = {
enable = true;
package = pkgs.nixfmt-rfc-style;
};
};
pre-commit.settings.hooks = {
treefmt.enable = true;
};
devShells.default = pkgs.mkShellNoCC {
packages = [
# FIXME: Put packages here.
];
shellHook = ''
${config.pre-commit.installationScript}
'';
};
# FIXME: Uncomment this if the flake should export a package.
# packages.default = pkgs.callPackage ./package.nix {};
2025-06-02 18:51:26 +02:00
# FIXME: Uncomment this if services are needed.
# process-compose.myservices = {
# imports = [
# inputs.services.processComposeModules.default
# ];
# };
2025-05-30 22:10:22 +02:00
};
flake = {
# FIXME: Uncomment this if the flake should export a NixOS module.
# nixosModules.default = import ./module.nix self;
};
};
}