{ description = "A basic flake with a shell"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; inputs.flake-utils.url = "github:numtide/flake-utils"; outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; in { devShell = pkgs.mkShell { nativeBuildInputs = [ pkgs.bashInteractive ]; buildInputs = with pkgs; [ nodejs # pre-commit pre-commit commitizen # formatting nodePackages.prettier # markdown formatting ]; shellHook = '' pre-commit install --allow-missing-config --hook-type pre-commit --hook-type commit-msg ''; }; } ); }