teutat3s
5ad5c9bae6
Use treefmt For context, see upstream PR: https://github.com/divnix/digga/pull/491
84 lines
2 KiB
Nix
84 lines
2 KiB
Nix
{
|
|
pkgs,
|
|
extraModulesPath,
|
|
inputs,
|
|
lib,
|
|
...
|
|
}: let
|
|
inherit
|
|
(pkgs)
|
|
agenix
|
|
cachix
|
|
editorconfig-checker
|
|
mdbook
|
|
nix
|
|
alejandra
|
|
nvfetcher
|
|
shellcheck
|
|
shfmt
|
|
treefmt
|
|
;
|
|
|
|
inherit
|
|
(pkgs.nodePackages)
|
|
prettier
|
|
;
|
|
|
|
hooks = import ./hooks;
|
|
|
|
pkgWithCategory = category: package: {inherit package category;};
|
|
devos = pkgWithCategory "devos";
|
|
linter = pkgWithCategory "linter";
|
|
docs = pkgWithCategory "docs";
|
|
in {
|
|
_file = toString ./.;
|
|
|
|
imports = ["${extraModulesPath}/git/hooks.nix"];
|
|
git = {inherit hooks;};
|
|
|
|
# override for our own welcome
|
|
devshell.name = pkgs.lib.mkForce "PubSolarOS";
|
|
|
|
# tempfix: remove when merged https://github.com/numtide/devshell/pull/123
|
|
devshell.startup.load_profiles = pkgs.lib.mkForce (pkgs.lib.noDepEntry ''
|
|
# PATH is devshell's exorbitant privilige:
|
|
# fence against its pollution
|
|
_PATH=''${PATH}
|
|
# Load installed profiles
|
|
for file in "$DEVSHELL_DIR/etc/profile.d/"*.sh; do
|
|
# If that folder doesn't exist, bash loves to return the whole glob
|
|
[[ -f "$file" ]] && source "$file"
|
|
done
|
|
# Exert exorbitant privilige and leave no trace
|
|
export PATH=''${_PATH}
|
|
unset _PATH
|
|
'');
|
|
|
|
commands = with pkgs;
|
|
[
|
|
(devos nix)
|
|
(devos agenix)
|
|
{
|
|
category = "devos";
|
|
name = pkgs.nvfetcher.pname;
|
|
help = pkgs.nvfetcher.meta.description;
|
|
command = "cd $PRJ_ROOT/pkgs; ${pkgs.nvfetcher}/bin/nvfetcher -c ./sources.toml $@";
|
|
}
|
|
(linter alejandra)
|
|
(linter editorconfig-checker)
|
|
(linter nodePackages.prettier)
|
|
(linter shfmt)
|
|
(linter shellcheck)
|
|
(linter treefmt)
|
|
|
|
(docs mdbook)
|
|
]
|
|
++ lib.optionals (!pkgs.stdenv.buildPlatform.isi686) [
|
|
(devos cachix)
|
|
]
|
|
++ lib.optionals (pkgs.stdenv.hostPlatform.isLinux && !pkgs.stdenv.buildPlatform.isDarwin) [
|
|
(devos inputs.nixos-generators.defaultPackage.${pkgs.system})
|
|
(devos deploy-rs)
|
|
];
|
|
}
|