{ inputs = { nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1.0.tar.gz"; devenv = { url = "github:cachix/devenv"; inputs = {nixpkgs.follows = "nixpkgs";}; }; }; nixConfig = { extra-trusted-public-keys = "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="; extra-substituters = "https://devenv.cachix.org"; }; outputs = { nixpkgs, devenv, systems, ... } @ inputs: let forEachSystem = nixpkgs.lib.genAttrs (import systems); in { formatter = forEachSystem (system: nixpkgs.legacyPackages.${system}.alejandra); devShells = forEachSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; in { default = devenv.lib.mkShell { inherit inputs pkgs; modules = [ { # https://devenv.sh/reference/options/ packages = [pkgs.hello pkgs.delta pkgs.difftastic pkgs.alejandra pkgs.nodePackages.bash-language-server pkgs.shellcheck pkgs.shfmt]; pre-commit.hooks = { alejandra.enable = true; black.enable = true; deadnix.enable = true; stylua.enable = true; shellcheck.enable = true; shfmt.enable = true; taplo.enable = true; }; } ]; }; }); }; }