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