37 lines
1.2 KiB
Nix
37 lines
1.2 KiB
Nix
# Development shells for various programming environments
|
|
# Each shell can be accessed via: nix develop .#<shell-name>
|
|
# Or used in home-manager/system configs
|
|
{pkgs}: {
|
|
# Default shell for working on this repository
|
|
default = pkgs.mkShell {
|
|
name = "m3ta-nixpkgs-dev";
|
|
|
|
buildInputs = with pkgs; [
|
|
nil # Nix LSP
|
|
nixpkgs-fmt # Nix formatter
|
|
nix-tree # Explore dependency trees
|
|
statix # Nix linter
|
|
deadnix # Find dead Nix code
|
|
];
|
|
|
|
shellHook = ''
|
|
echo "🚀 m3ta-nixpkgs development environment"
|
|
echo "Available commands:"
|
|
echo " nix flake check - Check flake validity"
|
|
echo " nix flake show - Show flake outputs"
|
|
echo " nix build .#<pkg> - Build a package"
|
|
echo " nixpkgs-fmt . - Format Nix files"
|
|
echo " statix check . - Lint Nix files"
|
|
echo " deadnix . - Find dead code"
|
|
'';
|
|
};
|
|
|
|
# Import all individual shell environments
|
|
rust = import ./rust.nix {inherit pkgs;};
|
|
python = import ./python.nix {inherit pkgs;};
|
|
nodejs = import ./nodejs.nix {inherit pkgs;};
|
|
go = import ./go.nix {inherit pkgs;};
|
|
web = import ./web.nix {inherit pkgs;};
|
|
devops = import ./devops.nix {inherit pkgs;};
|
|
}
|