feat: rework to modular
This commit is contained in:
20
shells/default.nix
Normal file
20
shells/default.nix
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
pkgs,
|
||||
extraPackages ? [ ],
|
||||
inputsFrom ? [ ],
|
||||
shellHook ? "",
|
||||
}:
|
||||
pkgs.mkShell {
|
||||
inherit inputsFrom shellHook;
|
||||
|
||||
packages =
|
||||
(with pkgs; [
|
||||
git
|
||||
jq
|
||||
just
|
||||
nil
|
||||
nixd
|
||||
nixfmt
|
||||
])
|
||||
++ extraPackages;
|
||||
}
|
||||
16
shells/go.nix
Normal file
16
shells/go.nix
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
pkgs,
|
||||
extraPackages ? [ ],
|
||||
inputsFrom ? [ ],
|
||||
shellHook ? "",
|
||||
}:
|
||||
pkgs.mkShell {
|
||||
inherit inputsFrom shellHook;
|
||||
|
||||
packages =
|
||||
(with pkgs; [
|
||||
go
|
||||
gopls
|
||||
])
|
||||
++ extraPackages;
|
||||
}
|
||||
19
shells/node.nix
Normal file
19
shells/node.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
extraPackages ? [ ],
|
||||
inputsFrom ? [ ],
|
||||
shellHook ? "",
|
||||
}:
|
||||
let
|
||||
nodejs = lib.attrByPath [ "nodejs_20" ] pkgs.nodejs pkgs;
|
||||
in
|
||||
pkgs.mkShell {
|
||||
inherit inputsFrom shellHook;
|
||||
|
||||
packages = [
|
||||
nodejs
|
||||
pkgs.pnpm
|
||||
]
|
||||
++ extraPackages;
|
||||
}
|
||||
24
shells/rust.nix
Normal file
24
shells/rust.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
extraPackages ? [ ],
|
||||
inputsFrom ? [ ],
|
||||
shellHook ? "",
|
||||
}:
|
||||
let
|
||||
optionalPackage = path: lib.attrByPath path null pkgs;
|
||||
in
|
||||
pkgs.mkShell {
|
||||
inherit inputsFrom shellHook;
|
||||
|
||||
packages = builtins.filter (pkg: pkg != null) (
|
||||
[
|
||||
pkgs.cargo
|
||||
pkgs.rustc
|
||||
(optionalPackage [ "rust-analyzer" ])
|
||||
(optionalPackage [ "rustfmt" ])
|
||||
(optionalPackage [ "clippy" ])
|
||||
]
|
||||
++ extraPackages
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user