feat: move from npins to lon

This commit is contained in:
Julien Malka 2024-09-10 15:07:35 +02:00
parent fd901ced40
commit 15a5e616c5
Signed by: Luj
GPG key ID: 6FC74C847011FD83
7 changed files with 249 additions and 315 deletions

View file

@ -1,5 +1,5 @@
let
inputs = import ./deps;
inputs = import ./lon.nix;
patches = import inputs.nix-patches { patchFile = ./patches; };
inputs_final = inputs // {
nixpkgs_patched = patches.mkNixpkgsSrc {

65
deps/default.nix vendored
View file

@ -1,65 +0,0 @@
# Generated by npins. Do not modify; will be overwritten regularly
let
data = builtins.fromJSON (builtins.readFile ./sources.json);
inherit (data) version;
mkSource =
spec:
assert spec ? type;
let
path =
if spec.type == "Git" then
mkGitSource spec
else if spec.type == "GitRelease" then
mkGitSource spec
else if spec.type == "PyPi" then
mkPyPiSource spec
else if spec.type == "Channel" then
mkChannelSource spec
else
builtins.throw "Unknown source type ${spec.type}";
in
spec // { outPath = path; };
mkGitSource =
{
repository,
revision,
url ? null,
hash,
...
}:
assert repository ? type;
# At the moment, either it is a plain git repository (which has an url), or it is a GitHub/GitLab repository
# In the latter case, there we will always be an url to the tarball
if url != null then
(builtins.fetchTarball {
inherit url;
sha256 = hash; # FIXME: check nix version & use SRI hashes
})
else
assert repository.type == "Git";
builtins.fetchGit {
inherit (repository) url;
rev = revision;
# hash = hash;
};
mkPyPiSource =
{ url, hash, ... }:
builtins.fetchurl {
inherit url;
sha256 = hash;
};
mkChannelSource =
{ url, hash, ... }:
builtins.fetchTarball {
inherit url;
sha256 = hash;
};
in
if version == 3 then
builtins.mapAttrs (_: mkSource) data.pins
else
throw "Unsupported format version ${toString version} in sources.json. Try running `npins upgrade`"

247
deps/sources.json vendored
View file

@ -1,247 +0,0 @@
{
"pins": {
"agenix": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "ryantm",
"repo": "agenix"
},
"branch": "main",
"revision": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41",
"url": "https://github.com/ryantm/agenix/archive/f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41.tar.gz",
"hash": "1x8nd8hvsq6mvzig122vprwigsr3z2skanig65haqswn7z7amsvg"
},
"arkheon": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "raitobezarius",
"repo": "arkheon"
},
"branch": "main",
"revision": "113724a1a206905e68319676f73d095fcc043a42",
"url": "https://github.com/raitobezarius/arkheon/archive/113724a1a206905e68319676f73d095fcc043a42.tar.gz",
"hash": "0yh8g020d7z67iqpg7xywk4dxxa64dxa1igd45nb8w653c82w6gq"
},
"buildbot-nix": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "JulienMalka",
"repo": "buildbot-nix"
},
"branch": "main",
"revision": "699160c3e095d349cf26a4957e07d9cb99a379f2",
"url": "https://github.com/JulienMalka/buildbot-nix/archive/699160c3e095d349cf26a4957e07d9cb99a379f2.tar.gz",
"hash": "1vk7yc38k9sqqpjy0nrldc3zz57irz52r5b8q3z3m0idyx02nd03"
},
"colmena": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "zhaofengli",
"repo": "colmena"
},
"branch": "main",
"revision": "cd65ef7a25cdc75052fbd04b120aeb066c3881db",
"url": "https://github.com/zhaofengli/colmena/archive/cd65ef7a25cdc75052fbd04b120aeb066c3881db.tar.gz",
"hash": "0n1j499702iclz4hdb4ywvmn8rl4d1mbdf43dwm7lvpjq5pjjqc1"
},
"disko": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "nix-community",
"repo": "disko"
},
"branch": "master",
"revision": "96073e6423623d4a8027e9739d2af86d6422ea7a",
"url": "https://github.com/nix-community/disko/archive/96073e6423623d4a8027e9739d2af86d6422ea7a.tar.gz",
"hash": "09vfy5adfjkbm6a82nnlkmb3jrz4d8ycyh53plch2yp034q96s3b"
},
"dns": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "JulienMalka",
"repo": "dns.nix"
},
"branch": "master",
"revision": "922d6a72ae1f4436cc8f8e04080c50aa65e0d749",
"url": "https://github.com/JulienMalka/dns.nix/archive/922d6a72ae1f4436cc8f8e04080c50aa65e0d749.tar.gz",
"hash": "14882hr596maid5kp4rlrx330pi17x4d1k10cr28nj9c9vazcr9b"
},
"git-hooks": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "cachix",
"repo": "git-hooks.nix"
},
"branch": "master",
"revision": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6",
"url": "https://github.com/cachix/git-hooks.nix/archive/4509ca64f1084e73bc7a721b20c669a8d4c5ebe6.tar.gz",
"hash": "06cjchycvj4wjzwm8ly1d36s9d7lj3mz1zqnkikvck0chi1psaa3"
},
"home-manager": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "nix-community",
"repo": "home-manager"
},
"branch": "release-24.05",
"revision": "e1391fb22e18a36f57e6999c7a9f966dc80ac073",
"url": "https://github.com/nix-community/home-manager/archive/e1391fb22e18a36f57e6999c7a9f966dc80ac073.tar.gz",
"hash": "0c83di08nhkzq0cwc3v7aax3x8y5m7qahyzxppinzwxi3r8fnjq3"
},
"home-manager-unstable": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "nix-community",
"repo": "home-manager"
},
"branch": "master",
"revision": "471e3eb0a114265bcd62d11d58ba8d3421ee68eb",
"url": "https://github.com/nix-community/home-manager/archive/471e3eb0a114265bcd62d11d58ba8d3421ee68eb.tar.gz",
"hash": "1smfj6fb3jc80gbavdf603nz782fb96d9k5w36g61zliw5g2qfvz"
},
"homepage": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "JulienMalka",
"repo": "homepage"
},
"branch": "main",
"revision": "29e779d8600b1c1e6235570a3614a54f8ec8126e",
"url": "https://github.com/JulienMalka/homepage/archive/29e779d8600b1c1e6235570a3614a54f8ec8126e.tar.gz",
"hash": "0prma1rg6glf3xy1dkd6gbzb26z1sxkgzd8wr623pbqvf44hgv32"
},
"impermanence": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "nix-community",
"repo": "impermanence"
},
"branch": "master",
"revision": "c7f5b394397398c023000cf843986ee2571a1fd7",
"url": "https://github.com/nix-community/impermanence/archive/c7f5b394397398c023000cf843986ee2571a1fd7.tar.gz",
"hash": "0znd8asz61l1dm5qnjcqcznjr138ywwwkpqyla571s9z0s3jybvv"
},
"lanzaboote": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "nix-community",
"repo": "lanzaboote"
},
"branch": "master",
"revision": "f5a3a7dff44d131807fc1a89fbd8576cd870334a",
"url": "https://github.com/nix-community/lanzaboote/archive/f5a3a7dff44d131807fc1a89fbd8576cd870334a.tar.gz",
"hash": "0p4h624kbcxyqq1wkrfycyshdyfrg8dsdbv0y66lwiw48n5x5xvv"
},
"lila": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "JulienMalka",
"repo": "lila"
},
"branch": "main",
"revision": "9c52498d310c8ecca8de63e50658bd5089617e3a",
"url": "https://github.com/JulienMalka/lila/archive/9c52498d310c8ecca8de63e50658bd5089617e3a.tar.gz",
"hash": "08zwv0b7x0yvbcwkr39pmhlyfr86y6ijsm71az8xx323zp4c5r8q"
},
"nix-index-database": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "mic92",
"repo": "nix-index-database"
},
"branch": "main",
"revision": "32058e9138248874773630c846563b1a78ee7a5b",
"url": "https://github.com/mic92/nix-index-database/archive/32058e9138248874773630c846563b1a78ee7a5b.tar.gz",
"hash": "12ksfmngc7cs2jbdg2a8l8ilymq4qmw2icgm2p6z5pi0f2mhgw2r"
},
"nix-patches": {
"type": "GitRelease",
"repository": {
"type": "Git",
"url": "https://git.hubrecht.ovh/hubrecht/nix-patches.git"
},
"pre_releases": false,
"version_upper_bound": null,
"release_prefix": null,
"version": "v0.5.0",
"revision": "e11ba20945f4a867f09d84343c37328288f274b4",
"url": null,
"hash": "1c6cc44pwlg3ky6cnwhkml8ci77fw3sgjhwvqg0f6igxxf2fqv9v"
},
"nixos-anywhere": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "nix-community",
"repo": "nixos-anywhere"
},
"branch": "main",
"revision": "2991be5b522c88244b8833dd662cac406e3d5d28",
"url": "https://github.com/nix-community/nixos-anywhere/archive/2991be5b522c88244b8833dd662cac406e3d5d28.tar.gz",
"hash": "1bqag1rd6ais5wshpnx4k05lyph21m9hgfm7wf50br5jprn9p0nx"
},
"nixos-mailserver": {
"type": "Git",
"repository": {
"type": "GitLab",
"repo_path": "simple-nixos-mailserver/nixos-mailserver",
"server": "https://gitlab.com/"
},
"branch": "nixos-24.05",
"revision": "29916981e7b3b5782dc5085ad18490113f8ff63b",
"url": "https://gitlab.com/api/v4/projects/simple-nixos-mailserver%2Fnixos-mailserver/repository/archive.tar.gz?sha=29916981e7b3b5782dc5085ad18490113f8ff63b",
"hash": "0clvw4622mqzk1aqw1qn6shl9pai097q62mq1ibzscnjayhp278b"
},
"nixpkgs": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "nixos",
"repo": "nixpkgs"
},
"branch": "nixos-24.05",
"revision": "6e99f2a27d600612004fbd2c3282d614bfee6421",
"url": "https://github.com/nixos/nixpkgs/archive/6e99f2a27d600612004fbd2c3282d614bfee6421.tar.gz",
"hash": "1qwbrn2cb1x9clkhqmdnx5r8v11168p3nx14h3r9wcml0bgblpvr"
},
"unstable": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "nixos",
"repo": "nixpkgs"
},
"branch": "nixos-unstable",
"revision": "12228ff1752d7b7624a54e9c1af4b222b3c1073b",
"url": "https://github.com/nixos/nixpkgs/archive/12228ff1752d7b7624a54e9c1af4b222b3c1073b.tar.gz",
"hash": "1dmng7f5rv4hgd0b61chqx589ra7jajsrzw21n8gp8makw5khvb2"
},
"zotero-nix": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "camillemndn",
"repo": "zotero-nix"
},
"branch": "main",
"revision": "36c832d9b699378fbabcfcc36844c968db6dbec9",
"url": "https://github.com/camillemndn/zotero-nix/archive/36c832d9b699378fbabcfcc36844c968db6dbec9.tar.gz",
"hash": "0ff49dj30wadw32g2issd1688n7z29p6ykcvwpk723nlz2a1yw9n"
}
},
"version": 3
}

View file

@ -30,7 +30,6 @@ import "${nixpkgs}/nixos/lib/eval-config.nix" {
modules = modules ++ [
host-config
(import "${home-manager}/nixos")
(import "${inputs.nixos-mailserver}")
(import "${inputs.disko}/module.nix")
(import "${inputs.buildbot-nix}/nix/master.nix")
(import "${inputs.buildbot-nix}/nix/worker.nix")

204
lon.lock Normal file
View file

@ -0,0 +1,204 @@
{
"version": "1",
"sources": {
"agenix": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "ryantm",
"repo": "agenix",
"branch": "main",
"revision": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41",
"url": "https://github.com/ryantm/agenix/archive/f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41.tar.gz",
"hash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU="
},
"arkheon": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "raitobezarius",
"repo": "arkheon",
"branch": "main",
"revision": "113724a1a206905e68319676f73d095fcc043a42",
"url": "https://github.com/raitobezarius/arkheon/archive/113724a1a206905e68319676f73d095fcc043a42.tar.gz",
"hash": "sha256-+BkuEBvFcLRsIe3FoHojRvXeyOS+n3dxPOafBgR4CHo="
},
"buildbot-nix": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "JulienMalka",
"repo": "buildbot-nix",
"branch": "main",
"revision": "699160c3e095d349cf26a4957e07d9cb99a379f2",
"url": "https://github.com/JulienMalka/buildbot-nix/archive/699160c3e095d349cf26a4957e07d9cb99a379f2.tar.gz",
"hash": "sha256-AzQrQPctgjr+wGiVLMrP8ZT/B2s0W+DlxViniQbzZ+4="
},
"colmena": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "zhaofengli",
"repo": "colmena",
"branch": "main",
"revision": "cd65ef7a25cdc75052fbd04b120aeb066c3881db",
"url": "https://github.com/zhaofengli/colmena/archive/cd65ef7a25cdc75052fbd04b120aeb066c3881db.tar.gz",
"hash": "sha256-gWEpb8Hybnoqb4O4tmpohGZk6+aerAbJpywKcFIiMlg="
},
"disko": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nix-community",
"repo": "disko",
"branch": "master",
"revision": "e55f9a8678adc02024a4877c2a403e3f6daf24fe",
"url": "https://github.com/nix-community/disko/archive/e55f9a8678adc02024a4877c2a403e3f6daf24fe.tar.gz",
"hash": "sha256-tqoAO8oT6zEUDXte98cvA1saU9+1dLJQe3pMKLXv8ps="
},
"dns": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "JulienMalka",
"repo": "dns.nix",
"branch": "master",
"revision": "922d6a72ae1f4436cc8f8e04080c50aa65e0d749",
"url": "https://github.com/JulienMalka/dns.nix/archive/922d6a72ae1f4436cc8f8e04080c50aa65e0d749.tar.gz",
"hash": "sha256-K2X21U4sSYtEZiDM0Eg/IV4wRs80kztLi6qaVDIUCJE="
},
"git-hooks": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "cachix",
"repo": "git-hooks.nix",
"branch": "master",
"revision": "7570de7b9b504cfe92025dd1be797bf546f66528",
"url": "https://github.com/cachix/git-hooks.nix/archive/7570de7b9b504cfe92025dd1be797bf546f66528.tar.gz",
"hash": "sha256-tyMUA6NgJSvvQuzB7A1Sf8+0XCHyfSPRx/b00o6K0uo="
},
"home-manager": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nix-community",
"repo": "home-manager",
"branch": "release-24.05",
"revision": "208df2e558b73b6a1f0faec98493cb59a25f62ba",
"url": "https://github.com/nix-community/home-manager/archive/208df2e558b73b6a1f0faec98493cb59a25f62ba.tar.gz",
"hash": "sha256-tDgM4d8mLK0Hd6YMB2w1BqMto1XBXADOzPEaLl10VI4="
},
"home-manager-unstable": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nix-community",
"repo": "home-manager",
"branch": "master",
"revision": "e5fa72bad0c6f533e8d558182529ee2acc9454fe",
"url": "https://github.com/nix-community/home-manager/archive/e5fa72bad0c6f533e8d558182529ee2acc9454fe.tar.gz",
"hash": "sha256-4QOPemDQ9VRLQaAdWuvdDBhh+lEUOAnSMHhdr4nS1mk="
},
"homepage": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "JulienMalka",
"repo": "homepage",
"branch": "main",
"revision": "29e779d8600b1c1e6235570a3614a54f8ec8126e",
"url": "https://github.com/JulienMalka/homepage/archive/29e779d8600b1c1e6235570a3614a54f8ec8126e.tar.gz",
"hash": "sha256-YuwHCXEbrzuEyRy1/2bX4Rux/nqmzRZ8H44+83JQNV8="
},
"impermanence": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nix-community",
"repo": "impermanence",
"branch": "master",
"revision": "63f4d0443e32b0dd7189001ee1894066765d18a5",
"url": "https://github.com/nix-community/impermanence/archive/63f4d0443e32b0dd7189001ee1894066765d18a5.tar.gz",
"hash": "sha256-4qWg9sNh5g1qPGO6d/GV2ktY+eDikkBTbWSg5/iD2nY="
},
"lanzaboote": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nix-community",
"repo": "lanzaboote",
"branch": "master",
"revision": "e7bd94e0b5ff3c1e686f2101004ebf4fcea9d871",
"url": "https://github.com/nix-community/lanzaboote/archive/e7bd94e0b5ff3c1e686f2101004ebf4fcea9d871.tar.gz",
"hash": "sha256-qS1H/5/20ewJIXmf8FN2A5KTOKKU9elWvCPwdBi1P/U="
},
"lila": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "JulienMalka",
"repo": "lila",
"branch": "main",
"revision": "9c52498d310c8ecca8de63e50658bd5089617e3a",
"url": "https://github.com/JulienMalka/lila/archive/9c52498d310c8ecca8de63e50658bd5089617e3a.tar.gz",
"hash": "sha256-GOXCyP1DjN7RV+FULaPxBmXnKaw3jTw5W9uDfhbY/CM="
},
"lon": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nikstur",
"repo": "lon",
"branch": "main",
"revision": "a8b4406e5151af87b989564d4aa98ecd6d4d3500",
"url": "https://github.com/nikstur/lon/archive/a8b4406e5151af87b989564d4aa98ecd6d4d3500.tar.gz",
"hash": "sha256-VGvK0ahBl440NMs03WqmP7T4a1DP13yfX47YI84rlGU="
},
"nix-index-database": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "mic92",
"repo": "nix-index-database",
"branch": "main",
"revision": "642275444c5a9defce57219c944b3179bf2adaa9",
"url": "https://github.com/mic92/nix-index-database/archive/642275444c5a9defce57219c944b3179bf2adaa9.tar.gz",
"hash": "sha256-hwX53i24KyWzp2nWpQsn8lfGQNCP0JoW/bvQmcR1DPY="
},
"nix-patches": {
"type": "Git",
"fetchType": "git",
"branch": "main",
"revision": "e11ba20945f4a867f09d84343c37328288f274b4",
"url": "https://git.hubrecht.ovh/hubrecht/nix-patches.git",
"hash": "sha256-O23shOv9RePAw5tD+fTg7pzIEK0TcsuMn+NRfglhzLA=",
"submodules": false
},
"nixos-anywhere": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nix-community",
"repo": "nixos-anywhere",
"branch": "main",
"revision": "55b239c13648898a43cf4da248f988185c322ced",
"url": "https://github.com/nix-community/nixos-anywhere/archive/55b239c13648898a43cf4da248f988185c322ced.tar.gz",
"hash": "sha256-Vk9g2rfhWVOM3//aWbYBb5UeipuJXCD4rbeyle84UVA="
},
"nixpkgs": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nixos",
"repo": "nixpkgs",
"branch": "nixos-24.05",
"revision": "f4c846aee8e1e29062aa8514d5e0ab270f4ec2f9",
"url": "https://github.com/nixos/nixpkgs/archive/f4c846aee8e1e29062aa8514d5e0ab270f4ec2f9.tar.gz",
"hash": "sha256-L64N1rpLlXdc94H+F6scnrbuEu+utC03cDDVvvJGOME="
},
"unstable": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nixos",
"repo": "nixpkgs",
"branch": "nixos-unstable",
"revision": "574d1eac1c200690e27b8eb4e24887f8df7ac27c",
"url": "https://github.com/nixos/nixpkgs/archive/574d1eac1c200690e27b8eb4e24887f8df7ac27c.tar.gz",
"hash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg="
},
"zotero-nix": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "camillemndn",
"repo": "zotero-nix",
"branch": "main",
"revision": "36c832d9b699378fbabcfcc36844c968db6dbec9",
"url": "https://github.com/camillemndn/zotero-nix/archive/36c832d9b699378fbabcfcc36844c968db6dbec9.tar.gz",
"hash": "sha256-NnEflPjUDnHm5ZtNb24S/1iETGhaR/HE4E1xMGRLxDk="
}
}
}

41
lon.nix Normal file
View file

@ -0,0 +1,41 @@
# Generated by lon. Do not modify!
let
lock = builtins.fromJSON (builtins.readFile ./lon.lock);
# Override with a path defined in an environment variable. If no variable is
# set, the original path is used.
overrideFromEnv =
name: path:
let
replacement = builtins.getEnv "LON_OVERRIDE_${name}";
in
if replacement == "" then
path
else
# this turns the string into an actual Nix path (for both absolute and
# relative paths)
if builtins.substring 0 1 replacement == "/" then
/. + replacement
else
/. + builtins.getEnv "PWD" + "/${replacement}";
fetchSource =
args@{ fetchType, ... }:
if fetchType == "git" then
builtins.fetchGit {
inherit (args) url;
ref = args.branch;
rev = args.revision;
narHash = args.hash;
}
else if fetchType == "tarball" then
builtins.fetchTarball {
inherit (args) url;
sha256 = args.hash;
}
else
builtins.throw "Unsupported source type ${fetchType}";
in
builtins.mapAttrs (name: args: overrideFromEnv name (fetchSource args)) lock.sources

View file

@ -1,10 +1,11 @@
let
inputs = import ./deps;
inputs = import ./lon.nix;
pkgs = import inputs.unstable { };
nixos-anywhere = pkgs.callPackage "${inputs.nixos-anywhere}/src/default.nix" { };
agenix = pkgs.callPackage "${inputs.agenix}/pkgs/agenix.nix" { };
bootstrap = pkgs.callPackage scripts/bootstrap-machine.nix { inherit nixos-anywhere; };
update-deps = pkgs.callPackage scripts/update-deps.nix { };
lon = pkgs.callPackage "${inputs.lon}/nix/packages/lon.nix" { };
pre-commit-hook =
(import (
pkgs.applyPatches {
@ -36,6 +37,7 @@ pkgs.mkShell {
bootstrap
update-deps
pkgs.statix
lon
];
shellHook = ''
${pre-commit-hook.shellHook}