mirror of
https://github.com/nix-community/dream2nix.git
synced 2024-12-23 22:48:02 +03:00
64 lines
1.4 KiB
Nix
64 lines
1.4 KiB
Nix
|
{
|
||
|
inputs,
|
||
|
lib,
|
||
|
...
|
||
|
}: {
|
||
|
perSystem = {
|
||
|
pkgs,
|
||
|
self',
|
||
|
inputs',
|
||
|
...
|
||
|
}: let
|
||
|
makeDevshell = import "${inputs.devshell}/modules" pkgs;
|
||
|
mkShell = config:
|
||
|
(makeDevshell {
|
||
|
configuration = {
|
||
|
inherit config;
|
||
|
imports = [];
|
||
|
};
|
||
|
})
|
||
|
.shell;
|
||
|
in {
|
||
|
# a dev shell for working on dream2nix
|
||
|
# use via 'nix develop . -c $SHELL'
|
||
|
devShells = {
|
||
|
default = self'.devShells.dream2nix-shell;
|
||
|
dream2nix-shell = mkShell {
|
||
|
devshell.name = "dream2nix-devshell";
|
||
|
|
||
|
packages =
|
||
|
[
|
||
|
pkgs.alejandra
|
||
|
pkgs.mdbook
|
||
|
(pkgs.python3.withPackages (ps: [
|
||
|
pkgs.python3.pkgs.black
|
||
|
]))
|
||
|
]
|
||
|
++ (lib.optionals pkgs.stdenv.isLinux [
|
||
|
inputs'.nix-unit.packages.nix-unit
|
||
|
]);
|
||
|
|
||
|
commands =
|
||
|
[
|
||
|
{
|
||
|
package = pkgs.treefmt;
|
||
|
category = "formatting";
|
||
|
}
|
||
|
]
|
||
|
# using linux is highly recommended as cntr is amazing for debugging builds
|
||
|
++ lib.optional pkgs.stdenv.isLinux {
|
||
|
package = pkgs.cntr;
|
||
|
category = "debugging";
|
||
|
};
|
||
|
|
||
|
devshell.startup = {
|
||
|
preCommitHooks.text = self'.checks.pre-commit-check.shellHook;
|
||
|
dream2nixEnv.text = ''
|
||
|
export NIX_PATH=nixpkgs=${inputs.nixpkgs}
|
||
|
'';
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|