smart-energy-monitor/nix/shell.nix

45 lines
876 B
Nix

{self, ...}: system:
with self.pkgs.${system};
mkShell {
name = "iot-platform";
nativeBuildInputs =
[
# Development
editorconfig-checker
esptool
micropython
nodePackages.node-red
openscad
pre-commit
python310Full
python310Packages.mkdocs
python310Packages.mkdocs-material
python310Packages.mkdocs-material-extensions
yaml-language-server
]
++ lib.optionals (pkgs.hostPlatform.system == "x86_64-linux") [
vscodium-fhs
freecad
]
++ [
# Linter
git
yamllint
# Nix
alejandra
nix
nix-linter
rnix-lsp
# Service
mosquitto
# Misc
reuse
];
shellHook = ''
${self.checks.${system}.pre-commit-check.shellHook}
'';
}