Files
nixpkgs/shells/default.nix
2025-10-12 16:21:40 +02:00

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;};
}