From aa122cbae78ce97d60c0c98ba14df753d97e40b1 Mon Sep 17 00:00:00 2001
From: Vincent Ambo
Date: Sun, 30 Jan 2022 19:06:58 +0300
Subject: [PATCH] style: format entire depot with nixpkgs-fmt
This CL can be used to compare the style of nixpkgs-fmt against other
formatters (nixpkgs, alejandra).
Change-Id: I87c6abff6bcb546b02ead15ad0405f81e01b6d9e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4397
Tested-by: BuildkiteCI
Reviewed-by: sterni
Reviewed-by: lukegb
Reviewed-by: wpcarro
Reviewed-by: Profpatsch
Reviewed-by: kanepyork
Reviewed-by: tazjin
Reviewed-by: cynthia
Reviewed-by: edef
Reviewed-by: eta
Reviewed-by: grfn
---
corp/website/default.nix | 3 +-
default.nix | 19 +-
fun/gemma/default.nix | 3 +-
fun/idual/default.nix | 11 +-
fun/owothia/default.nix | 5 +-
fun/owothia/pkg.nix | 26 +-
fun/owothia/shell.nix | 2 +-
fun/uggc/default.nix | 3 +-
fun/🕰️/default.nix | 3 +-
nix/binify/default.nix | 2 +-
nix/buildGo/default.nix | 87 +-
nix/buildGo/example/default.nix | 5 +-
nix/buildGo/external/default.nix | 48 +-
nix/buildGo/proto.nix | 3 +-
nix/buildLisp/default.nix | 275 +-
nix/buildLisp/example/default.nix | 19 +-
nix/buildManPages/default.nix | 77 +-
nix/buildkite/default.nix | 288 +-
nix/drvSeqL/default.nix | 26 +-
nix/emptyDerivation/default.nix | 3 +-
nix/emptyDerivation/emptyDerivation.nix | 12 +-
nix/emptyDerivation/tests.nix | 18 +-
nix/escapeExecline/default.nix | 19 +-
nix/getBins/default.nix | 21 +-
nix/getBins/tests.nix | 20 +-
nix/mergePatch/default.nix | 138 +-
nix/netstring/attrsToKeyValList.nix | 4 +-
nix/nint/default.nix | 14 +-
nix/readTree/default.nix | 137 +-
nix/readTree/tests/default.nix | 18 +-
.../test-marker/directory-marked/default.nix | 2 +-
.../directory-marked/nested/default.nix | 2 +-
.../tests/test-marker/file-children/one.nix | 2 +-
.../tests/test-marker/file-children/two.nix | 2 +-
nix/renderMarkdown/default.nix | 2 +-
nix/runExecline/default.nix | 5 +-
nix/runExecline/runExecline.nix | 64 +-
nix/runExecline/tests.nix | 121 +-
nix/runTestsuite/default.nix | 76 +-
nix/sparseTree/default.nix | 20 +-
nix/tag/default.nix | 84 +-
nix/tag/tests.nix | 44 +-
nix/tailscale/default.nix | 3 +-
nix/utils/default.nix | 39 +-
nix/utils/tests/default.nix | 54 +-
nix/writeElispBin/default.nix | 8 +-
nix/writeExecline/default.nix | 17 +-
nix/writeScript/default.nix | 20 +-
nix/writers/default.nix | 126 +-
nix/writers/tests/rust.nix | 40 +-
nix/yants/default.nix | 293 +-
nix/yants/tests/default.nix | 34 +-
ops/dns/default.nix | 5 +-
ops/glesys/default.nix | 2 +-
ops/journaldriver/default.nix | 4 +-
ops/keycloak/default.nix | 2 +-
ops/kontemplate/release.nix | 22 +-
ops/machines/whitby/default.nix | 131 +-
ops/modules/atward.nix | 3 +-
ops/modules/auto-deploy.nix | 3 +-
ops/modules/automatic-gc.nix | 3 +-
ops/modules/clbot.nix | 7 +-
ops/modules/default.nix | 2 +-
ops/modules/gerrit-queue.nix | 3 +-
ops/modules/git-serving.nix | 3 +-
ops/modules/irccat.nix | 3 +-
ops/modules/monorepo-gerrit.nix | 5 +-
ops/modules/nixery.nix | 3 +-
ops/modules/oauth2_proxy.nix | 3 +-
ops/modules/owothia.nix | 3 +-
ops/modules/panettone.nix | 40 +-
ops/modules/paroxysm.nix | 3 +-
ops/modules/quassel.nix | 5 +-
ops/modules/restic.nix | 3 +-
ops/modules/smtprelay.nix | 5 +-
ops/modules/sourcegraph.nix | 6 +-
ops/modules/tvl-buildkite.nix | 67 +-
ops/modules/tvl-slapd/default.nix | 5 +-
ops/pipelines/depot.nix | 8 +-
ops/secrets/mkSecrets.nix | 6 +-
ops/secrets/secrets.nix | 3 +-
third_party/abseil_cpp/default.nix | 16 +-
third_party/agenix/default.nix | 3 +-
third_party/arion/default.nix | 14 +-
third_party/bat_syntaxes/default.nix | 3 +-
third_party/cgit/default.nix | 3 +-
third_party/clj2nix/default.nix | 3 +-
third_party/default.nix | 55 +-
third_party/dhall/default.nix | 13 +-
third_party/elmPackages_0_18/default.nix | 14 +-
third_party/gerrit_plugins/builder.nix | 58 +-
third_party/gerrit_plugins/default.nix | 3 +-
third_party/gerrit_plugins/oauth/default.nix | 3 +-
third_party/git/default.nix | 4 +-
third_party/gitignoreSource/default.nix | 17 +-
.../charmbracelet/bubbletea/default.nix | 10 +-
third_party/grpc/default.nix | 2 +-
third_party/gtest/default.nix | 2 +-
third_party/josh/default.nix | 12 +-
third_party/lisp/bordeaux-threads.nix | 3 +-
third_party/lisp/cl-fad.nix | 4 +-
third_party/lisp/cl-json.nix | 23 +-
third_party/lisp/cl-plus-ssl.nix | 14 +-
third_party/lisp/cl-unicode.nix | 6 +-
third_party/lisp/cl-yacc.nix | 6 +-
third_party/lisp/closure-common.nix | 11 +-
third_party/lisp/easy-routes.nix | 3 +-
third_party/lisp/flexi-streams.nix | 2 +-
third_party/lisp/global-vars.nix | 2 +-
third_party/lisp/hunchentoot.nix | 5 +-
third_party/lisp/ironclad.nix | 5 +-
third_party/lisp/lass.nix | 3 +-
third_party/lisp/lisp-binary.nix | 16 +-
third_party/lisp/local-time.nix | 3 +-
third_party/lisp/nibbles.nix | 3 +-
third_party/lisp/postmodern.nix | 3 +-
third_party/lisp/routes.nix | 3 +-
third_party/lisp/s-xml/default.nix | 18 +-
third_party/lisp/trivial-ldap.nix | 6 +-
third_party/lisp/trivial-mimes.nix | 5 +-
third_party/lisp/uax-15.nix | 5 +-
third_party/lisp/unix-opts.nix | 2 +-
third_party/lisp/usocket-server.nix | 3 +-
third_party/lisp/usocket.nix | 3 +-
third_party/naersk/default.nix | 14 +-
third_party/nix/corepkgs/buildenv.nix | 12 +-
third_party/nix/corepkgs/derivation.nix | 9 +-
third_party/nix/corepkgs/fetchurl.nix | 19 +-
.../corepkgs/imported-drv-to-derivation.nix | 13 +-
third_party/nix/default.nix | 58 +-
third_party/nix/test-vm.nix | 3 +-
third_party/nixery/default.nix | 3 +-
third_party/nixpkgs/default.nix | 9 +-
third_party/overlays/emacs.nix | 3 +-
third_party/overlays/haskell/default.nix | 3 +-
third_party/overlays/tvl.nix | 10 +-
.../prometheus-fail2ban-exporter/default.nix | 3 +-
third_party/python/broadlink/default.nix | 3 +-
third_party/rust-crates/default.nix | 22 +-
third_party/rustsec-advisory-db/default.nix | 2 +-
tools/depot-nixpkgs-update.nix | 4 +-
tools/depot-scanner/default.nix | 22 +-
tools/depotfmt.nix | 3 +-
tools/emacs-pkgs/buildEmacsPackage.nix | 30 +-
tools/emacs-pkgs/notable/default.nix | 4 +-
tools/eprintf.nix | 12 +-
tools/nsfv-setup/default.nix | 3 +-
tools/rust-crates-advisory/default.nix | 160 +-
tools/tvlc/default.nix | 3 +-
tvix/default.nix | 4 +-
tvix/docs/default.nix | 9 +-
tvix/proto/default.nix | 2 +-
tvix/shell.nix | 5 +-
users/Profpatsch/arglib/netencode.nix | 18 +-
users/Profpatsch/atomically-write.nix | 3 +-
users/Profpatsch/blog/default.nix | 336 +-
users/Profpatsch/cdb.nix | 20 +-
.../emacs-tree-sitter-move/default.nix | 4 +-
.../emacs-tree-sitter-move/shell.nix | 7 +-
users/Profpatsch/execline/default.nix | 24 +-
users/Profpatsch/git-db/default.nix | 6 +-
users/Profpatsch/imap-idle.nix | 23 +-
users/Profpatsch/lens.nix | 7 +-
users/Profpatsch/lib.nix | 79 +-
users/Profpatsch/netencode/default.nix | 105 +-
users/Profpatsch/netencode/gen.nix | 40 +-
users/Profpatsch/netstring/default.nix | 19 +-
users/Profpatsch/netstring/tests/default.nix | 29 +-
users/Profpatsch/nix-home/default.nix | 180 +-
users/Profpatsch/nixpkgs-rewriter/default.nix | 128 +-
users/Profpatsch/read-http.nix | 25 +-
users/Profpatsch/reverse-haskell-deps.nix | 25 +-
users/Profpatsch/struct-edit/default.nix | 20 +-
users/Profpatsch/tree-sitter.nix | 162 +-
users/Profpatsch/writers/default.nix | 115 +-
users/Profpatsch/writers/tests/default.nix | 40 +-
.../Profpatsch/ytextr/create-symlink-farm.nix | 13 +-
users/Profpatsch/ytextr/default.nix | 91 +-
users/cynthia/keys.nix | 2 +-
users/edef/depot-scan/wrap.nix | 7 +-
users/eta/keys.nix | 2 +-
users/grfn/achilles/shell.nix | 2 +-
users/grfn/bbbg/arion-pkgs.nix | 2 +-
users/grfn/bbbg/default.nix | 11 +-
users/grfn/bbbg/deps.nix | 2951 +++++++++--------
users/grfn/bbbg/module.nix | 9 +-
users/grfn/bbbg/shell.nix | 2 +-
users/grfn/bbbg/tf.nix | 13 +-
users/grfn/gws.fyi/default.nix | 12 +-
users/grfn/gws.fyi/orgExportHTML.nix | 13 +-
users/grfn/gws.fyi/site.nix | 2 +-
users/grfn/resume/default.nix | 53 +-
users/grfn/secrets/shell.nix | 2 +-
users/grfn/system/home/common/solarized.nix | 30 +-
users/grfn/system/home/machines/roswell.nix | 3 +-
users/grfn/system/home/machines/yeren.nix | 8 +-
users/grfn/system/home/modules/alsi.nix | 46 +-
users/grfn/system/home/modules/common.nix | 3 +-
.../grfn/system/home/modules/development.nix | 18 +-
.../system/home/modules/development/kube.nix | 2 +-
users/grfn/system/home/modules/emacs.nix | 21 +-
users/grfn/system/home/modules/email.nix | 68 +-
users/grfn/system/home/modules/games.nix | 9 +-
users/grfn/system/home/modules/i3.nix | 284 +-
.../system/home/modules/lib/cloneRepo.nix | 96 +-
.../system/home/modules/lib/zshFunctions.nix | 14 +-
users/grfn/system/home/modules/obs.nix | 4 +-
users/grfn/system/home/modules/rtlsdr.nix | 14 +-
users/grfn/system/home/modules/shell.nix | 5 +-
users/grfn/system/home/modules/tarsnap.nix | 80 +-
users/grfn/system/home/platforms/darwin.nix | 2 +-
users/grfn/system/system/iso.nix | 3 +-
users/grfn/system/system/machines/mugwump.nix | 154 +-
users/grfn/system/system/modules/common.nix | 2 +-
users/grfn/system/system/modules/fonts.nix | 2 +-
.../system/modules/reusable/battery.nix | 14 +-
users/grfn/system/system/modules/tvl.nix | 4 +-
.../system/system/modules/work/kolide.nix | 10 +-
users/grfn/terraform/globals.nix | 19 +-
users/grfn/terraform/nixosMachine.nix | 71 +-
users/grfn/terraform/workspace.nix | 25 +-
users/grfn/xanthous/default.nix | 9 +-
users/grfn/xanthous/pkg.nix | 387 ++-
users/grfn/xanthous/server/default.nix | 3 +-
users/grfn/xanthous/server/docker.nix | 8 +-
users/grfn/xanthous/server/module.nix | 3 +-
users/grfn/xanthous/server/shell.nix | 2 +-
users/grfn/xanthous/shell.nix | 4 +-
.../adventofcode-2020/day01/default.nix | 2 +-
users/riking/keys.nix | 6 +-
users/sterni/clhs-lookup/default.nix | 2 +-
users/sterni/dot-time-man-pages/default.nix | 12 +-
users/sterni/exercises/aoc/2021/default.nix | 2 +-
users/sterni/htmlman/default.nix | 186 +-
users/sterni/nix/char/default.nix | 30 +-
users/sterni/nix/char/tests/default.nix | 6 +-
users/sterni/nix/flow/default.nix | 9 +-
users/sterni/nix/flow/tests/default.nix | 8 +-
users/sterni/nix/fun/tests/default.nix | 6 +-
users/sterni/nix/html/default.nix | 19 +-
users/sterni/nix/html/tests/default.nix | 73 +-
users/sterni/nix/int/default.nix | 20 +-
users/sterni/nix/int/tests/default.nix | 386 ++-
users/sterni/nix/string/default.nix | 40 +-
users/sterni/nix/string/tests/default.nix | 14 +-
users/sterni/nix/url/default.nix | 41 +-
users/sterni/nix/url/tests/default.nix | 18 +-
users/sterni/nix/utf8/default.nix | 194 +-
users/sterni/nix/utf8/tests/default.nix | 57 +-
users/sterni/nixpkgs-crate-holes/default.nix | 234 +-
users/tazjin/aoc2019/default.nix | 22 +-
users/tazjin/aoc2020/default.nix | 16 +-
users/tazjin/blog/default.nix | 17 +-
users/tazjin/blog/posts.nix | 2 +-
users/tazjin/dns/default.nix | 7 +-
users/tazjin/emacs/default.nix | 305 +-
users/tazjin/homepage/default.nix | 5 +-
users/tazjin/homepage/feed.nix | 5 +-
users/tazjin/nixos/camden/default.nix | 38 +-
users/tazjin/nixos/frog/default.nix | 10 +-
users/tazjin/nixos/tverskoy/default.nix | 204 +-
.../bootstrapping-2018/default.nix | 38 +-
.../wpcarro/assessments/brilliant/default.nix | 2 +-
users/wpcarro/buildHaskell/default.nix | 40 +-
users/wpcarro/ci/pipelines/post-receive.nix | 3 +-
.../wpcarro/clients/monsterpoker/default.nix | 2 +-
users/wpcarro/common.nix | 3 +-
users/wpcarro/configs/default.nix | 3 +-
users/wpcarro/emacs/default.nix | 12 +-
users/wpcarro/haskell-file/shell.nix | 2 +-
users/wpcarro/nixos/diogenes/default.nix | 13 +-
users/wpcarro/nixos/marcus/default.nix | 3 +-
users/wpcarro/nixos/marcus/hardware.nix | 4 +-
users/wpcarro/playbooks/nix_gcr/cloud_run.nix | 2 +-
users/wpcarro/scratch/blockchain/default.nix | 3 +-
users/wpcarro/scratch/groceries/shell.nix | 2 +-
.../scratch/picoctf/challenge_166/shell.nix | 5 +-
users/wpcarro/terraform/default.nix | 318 +-
users/wpcarro/tools/monzo_ynab/job.nix | 3 +-
users/wpcarro/tools/monzo_ynab/tokens.nix | 3 +-
users/wpcarro/tools/rfcToKindle/default.nix | 2 +-
.../wpcarro/tools/symlinkManager/default.nix | 3 +-
users/wpcarro/tools/url-blocker/default.nix | 13 +-
users/wpcarro/utils/builder.nix | 3 +-
users/wpcarro/utils/default.nix | 5 +-
users/wpcarro/utils/fs.nix | 9 +-
users/wpcarro/website/blog/default.nix | 7 +-
users/wpcarro/website/default.nix | 15 +-
.../wpcarro/website/habit-screens/default.nix | 41 +-
.../website/habit-screens/elm-srcs.nix | 120 +-
.../sandbox/learnpianochords/default.nix | 41 +-
.../sandbox/learnpianochords/elm-srcs.nix | 104 +-
views/kit/default.nix | 2 +-
web/atom-feed/default.nix | 5 +-
web/blog/default.nix | 5 +-
web/blog/fragments.nix | 45 +-
web/bubblegum/default.nix | 66 +-
web/bubblegum/examples/blog.nix | 43 +-
web/bubblegum/examples/default.nix | 61 +-
web/bubblegum/examples/derivation-svg.nix | 8 +-
web/bubblegum/examples/hello.nix | 8 +-
web/cgit-taz/default.nix | 5 +-
web/panettone/shell.nix | 2 +-
web/static/default.nix | 4 +-
web/todolist/default.nix | 29 +-
web/tvl/blog/default.nix | 2 +-
web/tvl/default.nix | 10 +-
web/tvl/footer/default.nix | 2 +-
web/tvl/logo/default.nix | 42 +-
web/tvl/template/default.nix | 16 +-
310 files changed, 7278 insertions(+), 5490 deletions(-)
diff --git a/corp/website/default.nix b/corp/website/default.nix
index 8740041d9..2011e2a37 100644
--- a/corp/website/default.nix
+++ b/corp/website/default.nix
@@ -30,7 +30,8 @@ let
'';
};
-in pkgs.runCommandNoCC "corp-website" {} ''
+in
+pkgs.runCommandNoCC "corp-website" { } ''
mkdir $out
cp ${index} $out/index.html
''
diff --git a/default.nix b/default.nix
index 0ffda5b4d..7cdf32bef 100644
--- a/default.nix
+++ b/default.nix
@@ -4,14 +4,16 @@
{ nixpkgsBisectPath ? null
, parentTargetMap ? null
-, nixpkgsConfig ? {}, ... }@args:
+, nixpkgsConfig ? { }
+, ...
+}@args:
let
inherit (builtins)
filter
;
- readTree = import ./nix/readTree {};
+ readTree = import ./nix/readTree { };
# Disallow access to //users from other depot parts.
usersFilter = readTree.restrictFolder {
@@ -70,7 +72,8 @@ let
# Is this tree node eligible for build inclusion?
eligible = node: (node ? outPath) && !(node.meta.ci.skip or false);
-in readTree.fix(self: (readDepot {
+in
+readTree.fix (self: (readDepot {
depot = self;
# Pass third_party as 'pkgs' (for compatibility with external
@@ -110,8 +113,10 @@ in readTree.fix(self: (readDepot {
});
# Derivation that gcroots all depot targets.
- ci.gcroot = with self.third_party.nixpkgs; makeSetupHook {
- name = "depot-gcroot";
- deps = self.ci.targets;
- } emptyFile;
+ ci.gcroot = with self.third_party.nixpkgs; makeSetupHook
+ {
+ name = "depot-gcroot";
+ deps = self.ci.targets;
+ }
+ emptyFile;
})
diff --git a/fun/gemma/default.nix b/fun/gemma/default.nix
index 0b5e67b15..4a2600585 100644
--- a/fun/gemma/default.nix
+++ b/fun/gemma/default.nix
@@ -33,7 +33,8 @@ let
cp ${frontend} $out/index.html
''}/")
'';
-in depot.nix.buildLisp.program {
+in
+depot.nix.buildLisp.program {
name = "gemma";
deps = with depot.third_party.lisp; [
diff --git a/fun/idual/default.nix b/fun/idual/default.nix
index 0f87f4ae1..1acf287bf 100644
--- a/fun/idual/default.nix
+++ b/fun/idual/default.nix
@@ -4,19 +4,20 @@ let
inherit (pkgs) python3 python3Packages;
opts = {
- pname = "idualctl";
+ pname = "idualctl";
version = "0.1";
- src = ./.;
+ src = ./.;
propagatedBuildInputs = [
depot.third_party.python.broadlink
];
};
package = python3Packages.buildPythonPackage opts;
- script = python3Packages.buildPythonApplication opts;
-in depot.nix.readTree.drvTargets {
+ script = python3Packages.buildPythonApplication opts;
+in
+depot.nix.readTree.drvTargets {
inherit script;
- python = python3.withPackages (_: [ package ]);
+ python = python3.withPackages (_: [ package ]);
setAlarm = pkgs.writeShellScriptBin "set-alarm" ''
echo "setting an alarm for ''${1}"
${pkgs.systemd}/bin/systemd-run --user --on-calendar="''${1} Europe/London" --unit=light-alarm.service
diff --git a/fun/owothia/default.nix b/fun/owothia/default.nix
index b70d0525c..04f98e97f 100644
--- a/fun/owothia/default.nix
+++ b/fun/owothia/default.nix
@@ -1,6 +1,7 @@
-{ depot ? (import ../../../. {})
+{ depot ? (import ../../../. { })
, pkgs ? depot.third_party.nixpkgs
-, ... }:
+, ...
+}:
let
basePkg = pkgs.haskellPackages.callPackage ./pkg.nix { };
diff --git a/fun/owothia/pkg.nix b/fun/owothia/pkg.nix
index d0941a848..c812e5e11 100644
--- a/fun/owothia/pkg.nix
+++ b/fun/owothia/pkg.nix
@@ -1,5 +1,15 @@
-{ mkDerivation, base, bytestring, chatter, containers, envy
-, irc-client, lens, lib, random, relude, text
+{ mkDerivation
+, base
+, bytestring
+, chatter
+, containers
+, envy
+, irc-client
+, lens
+, lib
+, random
+, relude
+, text
}:
mkDerivation {
pname = "owothia";
@@ -8,8 +18,16 @@ mkDerivation {
isLibrary = false;
isExecutable = true;
executableHaskellDepends = [
- base bytestring chatter containers envy irc-client lens random
- relude text
+ base
+ bytestring
+ chatter
+ containers
+ envy
+ irc-client
+ lens
+ random
+ relude
+ text
];
license = "unknown";
hydraPlatforms = lib.platforms.none;
diff --git a/fun/owothia/shell.nix b/fun/owothia/shell.nix
index 1ad70c907..0304581d9 100644
--- a/fun/owothia/shell.nix
+++ b/fun/owothia/shell.nix
@@ -1,4 +1,4 @@
-{ pkgs ? (import ../../../. {}).third_party, ... }:
+{ pkgs ? (import ../../../. { }).third_party, ... }:
let
inherit (pkgs)
diff --git a/fun/uggc/default.nix b/fun/uggc/default.nix
index ca622666d..980ad16bc 100644
--- a/fun/uggc/default.nix
+++ b/fun/uggc/default.nix
@@ -12,7 +12,8 @@ let
gopkgs."github.com".pkg.browser.gopkg
];
};
-in uggc.overrideAttrs(old: {
+in
+uggc.overrideAttrs (old: {
buildCommand = old.buildCommand + ''
install -D ${./uggc.desktop} $out/share/applications/uggc.desktop
sed "s|@out@|$out|g" -i $out/share/applications/uggc.desktop
diff --git a/fun/🕰️/default.nix b/fun/🕰️/default.nix
index 230d9f02f..2b1a94640 100644
--- a/fun/🕰️/default.nix
+++ b/fun/🕰️/default.nix
@@ -38,6 +38,7 @@ let
"ecl" # refuses to create non-ASCII paths even on POSIX…
];
};
-in bin // {
+in
+bin // {
inherit lib;
}
diff --git a/nix/binify/default.nix b/nix/binify/default.nix
index d40930fd3..a9900caf4 100644
--- a/nix/binify/default.nix
+++ b/nix/binify/default.nix
@@ -10,7 +10,7 @@
# with `binify { exe = …; name = "hello" }`.
{ exe, name }:
-pkgs.runCommandLocal "${name}-bin" {} ''
+pkgs.runCommandLocal "${name}-bin" { } ''
mkdir -p $out/bin
ln -sT ${lib.escapeShellArg exe} $out/bin/${lib.escapeShellArg name}
''
diff --git a/nix/buildGo/default.nix b/nix/buildGo/default.nix
index a2396dc3f..0126a93d1 100644
--- a/nix/buildGo/default.nix
+++ b/nix/buildGo/default.nix
@@ -4,8 +4,9 @@
# buildGo provides Nix functions to build Go packages in the style of Bazel's
# rules_go.
-{ pkgs ? import {}
-, ... }:
+{ pkgs ? import { }
+, ...
+}:
let
inherit (builtins)
@@ -40,7 +41,7 @@ let
xFlags = x_defs: spaceOut (map (k: "-X ${k}=${x_defs."${k}"}") (attrNames x_defs));
- pathToName = p: replaceStrings ["/"] ["_"] (toString p);
+ pathToName = p: replaceStrings [ "/" ] [ "_" ] (toString p);
# Add an `overrideGo` attribute to a function result that works
# similar to `overrideAttrs`, but is used specifically for the
@@ -52,49 +53,50 @@ let
# High-level build functions
# Build a Go program out of the specified files and dependencies.
- program = { name, srcs, deps ? [], x_defs ? {} }:
- let uniqueDeps = allDeps (map (d: d.gopkg) deps);
- in runCommand name {} ''
- ${go}/bin/go tool compile -o ${name}.a -trimpath=$PWD -trimpath=${go} ${includeSources uniqueDeps} ${spaceOut srcs}
- mkdir -p $out/bin
- export GOROOT_FINAL=go
- ${go}/bin/go tool link -o $out/bin/${name} -buildid nix ${xFlags x_defs} ${includeLibs uniqueDeps} ${name}.a
- '';
+ program = { name, srcs, deps ? [ ], x_defs ? { } }:
+ let uniqueDeps = allDeps (map (d: d.gopkg) deps);
+ in runCommand name { } ''
+ ${go}/bin/go tool compile -o ${name}.a -trimpath=$PWD -trimpath=${go} ${includeSources uniqueDeps} ${spaceOut srcs}
+ mkdir -p $out/bin
+ export GOROOT_FINAL=go
+ ${go}/bin/go tool link -o $out/bin/${name} -buildid nix ${xFlags x_defs} ${includeLibs uniqueDeps} ${name}.a
+ '';
# Build a Go library assembled out of the specified files.
#
# This outputs both the sources and compiled binary, as both are
# needed when downstream packages depend on it.
- package = { name, srcs, deps ? [], path ? name, sfiles ? [] }:
- let
- uniqueDeps = allDeps (map (d: d.gopkg) deps);
+ package = { name, srcs, deps ? [ ], path ? name, sfiles ? [ ] }:
+ let
+ uniqueDeps = allDeps (map (d: d.gopkg) deps);
- # The build steps below need to be executed conditionally for Go
- # assembly if the analyser detected any *.s files.
- #
- # This is required for several popular packages (e.g. x/sys).
- ifAsm = do: lib.optionalString (sfiles != []) do;
- asmBuild = ifAsm ''
- ${go}/bin/go tool asm -trimpath $PWD -I $PWD -I ${go}/share/go/pkg/include -D GOOS_linux -D GOARCH_amd64 -gensymabis -o ./symabis ${spaceOut sfiles}
- ${go}/bin/go tool asm -trimpath $PWD -I $PWD -I ${go}/share/go/pkg/include -D GOOS_linux -D GOARCH_amd64 -o ./asm.o ${spaceOut sfiles}
- '';
- asmLink = ifAsm "-symabis ./symabis -asmhdr $out/go_asm.h";
- asmPack = ifAsm ''
- ${go}/bin/go tool pack r $out/${path}.a ./asm.o
- '';
+ # The build steps below need to be executed conditionally for Go
+ # assembly if the analyser detected any *.s files.
+ #
+ # This is required for several popular packages (e.g. x/sys).
+ ifAsm = do: lib.optionalString (sfiles != [ ]) do;
+ asmBuild = ifAsm ''
+ ${go}/bin/go tool asm -trimpath $PWD -I $PWD -I ${go}/share/go/pkg/include -D GOOS_linux -D GOARCH_amd64 -gensymabis -o ./symabis ${spaceOut sfiles}
+ ${go}/bin/go tool asm -trimpath $PWD -I $PWD -I ${go}/share/go/pkg/include -D GOOS_linux -D GOARCH_amd64 -o ./asm.o ${spaceOut sfiles}
+ '';
+ asmLink = ifAsm "-symabis ./symabis -asmhdr $out/go_asm.h";
+ asmPack = ifAsm ''
+ ${go}/bin/go tool pack r $out/${path}.a ./asm.o
+ '';
- gopkg = (runCommand "golib-${name}" {} ''
- mkdir -p $out/${path}
- ${srcList path (map (s: "${s}") srcs)}
- ${asmBuild}
- ${go}/bin/go tool compile -pack ${asmLink} -o $out/${path}.a -trimpath=$PWD -trimpath=${go} -p ${path} ${includeSources uniqueDeps} ${spaceOut srcs}
- ${asmPack}
- '') // {
- inherit gopkg;
- goDeps = uniqueDeps;
- goImportPath = path;
- };
- in gopkg;
+ gopkg = (runCommand "golib-${name}" { } ''
+ mkdir -p $out/${path}
+ ${srcList path (map (s: "${s}") srcs)}
+ ${asmBuild}
+ ${go}/bin/go tool compile -pack ${asmLink} -o $out/${path}.a -trimpath=$PWD -trimpath=${go} -p ${path} ${includeSources uniqueDeps} ${spaceOut srcs}
+ ${asmPack}
+ '') // {
+ inherit gopkg;
+ goDeps = uniqueDeps;
+ goImportPath = path;
+ };
+ in
+ gopkg;
# Build a tree of Go libraries out of an external Go source
# directory that follows the standard Go layout and was not built
@@ -110,10 +112,10 @@ let
};
# Build a Go library out of the specified protobuf definition.
- proto = { name, proto, path ? name, goPackage ? name, extraDeps ? [] }: (makeOverridable package) {
+ proto = { name, proto, path ? name, goPackage ? name, extraDeps ? [ ] }: (makeOverridable package) {
inherit name path;
deps = [ protoLibs.goProto.proto.gopkg ] ++ extraDeps;
- srcs = lib.singleton (runCommand "goproto-${name}.pb.go" {} ''
+ srcs = lib.singleton (runCommand "goproto-${name}.pb.go" { } ''
cp ${proto} ${baseNameOf proto}
${protobuf}/bin/protoc --plugin=${protoLibs.goProto.protoc-gen-go.gopkg}/bin/protoc-gen-go \
--go_out=plugins=grpc,import_path=${baseNameOf path}:. ${baseNameOf proto}
@@ -124,7 +126,8 @@ let
# Build a Go library out of the specified gRPC definition.
grpc = args: proto (args // { extraDeps = [ protoLibs.goGrpc.gopkg ]; });
-in {
+in
+{
# Only the high-level builder functions are exposed, but made
# overrideable.
program = makeOverridable program;
diff --git a/nix/buildGo/example/default.nix b/nix/buildGo/example/default.nix
index 99c0a7d79..08da075e1 100644
--- a/nix/buildGo/example/default.nix
+++ b/nix/buildGo/example/default.nix
@@ -8,7 +8,7 @@
# users a quick introduction to how to use buildGo.
let
- buildGo = import ../default.nix {};
+ buildGo = import ../default.nix { };
# Example use of buildGo.package, which creates an importable Go
# package from the specified source files.
@@ -29,7 +29,8 @@ let
# Example use of buildGo.program, which builds an executable using
# the specified name and dependencies (which in turn must have been
# created via buildGo.package etc.)
-in buildGo.program {
+in
+buildGo.program {
name = "example";
srcs = [
diff --git a/nix/buildGo/external/default.nix b/nix/buildGo/external/default.nix
index 6540faf04..f713783a5 100644
--- a/nix/buildGo/external/default.nix
+++ b/nix/buildGo/external/default.nix
@@ -17,12 +17,12 @@ let
inherit (pkgs) lib runCommand go jq ripgrep;
- pathToName = p: replaceStrings ["/"] ["_"] (toString p);
+ pathToName = p: replaceStrings [ "/" ] [ "_" ] (toString p);
# Collect all non-vendored dependencies from the Go standard library
# into a file that can be used to filter them out when processing
# dependencies.
- stdlibPackages = runCommand "stdlib-pkgs.json" {} ''
+ stdlibPackages = runCommand "stdlib-pkgs.json" { } ''
export HOME=$PWD
export GOPATH=/dev/null
${go}/bin/go list std | \
@@ -45,20 +45,28 @@ let
};
mkset = path: value:
- if path == [] then { gopkg = value; }
+ if path == [ ] then { gopkg = value; }
else { "${head path}" = mkset (tail path) value; };
last = l: elemAt l ((length l) - 1);
toPackage = self: src: path: depMap: entry:
let
- localDeps = map (d: lib.attrByPath (d ++ [ "gopkg" ]) (
- throw "missing local dependency '${lib.concatStringsSep "." d}' in '${path}'"
- ) self) entry.localDeps;
+ localDeps = map
+ (d: lib.attrByPath (d ++ [ "gopkg" ])
+ (
+ throw "missing local dependency '${lib.concatStringsSep "." d}' in '${path}'"
+ )
+ self)
+ entry.localDeps;
- foreignDeps = map (d: lib.attrByPath [ d.path ] (
- throw "missing foreign dependency '${d.path}' in '${path}, imported at ${d.position}'"
- ) depMap) entry.foreignDeps;
+ foreignDeps = map
+ (d: lib.attrByPath [ d.path ]
+ (
+ throw "missing foreign dependency '${d.path}' in '${path}, imported at ${d.position}'"
+ )
+ depMap)
+ entry.foreignDeps;
args = {
srcs = map (f: src + ("/" + f)) entry.files;
@@ -74,22 +82,28 @@ let
binArgs = args // {
name = (last ((lib.splitString "/" path) ++ entry.locator));
};
- in if entry.isCommand then (program binArgs) else (package libArgs);
+ in
+ if entry.isCommand then (program binArgs) else (package libArgs);
-in { src, path, deps ? [] }: let
+in
+{ src, path, deps ? [ ] }:
+let
# Build a map of dependencies (from their import paths to their
# derivation) so that they can be conditionally imported only in
# sub-packages that require them.
- depMap = listToAttrs (map (d: {
- name = d.goImportPath;
- value = d;
- }) (map (d: d.gopkg) deps));
+ depMap = listToAttrs (map
+ (d: {
+ name = d.goImportPath;
+ value = d;
+ })
+ (map (d: d.gopkg) deps));
name = pathToName path;
- analysisOutput = runCommand "${name}-structure.json" {} ''
+ analysisOutput = runCommand "${name}-structure.json" { } ''
${analyser}/bin/analyser -path ${path} -source ${src} > $out
'';
analysis = fromJSON (readFile analysisOutput);
-in lib.fix(self: foldl' lib.recursiveUpdate {} (
+in
+lib.fix (self: foldl' lib.recursiveUpdate { } (
map (entry: mkset entry.locator (toPackage self src path depMap entry)) analysis
))
diff --git a/nix/buildGo/proto.nix b/nix/buildGo/proto.nix
index 4bd3a5727..6c37f758c 100644
--- a/nix/buildGo/proto.nix
+++ b/nix/buildGo/proto.nix
@@ -8,7 +8,8 @@
let
inherit (builtins) fetchGit map;
-in rec {
+in
+rec {
goProto = external {
path = "github.com/golang/protobuf";
src = fetchGit {
diff --git a/nix/buildLisp/default.nix b/nix/buildLisp/default.nix
index ab23b3021..30b90d904 100644
--- a/nix/buildLisp/default.nix
+++ b/nix/buildLisp/default.nix
@@ -4,7 +4,7 @@
# buildLisp is designed to enforce conventions and do away with the
# free-for-all of existing Lisp build systems.
-{ pkgs ? import {}, ... }:
+{ pkgs ? import { }, ... }:
let
inherit (builtins) map elemAt match filter;
@@ -70,11 +70,16 @@ let
implFilter = impl: xs:
let
isFilterSet = x: builtins.isAttrs x && !(lib.isDerivation x);
- in builtins.map (
- x: if isFilterSet x then x.${impl.name} or x.default else x
- ) (builtins.filter (
- x: !(isFilterSet x) || x ? ${impl.name} || x ? default
- ) xs);
+ in
+ builtins.map
+ (
+ x: if isFilterSet x then x.${impl.name} or x.default else x
+ )
+ (builtins.filter
+ (
+ x: !(isFilterSet x) || x ? ${impl.name} || x ? default
+ )
+ xs);
# Generates lisp code which instructs the given lisp implementation to load
# all the given dependencies.
@@ -103,17 +108,21 @@ let
# 'allDeps' flattens the list of dependencies (and their
# dependencies) into one ordered list of unique deps which
# all use the given implementation.
- allDeps = impl: deps: let
- # The override _should_ propagate itself recursively, as every derivation
- # would only expose its actually used dependencies. Use implementation
- # attribute created by withExtras if present, override in all other cases
- # (mainly bundled).
- deps' = builtins.map (dep: dep."${impl.name}" or (dep.overrideLisp (_: {
- implementation = impl;
- }))) deps;
- in (lib.toposort dependsOn (lib.unique (
- lib.flatten (deps' ++ (map (d: d.lispDeps) deps'))
- ))).result;
+ allDeps = impl: deps:
+ let
+ # The override _should_ propagate itself recursively, as every derivation
+ # would only expose its actually used dependencies. Use implementation
+ # attribute created by withExtras if present, override in all other cases
+ # (mainly bundled).
+ deps' = builtins.map
+ (dep: dep."${impl.name}" or (dep.overrideLisp (_: {
+ implementation = impl;
+ })))
+ deps;
+ in
+ (lib.toposort dependsOn (lib.unique (
+ lib.flatten (deps' ++ (map (d: d.lispDeps) deps'))
+ ))).result;
# 'allNative' extracts all native dependencies of a dependency list
# to ensure that library load paths are set correctly during all
@@ -138,42 +147,49 @@ let
withExtras = f: args:
let
drv = (makeOverridable f) args;
- in lib.fix (self:
- drv.overrideLisp (old:
- let
- implementation = old.implementation or defaultImplementation;
- brokenOn = old.brokenOn or [];
- targets = lib.subtractLists (brokenOn ++ [ implementation.name ])
- (builtins.attrNames impls);
- in {
- passthru = (old.passthru or {}) // {
- repl = implementation.lispWith [ self ];
+ in
+ lib.fix (self:
+ drv.overrideLisp
+ (old:
+ let
+ implementation = old.implementation or defaultImplementation;
+ brokenOn = old.brokenOn or [ ];
+ targets = lib.subtractLists (brokenOn ++ [ implementation.name ])
+ (builtins.attrNames impls);
+ in
+ {
+ passthru = (old.passthru or { }) // {
+ repl = implementation.lispWith [ self ];
- # meta is done via passthru to minimize rebuilds caused by overriding
- meta = (old.passthru.meta or {}) // {
- inherit targets;
- };
- } // builtins.listToAttrs (builtins.map (impl: {
- inherit (impl) name;
- value = self.overrideLisp (_: {
- implementation = impl;
- });
- }) (builtins.attrValues impls));
- }) // {
- overrideLisp = new: withExtras f (args // new args);
- });
+ # meta is done via passthru to minimize rebuilds caused by overriding
+ meta = (old.passthru.meta or { }) // {
+ inherit targets;
+ };
+ } // builtins.listToAttrs (builtins.map
+ (impl: {
+ inherit (impl) name;
+ value = self.overrideLisp (_: {
+ implementation = impl;
+ });
+ })
+ (builtins.attrValues impls));
+ }) // {
+ overrideLisp = new: withExtras f (args // new args);
+ });
# 'testSuite' builds a Common Lisp test suite that loads all of srcs and deps,
# and then executes expression to check its result
- testSuite = { name, expression, srcs, deps ? [], native ? [], implementation }:
+ testSuite = { name, expression, srcs, deps ? [ ], native ? [ ], implementation }:
let
lispDeps = allDeps implementation (implFilter implementation deps);
lispNativeDeps = allNative native lispDeps;
filteredSrcs = implFilter implementation srcs;
- in runCommandNoCC name {
- LD_LIBRARY_PATH = lib.makeLibraryPath lispNativeDeps;
- LANG = "C.UTF-8";
- } ''
+ in
+ runCommandNoCC name
+ {
+ LD_LIBRARY_PATH = lib.makeLibraryPath lispNativeDeps;
+ LANG = "C.UTF-8";
+ } ''
echo "Running test suite ${name}"
${implementation.runScript} ${
@@ -452,15 +468,16 @@ let
} $@
'';
- bundled = name: runCommandNoCC "${name}-cllib" {
- passthru = {
- lispName = name;
- lispNativeDeps = [];
- lispDeps = [];
- lispBinary = false;
- repl = impls.ecl.lispWith [ (impls.ecl.bundled name) ];
- };
- } ''
+ bundled = name: runCommandNoCC "${name}-cllib"
+ {
+ passthru = {
+ lispName = name;
+ lispNativeDeps = [ ];
+ lispDeps = [ ];
+ lispBinary = false;
+ repl = impls.ecl.lispWith [ (impls.ecl.bundled name) ];
+ };
+ } ''
mkdir -p "$out"
ln -s "${ecl-static}/lib/ecl-${ecl-static.version}/${name}.${impls.ecl.faslExt}" -t "$out"
ln -s "${ecl-static}/lib/ecl-${ecl-static.version}/lib${name}.a" "$out/${name}.a"
@@ -489,7 +506,8 @@ let
# See https://ccl.clozure.com/docs/ccl.html#building-definitions
faslExt =
- /**/ if targetPlatform.isPowerPC && targetPlatform.is32bit then "pfsl"
+ /**/
+ if targetPlatform.isPowerPC && targetPlatform.is32bit then "pfsl"
else if targetPlatform.isPowerPC && targetPlatform.is64bit then "p64fsl"
else if targetPlatform.isx86_64 && targetPlatform.isLinux then "lx64fsl"
else if targetPlatform.isx86_32 && targetPlatform.isLinux then "lx32fsl"
@@ -572,7 +590,7 @@ let
lib.optionalString (deps != [])
"--load ${writeText "load.lisp" (impls.ccl.genLoadLisp lispDeps)}"
} "$@"
- '';
+ '';
};
};
@@ -586,37 +604,42 @@ let
library =
{ name
, implementation ? defaultImplementation
- , brokenOn ? [] # TODO(sterni): make this a warning
+ , brokenOn ? [ ] # TODO(sterni): make this a warning
, srcs
- , deps ? []
- , native ? []
+ , deps ? [ ]
+ , native ? [ ]
, tests ? null
- , passthru ? {}
+ , passthru ? { }
}:
let
filteredDeps = implFilter implementation deps;
filteredSrcs = implFilter implementation srcs;
lispNativeDeps = (allNative native filteredDeps);
lispDeps = allDeps implementation filteredDeps;
- testDrv = if ! isNull tests
- then testSuite {
- name = tests.name or "${name}-test";
- srcs = filteredSrcs ++ (tests.srcs or []);
- deps = filteredDeps ++ (tests.deps or []);
- expression = tests.expression;
- inherit implementation;
- }
+ testDrv =
+ if ! isNull tests
+ then
+ testSuite
+ {
+ name = tests.name or "${name}-test";
+ srcs = filteredSrcs ++ (tests.srcs or [ ]);
+ deps = filteredDeps ++ (tests.deps or [ ]);
+ expression = tests.expression;
+ inherit implementation;
+ }
else null;
- in lib.fix (self: runCommandNoCC "${name}-cllib" {
- LD_LIBRARY_PATH = lib.makeLibraryPath lispNativeDeps;
- LANG = "C.UTF-8";
- passthru = passthru // {
- inherit lispNativeDeps lispDeps;
- lispName = name;
- lispBinary = false;
- tests = testDrv;
- };
- } ''
+ in
+ lib.fix (self: runCommandNoCC "${name}-cllib"
+ {
+ LD_LIBRARY_PATH = lib.makeLibraryPath lispNativeDeps;
+ LANG = "C.UTF-8";
+ passthru = passthru // {
+ inherit lispNativeDeps lispDeps;
+ lispName = name;
+ lispBinary = false;
+ tests = testDrv;
+ };
+ } ''
${if ! isNull testDrv
then "echo 'Test ${testDrv} succeeded'"
else "echo 'No tests run'"}
@@ -637,13 +660,13 @@ let
program =
{ name
, implementation ? defaultImplementation
- , brokenOn ? [] # TODO(sterni): make this a warning
+ , brokenOn ? [ ] # TODO(sterni): make this a warning
, main ? "${name}:main"
, srcs
- , deps ? []
- , native ? []
+ , deps ? [ ]
+ , native ? [ ]
, tests ? null
- , passthru ? {}
+ , passthru ? { }
}:
let
filteredSrcs = implFilter implementation srcs;
@@ -656,45 +679,53 @@ let
deps = lispDeps;
srcs = filteredSrcs;
};
- testDrv = if ! isNull tests
- then testSuite {
- name = tests.name or "${name}-test";
- srcs =
- ( # testSuite does run implFilter as well
- filteredSrcs ++ (tests.srcs or []));
- deps = filteredDeps ++ (tests.deps or []);
- expression = tests.expression;
- inherit implementation;
- }
+ testDrv =
+ if ! isNull tests
+ then
+ testSuite
+ {
+ name = tests.name or "${name}-test";
+ srcs =
+ (
+ # testSuite does run implFilter as well
+ filteredSrcs ++ (tests.srcs or [ ])
+ );
+ deps = filteredDeps ++ (tests.deps or [ ]);
+ expression = tests.expression;
+ inherit implementation;
+ }
else null;
- in lib.fix (self: runCommandNoCC "${name}" {
- nativeBuildInputs = [ makeWrapper ];
- LD_LIBRARY_PATH = libPath;
- LANG = "C.UTF-8";
- passthru = passthru // {
- lispName = name;
- lispDeps = [ selfLib ];
- lispNativeDeps = native;
- lispBinary = true;
- tests = testDrv;
- };
- } (''
- ${if ! isNull testDrv
- then "echo 'Test ${testDrv} succeeded'"
- else ""}
- mkdir -p $out/bin
-
- ${implementation.runScript} ${
- implementation.genDumpLisp {
- inherit name main;
- deps = ([ selfLib ] ++ lispDeps);
- }
+ in
+ lib.fix (self: runCommandNoCC "${name}"
+ {
+ nativeBuildInputs = [ makeWrapper ];
+ LD_LIBRARY_PATH = libPath;
+ LANG = "C.UTF-8";
+ passthru = passthru // {
+ lispName = name;
+ lispDeps = [ selfLib ];
+ lispNativeDeps = native;
+ lispBinary = true;
+ tests = testDrv;
+ };
}
- '' + lib.optionalString implementation.wrapProgram ''
- wrapProgram $out/bin/${name} \
- --prefix LD_LIBRARY_PATH : "${libPath}" \
- --add-flags "\$NIX_BUILDLISP_LISP_ARGS --"
- ''));
+ (''
+ ${if ! isNull testDrv
+ then "echo 'Test ${testDrv} succeeded'"
+ else ""}
+ mkdir -p $out/bin
+
+ ${implementation.runScript} ${
+ implementation.genDumpLisp {
+ inherit name main;
+ deps = ([ selfLib ] ++ lispDeps);
+ }
+ }
+ '' + lib.optionalString implementation.wrapProgram ''
+ wrapProgram $out/bin/${name} \
+ --prefix LD_LIBRARY_PATH : "${libPath}" \
+ --add-flags "\$NIX_BUILDLISP_LISP_ARGS --"
+ ''));
# 'bundled' creates a "library" which makes a built-in package available,
# such as any of SBCL's sb-* packages or ASDF. By default this is done
@@ -714,11 +745,13 @@ let
}:
implementation.bundled or (defaultBundled implementation) name;
- in (makeOverridable bundled') {
+ in
+ (makeOverridable bundled') {
inherit name;
};
-in {
+in
+{
library = withExtras library;
program = withExtras program;
inherit bundled;
diff --git a/nix/buildLisp/example/default.nix b/nix/buildLisp/example/default.nix
index 6a518e496..6add2676f 100644
--- a/nix/buildLisp/example/default.nix
+++ b/nix/buildLisp/example/default.nix
@@ -14,15 +14,16 @@ let
];
};
-# Example Lisp program.
-#
-# This builds & writes an executable for a program using the library
-# above to disk.
-#
-# By default, buildLisp.program expects the entry point to be
-# `$name:main`. This can be overridden by configuring the `main`
-# attribute.
-in buildLisp.program {
+ # Example Lisp program.
+ #
+ # This builds & writes an executable for a program using the library
+ # above to disk.
+ #
+ # By default, buildLisp.program expects the entry point to be
+ # `$name:main`. This can be overridden by configuring the `main`
+ # attribute.
+in
+buildLisp.program {
name = "example";
deps = [ libExample ];
diff --git a/nix/buildManPages/default.nix b/nix/buildManPages/default.nix
index fe6d145f6..746ed2518 100644
--- a/nix/buildManPages/default.nix
+++ b/nix/buildManPages/default.nix
@@ -13,9 +13,9 @@ let
;
bins = getBins mandoc [ "mandoc" ]
- // getBins gzip [ "gzip" ]
- // getBins coreutils [ "mkdir" "ln" "cp" ]
- ;
+ // getBins gzip [ "gzip" ]
+ // getBins coreutils [ "mkdir" "ln" "cp" ]
+ ;
defaultGzip = true;
@@ -35,41 +35,68 @@ let
}:
{ content
, ...
- }@page: let
+ }@page:
+ let
source = builtins.toFile (basename false page) content;
- in runExecline (basename gzip page) {} ([
- (if requireLint then "if" else "foreground") [
- bins.mandoc "-mdoc" "-T" "lint" source
+ in
+ runExecline (basename gzip page) { } ([
+ (if requireLint then "if" else "foreground")
+ [
+ bins.mandoc
+ "-mdoc"
+ "-T"
+ "lint"
+ source
]
- "importas" "out" "out"
+ "importas"
+ "out"
+ "out"
] ++ (if gzip then [
- "redirfd" "-w" "1" "$out"
- bins.gzip "-c" source
+ "redirfd"
+ "-w"
+ "1"
+ "$out"
+ bins.gzip
+ "-c"
+ source
] else [
- bins.cp "--reflink=auto" source "$out"
+ bins.cp
+ "--reflink=auto"
+ source
+ "$out"
]));
buildManPages =
name:
- { derivationArgs ? {}
+ { derivationArgs ? { }
, gzip ? defaultGzip
, ...
}@args:
pages:
- runExecline "${name}-man-pages" {
- inherit derivationArgs;
- } ([
- "importas" "out" "out"
- ] ++ lib.concatMap ({ name, section, content }@page: [
- "if" [ bins.mkdir "-p" (manDir page) ]
- "if" [
- bins.ln "-s"
- (buildManPage args page)
- (target gzip page)
- ]
- ]) pages);
+ runExecline "${name}-man-pages"
+ {
+ inherit derivationArgs;
+ }
+ ([
+ "importas"
+ "out"
+ "out"
+ ] ++ lib.concatMap
+ ({ name, section, content }@page: [
+ "if"
+ [ bins.mkdir "-p" (manDir page) ]
+ "if"
+ [
+ bins.ln
+ "-s"
+ (buildManPage args page)
+ (target gzip page)
+ ]
+ ])
+ pages);
-in {
+in
+{
__functor = _: buildManPages;
single = buildManPage;
diff --git a/nix/buildkite/default.nix b/nix/buildkite/default.nix
index e0c947dea..d17b5c86c 100644
--- a/nix/buildkite/default.nix
+++ b/nix/buildkite/default.nix
@@ -29,7 +29,8 @@ let
unsafeDiscardStringContext;
inherit (pkgs) lib runCommandNoCC writeText;
-in rec {
+in
+rec {
# Creates a Nix expression that yields the target at the specified
# location in the repository.
#
@@ -42,14 +43,15 @@ in rec {
descend = expr: attr: "builtins.getAttr \"${attr}\" (${expr})";
targetExpr = foldl' descend "import ./. {}" target.__readTree;
subtargetExpr = descend targetExpr target.__subtarget;
- in if target ? __subtarget then subtargetExpr else targetExpr;
+ in
+ if target ? __subtarget then subtargetExpr else targetExpr;
# Create a pipeline label from the target's tree location.
mkLabel = target:
let label = concatStringsSep "/" target.__readTree;
in if target ? __subtarget
- then "${label}:${target.__subtarget}"
- else label;
+ then "${label}:${target.__subtarget}"
+ else label;
# Determine whether to skip a target if it has not diverged from the
# HEAD branch.
@@ -74,33 +76,36 @@ in rec {
# Create a pipeline step from a single target.
mkStep = headBranch: parentTargetMap: target:
- let
- label = mkLabel target;
- drvPath = unsafeDiscardStringContext target.drvPath;
- shouldSkip' = shouldSkip parentTargetMap;
- in {
- label = ":nix: " + label;
- key = hashString "sha1" label;
- skip = shouldSkip' label drvPath;
- command = mkBuildCommand target drvPath;
- env.READTREE_TARGET = label;
+ let
+ label = mkLabel target;
+ drvPath = unsafeDiscardStringContext target.drvPath;
+ shouldSkip' = shouldSkip parentTargetMap;
+ in
+ {
+ label = ":nix: " + label;
+ key = hashString "sha1" label;
+ skip = shouldSkip' label drvPath;
+ command = mkBuildCommand target drvPath;
+ env.READTREE_TARGET = label;
- # Add a dependency on the initial static pipeline step which
- # always runs. This allows build steps uploaded in batches to
- # start running before all batches have been uploaded.
- depends_on = ":init:";
- };
+ # Add a dependency on the initial static pipeline step which
+ # always runs. This allows build steps uploaded in batches to
+ # start running before all batches have been uploaded.
+ depends_on = ":init:";
+ };
# Helper function to inelegantly divide a list into chunks of at
# most n elements.
#
# This works by assigning each element a chunk ID based on its
# index, and then grouping all elements by their chunk ID.
- chunksOf = n: list: let
- chunkId = idx: toString (idx / n + 1);
- assigned = lib.imap1 (idx: value: { inherit value ; chunk = chunkId idx; }) list;
- unchunk = mapAttrs (_: elements: map (e: e.value) elements);
- in unchunk (lib.groupBy (e: e.chunk) assigned);
+ chunksOf = n: list:
+ let
+ chunkId = idx: toString (idx / n + 1);
+ assigned = lib.imap1 (idx: value: { inherit value; chunk = chunkId idx; }) list;
+ unchunk = mapAttrs (_: elements: map (e: e.value) elements);
+ in
+ unchunk (lib.groupBy (e: e.chunk) assigned);
# Define a build pipeline chunk as a JSON file, using the pipeline
# format documented on
@@ -120,104 +125,112 @@ in rec {
attrValues (mapAttrs (makePipelineChunk name) (chunksOf 192 steps));
# Create a pipeline structure for the given targets.
- mkPipeline = {
- # HEAD branch of the repository on which release steps, GC
- # anchoring and other "mainline only" steps should run.
- headBranch,
+ mkPipeline =
+ {
+ # HEAD branch of the repository on which release steps, GC
+ # anchoring and other "mainline only" steps should run.
+ headBranch
+ , # List of derivations as read by readTree (in most cases just the
+ # output of readTree.gather) that should be built in Buildkite.
+ #
+ # These are scheduled as the first build steps and run as fast as
+ # possible, in order, without any concurrency restrictions.
+ drvTargets
+ , # Derivation map of a parent commit. Only targets which no longer
+ # correspond to the content of this map will be built. Passing an
+ # empty map will always build all targets.
+ parentTargetMap ? { }
+ , # A list of plain Buildkite step structures to run alongside the
+ # build for all drvTargets, but before proceeding with any
+ # post-build actions such as status reporting.
+ #
+ # Can be used for things like code formatting checks.
+ additionalSteps ? [ ]
+ , # A list of plain Buildkite step structures to run after all
+ # previous steps succeeded.
+ #
+ # Can be used for status reporting steps and the like.
+ postBuildSteps ? [ ]
+ }:
+ let
+ # Convert a target into all of its build and post-build steps,
+ # treated separately as they need to be in different chunks.
+ targetToSteps = target:
+ let
+ step = mkStep headBranch parentTargetMap target;
- # List of derivations as read by readTree (in most cases just the
- # output of readTree.gather) that should be built in Buildkite.
- #
- # These are scheduled as the first build steps and run as fast as
- # possible, in order, without any concurrency restrictions.
- drvTargets,
+ # Split build/post-build steps
+ splitExtraSteps = partition ({ postStep, ... }: postStep)
+ (attrValues (mapAttrs
+ (name: value: {
+ inherit name value;
+ postStep = (value ? prompt) || (value.postBuild or false);
+ })
+ (target.meta.ci.extraSteps or { })));
- # Derivation map of a parent commit. Only targets which no longer
- # correspond to the content of this map will be built. Passing an
- # empty map will always build all targets.
- parentTargetMap ? {},
+ mkExtraStep' = { name, value, ... }: mkExtraStep step name value;
+ extraBuildSteps = map mkExtraStep' splitExtraSteps.wrong; # 'wrong' -> no prompt
+ extraPostSteps = map mkExtraStep' splitExtraSteps.right; # 'right' -> has prompt
+ in
+ {
+ buildSteps = [ step ] ++ extraBuildSteps;
+ postSteps = extraPostSteps;
+ };
- # A list of plain Buildkite step structures to run alongside the
- # build for all drvTargets, but before proceeding with any
- # post-build actions such as status reporting.
- #
- # Can be used for things like code formatting checks.
- additionalSteps ? [],
+ # Combine all target steps into separate build and post-build step lists.
+ steps = foldl'
+ (acc: t: {
+ buildSteps = acc.buildSteps ++ t.buildSteps;
+ postSteps = acc.postSteps ++ t.postSteps;
+ })
+ { buildSteps = [ ]; postSteps = [ ]; }
+ (map targetToSteps drvTargets);
- # A list of plain Buildkite step structures to run after all
- # previous steps succeeded.
- #
- # Can be used for status reporting steps and the like.
- postBuildSteps ? []
- }: let
- # Convert a target into all of its build and post-build steps,
- # treated separately as they need to be in different chunks.
- targetToSteps = target: let
- step = mkStep headBranch parentTargetMap target;
+ buildSteps =
+ # Add build steps for each derivation target and their extra
+ # steps.
+ steps.buildSteps
- # Split build/post-build steps
- splitExtraSteps = partition ({ postStep, ... }: postStep)
- (attrValues (mapAttrs (name: value: {
- inherit name value;
- postStep = (value ? prompt) || (value.postBuild or false);
- }) (target.meta.ci.extraSteps or {})));
+ # Add additional steps (if set).
+ ++ additionalSteps;
- mkExtraStep' = { name, value, ... }: mkExtraStep step name value;
- extraBuildSteps = map mkExtraStep' splitExtraSteps.wrong; # 'wrong' -> no prompt
- extraPostSteps = map mkExtraStep' splitExtraSteps.right; # 'right' -> has prompt
- in {
- buildSteps = [ step ] ++ extraBuildSteps;
- postSteps = extraPostSteps;
- };
+ postSteps =
+ # Add post-build steps for each derivation target.
+ steps.postSteps
- # Combine all target steps into separate build and post-build step lists.
- steps = foldl' (acc: t: {
- buildSteps = acc.buildSteps ++ t.buildSteps;
- postSteps = acc.postSteps ++ t.postSteps;
- }) { buildSteps = []; postSteps = []; } (map targetToSteps drvTargets);
+ # Add any globally defined post-build steps.
+ ++ postBuildSteps;
- buildSteps =
- # Add build steps for each derivation target and their extra
- # steps.
- steps.buildSteps
-
- # Add additional steps (if set).
- ++ additionalSteps;
-
- postSteps =
- # Add post-build steps for each derivation target.
- steps.postSteps
-
- # Add any globally defined post-build steps.
- ++ postBuildSteps;
-
- buildChunks = pipelineChunks "build" buildSteps;
- postBuildChunks = pipelineChunks "post" postSteps;
- chunks = buildChunks ++ postBuildChunks;
- in runCommandNoCC "buildkite-pipeline" {} ''
- mkdir $out
- echo "Generated ${toString (length chunks)} pipeline chunks"
- ${
- lib.concatMapStringsSep "\n"
- (chunk: "cp ${chunk.path} $out/${chunk.filename}") chunks
- }
- '';
+ buildChunks = pipelineChunks "build" buildSteps;
+ postBuildChunks = pipelineChunks "post" postSteps;
+ chunks = buildChunks ++ postBuildChunks;
+ in
+ runCommandNoCC "buildkite-pipeline" { } ''
+ mkdir $out
+ echo "Generated ${toString (length chunks)} pipeline chunks"
+ ${
+ lib.concatMapStringsSep "\n"
+ (chunk: "cp ${chunk.path} $out/${chunk.filename}") chunks
+ }
+ '';
# Create a drvmap structure for the given targets, containing the
# mapping of all target paths to their derivations. The mapping can
# be persisted for future use.
- mkDrvmap = drvTargets: writeText "drvmap.json" (toJSON (listToAttrs (map (target: {
- name = mkLabel target;
- value = {
- drvPath = unsafeDiscardStringContext target.drvPath;
+ mkDrvmap = drvTargets: writeText "drvmap.json" (toJSON (listToAttrs (map
+ (target: {
+ name = mkLabel target;
+ value = {
+ drvPath = unsafeDiscardStringContext target.drvPath;
- # Include the attrPath in the output to reconstruct the drv
- # without parsing the human-readable label.
- attrPath = target.__readTree ++ lib.optionals (target ? __subtarget) [
- target.__subtarget
- ];
- };
- }) drvTargets)));
+ # Include the attrPath in the output to reconstruct the drv
+ # without parsing the human-readable label.
+ attrPath = target.__readTree ++ lib.optionals (target ? __subtarget) [
+ target.__subtarget
+ ];
+ };
+ })
+ drvTargets)));
# Implementation of extra step logic.
#
@@ -278,34 +291,37 @@ in rec {
# Create the Buildkite configuration for an extra step, optionally
# wrapping it in a gate group.
- mkExtraStep = parent: key: {
- command,
- label ? key,
- prompt ? false,
- needsOutput ? false,
- branches ? null,
- alwaysRun ? false,
- postBuild ? false
- }@cfg: let
- parentLabel = parent.env.READTREE_TARGET;
+ mkExtraStep = parent: key: { command
+ , label ? key
+ , prompt ? false
+ , needsOutput ? false
+ , branches ? null
+ , alwaysRun ? false
+ , postBuild ? false
+ }@cfg:
+ let
+ parentLabel = parent.env.READTREE_TARGET;
- step = {
- label = ":gear: ${label} (from ${parentLabel})";
- skip = if alwaysRun then false else parent.skip or false;
- depends_on = lib.optional (!alwaysRun && !needsOutput) parent.key;
- branches = if branches != null then lib.concatStringsSep " " branches else null;
+ step = {
+ label = ":gear: ${label} (from ${parentLabel})";
+ skip = if alwaysRun then false else parent.skip or false;
+ depends_on = lib.optional (!alwaysRun && !needsOutput) parent.key;
+ branches = if branches != null then lib.concatStringsSep " " branches else null;
- command = pkgs.writeShellScript "${key}-script" ''
- set -ueo pipefail
- ${lib.optionalString needsOutput "echo '~~~ Preparing build output of ${parentLabel}'"}
- ${lib.optionalString needsOutput parent.command}
- echo '+++ Running extra step command'
- exec ${command}
- '';
- };
- in if (isString prompt)
- then mkGatedStep {
- inherit step label parent prompt;
- }
+ command = pkgs.writeShellScript "${key}-script" ''
+ set -ueo pipefail
+ ${lib.optionalString needsOutput "echo '~~~ Preparing build output of ${parentLabel}'"}
+ ${lib.optionalString needsOutput parent.command}
+ echo '+++ Running extra step command'
+ exec ${command}
+ '';
+ };
+ in
+ if (isString prompt)
+ then
+ mkGatedStep
+ {
+ inherit step label parent prompt;
+ }
else step;
}
diff --git a/nix/drvSeqL/default.nix b/nix/drvSeqL/default.nix
index 3339289b3..6437e1a04 100644
--- a/nix/drvSeqL/default.nix
+++ b/nix/drvSeqL/default.nix
@@ -17,9 +17,10 @@ let
drvSeqL = defun [ (list drv) drv drv ]
(drvDeps: drvOut:
let
- drvOutOutputs = drvOut.outputs or ["out"];
+ drvOutOutputs = drvOut.outputs or [ "out" ];
in
- pkgs.runCommandLocal drvOut.name {
+ pkgs.runCommandLocal drvOut.name
+ {
# we inherit all attributes in order to replicate
# the original derivation as much as possible
outputs = drvOutOutputs;
@@ -29,15 +30,18 @@ let
}
# the outputs of the original derivation are replicated
# by creating a symlink to the old output path
- (lib.concatMapStrings (output: ''
- target=${lib.escapeShellArg drvOut.${output}}
- # if the target is already a symlink, follow it until it’s not;
- # this is done to prevent too many dereferences
- target=$(readlink -e "$target")
- # link to the output
- ln -s "$target" "${"$"}${output}"
- '') drvOutOutputs));
+ (lib.concatMapStrings
+ (output: ''
+ target=${lib.escapeShellArg drvOut.${output}}
+ # if the target is already a symlink, follow it until it’s not;
+ # this is done to prevent too many dereferences
+ target=$(readlink -e "$target")
+ # link to the output
+ ln -s "$target" "${"$"}${output}"
+ '')
+ drvOutOutputs));
-in {
+in
+{
__functor = _: drvSeqL;
}
diff --git a/nix/emptyDerivation/default.nix b/nix/emptyDerivation/default.nix
index 4165d4fd9..843398401 100644
--- a/nix/emptyDerivation/default.nix
+++ b/nix/emptyDerivation/default.nix
@@ -14,7 +14,8 @@ let
inherit (depot.nix.runTestsuite) runTestsuite it assertEq;
};
-in {
+in
+{
__functor = _: emptyDerivation;
inherit tests;
}
diff --git a/nix/emptyDerivation/emptyDerivation.nix b/nix/emptyDerivation/emptyDerivation.nix
index 5e84abe2d..772df9635 100644
--- a/nix/emptyDerivation/emptyDerivation.nix
+++ b/nix/emptyDerivation/emptyDerivation.nix
@@ -11,7 +11,7 @@
let
bins = getBins pkgs.s6-portable-utils [ "s6-touch" ]
- // getBins pkgs.execline [ "importas" "exec" ];
+ // getBins pkgs.execline [ "importas" "exec" ];
emptiness = {
name = "empty-derivation";
@@ -21,12 +21,16 @@ let
builder = bins.exec;
args = [
- bins.importas "out" "out"
- bins.s6-touch "$out"
+ bins.importas
+ "out"
+ "out"
+ bins.s6-touch
+ "$out"
];
};
-in (derivation emptiness) // {
+in
+(derivation emptiness) // {
# This allows us to call the empty derivation
# like a function and override fields/add new fields.
__functor = _: overrides:
diff --git a/nix/emptyDerivation/tests.nix b/nix/emptyDerivation/tests.nix
index 053603b02..a73842882 100644
--- a/nix/emptyDerivation/tests.nix
+++ b/nix/emptyDerivation/tests.nix
@@ -10,10 +10,17 @@ let
];
fooOut = emptyDerivation {
- builder = writeExecline "foo-builder" {} [
- "importas" "out" "out"
- "redirfd" "-w" "1" "$out"
- bins.s6-echo "-n" "foo"
+ builder = writeExecline "foo-builder" { } [
+ "importas"
+ "out"
+ "out"
+ "redirfd"
+ "-w"
+ "1"
+ "$out"
+ bins.s6-echo
+ "-n"
+ "foo"
];
};
@@ -26,7 +33,8 @@ let
"bar")
];
-in runTestsuite "emptyDerivation" [
+in
+runTestsuite "emptyDerivation" [
empty
overrideBuilder
]
diff --git a/nix/escapeExecline/default.nix b/nix/escapeExecline/default.nix
index deef5c2c4..d2c39dd39 100644
--- a/nix/escapeExecline/default.nix
+++ b/nix/escapeExecline/default.nix
@@ -16,14 +16,17 @@ let
# escapeExecline [ "if" [ "somecommand" ] "true" ]
# == ''"if" { "somecommand" } "true"''
escapeExecline = execlineList: lib.concatStringsSep " "
- (let
- go = arg:
- if builtins.isString arg then [(escapeExeclineArg arg)]
- else if builtins.isPath arg then [(escapeExeclineArg "${arg}")]
- else if lib.isDerivation arg then [(escapeExeclineArg arg)]
- else if builtins.isList arg then [ "{" ] ++ builtins.concatMap go arg ++ [ "}" ]
- else abort "escapeExecline can only hande nested lists of strings, was ${lib.generators.toPretty {} arg}";
- in builtins.concatMap go execlineList);
+ (
+ let
+ go = arg:
+ if builtins.isString arg then [ (escapeExeclineArg arg) ]
+ else if builtins.isPath arg then [ (escapeExeclineArg "${arg}") ]
+ else if lib.isDerivation arg then [ (escapeExeclineArg arg) ]
+ else if builtins.isList arg then [ "{" ] ++ builtins.concatMap go arg ++ [ "}" ]
+ else abort "escapeExecline can only hande nested lists of strings, was ${lib.generators.toPretty {} arg}";
+ in
+ builtins.concatMap go execlineList
+ );
in
escapeExecline
diff --git a/nix/getBins/default.nix b/nix/getBins/default.nix
index 5ba7584ed..e354b176c 100644
--- a/nix/getBins/default.nix
+++ b/nix/getBins/default.nix
@@ -26,14 +26,16 @@
let
getBins = drv: xs:
- let f = x:
- # TODO(Profpatsch): typecheck
- let x' = if builtins.isString x then { use = x; as = x; } else x;
- in {
- name = x'.as;
- value = "${lib.getBin drv}/bin/${x'.use}";
- };
- in builtins.listToAttrs (builtins.map f xs);
+ let
+ f = x:
+ # TODO(Profpatsch): typecheck
+ let x' = if builtins.isString x then { use = x; as = x; } else x;
+ in {
+ name = x'.as;
+ value = "${lib.getBin drv}/bin/${x'.use}";
+ };
+ in
+ builtins.listToAttrs (builtins.map f xs);
tests = import ./tests.nix {
@@ -42,7 +44,8 @@ let
inherit (depot.nix.runTestsuite) assertEq it runTestsuite;
};
-in {
+in
+{
__functor = _: getBins;
inherit tests;
}
diff --git a/nix/getBins/tests.nix b/nix/getBins/tests.nix
index ff81deb5f..e0f5ab426 100644
--- a/nix/getBins/tests.nix
+++ b/nix/getBins/tests.nix
@@ -5,11 +5,11 @@ let
drv2 = writeScriptBin "goodbye" "tschau";
bins = getBins drv [
- "hello"
- { use = "hello"; as = "also-hello"; }
- ]
- // getBins drv2 [ "goodbye" ]
- ;
+ "hello"
+ { use = "hello"; as = "also-hello"; }
+ ]
+ // getBins drv2 [ "goodbye" ]
+ ;
simple = it "path is equal to the executable name" [
(assertEq "path"
@@ -33,8 +33,8 @@ let
];
in
- runTestsuite "getBins" [
- simple
- useAs
- secondDrv
- ]
+runTestsuite "getBins" [
+ simple
+ useAs
+ secondDrv
+]
diff --git a/nix/mergePatch/default.nix b/nix/mergePatch/default.nix
index 0f80b93d4..d56106925 100644
--- a/nix/mergePatch/default.nix
+++ b/nix/mergePatch/default.nix
@@ -8,31 +8,31 @@
For example, given the following original document:
{
- a = "b";
- c = {
+ a = "b";
+ c = {
d = "e";
f = "g";
- }
+ }
}
Changing the value of `a` and removing `f` can be achieved by merging the patch
{
- a = "z";
- c.f = null;
+ a = "z";
+ c.f = null;
}
which results in
{
- a = "z";
- c = {
+ a = "z";
+ c = {
d = "e";
- };
+ };
}
Pseudo-code:
- define MergePatch(Target, Patch):
+ define MergePatch(Target, Patch):
if Patch is an Object:
if Target is not an Object:
Target = {} # Ignore the contents and set it to an empty Object
@@ -55,19 +55,19 @@ let
mergePatch = target: patch:
if lib.isAttrs patch
then
- let target' = if lib.isAttrs target then target else {};
+ let target' = if lib.isAttrs target then target else { };
in foldlAttrs
- (acc: patchEl:
- if patchEl.value == null
- then removeAttrs acc [ patchEl.name ]
- else acc // {
- ${patchEl.name} =
- mergePatch
- (acc.${patchEl.name} or "unnused")
- patchEl.value;
- })
- target'
- patch
+ (acc: patchEl:
+ if patchEl.value == null
+ then removeAttrs acc [ patchEl.name ]
+ else acc // {
+ ${patchEl.name} =
+ mergePatch
+ (acc.${patchEl.name} or "unnused")
+ patchEl.value;
+ })
+ target'
+ patch
else patch;
inherit (depot.nix.runTestsuite)
@@ -93,46 +93,49 @@ let
};
emptyPatch = it "the empty patch returns the original target" [
(assertEq "id"
- (mergePatch testTarget {})
+ (mergePatch testTarget { })
testTarget)
];
nonAttrs = it "one side is a non-attrset value" [
(assertEq "target is a value means the value is replaced by the patch"
(mergePatch 42 testPatch)
- (mergePatch {} testPatch))
+ (mergePatch { } testPatch))
(assertEq "patch is a value means it replaces target alltogether"
(mergePatch testTarget 42)
42)
];
rfcExamples = it "the examples from the RFC" [
(assertEq "a subset is deleted and overwritten"
- (mergePatch testTarget testPatch) {
+ (mergePatch testTarget testPatch)
+ {
a = "z";
c = {
d = "e";
};
})
(assertEq "a more complicated example from the example section"
- (mergePatch {
- title = "Goodbye!";
+ (mergePatch
+ {
+ title = "Goodbye!";
author = {
givenName = "John";
familyName = "Doe";
};
- tags = [ "example" "sample" ];
- content = "This will be unchanged";
- } {
- title = "Hello!";
- phoneNumber = "+01-123-456-7890";
- author.familyName = null;
- tags = [ "example" ];
- })
+ tags = [ "example" "sample" ];
+ content = "This will be unchanged";
+ }
+ {
+ title = "Hello!";
+ phoneNumber = "+01-123-456-7890";
+ author.familyName = null;
+ tags = [ "example" ];
+ })
{
title = "Hello!";
phoneNumber = "+01-123-456-7890";
- author = {
- givenName = "John";
- };
+ author = {
+ givenName = "John";
+ };
tags = [ "example" ];
content = "This will be unchanged";
})
@@ -144,42 +147,45 @@ let
(assertEq "test number ${toString index}"
(mergePatch target patch)
res);
- in it "the test suite from the RFC" [
- (r 1 {"a" = "b";} {"a" = "c";} {"a" = "c";})
- (r 2 {"a" = "b";} {"b" = "c";} {"a" = "b"; "b" = "c";})
- (r 3 {"a" = "b";} {"a" = null;} {})
- (r 4 {"a" = "b"; "b" = "c";}
- {"a" = null;}
- {"b" = "c";})
- (r 5 {"a" = ["b"];} {"a" = "c";} {"a" = "c";})
- (r 6 {"a" = "c";} {"a" = ["b"];} {"a" = ["b"];})
- (r 7 {"a" = {"b" = "c";}; }
- {"a" = {"b" = "d"; "c" = null;};}
- {"a" = {"b" = "d";};})
- (r 8 {"a" = [{"b" = "c";}];}
- {"a" = [1];}
- {"a" = [1];})
- (r 9 ["a" "b"] ["c" "d"] ["c" "d"])
- (r 10 {"a" = "b";} ["c"] ["c"])
- (r 11 {"a" = "foo";} null null)
- (r 12 {"a" = "foo";} "bar" "bar")
- (r 13 {"e" = null;} {"a" = 1;} {"e" = null; "a" = 1;})
- (r 14 [1 2]
- {"a" = "b"; "c" = null;}
- {"a" = "b";})
- (r 15 {}
- {"a" = {"bb" = {"ccc" = null;};};}
- {"a" = {"bb" = {};};})
- ];
+ in
+ it "the test suite from the RFC" [
+ (r 1 { "a" = "b"; } { "a" = "c"; } { "a" = "c"; })
+ (r 2 { "a" = "b"; } { "b" = "c"; } { "a" = "b"; "b" = "c"; })
+ (r 3 { "a" = "b"; } { "a" = null; } { })
+ (r 4 { "a" = "b"; "b" = "c"; }
+ { "a" = null; }
+ { "b" = "c"; })
+ (r 5 { "a" = [ "b" ]; } { "a" = "c"; } { "a" = "c"; })
+ (r 6 { "a" = "c"; } { "a" = [ "b" ]; } { "a" = [ "b" ]; })
+ (r 7 { "a" = { "b" = "c"; }; }
+ { "a" = { "b" = "d"; "c" = null; }; }
+ { "a" = { "b" = "d"; }; })
+ (r 8 { "a" = [{ "b" = "c"; }]; }
+ { "a" = [ 1 ]; }
+ { "a" = [ 1 ]; })
+ (r 9 [ "a" "b" ] [ "c" "d" ] [ "c" "d" ])
+ (r 10 { "a" = "b"; } [ "c" ] [ "c" ])
+ (r 11 { "a" = "foo"; } null null)
+ (r 12 { "a" = "foo"; } "bar" "bar")
+ (r 13 { "e" = null; } { "a" = 1; } { "e" = null; "a" = 1; })
+ (r 14 [ 1 2 ]
+ { "a" = "b"; "c" = null; }
+ { "a" = "b"; })
+ (r 15 { }
+ { "a" = { "bb" = { "ccc" = null; }; }; }
+ { "a" = { "bb" = { }; }; })
+ ];
- in runTestsuite "mergePatch" [
+ in
+ runTestsuite "mergePatch" [
emptyPatch
nonAttrs
rfcExamples
rfcTests
];
-in {
+in
+{
__functor = _: mergePatch;
inherit tests;
diff --git a/nix/netstring/attrsToKeyValList.nix b/nix/netstring/attrsToKeyValList.nix
index 2805d0fbc..c854b5695 100644
--- a/nix/netstring/attrsToKeyValList.nix
+++ b/nix/netstring/attrsToKeyValList.nix
@@ -28,6 +28,6 @@ attrs:
lib.concatStrings
(lib.mapAttrsToList
(k: v: depot.nix.netstring.fromString
- ( depot.nix.netstring.fromString k
- + depot.nix.netstring.fromString v))
+ (depot.nix.netstring.fromString k
+ + depot.nix.netstring.fromString v))
attrs)
diff --git a/nix/nint/default.nix b/nix/nint/default.nix
index 5cf83d15d..0087fc041 100644
--- a/nix/nint/default.nix
+++ b/nix/nint/default.nix
@@ -6,9 +6,11 @@ let
;
in
- rustSimpleBin {
- name = "nint";
- dependencies = [
- depot.third_party.rust-crates.serde_json
- ];
- } (builtins.readFile ./nint.rs)
+rustSimpleBin
+{
+ name = "nint";
+ dependencies = [
+ depot.third_party.rust-crates.serde_json
+ ];
+}
+ (builtins.readFile ./nint.rs)
diff --git a/nix/readTree/default.nix b/nix/readTree/default.nix
index 259f2f2fb..0c59c890d 100644
--- a/nix/readTree/default.nix
+++ b/nix/readTree/default.nix
@@ -43,10 +43,13 @@ let
children = readDir path;
isVisible = f: f == ".skip-subtree" || (substring 0 1 f) != ".";
names = filter isVisible (attrNames children);
- in listToAttrs (map (name: {
- inherit name;
- value = children.${name};
- }) names);
+ in
+ listToAttrs (map
+ (name: {
+ inherit name;
+ value = children.${name};
+ })
+ names);
# Create a mark containing the location of this attribute and
# a list of all child attribute names added by readTree.
@@ -57,12 +60,13 @@ let
# Import a file and enforce our calling convention
importFile = args: scopedArgs: path: parts: filter:
- let
- importedFile = if scopedArgs != {}
- then builtins.scopedImport scopedArgs path
- else import path;
+ let
+ importedFile =
+ if scopedArgs != { }
+ then builtins.scopedImport scopedArgs path
+ else import path;
pathType = builtins.typeOf importedFile;
- in
+ in
if pathType != "lambda"
then builtins.throw "readTree: trying to import ${toString path}, but it’s a ${pathType}, you need to make it a function like { depot, pkgs, ... }"
else importedFile (filter parts (argsWithPath args parts));
@@ -76,8 +80,9 @@ let
dir = readDirVisible initPath;
joinChild = c: initPath + ("/" + c);
- self = if rootDir
- then { __readTree = []; }
+ self =
+ if rootDir
+ then { __readTree = [ ]; }
else importFile args scopedArgs initPath parts argsFilter;
# Import subdirectories of the current one, unless the special
@@ -88,33 +93,41 @@ let
# should be ignored, but its content is not inspected by
# readTree
filterDir = f: dir."${f}" == "directory";
- children = if hasAttr ".skip-subtree" dir then [] else map (c: {
- name = c;
- value = readTree {
- inherit argsFilter scopedArgs;
- args = args;
- initPath = (joinChild c);
- rootDir = false;
- parts = (parts ++ [ c ]);
- };
- }) (filter filterDir (attrNames dir));
+ children = if hasAttr ".skip-subtree" dir then [ ] else
+ map
+ (c: {
+ name = c;
+ value = readTree {
+ inherit argsFilter scopedArgs;
+ args = args;
+ initPath = (joinChild c);
+ rootDir = false;
+ parts = (parts ++ [ c ]);
+ };
+ })
+ (filter filterDir (attrNames dir));
# Import Nix files
- nixFiles = if hasAttr ".skip-subtree" dir then []
+ nixFiles =
+ if hasAttr ".skip-subtree" dir then [ ]
else filter (f: f != null) (map nixFileName (attrNames dir));
- nixChildren = map (c: let
- p = joinChild (c + ".nix");
- childParts = parts ++ [ c ];
- imported = importFile args scopedArgs p childParts argsFilter;
- in {
- name = c;
- value =
- if isAttrs imported
- then imported // marker childParts {}
- else imported;
- }) nixFiles;
+ nixChildren = map
+ (c:
+ let
+ p = joinChild (c + ".nix");
+ childParts = parts ++ [ c ];
+ imported = importFile args scopedArgs p childParts argsFilter;
+ in
+ {
+ name = c;
+ value =
+ if isAttrs imported
+ then imported // marker childParts { }
+ else imported;
+ })
+ nixFiles;
- nodeValue = if dir ? "default.nix" then self else {};
+ nodeValue = if dir ? "default.nix" then self else { };
allChildren = listToAttrs (
if dir ? "default.nix"
@@ -123,9 +136,9 @@ let
);
in
- if isAttrs nodeValue
- then nodeValue // allChildren // (marker parts allChildren)
- else nodeValue;
+ if isAttrs nodeValue
+ then nodeValue // allChildren // (marker parts allChildren)
+ else nodeValue;
# Function which can be used to find all readTree targets within an
# attribute set.
@@ -143,40 +156,42 @@ let
# should be included in the build.
gather = eligible: node:
if node ? __readTree then
- # Include the node itself if it is eligible.
- (if eligible node then [ node ] else [])
+ # Include the node itself if it is eligible.
+ (if eligible node then [ node ] else [ ])
# Include eligible children of the node
++ concatMap (gather eligible) (map (attr: node."${attr}") node.__readTreeChildren)
# Include specified sub-targets of the node
++ filter eligible (map
- (k: (node."${k}" or {}) // {
- # Keep the same tree location, but explicitly mark this
- # node as a subtarget.
- __readTree = node.__readTree;
- __readTreeChildren = [];
- __subtarget = k;
- })
- (node.meta.targets or []))
- else [];
+ (k: (node."${k}" or { }) // {
+ # Keep the same tree location, but explicitly mark this
+ # node as a subtarget.
+ __readTree = node.__readTree;
+ __readTreeChildren = [ ];
+ __subtarget = k;
+ })
+ (node.meta.targets or [ ]))
+ else [ ];
# Determine whether a given value is a derivation.
# Copied from nixpkgs/lib for cases where lib is not available yet.
isDerivation = x: isAttrs x && x ? type && x.type == "derivation";
-in {
+in
+{
inherit gather;
__functor = _:
{ path
, args
, filter ? (_parts: x: x)
- , scopedArgs ? {} }:
- readTree {
- inherit args scopedArgs;
- argsFilter = filter;
- initPath = path;
- rootDir = true;
- parts = [];
- };
+ , scopedArgs ? { }
+ }:
+ readTree {
+ inherit args scopedArgs;
+ argsFilter = filter;
+ initPath = path;
+ rootDir = true;
+ parts = [ ];
+ };
# In addition to readTree itself, some functionality is exposed that
# is useful for users of readTree.
@@ -193,7 +208,7 @@ in {
# which should be able to access the restricted folder.
#
# reason: Textual explanation for the restriction (included in errors)
- restrictFolder = { folder, exceptions ? [], reason }: parts: args:
+ restrictFolder = { folder, exceptions ? [ ], reason }: parts: args:
if (elemAt parts 0) == folder || elem parts exceptions
then args
else args // {
@@ -224,8 +239,8 @@ in {
drvTargets = attrs: attrs // {
meta = {
targets = builtins.filter
- (x: isDerivation attrs."${x}")
- (builtins.attrNames attrs);
- } // (attrs.meta or {});
+ (x: isDerivation attrs."${x}")
+ (builtins.attrNames attrs);
+ } // (attrs.meta or { });
};
}
diff --git a/nix/readTree/tests/default.nix b/nix/readTree/tests/default.nix
index 3354a4fe5..fcca14171 100644
--- a/nix/readTree/tests/default.nix
+++ b/nix/readTree/tests/default.nix
@@ -10,13 +10,13 @@ let
tree-ex = depot.nix.readTree {
path = ./test-example;
- args = {};
+ args = { };
};
example = it "corresponds to the README example" [
(assertEq "third_party attrset"
(lib.isAttrs tree-ex.third_party
- && (! lib.isDerivation tree-ex.third_party))
+ && (! lib.isDerivation tree-ex.third_party))
true)
(assertEq "third_party attrset other attribute"
tree-ex.third_party.favouriteColour
@@ -37,7 +37,7 @@ let
tree-tl = depot.nix.readTree {
path = ./test-tree-traversal;
- args = {};
+ args = { };
};
traversal-logic = it "corresponds to the traversal logic in the README" [
@@ -82,7 +82,7 @@ let
"Picked up through the drv")
(assertEq "default.nix drv is not changed by readTree"
tree-tl.default-nix.can-be-drv
- (import ./test-tree-traversal/default-nix/can-be-drv/default.nix {}))
+ (import ./test-tree-traversal/default-nix/can-be-drv/default.nix { }))
];
# these each call readTree themselves because the throws have to happen inside assertThrows
@@ -90,7 +90,7 @@ let
(assertThrows "this file is not a function"
(depot.nix.readTree {
path = ./test-wrong-not-a-function;
- args = {};
+ args = { };
}).not-a-function)
# can’t test for that, assertThrows can’t catch this error
# (assertThrows "this file is a function but doesn’t have dots"
@@ -99,12 +99,13 @@ let
read-markers = depot.nix.readTree {
path = ./test-marker;
- args = {};
+ args = { };
};
assertMarkerByPath = path:
assertEq "${lib.concatStringsSep "." path} is marked correctly"
- (lib.getAttrFromPath path read-markers).__readTree path;
+ (lib.getAttrFromPath path read-markers).__readTree
+ path;
markers = it "marks nodes correctly" [
(assertMarkerByPath [ "directory-marked" ])
@@ -119,7 +120,8 @@ let
read-markers.directory-marked.nested.__readTreeChildren [ ])
];
-in runTestsuite "readTree" [
+in
+runTestsuite "readTree" [
example
traversal-logic
wrong
diff --git a/nix/readTree/tests/test-marker/directory-marked/default.nix b/nix/readTree/tests/test-marker/directory-marked/default.nix
index a3f961128..5bd3e36b5 100644
--- a/nix/readTree/tests/test-marker/directory-marked/default.nix
+++ b/nix/readTree/tests/test-marker/directory-marked/default.nix
@@ -1,3 +1,3 @@
{ ... }:
-{}
+{ }
diff --git a/nix/readTree/tests/test-marker/directory-marked/nested/default.nix b/nix/readTree/tests/test-marker/directory-marked/nested/default.nix
index a3f961128..5bd3e36b5 100644
--- a/nix/readTree/tests/test-marker/directory-marked/nested/default.nix
+++ b/nix/readTree/tests/test-marker/directory-marked/nested/default.nix
@@ -1,3 +1,3 @@
{ ... }:
-{}
+{ }
diff --git a/nix/readTree/tests/test-marker/file-children/one.nix b/nix/readTree/tests/test-marker/file-children/one.nix
index a3f961128..5bd3e36b5 100644
--- a/nix/readTree/tests/test-marker/file-children/one.nix
+++ b/nix/readTree/tests/test-marker/file-children/one.nix
@@ -1,3 +1,3 @@
{ ... }:
-{}
+{ }
diff --git a/nix/readTree/tests/test-marker/file-children/two.nix b/nix/readTree/tests/test-marker/file-children/two.nix
index a3f961128..5bd3e36b5 100644
--- a/nix/readTree/tests/test-marker/file-children/two.nix
+++ b/nix/readTree/tests/test-marker/file-children/two.nix
@@ -1,3 +1,3 @@
{ ... }:
-{}
+{ }
diff --git a/nix/renderMarkdown/default.nix b/nix/renderMarkdown/default.nix
index 3e5a59954..8d6b31cfc 100644
--- a/nix/renderMarkdown/default.nix
+++ b/nix/renderMarkdown/default.nix
@@ -3,6 +3,6 @@
with depot.nix.yants;
-defun [ path drv ] (file: pkgs.runCommandNoCC "${file}.rendered.html" {} ''
+defun [ path drv ] (file: pkgs.runCommandNoCC "${file}.rendered.html" { } ''
cat ${file} | ${depot.tools.cheddar}/bin/cheddar --about-filter ${file} > $out
'')
diff --git a/nix/runExecline/default.nix b/nix/runExecline/default.nix
index fd92203d0..76fffdce7 100644
--- a/nix/runExecline/default.nix
+++ b/nix/runExecline/default.nix
@@ -9,7 +9,7 @@ let
runExeclineLocal = name: args: execline:
runExecline name
(args // {
- derivationArgs = args.derivationArgs or {} // {
+ derivationArgs = args.derivationArgs or { } // {
preferLocalBuild = true;
allowSubstitutes = false;
};
@@ -23,7 +23,8 @@ let
inherit pkgs;
};
-in {
+in
+{
__functor = _: runExecline;
local = runExeclineLocal;
inherit tests;
diff --git a/nix/runExecline/runExecline.nix b/nix/runExecline/runExecline.nix
index 0e4508073..23b9a6330 100644
--- a/nix/runExecline/runExecline.nix
+++ b/nix/runExecline/runExecline.nix
@@ -35,32 +35,32 @@
let
bins = getBins pkgs.execline [
- "execlineb"
- { use = "if"; as = "execlineIf"; }
- "redirfd"
- "importas"
- "exec"
- ]
- // getBins pkgs.s6-portable-utils [
- "s6-cat"
- "s6-grep"
- "s6-touch"
- "s6-test"
- "s6-chmod"
- ];
+ "execlineb"
+ { use = "if"; as = "execlineIf"; }
+ "redirfd"
+ "importas"
+ "exec"
+ ]
+ // getBins pkgs.s6-portable-utils [
+ "s6-cat"
+ "s6-grep"
+ "s6-touch"
+ "s6-test"
+ "s6-chmod"
+ ];
in
# TODO: move name into the attrset
name:
{
-# a string to pass as stdin to the execline script
-stdin ? ""
-# a program wrapping the acutal execline invocation;
-# should be in Bernstein-chaining style
+ # a string to pass as stdin to the execline script
+ stdin ? ""
+ # a program wrapping the acutal execline invocation;
+ # should be in Bernstein-chaining style
, builderWrapper ? bins.exec
-# additional arguments to pass to the derivation
-, derivationArgs ? {}
+ # additional arguments to pass to the derivation
+, derivationArgs ? { }
}:
# the execline script as a nested list of string,
# representing the blocks;
@@ -90,33 +90,33 @@ derivation (derivationArgs // {
passAsFile = [
"_runExeclineScript"
"_runExeclineStdin"
- ] ++ derivationArgs.passAsFile or [];
+ ] ++ derivationArgs.passAsFile or [ ];
# the default, exec acts as identity executable
builder = builderWrapper;
args = [
- bins.importas # import script file as $script
- "-ui" # drop the envvar afterwards
- "script" # substitution name
+ bins.importas # import script file as $script
+ "-ui" # drop the envvar afterwards
+ "script" # substitution name
"_runExeclineScriptPath" # passed script file
- bins.importas # do the same for $stdin
+ bins.importas # do the same for $stdin
"-ui"
"stdin"
"_runExeclineStdinPath"
- bins.redirfd # now we
- "-r" # read the file
- "0" # into the stdin of execlineb
- "$stdin" # that was given via stdin
+ bins.redirfd # now we
+ "-r" # read the file
+ "0" # into the stdin of execlineb
+ "$stdin" # that was given via stdin
- bins.execlineb # the actual invocation
+ bins.execlineb # the actual invocation
# TODO(Profpatsch): depending on the use-case, -S0 might not be enough
# in all use-cases, then a wrapper for execlineb arguments
# should be added (-P, -S, -s).
- "-S0" # set $@ inside the execline script
- "-W" # die on syntax error
- "$script" # substituted by importas
+ "-S0" # set $@ inside the execline script
+ "-W" # die on syntax error
+ "$script" # substituted by importas
];
})
diff --git a/nix/runExecline/tests.nix b/nix/runExecline/tests.nix
index d2f5a1780..f82b54422 100644
--- a/nix/runExecline/tests.nix
+++ b/nix/runExecline/tests.nix
@@ -1,23 +1,29 @@
-{ stdenv, pkgs, runExecline, runExeclineLocal, getBins, writeScript
-# https://www.mail-archive.com/skaware@list.skarnet.org/msg01256.html
-, coreutils }:
+{ stdenv
+, pkgs
+, runExecline
+, runExeclineLocal
+, getBins
+, writeScript
+ # https://www.mail-archive.com/skaware@list.skarnet.org/msg01256.html
+, coreutils
+}:
let
bins = getBins coreutils [ "mv" ]
- // getBins pkgs.execline [
- "execlineb"
- { use = "if"; as = "execlineIf"; }
- "redirfd"
- "importas"
- ]
- // getBins pkgs.s6-portable-utils [
- "s6-chmod"
- "s6-grep"
- "s6-touch"
- "s6-cat"
- "s6-test"
- ];
+ // getBins pkgs.execline [
+ "execlineb"
+ { use = "if"; as = "execlineIf"; }
+ "redirfd"
+ "importas"
+ ]
+ // getBins pkgs.s6-portable-utils [
+ "s6-chmod"
+ "s6-grep"
+ "s6-touch"
+ "s6-cat"
+ "s6-test"
+ ];
# execline block of depth 1
block = args: builtins.map (arg: " ${arg}") args ++ [ "" ];
@@ -31,49 +37,80 @@ let
builder = bins.execlineIf;
args =
(block [
- bins.redirfd "-r" "0" file # read file to stdin
- bins.s6-grep "-F" "-q" line # and grep for the line
+ bins.redirfd
+ "-r"
+ "0"
+ file # read file to stdin
+ bins.s6-grep
+ "-F"
+ "-q"
+ line # and grep for the line
])
++ [
# if the block succeeded, touch $out
- bins.importas "-ui" "out" "out"
- bins.s6-touch "$out"
+ bins.importas
+ "-ui"
+ "out"
+ "out"
+ bins.s6-touch
+ "$out"
];
preferLocalBuild = true;
allowSubstitutes = false;
};
# basic test that touches out
- basic = runExeclineLocal "run-execline-test-basic" {
- } [
- "importas" "-ui" "out" "out"
- "${bins.s6-touch}" "$out"
+ basic = runExeclineLocal "run-execline-test-basic"
+ { } [
+ "importas"
+ "-ui"
+ "out"
+ "out"
+ "${bins.s6-touch}"
+ "$out"
];
# whether the stdin argument works as intended
- stdin = fileHasLine "foo" (runExeclineLocal "run-execline-test-stdin" {
- stdin = "foo\nbar\nfoo";
- } [
- "importas" "-ui" "out" "out"
- # this pipes stdout of s6-cat to $out
- # and s6-cat redirects from stdin to stdout
- "redirfd" "-w" "1" "$out" bins.s6-cat
+ stdin = fileHasLine "foo" (runExeclineLocal "run-execline-test-stdin"
+ {
+ stdin = "foo\nbar\nfoo";
+ } [
+ "importas"
+ "-ui"
+ "out"
+ "out"
+ # this pipes stdout of s6-cat to $out
+ # and s6-cat redirects from stdin to stdout
+ "redirfd"
+ "-w"
+ "1"
+ "$out"
+ bins.s6-cat
]);
- wrapWithVar = runExeclineLocal "run-execline-test-wrap-with-var" {
- builderWrapper = writeScript "var-wrapper" ''
- #!${bins.execlineb} -S0
- export myvar myvalue $@
- '';
- } [
- "importas" "-ui" "v" "myvar"
- "if" [ bins.s6-test "myvalue" "=" "$v" ]
- "importas" "out" "out"
- bins.s6-touch "$out"
+ wrapWithVar = runExeclineLocal "run-execline-test-wrap-with-var"
+ {
+ builderWrapper = writeScript "var-wrapper" ''
+ #!${bins.execlineb} -S0
+ export myvar myvalue $@
+ '';
+ } [
+ "importas"
+ "-ui"
+ "v"
+ "myvar"
+ "if"
+ [ bins.s6-test "myvalue" "=" "$v" ]
+ "importas"
+ "out"
+ "out"
+ bins.s6-touch
+ "$out"
];
-in [
+in
+[
basic
stdin
wrapWithVar
diff --git a/nix/runTestsuite/default.nix b/nix/runTestsuite/default.nix
index 9eb507099..8b02ed86d 100644
--- a/nix/runTestsuite/default.nix
+++ b/nix/runTestsuite/default.nix
@@ -38,11 +38,11 @@ let
;
bins = depot.nix.getBins pkgs.coreutils [ "printf" ]
- // depot.nix.getBins pkgs.s6-portable-utils [ "s6-touch" "s6-false" "s6-cat" ];
+ // depot.nix.getBins pkgs.s6-portable-utils [ "s6-touch" "s6-false" "s6-cat" ];
# Returns true if the given expression throws when `deepSeq`-ed
throws = expr:
- !(builtins.tryEval (builtins.deepSeq expr {})).success;
+ !(builtins.tryEval (builtins.deepSeq expr { })).success;
# rewrite the builtins.partition result
# to use `ok` and `err` instead of `right` and `wrong`.
@@ -99,11 +99,12 @@ let
(context: desc: res:
if res
then { yep = { test = desc; }; }
- else { nope = {
- test = desc;
- inherit context;
- };
- });
+ else {
+ nope = {
+ test = desc;
+ inherit context;
+ };
+ });
# assert that left and right values are equal
assertEq = defun [ string any any AssertResult ]
@@ -111,7 +112,7 @@ let
let
context = { not-equal = { inherit left right; }; };
in
- assertBoolContext context desc (left == right));
+ assertBoolContext context desc (left == right));
# assert that the expression throws when `deepSeq`-ed
assertThrows = defun [ string any AssertResult ]
@@ -119,7 +120,7 @@ let
let
context = { should-throw = { inherit expr; }; };
in
- assertBoolContext context desc (throws expr));
+ assertBoolContext context desc (throws expr));
# assert that the expression does not throw when `deepSeq`-ed
assertDoesNotThrow = defun [ string any AssertResult ]
@@ -144,31 +145,50 @@ let
yep = _: true;
nope = _: false;
};
- res = partitionTests (it:
- (partitionTests goodAss it.asserts).err == []
- ) itResults;
- prettyRes = lib.generators.toPretty {} res;
+ res = partitionTests
+ (it:
+ (partitionTests goodAss it.asserts).err == [ ]
+ )
+ itResults;
+ prettyRes = lib.generators.toPretty { } res;
in
- if res.err == []
- then depot.nix.runExecline.local "testsuite-${name}-successful" {} [
- "importas" "out" "out"
+ if res.err == [ ]
+ then
+ depot.nix.runExecline.local "testsuite-${name}-successful" { } [
+ "importas"
+ "out"
+ "out"
# force derivation to rebuild if test case list changes
- "ifelse" [ bins.s6-false ] [
- bins.printf "" (builtins.hashString "sha512" prettyRes)
+ "ifelse"
+ [ bins.s6-false ]
+ [
+ bins.printf
+ ""
+ (builtins.hashString "sha512" prettyRes)
]
- "if" [ bins.printf "%s\n" "testsuite ${name} successful!" ]
- bins.s6-touch "$out"
+ "if"
+ [ bins.printf "%s\n" "testsuite ${name} successful!" ]
+ bins.s6-touch
+ "$out"
]
- else depot.nix.runExecline.local "testsuite-${name}-failed" {
- stdin = prettyRes + "\n";
- } [
- "importas" "out" "out"
- "if" [ bins.printf "%s\n" "testsuite ${name} failed!" ]
- "if" [ bins.s6-cat ]
- "exit" "1"
+ else
+ depot.nix.runExecline.local "testsuite-${name}-failed"
+ {
+ stdin = prettyRes + "\n";
+ } [
+ "importas"
+ "out"
+ "out"
+ "if"
+ [ bins.printf "%s\n" "testsuite ${name} failed!" ]
+ "if"
+ [ bins.s6-cat ]
+ "exit"
+ "1"
]);
-in {
+in
+{
inherit
assertEq
assertThrows
diff --git a/nix/sparseTree/default.nix b/nix/sparseTree/default.nix
index 5184f33d5..16fc9b610 100644
--- a/nix/sparseTree/default.nix
+++ b/nix/sparseTree/default.nix
@@ -45,14 +45,16 @@ let
let
withLeading = p: if builtins.substring 0 1 p == "/" then p else "/" + p;
fullPath =
- /**/ if builtins.isPath path then path
+ /**/
+ if builtins.isPath path then path
else if builtins.isString path then (root + withLeading path)
else builtins.throw "Unsupported path type ${builtins.typeOf path}";
strPath = toString fullPath;
contextPath = "${fullPath}";
belowRoot = builtins.substring rootLength (-1) strPath;
prefix = builtins.substring 0 rootLength strPath;
- in assert toString root == prefix; {
+ in
+ assert toString root == prefix; {
src = contextPath;
dst = belowRoot;
};
@@ -61,10 +63,12 @@ let
in
# TODO(sterni): teach readTree to also read symlinked directories,
-# so we ln -sT instead of cp -aT.
-pkgs.runCommandNoCC "sparse-${builtins.baseNameOf root}" {} (
- lib.concatMapStrings ({ src, dst }: ''
- mkdir -p "$(dirname "$out${dst}")"
- cp -aT --reflink=auto "${src}" "$out${dst}"
- '') symlinks
+ # so we ln -sT instead of cp -aT.
+pkgs.runCommandNoCC "sparse-${builtins.baseNameOf root}" { } (
+ lib.concatMapStrings
+ ({ src, dst }: ''
+ mkdir -p "$(dirname "$out${dst}")"
+ cp -aT --reflink=auto "${src}" "$out${dst}"
+ '')
+ symlinks
)
diff --git a/nix/tag/default.nix b/nix/tag/default.nix
index 9c55e6263..003840446 100644
--- a/nix/tag/default.nix
+++ b/nix/tag/default.nix
@@ -4,22 +4,24 @@ let
# if so sets `isTag` to `true` and sets the name and value.
# If not, sets `isTag` to `false` and sets `errmsg`.
verifyTag = tag:
- let cases = builtins.attrNames tag;
- len = builtins.length cases;
+ let
+ cases = builtins.attrNames tag;
+ len = builtins.length cases;
in
if builtins.length cases == 1
- then let name = builtins.head cases; in {
- isTag = true;
- name = name;
- val = tag.${name};
- errmsg = null;
- }
+ then
+ let name = builtins.head cases; in {
+ isTag = true;
+ name = name;
+ val = tag.${name};
+ errmsg = null;
+ }
else {
isTag = false;
errmsg =
- ( "match: an instance of a sum is an attrset "
- + "with exactly one element, yours had ${toString len}"
- + ", namely: ${lib.generators.toPretty {} cases}" );
+ ("match: an instance of a sum is an attrset "
+ + "with exactly one element, yours had ${toString len}"
+ + ", namely: ${lib.generators.toPretty {} cases}");
name = null;
val = null;
};
@@ -63,21 +65,22 @@ let
# ] 1
# => { smol = 1; }
discrDef = defTag: fs: v:
- let res = lib.findFirst
- (t: t.val v)
- null
- (map assertIsTag fs);
+ let
+ res = lib.findFirst
+ (t: t.val v)
+ null
+ (map assertIsTag fs);
in
- if res == null
- then { ${defTag} = v; }
- else { ${res.name} = v; };
+ if res == null
+ then { ${defTag} = v; }
+ else { ${res.name} = v; };
# Like `discrDef`, but fail if there is no match.
discr = fs: v:
let res = discrDef null fs v; in
- assert lib.assertMsg (res != null)
- "tag.discr: No predicate found that matches ${lib.generators.toPretty {} v}";
- res;
+ assert lib.assertMsg (res != null)
+ "tag.discr: No predicate found that matches ${lib.generators.toPretty {} v}";
+ res;
# The canonical pattern matching primitive.
# A sum value is an attribute set with one element,
@@ -104,17 +107,17 @@ let
match = sum: matcher:
let cases = builtins.attrNames sum;
in assert
- let len = builtins.length cases; in
- lib.assertMsg (len == 1)
- ( "match: an instance of a sum is an attrset "
- + "with exactly one element, yours had ${toString len}"
- + ", namely: ${lib.generators.toPretty {} cases}" );
+ let len = builtins.length cases; in
+ lib.assertMsg (len == 1)
+ ("match: an instance of a sum is an attrset "
+ + "with exactly one element, yours had ${toString len}"
+ + ", namely: ${lib.generators.toPretty {} cases}");
let case = builtins.head cases;
in assert
- lib.assertMsg (matcher ? ${case})
- ( "match: \"${case}\" is not a valid case of this sum, "
+ lib.assertMsg (matcher ? ${case})
+ ("match: \"${case}\" is not a valid case of this sum, "
+ "the matcher accepts: ${lib.generators.toPretty {}
- (builtins.attrNames matcher)}" );
+ (builtins.attrNames matcher)}");
matcher.${case} sum.${case};
# A `match` with the arguments flipped.
@@ -148,15 +151,16 @@ let
;
};
-in {
- inherit
- verifyTag
- tagName
- tagValue
- discr
- discrDef
- match
- matchLam
- tests
- ;
+in
+{
+ inherit
+ verifyTag
+ tagName
+ tagValue
+ discr
+ discrDef
+ match
+ matchLam
+ tests
+ ;
}
diff --git a/nix/tag/tests.nix b/nix/tag/tests.nix
index 8c9c73807..bcc42c758 100644
--- a/nix/tag/tests.nix
+++ b/nix/tag/tests.nix
@@ -17,7 +17,7 @@ let
errmsg = null;
})
(assertEq "is not Tag"
- (removeAttrs (verifyTag { foo = "bar"; baz = 42; }) ["errmsg"])
+ (removeAttrs (verifyTag { foo = "bar"; baz = 42; }) [ "errmsg" ])
{
isTag = false;
name = null;
@@ -41,7 +41,8 @@ let
(discr [
{ bool = lib.isBool; }
{ int = lib.isInt; }
- ] true)
+ ]
+ true)
{ bool = true; })
(assertEq "fallback to default"
(discrDef "def" [
@@ -53,19 +54,24 @@ let
match-test = it "can match things" [
(assertEq "match example"
- (let
- success = { res = 42; };
- failure = { err = "no answer"; };
- matcher = {
- res = i: i + 1;
- err = _: 0;
- };
- in {
- one = match success matcher;
- two = match failure matcher;
+ (
+ let
+ success = { res = 42; };
+ failure = { err = "no answer"; };
+ matcher = {
+ res = i: i + 1;
+ err = _: 0;
+ };
+ in
+ {
+ one = match success matcher;
+ two = match failure matcher;
+ }
+ )
+ {
+ one = 43;
+ two = 0;
})
- { one = 43;
- two = 0; })
(assertEq "matchLam & pipe"
(lib.pipe { foo = 42; } [
(matchLam {
@@ -81,8 +87,8 @@ let
];
in
- runTestsuite "tag" [
- isTag-test
- discr-test
- match-test
- ]
+runTestsuite "tag" [
+ isTag-test
+ discr-test
+ match-test
+]
diff --git a/nix/tailscale/default.nix b/nix/tailscale/default.nix
index 8d6a0f661..363f717db 100644
--- a/nix/tailscale/default.nix
+++ b/nix/tailscale/default.nix
@@ -27,4 +27,5 @@ let
# Actual ACL entries
ACLs = list acl;
};
-in config: pkgs.writeText "tailscale-acl.json" (toJSON (aclConfig config))
+in
+config: pkgs.writeText "tailscale-acl.json" (toJSON (aclConfig config))
diff --git a/nix/utils/default.nix b/nix/utils/default.nix
index 258e372a2..cabea5bbe 100644
--- a/nix/utils/default.nix
+++ b/nix/utils/default.nix
@@ -34,14 +34,14 @@ let
basename = builtins.unsafeDiscardStringContext
(builtins.baseNameOf strPath);
in
- # If p is a direct child of storeDir, we need to remove
+ # If p is a direct child of storeDir, we need to remove
# the leading hash as well to make sure that:
# `storePathName drv == storePathName (toString drv)`.
- if noStoreDir == basename
- then builtins.substring 33 (-1) basename
- else basename
+ if noStoreDir == basename
+ then builtins.substring 33 (-1) basename
+ else basename
else builtins.throw "Don't know how to get (base)name of "
- + lib.generators.toPretty {} p;
+ + lib.generators.toPretty { } p;
/* Query the type of a path exposing the same information as would be by
`builtins.readDir`, but for a single, specific target path.
@@ -106,7 +106,7 @@ let
# We need to call toString to prevent unsafeDiscardStringContext
# from importing a path into store which messes with base- and
# dirname of course.
- path'= builtins.unsafeDiscardStringContext (toString path);
+ path' = builtins.unsafeDiscardStringContext (toString path);
# To read the containing directory we absolutely need
# to keep the string context, otherwise a derivation
# would not be realized before our check (at eval time)
@@ -120,20 +120,22 @@ let
# directory. If not, either the target doesn't exist or is a regular file.
# TODO(sterni): is there a way to check reliably if the symlink target exists?
isSymlinkDir = builtins.pathExists (path' + "/.");
- in {
+ in
+ {
${thisPathType} =
- /**/ if thisPathType != "symlink" then true
- else if isSymlinkDir then "directory"
- else "regular-or-missing";
+ /**/
+ if thisPathType != "symlink" then true
+ else if isSymlinkDir then "directory"
+ else "regular-or-missing";
};
pathType' = path:
let
p = pathType path;
in
- if p ? missing
- then builtins.throw "${lib.generators.toPretty {} path} does not exist"
- else p;
+ if p ? missing
+ then builtins.throw "${lib.generators.toPretty {} path} does not exist"
+ else p;
/* Check whether the given path is a directory.
Throws if the path in question doesn't exist.
@@ -151,9 +153,11 @@ let
Type: path(-like) -> bool
*/
- realPathIsDirectory = path: let
- pt = pathType' path;
- in pt ? directory || pt.symlink or null == "directory";
+ realPathIsDirectory = path:
+ let
+ pt = pathType' path;
+ in
+ pt ? directory || pt.symlink or null == "directory";
/* Check whether the given path is a regular file.
Throws if the path in question doesn't exist.
@@ -169,7 +173,8 @@ let
*/
isSymlink = path: pathType' path ? symlink;
-in {
+in
+{
inherit
storePathName
pathType
diff --git a/nix/utils/tests/default.nix b/nix/utils/tests/default.nix
index 8a078684f..52b7ca41d 100644
--- a/nix/utils/tests/default.nix
+++ b/nix/utils/tests/default.nix
@@ -26,38 +26,53 @@ let
pathPredicates = it "judges paths correctly" (lib.flatten [
# isDirectory
(assertUtilsPred "directory isDirectory"
- (isDirectory ./directory) true)
+ (isDirectory ./directory)
+ true)
(assertUtilsPred "symlink not isDirectory"
- (isDirectory ./symlink-directory) false)
+ (isDirectory ./symlink-directory)
+ false)
(assertUtilsPred "file not isDirectory"
- (isDirectory ./directory/file) false)
+ (isDirectory ./directory/file)
+ false)
# realPathIsDirectory
(assertUtilsPred "directory realPathIsDirectory"
- (realPathIsDirectory ./directory) true)
+ (realPathIsDirectory ./directory)
+ true)
(assertUtilsPred "symlink to directory realPathIsDirectory"
- (realPathIsDirectory ./symlink-directory) true)
+ (realPathIsDirectory ./symlink-directory)
+ true)
(assertUtilsPred "realPathIsDirectory resolves chained symlinks"
- (realPathIsDirectory ./symlink-symlink-directory) true)
+ (realPathIsDirectory ./symlink-symlink-directory)
+ true)
# isRegularFile
(assertUtilsPred "file isRegularFile"
- (isRegularFile ./directory/file) true)
+ (isRegularFile ./directory/file)
+ true)
(assertUtilsPred "symlink not isRegularFile"
- (isRegularFile ./symlink-file) false)
+ (isRegularFile ./symlink-file)
+ false)
(assertUtilsPred "directory not isRegularFile"
- (isRegularFile ./directory) false)
+ (isRegularFile ./directory)
+ false)
# isSymlink
(assertUtilsPred "symlink to file isSymlink"
- (isSymlink ./symlink-file) true)
+ (isSymlink ./symlink-file)
+ true)
(assertUtilsPred "symlink to directory isSymlink"
- (isSymlink ./symlink-directory) true)
+ (isSymlink ./symlink-directory)
+ true)
(assertUtilsPred "symlink to symlink isSymlink"
- (isSymlink ./symlink-symlink-file) true)
+ (isSymlink ./symlink-symlink-file)
+ true)
(assertUtilsPred "symlink to missing file isSymlink"
- (isSymlink ./missing) true)
+ (isSymlink ./missing)
+ true)
(assertUtilsPred "directory not isSymlink"
- (isSymlink ./directory) false)
+ (isSymlink ./directory)
+ false)
(assertUtilsPred "file not isSymlink"
- (isSymlink ./directory/file) false)
+ (isSymlink ./directory/file)
+ false)
# missing files throw
(assertThrows "isDirectory throws on missing file"
(isDirectory ./does-not-exist))
@@ -89,15 +104,18 @@ let
storePathNameTests = it "correctly gets the basename of a store path" [
(assertEq "base name of a derivation"
- (storePathName depot.tools.cheddar) depot.tools.cheddar.name)
+ (storePathName depot.tools.cheddar)
+ depot.tools.cheddar.name)
(assertEq "base name of a store path string"
- (storePathName cheddarStorePath) depot.tools.cheddar.name)
+ (storePathName cheddarStorePath)
+ depot.tools.cheddar.name)
(assertEq "base name of a path within a store path"
(storePathName "${cheddarStorePath}/bin/cheddar") "cheddar")
(assertEq "base name of a path"
(storePathName ../default.nix) "default.nix")
(assertEq "base name of a cleanSourced path"
- (storePathName cleanedSource) cleanedSource.name)
+ (storePathName cleanedSource)
+ cleanedSource.name)
];
in
diff --git a/nix/writeElispBin/default.nix b/nix/writeElispBin/default.nix
index c116607e0..3ea2da58a 100644
--- a/nix/writeElispBin/default.nix
+++ b/nix/writeElispBin/default.nix
@@ -1,6 +1,6 @@
{ depot, pkgs, ... }:
-{ name, src, deps ? (_: []), emacs ? pkgs.emacs27-nox }:
+{ name, src, deps ? (_: [ ]), emacs ? pkgs.emacs27-nox }:
let
inherit (pkgs) emacsPackages emacsPackagesGen;
@@ -8,11 +8,13 @@ let
finalEmacs = (emacsPackagesGen emacs).emacsWithPackages deps;
- srcFile = if isString src
+ srcFile =
+ if isString src
then toFile "${name}.el" src
else src;
-in depot.nix.writeScriptBin name ''
+in
+depot.nix.writeScriptBin name ''
#!/bin/sh
${finalEmacs}/bin/emacs --batch --no-site-file --script ${srcFile} $@
''
diff --git a/nix/writeExecline/default.nix b/nix/writeExecline/default.nix
index 8626aa460..5169b0138 100644
--- a/nix/writeExecline/default.nix
+++ b/nix/writeExecline/default.nix
@@ -14,9 +14,10 @@ name:
# "env": don’t substitute, set # and 0…n environment vaariables, where n=$#
# "none": don’t substitute or set any positional arguments
# "env-no-push": like "env", but bypass the push-phase. Not recommended.
- argMode ? "var",
- # Number of arguments to be substituted as variables (passed to "var"/"-s" or "var-full"/"-S"
- readNArgs ? 0,
+ argMode ? "var"
+, # Number of arguments to be substituted as variables (passed to "var"/"-s" or "var-full"/"-S"
+ readNArgs ? 0
+,
}:
# Nested list of lists of commands.
# Inner lists are translated to execline blocks.
@@ -24,7 +25,7 @@ argList:
let
env =
- if argMode == "var" then "s${toString readNArgs}"
+ if argMode == "var" then "s${toString readNArgs}"
else if argMode == "var-full" then "S${toString readNArgs}"
else if argMode == "env" then ""
else if argMode == "none" then "P"
@@ -32,7 +33,7 @@ let
else abort ''"${toString argMode}" is not a valid argMode, use one of "var", "var-full", "env", "none", "env-no-push".'';
in
- depot.nix.writeScript name ''
- #!${pkgs.execline}/bin/execlineb -W${env}
- ${depot.nix.escapeExecline argList}
- ''
+depot.nix.writeScript name ''
+ #!${pkgs.execline}/bin/execlineb -W${env}
+ ${depot.nix.escapeExecline argList}
+''
diff --git a/nix/writeScript/default.nix b/nix/writeScript/default.nix
index e8e6e0fa1..1f53b4e4f 100644
--- a/nix/writeScript/default.nix
+++ b/nix/writeScript/default.nix
@@ -5,25 +5,31 @@
let
bins = depot.nix.getBins pkgs.s6-portable-utils [
- "s6-cat"
- "s6-chmod"
- ];
+ "s6-cat"
+ "s6-chmod"
+ ];
in
name:
# string of the executable script that is put in $out
script:
-depot.nix.runExecline name {
+depot.nix.runExecline name
+{
stdin = script;
derivationArgs = {
preferLocalBuild = true;
allowSubstitutes = false;
};
} [
- "importas" "out" "out"
+ "importas"
+ "out"
+ "out"
# this pipes stdout of s6-cat to $out
# and s6-cat redirects from stdin to stdout
- "if" [ "redirfd" "-w" "1" "$out" bins.s6-cat ]
- bins.s6-chmod "0755" "$out"
+ "if"
+ [ "redirfd" "-w" "1" "$out" bins.s6-cat ]
+ bins.s6-chmod
+ "0755"
+ "$out"
]
diff --git a/nix/writers/default.nix b/nix/writers/default.nix
index b0795ab2c..55355913a 100644
--- a/nix/writers/default.nix
+++ b/nix/writers/default.nix
@@ -2,62 +2,71 @@
let
bins = depot.nix.getBins pkgs.s6-portable-utils [ "s6-ln" "s6-ls" "s6-touch" ]
- ;
+ ;
- linkTo = name: path: depot.nix.runExecline.local name {} [
- "importas" "out" "out"
- bins.s6-ln "-s" path "$out"
+ linkTo = name: path: depot.nix.runExecline.local name { } [
+ "importas"
+ "out"
+ "out"
+ bins.s6-ln
+ "-s"
+ path
+ "$out"
];
# Build a rust executable, $out is the executable.
- rustSimple = args@{name, ...}: src:
+ rustSimple = args@{ name, ... }: src:
linkTo name "${rustSimpleBin args src}/bin/${name}";
# Like `rustSimple`, but put the binary in `$out/bin/`.
- rustSimpleBin = {
- name,
- dependencies ? [],
- doCheck ? true,
- }: src:
+ rustSimpleBin =
+ { name
+ , dependencies ? [ ]
+ , doCheck ? true
+ ,
+ }: src:
(if doCheck then testRustSimple else pkgs.lib.id)
- (pkgs.buildRustCrate ({
- pname = name;
- version = "1.0.0";
- crateName = name;
- crateBin = [ name ];
- dependencies = dependencies;
- src = pkgs.runCommandLocal "write-main.rs" {
- src = src;
- passAsFile = [ "src" ];
- } ''
- mkdir -p $out/src/bin
- cp "$srcPath" $out/src/bin/${name}.rs
- find $out
- '';
- }));
+ (pkgs.buildRustCrate ({
+ pname = name;
+ version = "1.0.0";
+ crateName = name;
+ crateBin = [ name ];
+ dependencies = dependencies;
+ src = pkgs.runCommandLocal "write-main.rs"
+ {
+ src = src;
+ passAsFile = [ "src" ];
+ } ''
+ mkdir -p $out/src/bin
+ cp "$srcPath" $out/src/bin/${name}.rs
+ find $out
+ '';
+ }));
# Build a rust library, that can be used as dependency to `rustSimple`.
# Wrapper around `pkgs.buildRustCrate`, takes all its arguments.
- rustSimpleLib = {
- name,
- dependencies ? [],
- doCheck ? true,
- }: src:
+ rustSimpleLib =
+ { name
+ , dependencies ? [ ]
+ , doCheck ? true
+ ,
+ }: src:
(if doCheck then testRustSimple else pkgs.lib.id)
- (pkgs.buildRustCrate ({
- pname = name;
- version = "1.0.0";
- crateName = name;
- dependencies = dependencies;
- src = pkgs.runCommandLocal "write-lib.rs" {
- src = src;
- passAsFile = [ "src" ];
- } ''
- mkdir -p $out/src
- cp "$srcPath" $out/src/lib.rs
- find $out
- '';
- }));
+ (pkgs.buildRustCrate ({
+ pname = name;
+ version = "1.0.0";
+ crateName = name;
+ dependencies = dependencies;
+ src = pkgs.runCommandLocal "write-lib.rs"
+ {
+ src = src;
+ passAsFile = [ "src" ];
+ } ''
+ mkdir -p $out/src
+ cp "$srcPath" $out/src/lib.rs
+ find $out
+ '';
+ }));
/* Takes a `buildRustCrate` derivation as an input,
* builds it with `{ buildTests = true; }` and runs
@@ -72,19 +81,30 @@ let
testRustSimple = rustDrv:
let
crate = buildTests: rustDrv.override { inherit buildTests; };
- tests = depot.nix.runExecline.local "${rustDrv.name}-tests-run" {} [
- "importas" "out" "out"
- "if" [
- "pipeline" [ bins.s6-ls "${crate true}/tests" ]
- "forstdin" "-o0" "test"
- "importas" "test" "test"
+ tests = depot.nix.runExecline.local "${rustDrv.name}-tests-run" { } [
+ "importas"
+ "out"
+ "out"
+ "if"
+ [
+ "pipeline"
+ [ bins.s6-ls "${crate true}/tests" ]
+ "forstdin"
+ "-o0"
+ "test"
+ "importas"
+ "test"
+ "test"
"${crate true}/tests/$test"
]
- bins.s6-touch "$out"
+ bins.s6-touch
+ "$out"
];
- in depot.nix.drvSeqL [ tests ] (crate false);
+ in
+ depot.nix.drvSeqL [ tests ] (crate false);
-in {
+in
+{
inherit
rustSimple
rustSimpleBin
diff --git a/nix/writers/tests/rust.nix b/nix/writers/tests/rust.nix
index 8a12c95ec..232a2dc60 100644
--- a/nix/writers/tests/rust.nix
+++ b/nix/writers/tests/rust.nix
@@ -11,15 +11,20 @@ let
coreutils
;
- run = drv: depot.nix.runExecline.local "run-${drv.name}" {} [
- "if" [ drv ]
- "importas" "out" "out"
- "${coreutils}/bin/touch" "$out"
+ run = drv: depot.nix.runExecline.local "run-${drv.name}" { } [
+ "if"
+ [ drv ]
+ "importas"
+ "out"
+ "out"
+ "${coreutils}/bin/touch"
+ "$out"
];
- rustTransitiveLib = rustSimpleLib {
- name = "transitive";
- } ''
+ rustTransitiveLib = rustSimpleLib
+ {
+ name = "transitive";
+ } ''
pub fn transitive(s: &str) -> String {
let mut new = s.to_string();
new.push_str(" 1 2 3");
@@ -37,10 +42,11 @@ let
}
'';
- rustTestLib = rustSimpleLib {
- name = "test_lib";
- dependencies = [ rustTransitiveLib ];
- } ''
+ rustTestLib = rustSimpleLib
+ {
+ name = "test_lib";
+ dependencies = [ rustTransitiveLib ];
+ } ''
extern crate transitive;
use transitive::{transitive};
pub fn test() -> String {
@@ -48,10 +54,11 @@ let
}
'';
- rustWithLib = run (rustSimple {
- name = "rust-with-lib";
- dependencies = [ rustTestLib ];
- } ''
+ rustWithLib = run (rustSimple
+ {
+ name = "rust-with-lib";
+ dependencies = [ rustTestLib ];
+ } ''
extern crate test_lib;
fn main() {
@@ -60,7 +67,8 @@ let
'');
-in depot.nix.readTree.drvTargets {
+in
+depot.nix.readTree.drvTargets {
inherit
rustTransitiveLib
rustWithLib
diff --git a/nix/yants/default.nix b/nix/yants/default.nix
index 2bbf4dd15..cb9fc0828 100644
--- a/nix/yants/default.nix
+++ b/nix/yants/default.nix
@@ -6,10 +6,10 @@
#
# All types (should) compose as expected.
-{ lib ? (import {}).lib, ... }:
+{ lib ? (import { }).lib, ... }:
with builtins; let
- prettyPrint = lib.generators.toPretty {};
+ prettyPrint = lib.generators.toPretty { };
# typedef' :: struct {
# name = string;
@@ -34,41 +34,44 @@ with builtins; let
#
# This function is the low-level primitive used to create types. For
# many cases the higher-level 'typedef' function is more appropriate.
- typedef' = { name, checkType
- , checkToBool ? (result: result.ok)
- , toError ? (_: result: result.err)
- , def ? null
- , match ? null }: {
- inherit name checkToBool toError;
+ typedef' =
+ { name
+ , checkType
+ , checkToBool ? (result: result.ok)
+ , toError ? (_: result: result.err)
+ , def ? null
+ , match ? null
+ }: {
+ inherit name checkToBool toError;
- # check :: a -> bool
- #
- # This function is used to determine whether a given type is
- # conformant.
- check = value: checkToBool (checkType value);
+ # check :: a -> bool
+ #
+ # This function is used to determine whether a given type is
+ # conformant.
+ check = value: checkToBool (checkType value);
- # checkType :: a -> struct { ok = bool; err = option string; }
- #
- # This function checks whether the passed value is type conformant
- # and returns an optional type error string otherwise.
- inherit checkType;
+ # checkType :: a -> struct { ok = bool; err = option string; }
+ #
+ # This function checks whether the passed value is type conformant
+ # and returns an optional type error string otherwise.
+ inherit checkType;
- # __functor :: a -> a
- #
- # This function checks whether the passed value is type conformant
- # and throws an error if it is not.
- #
- # The name of this function is a special attribute in Nix that
- # makes it possible to execute a type attribute set like a normal
- # function.
- __functor = self: value:
- let result = self.checkType value;
- in if checkToBool result then value
- else throw (toError value result);
- };
+ # __functor :: a -> a
+ #
+ # This function checks whether the passed value is type conformant
+ # and throws an error if it is not.
+ #
+ # The name of this function is a special attribute in Nix that
+ # makes it possible to execute a type attribute set like a normal
+ # function.
+ __functor = self: value:
+ let result = self.checkType value;
+ in if checkToBool result then value
+ else throw (toError value result);
+ };
typeError = type: val:
- "expected type '${type}', but value '${prettyPrint val}' is of type '${typeOf val}'";
+ "expected type '${type}', but value '${prettyPrint val}' is of type '${typeOf val}'";
# typedef :: string -> (a -> bool) -> type
#
@@ -85,27 +88,34 @@ with builtins; let
});
};
- checkEach = name: t: l: foldl' (acc: e:
- let res = t.checkType e;
+ checkEach = name: t: l: foldl'
+ (acc: e:
+ let
+ res = t.checkType e;
isT = t.checkToBool res;
- in {
- ok = acc.ok && isT;
- err = if isT
- then acc.err
- else acc.err + "${prettyPrint e}: ${t.toError e res}\n";
- }) { ok = true; err = "expected type ${name}, but found:\n"; } l;
-in lib.fix (self: {
+ in
+ {
+ ok = acc.ok && isT;
+ err =
+ if isT
+ then acc.err
+ else acc.err + "${prettyPrint e}: ${t.toError e res}\n";
+ })
+ { ok = true; err = "expected type ${name}, but found:\n"; }
+ l;
+in
+lib.fix (self: {
# Primitive types
- any = typedef "any" (_: true);
- unit = typedef "unit" (v: v == {});
- int = typedef "int" isInt;
- bool = typedef "bool" isBool;
- float = typedef "float" isFloat;
- string = typedef "string" isString;
- path = typedef "path" (x: typeOf x == "path");
- drv = typedef "derivation" (x: isAttrs x && x ? "type" && x.type == "derivation");
+ any = typedef "any" (_: true);
+ unit = typedef "unit" (v: v == { });
+ int = typedef "int" isInt;
+ bool = typedef "bool" isBool;
+ float = typedef "float" isFloat;
+ string = typedef "string" isString;
+ path = typedef "path" (x: typeOf x == "path");
+ drv = typedef "derivation" (x: isAttrs x && x ? "type" && x.type == "derivation");
function = typedef "function" (x: isFunction x || (isAttrs x && x ? "__functor"
- && isFunction x.__functor));
+ && isFunction x.__functor));
# Type for types themselves. Useful when defining polymorphic types.
type = typedef "type" (x:
@@ -124,7 +134,7 @@ in lib.fix (self: {
in {
ok = isNull v || (self.type t).checkToBool res;
err = "expected type ${name}, but value does not conform to '${t.name}': "
- + t.toError v res;
+ + t.toError v res;
};
};
@@ -136,7 +146,8 @@ in lib.fix (self: {
list = t: typedef' rec {
name = "list<${t.name}>";
- checkType = v: if isList v
+ checkType = v:
+ if isList v
then checkEach name (self.type t) v
else {
ok = false;
@@ -147,7 +158,8 @@ in lib.fix (self: {
attrs = t: typedef' rec {
name = "attrs<${t.name}>";
- checkType = v: if isAttrs v
+ checkType = v:
+ if isAttrs v
then checkEach name (self.type t) (attrValues v)
else {
ok = false;
@@ -172,20 +184,23 @@ in lib.fix (self: {
# checkField checks an individual field of the struct against
# its definition and creates a typecheck result. These results
# are aggregated during the actual checking.
- checkField = def: name: value: let result = def.checkType value; in rec {
- ok = def.checkToBool result;
- err = if !ok && isNull value
- then "missing required ${def.name} field '${name}'\n"
- else "field '${name}': ${def.toError value result}\n";
- };
+ checkField = def: name: value:
+ let result = def.checkType value; in rec {
+ ok = def.checkToBool result;
+ err =
+ if !ok && isNull value
+ then "missing required ${def.name} field '${name}'\n"
+ else "field '${name}': ${def.toError value result}\n";
+ };
# checkExtraneous determines whether a (closed) struct contains
# any fields that are not part of the definition.
checkExtraneous = def: has: acc:
if (length has) == 0 then acc
else if (hasAttr (head has) def)
- then checkExtraneous def (tail has) acc
- else checkExtraneous def (tail has) {
+ then checkExtraneous def (tail has) acc
+ else
+ checkExtraneous def (tail has) {
ok = false;
err = acc.err + "unexpected struct field '${head has}'\n";
};
@@ -197,85 +212,102 @@ in lib.fix (self: {
init = { ok = true; err = ""; };
extraneous = checkExtraneous def (attrNames value) init;
- checkedFields = map (n:
- let v = if hasAttr n value then value."${n}" else null;
- in checkField def."${n}" n v) (attrNames def);
+ checkedFields = map
+ (n:
+ let v = if hasAttr n value then value."${n}" else null;
+ in checkField def."${n}" n v)
+ (attrNames def);
- combined = foldl' (acc: res: {
- ok = acc.ok && res.ok;
- err = if !res.ok then acc.err + res.err else acc.err;
- }) init checkedFields;
- in {
+ combined = foldl'
+ (acc: res: {
+ ok = acc.ok && res.ok;
+ err = if !res.ok then acc.err + res.err else acc.err;
+ })
+ init
+ checkedFields;
+ in
+ {
ok = combined.ok && extraneous.ok;
err = combined.err + extraneous.err;
};
struct' = name: def: typedef' {
inherit name def;
- checkType = value: if isAttrs value
+ checkType = value:
+ if isAttrs value
then (checkStruct (self.attrs self.type def) value)
else { ok = false; err = typeError name value; };
- toError = _: result: "expected '${name}'-struct, but found:\n" + result.err;
+ toError = _: result: "expected '${name}'-struct, but found:\n" + result.err;
};
- in arg: if isString arg then (struct' arg) else (struct' "anon" arg);
+ in
+ arg: if isString arg then (struct' arg) else (struct' "anon" arg);
# Enums & pattern matching
enum =
- let
- plain = name: def: typedef' {
- inherit name def;
+ let
+ plain = name: def: typedef' {
+ inherit name def;
- checkType = (x: isString x && elem x def);
- checkToBool = x: x;
- toError = value: _: "'${prettyPrint value} is not a member of enum ${name}";
- };
- enum' = name: def: lib.fix (e: (plain name def) // {
- match = x: actions: deepSeq (map e (attrNames actions)) (
- let
- actionKeys = attrNames actions;
- missing = foldl' (m: k: if (elem k actionKeys) then m else m ++ [ k ]) [] def;
- in if (length missing) > 0
- then throw "Missing match action for members: ${prettyPrint missing}"
- else actions."${e x}");
- });
- in arg: if isString arg then (enum' arg) else (enum' "anon" arg);
+ checkType = (x: isString x && elem x def);
+ checkToBool = x: x;
+ toError = value: _: "'${prettyPrint value} is not a member of enum ${name}";
+ };
+ enum' = name: def: lib.fix (e: (plain name def) // {
+ match = x: actions: deepSeq (map e (attrNames actions)) (
+ let
+ actionKeys = attrNames actions;
+ missing = foldl' (m: k: if (elem k actionKeys) then m else m ++ [ k ]) [ ] def;
+ in
+ if (length missing) > 0
+ then throw "Missing match action for members: ${prettyPrint missing}"
+ else actions."${e x}"
+ );
+ });
+ in
+ arg: if isString arg then (enum' arg) else (enum' "anon" arg);
# Sum types
#
# The representation of a sum type is an attribute set with only one
# value, where the key of the value denotes the variant of the type.
sum =
- let
- plain = name: def: typedef' {
- inherit name def;
- checkType = (x:
- let variant = elemAt (attrNames x) 0;
- in if isAttrs x && length (attrNames x) == 1 && hasAttr variant def
- then let t = def."${variant}";
- v = x."${variant}";
- res = t.checkType v;
- in if t.checkToBool res
- then { ok = true; }
- else {
- ok = false;
- err = "while checking '${name}' variant '${variant}': "
- + t.toError v res;
- }
+ let
+ plain = name: def: typedef' {
+ inherit name def;
+ checkType = (x:
+ let variant = elemAt (attrNames x) 0;
+ in if isAttrs x && length (attrNames x) == 1 && hasAttr variant def
+ then
+ let
+ t = def."${variant}";
+ v = x."${variant}";
+ res = t.checkType v;
+ in
+ if t.checkToBool res
+ then { ok = true; }
+ else {
+ ok = false;
+ err = "while checking '${name}' variant '${variant}': "
+ + t.toError v res;
+ }
else { ok = false; err = typeError name x; }
- );
- };
- sum' = name: def: lib.fix (s: (plain name def) // {
- match = x: actions:
- let variant = deepSeq (s x) (elemAt (attrNames x) 0);
- actionKeys = attrNames actions;
- defKeys = attrNames def;
- missing = foldl' (m: k: if (elem k actionKeys) then m else m ++ [ k ]) [] defKeys;
- in if (length missing) > 0
- then throw "Missing match action for variants: ${prettyPrint missing}"
- else actions."${variant}" x."${variant}";
- });
- in arg: if isString arg then (sum' arg) else (sum' "anon" arg);
+ );
+ };
+ sum' = name: def: lib.fix (s: (plain name def) // {
+ match = x: actions:
+ let
+ variant = deepSeq (s x) (elemAt (attrNames x) 0);
+ actionKeys = attrNames actions;
+ defKeys = attrNames def;
+ missing = foldl' (m: k: if (elem k actionKeys) then m else m ++ [ k ]) [ ] defKeys;
+ in
+ if (length missing) > 0
+ then throw "Missing match action for variants: ${prettyPrint missing}"
+ else actions."${variant}" x."${variant}";
+ });
+ in
+ arg: if isString arg then (sum' arg) else (sum' "anon" arg);
# Typed function definitions
#
@@ -289,15 +321,19 @@ in lib.fix (self: {
mkFunc = sig: f: {
inherit sig;
__toString = self: foldl' (s: t: "${s} -> ${t.name}")
- "λ :: ${(head self.sig).name}" (tail self.sig);
+ "λ :: ${(head self.sig).name}"
+ (tail self.sig);
__functor = _: f;
};
- defun' = sig: func: if length sig > 2
+ defun' = sig: func:
+ if length sig > 2
then mkFunc sig (x: defun' (tail sig) (func ((head sig) x)))
else mkFunc sig (x: ((head (tail sig)) (func ((head sig) x))));
- in sig: func: if length sig < 2
+ in
+ sig: func:
+ if length sig < 2
then (throw "Signature must at least have two types (a -> b)")
else defun' sig func;
@@ -311,21 +347,22 @@ in lib.fix (self: {
# depend on the value being of the wrapped type.
restrict = name: pred: t:
let restriction = "${t.name}[${name}]"; in typedef' {
- name = restriction;
- checkType = v:
- let res = t.checkType v;
- in
+ name = restriction;
+ checkType = v:
+ let res = t.checkType v;
+ in
if !(t.checkToBool res)
then res
else
let
iok = pred v;
- in if isBool iok then {
+ in
+ if isBool iok then {
ok = iok;
err = "${prettyPrint v} does not conform to restriction '${restriction}'";
} else
- # use throw here to avoid spamming the build log
+ # use throw here to avoid spamming the build log
throw "restriction '${restriction}' predicate returned unexpected value '${prettyPrint iok}' instead of boolean";
- };
+ };
})
diff --git a/nix/yants/tests/default.nix b/nix/yants/tests/default.nix
index 9a0b2403e..0c7ec2418 100644
--- a/nix/yants/tests/default.nix
+++ b/nix/yants/tests/default.nix
@@ -25,7 +25,7 @@ let
};
testPrimitives = it "checks that all primitive types match" [
- (assertDoesNotThrow "unit type" (unit {}))
+ (assertDoesNotThrow "unit type" (unit { }))
(assertDoesNotThrow "int type" (int 15))
(assertDoesNotThrow "bool type" (bool false))
(assertDoesNotThrow "float type" (float 13.37))
@@ -44,7 +44,7 @@ let
# Test that structures work as planned.
person = struct "person" {
name = string;
- age = int;
+ age = int;
contact = option (struct {
email = string;
@@ -55,7 +55,7 @@ let
testStruct = it "checks that structures work as intended" [
(assertDoesNotThrow "person struct" (person {
name = "Brynhjulf";
- age = 42;
+ age = 42;
contact.email = "brynhjulf@yants.nix";
}))
];
@@ -70,7 +70,8 @@ let
testEnum = it "checks enum definitions and matching" [
(assertEq "enum is matched correctly"
- "It is in fact red!" (colour.match "red" colourMatcher))
+ "It is in fact red!"
+ (colour.match "red" colourMatcher))
(assertThrows "out of bounds enum fails"
(colour.match "alpha" (colourMatcher // {
alpha = "This should never happen";
@@ -97,7 +98,8 @@ let
testSum = it "checks sum types definitions and matching" [
(assertDoesNotThrow "creature sum type" some-human)
(assertEq "sum type is matched correctly"
- "It's a human named Brynhjulf" (creature.match some-human {
+ "It's a human named Brynhjulf"
+ (creature.match some-human {
human = v: "It's a human named ${v.name}";
pet = v: "It's not supposed to be a pet!";
})
@@ -106,7 +108,7 @@ let
# Test curried function definitions
func = defun [ string int string ]
- (name: age: "${name} is ${toString age} years old");
+ (name: age: "${name} is ${toString age} years old");
testFunctions = it "checks function definitions" [
(assertDoesNotThrow "function application" (func "Brynhjulf" 42))
@@ -144,13 +146,13 @@ let
];
in
- runTestsuite "yants" [
- testPrimitives
- testPoly
- testStruct
- testEnum
- testSum
- testFunctions
- testTypes
- testRestrict
- ]
+runTestsuite "yants" [
+ testPrimitives
+ testPoly
+ testStruct
+ testEnum
+ testSum
+ testFunctions
+ testTypes
+ testRestrict
+]
diff --git a/ops/dns/default.nix b/ops/dns/default.nix
index 136a4c58d..ad6e136f2 100644
--- a/ops/dns/default.nix
+++ b/ops/dns/default.nix
@@ -2,11 +2,12 @@
{ depot, pkgs, ... }:
let
- checkZone = zone: file: pkgs.runCommandNoCC "${zone}-check" {} ''
+ checkZone = zone: file: pkgs.runCommandNoCC "${zone}-check" { } ''
${pkgs.bind}/bin/named-checkzone -i local ${zone} ${file} | tee $out
'';
-in depot.nix.readTree.drvTargets {
+in
+depot.nix.readTree.drvTargets {
nixery-dev = checkZone "nixery.dev" ./nixery.dev.zone;
tvl-fyi = checkZone "tvl.fyi" ./tvl.fyi.zone;
tvl-su = checkZone "tvl.su" ./tvl.su.zone;
diff --git a/ops/glesys/default.nix b/ops/glesys/default.nix
index f4c0478c5..2dfb505fb 100644
--- a/ops/glesys/default.nix
+++ b/ops/glesys/default.nix
@@ -2,7 +2,7 @@
depot.nix.readTree.drvTargets {
# Provide a Terraform wrapper with the right provider installed.
- terraform = pkgs.terraform.withPlugins(_: [
+ terraform = pkgs.terraform.withPlugins (_: [
depot.third_party.terraform-provider-glesys
]);
}
diff --git a/ops/journaldriver/default.nix b/ops/journaldriver/default.nix
index d2413e74c..a06a858fa 100644
--- a/ops/journaldriver/default.nix
+++ b/ops/journaldriver/default.nix
@@ -4,6 +4,8 @@ depot.third_party.naersk.buildPackage {
src = ./.;
buildInputs = with pkgs; [
- pkgconfig openssl systemd.dev
+ pkgconfig
+ openssl
+ systemd.dev
];
}
diff --git a/ops/keycloak/default.nix b/ops/keycloak/default.nix
index 96f0c40e5..5757debd1 100644
--- a/ops/keycloak/default.nix
+++ b/ops/keycloak/default.nix
@@ -2,7 +2,7 @@
depot.nix.readTree.drvTargets {
# Provide a Terraform wrapper with the right provider installed.
- terraform = pkgs.terraform.withPlugins(p: [
+ terraform = pkgs.terraform.withPlugins (p: [
p.keycloak
]);
}
diff --git a/ops/kontemplate/release.nix b/ops/kontemplate/release.nix
index 8a0410952..6a3dbd5ef 100644
--- a/ops/kontemplate/release.nix
+++ b/ops/kontemplate/release.nix
@@ -10,13 +10,17 @@
# This file is the Nix derivation used to build release binaries for
# several different architectures and operating systems.
-let pkgs = import ((import {}).fetchFromGitHub {
- owner = "NixOS";
- repo = "nixpkgs-channels";
- rev = "541d9cce8af7a490fb9085305939569567cb58e6";
- sha256 = "0jgz72hhzkd5vyq5v69vpljjlnf0lqaz7fh327bvb3cvmwbfxrja";
-}) {};
-in with pkgs; buildGoPackage rec {
+let
+ pkgs = import
+ ((import { }).fetchFromGitHub {
+ owner = "NixOS";
+ repo = "nixpkgs-channels";
+ rev = "541d9cce8af7a490fb9085305939569567cb58e6";
+ sha256 = "0jgz72hhzkd5vyq5v69vpljjlnf0lqaz7fh327bvb3cvmwbfxrja";
+ })
+ { };
+in
+with pkgs; buildGoPackage rec {
name = "kontemplate-${version}";
version = "canon";
src = ./.;
@@ -29,8 +33,8 @@ in with pkgs; buildGoPackage rec {
# reason for setting the 'allowGoReference' flag.
dontStrip = true; # Linker configuration handles stripping
allowGoReference = true;
- CGO_ENABLED="0";
- GOCACHE="off";
+ CGO_ENABLED = "0";
+ GOCACHE = "off";
# Configure release builds via the "build-matrix" script:
buildInputs = [ git ];
diff --git a/ops/machines/whitby/default.nix b/ops/machines/whitby/default.nix
index a6a5a7631..0aa61fda8 100644
--- a/ops/machines/whitby/default.nix
+++ b/ops/machines/whitby/default.nix
@@ -4,7 +4,8 @@
let
inherit (builtins) listToAttrs;
inherit (lib) range;
-in {
+in
+{
imports = [
"${depot.path}/ops/modules/atward.nix"
"${depot.path}/ops/modules/clbot.nix"
@@ -55,7 +56,13 @@ in {
initrd = {
availableKernelModules = [
- "igb" "xhci_pci" "nvme" "ahci" "usbhid" "usb_storage" "sr_mod"
+ "igb"
+ "xhci_pci"
+ "nvme"
+ "ahci"
+ "usbhid"
+ "usb_storage"
+ "sr_mod"
];
# Enable SSH in the initrd so that we can enter disk encryption
@@ -189,7 +196,7 @@ in {
++ lukegb.keys.all
++ [ grfn.keys.whitby ]
++ sterni.keys.all
- ;
+ ;
};
};
@@ -205,7 +212,8 @@ in {
age.secrets =
let
secretFile = name: depot.ops.secrets."${name}.age";
- in {
+ in
+ {
clbot.file = secretFile "clbot";
gerrit-queue.file = secretFile "gerrit-queue";
grafana.file = secretFile "grafana";
@@ -509,15 +517,16 @@ in {
job_name = "node";
scrape_interval = "5s";
static_configs = [{
- targets = ["localhost:${toString config.services.prometheus.exporters.node.port}"];
+ targets = [ "localhost:${toString config.services.prometheus.exporters.node.port}" ];
}];
- } {
- job_name = "nginx";
- scrape_interval = "5s";
- static_configs = [{
- targets = ["localhost:${toString config.services.prometheus.exporters.nginx.port}"];
+ }
+ {
+ job_name = "nginx";
+ scrape_interval = "5s";
+ static_configs = [{
+ targets = [ "localhost:${toString config.services.prometheus.exporters.nginx.port}" ];
+ }];
}];
- }];
};
services.grafana = {
@@ -526,58 +535,62 @@ in {
domain = "status.tvl.su";
rootUrl = "https://status.tvl.su";
analytics.reporting.enable = false;
- extraOptions = let
- options = {
- auth = {
- generic_oauth = {
- enabled = true;
- client_id = "grafana";
- scopes = "openid profile email";
- name = "TVL";
- email_attribute_path = "mail";
- login_attribute_path = "sub";
- name_attribute_path = "displayName";
- auth_url = "https://auth.tvl.fyi/auth/realms/TVL/protocol/openid-connect/auth";
- token_url = "https://auth.tvl.fyi/auth/realms/TVL/protocol/openid-connect/token";
- api_url = "https://auth.tvl.fyi/auth/realms/TVL/protocol/openid-connect/userinfo";
+ extraOptions =
+ let
+ options = {
+ auth = {
+ generic_oauth = {
+ enabled = true;
+ client_id = "grafana";
+ scopes = "openid profile email";
+ name = "TVL";
+ email_attribute_path = "mail";
+ login_attribute_path = "sub";
+ name_attribute_path = "displayName";
+ auth_url = "https://auth.tvl.fyi/auth/realms/TVL/protocol/openid-connect/auth";
+ token_url = "https://auth.tvl.fyi/auth/realms/TVL/protocol/openid-connect/token";
+ api_url = "https://auth.tvl.fyi/auth/realms/TVL/protocol/openid-connect/userinfo";
- # Give lukegb, grfn, tazjin "Admin" rights.
- role_attribute_path = "((sub == 'lukegb' || sub == 'grfn' || sub == 'tazjin') && 'Admin') || 'Editor'";
+ # Give lukegb, grfn, tazjin "Admin" rights.
+ role_attribute_path = "((sub == 'lukegb' || sub == 'grfn' || sub == 'tazjin') && 'Admin') || 'Editor'";
- # Allow creating new Grafana accounts from OAuth accounts.
- allow_sign_up = true;
+ # Allow creating new Grafana accounts from OAuth accounts.
+ allow_sign_up = true;
+ };
+
+ anonymous = {
+ enabled = true;
+ org_name = "The Virus Lounge";
+ org_role = "Viewer";
+ };
+
+ basic.enabled = false;
+ oauth_auto_login = true;
+ disable_login_form = true;
};
-
- anonymous = {
- enabled = true;
- org_name = "The Virus Lounge";
- org_role = "Viewer";
- };
-
- basic.enabled = false;
- oauth_auto_login = true;
- disable_login_form = true;
};
- };
- inherit (builtins) typeOf replaceStrings listToAttrs concatLists;
- inherit (lib) toUpper mapAttrsToList nameValuePair concatStringsSep;
+ inherit (builtins) typeOf replaceStrings listToAttrs concatLists;
+ inherit (lib) toUpper mapAttrsToList nameValuePair concatStringsSep;
- # Take ["auth" "generic_oauth" "enabled"] and turn it into OPTIONS_GENERIC_OAUTH_ENABLED.
- encodeName = raw: replaceStrings ["."] ["_"] (toUpper (concatStringsSep "_" raw));
+ # Take ["auth" "generic_oauth" "enabled"] and turn it into OPTIONS_GENERIC_OAUTH_ENABLED.
+ encodeName = raw: replaceStrings [ "." ] [ "_" ] (toUpper (concatStringsSep "_" raw));
- # Turn an option value into a string, but we want bools to be sensible strings and not "1" or "".
- optionToString = value:
- if (typeOf value) == "bool" then
- if value then "true" else "false"
- else builtins.toString value;
+ # Turn an option value into a string, but we want bools to be sensible strings and not "1" or "".
+ optionToString = value:
+ if (typeOf value) == "bool" then
+ if value then "true" else "false"
+ else builtins.toString value;
- # Turn an nested options attrset into a flat listToAttrs-compatible list.
- encodeOptions = prefix: inp: concatLists (mapAttrsToList (name: value:
- if (typeOf value) == "set"
- then encodeOptions (prefix ++ [name]) value
- else [ (nameValuePair (encodeName (prefix ++ [name])) (optionToString value)) ]
- ) inp);
- in listToAttrs (encodeOptions [] options);
+ # Turn an nested options attrset into a flat listToAttrs-compatible list.
+ encodeOptions = prefix: inp: concatLists (mapAttrsToList
+ (name: value:
+ if (typeOf value) == "set"
+ then encodeOptions (prefix ++ [ name ]) value
+ else [ (nameValuePair (encodeName (prefix ++ [ name ])) (optionToString value)) ]
+ )
+ inp);
+ in
+ listToAttrs (encodeOptions [ ] options);
provision = {
enable = true;
@@ -623,8 +636,8 @@ in {
security.sudo.extraRules = [
{
- groups = ["wheel"];
- commands = [{ command = "ALL"; options = ["NOPASSWD"]; }];
+ groups = [ "wheel" ];
+ commands = [{ command = "ALL"; options = [ "NOPASSWD" ]; }];
}
];
@@ -705,7 +718,7 @@ in {
};
# Set up a user & group for git shenanigans
- groups.git = {};
+ groups.git = { };
users.git = {
group = "git";
isSystemUser = true;
diff --git a/ops/modules/atward.nix b/ops/modules/atward.nix
index 354f9ebdd..f345a08e3 100644
--- a/ops/modules/atward.nix
+++ b/ops/modules/atward.nix
@@ -3,7 +3,8 @@
let
cfg = config.services.depot.atward;
description = "atward - (attempt to) cleverly route queries";
-in {
+in
+{
options.services.depot.atward = {
enable = lib.mkEnableOption description;
diff --git a/ops/modules/auto-deploy.nix b/ops/modules/auto-deploy.nix
index 83a827356..c504906b2 100644
--- a/ops/modules/auto-deploy.nix
+++ b/ops/modules/auto-deploy.nix
@@ -45,7 +45,8 @@ let
# NixOS in $STATE_DIRECTORY
(cd / && ${rebuild-system}/bin/rebuild-system)
'';
-in {
+in
+{
options.services.depot.auto-deploy = {
enable = lib.mkEnableOption description;
diff --git a/ops/modules/automatic-gc.nix b/ops/modules/automatic-gc.nix
index 634785721..ad53a63f7 100644
--- a/ops/modules/automatic-gc.nix
+++ b/ops/modules/automatic-gc.nix
@@ -29,7 +29,8 @@ let
echo "Skipping GC, enough space available"
fi
'';
-in {
+in
+{
options.services.depot.automatic-gc = {
enable = lib.mkEnableOption description;
diff --git a/ops/modules/clbot.nix b/ops/modules/clbot.nix
index ef4c2ab23..958d321f8 100644
--- a/ops/modules/clbot.nix
+++ b/ops/modules/clbot.nix
@@ -21,7 +21,7 @@ let
(attrValues (mapAttrs (key: value: "-${key} \"${toString value}\"") flags));
# Escapes a unit name for use in systemd
- systemdEscape = name: removeSuffix "\n" (readFile (runCommandNoCC "unit-name" {} ''
+ systemdEscape = name: removeSuffix "\n" (readFile (runCommandNoCC "unit-name" { } ''
${pkgs.systemd}/bin/systemd-escape '${name}' >> $out
''));
@@ -42,7 +42,8 @@ let
};
};
};
-in {
+in
+{
options.services.depot.clbot = {
enable = mkEnableOption description;
@@ -68,7 +69,7 @@ in {
# (notably the SSH private key) readable by this user outside of
# the module.
users = {
- groups.clbot = {};
+ groups.clbot = { };
users.clbot = {
group = "clbot";
diff --git a/ops/modules/default.nix b/ops/modules/default.nix
index 8bdfecdf4..d747e8e13 100644
--- a/ops/modules/default.nix
+++ b/ops/modules/default.nix
@@ -1,2 +1,2 @@
# Make readTree happy at this level.
-_: {}
+_: { }
diff --git a/ops/modules/gerrit-queue.nix b/ops/modules/gerrit-queue.nix
index a4b073f85..66d584cc3 100644
--- a/ops/modules/gerrit-queue.nix
+++ b/ops/modules/gerrit-queue.nix
@@ -8,7 +8,8 @@ let
inherit default;
type = lib.types.str;
};
-in {
+in
+{
options.services.depot.gerrit-queue = {
enable = lib.mkEnableOption description;
gerritUrl = mkStringOption "https://cl.tvl.fyi";
diff --git a/ops/modules/git-serving.nix b/ops/modules/git-serving.nix
index 6b8bef29b..49af01a0f 100644
--- a/ops/modules/git-serving.nix
+++ b/ops/modules/git-serving.nix
@@ -12,7 +12,8 @@
let
cfg = config.services.depot.git-serving;
-in {
+in
+{
options.services.depot.git-serving = with lib; {
enable = mkEnableOption "Enable cgit & josh configuration";
diff --git a/ops/modules/irccat.nix b/ops/modules/irccat.nix
index deb0b4eca..05a783fd6 100644
--- a/ops/modules/irccat.nix
+++ b/ops/modules/irccat.nix
@@ -27,7 +27,8 @@ let
exec ${depot.third_party.irccat}/bin/irccat
'';
-in {
+in
+{
options.services.depot.irccat = {
enable = lib.mkEnableOption description;
diff --git a/ops/modules/monorepo-gerrit.nix b/ops/modules/monorepo-gerrit.nix
index 6638f30b3..509500c91 100644
--- a/ops/modules/monorepo-gerrit.nix
+++ b/ops/modules/monorepo-gerrit.nix
@@ -9,12 +9,13 @@ let
exec -a ${name} ${depot.ops.besadii}/bin/besadii "$@"
'';
- gerritHooks = pkgs.runCommandNoCC "gerrit-hooks" {} ''
+ gerritHooks = pkgs.runCommandNoCC "gerrit-hooks" { } ''
mkdir -p $out
ln -s ${besadiiWithConfig "change-merged"} $out/change-merged
ln -s ${besadiiWithConfig "patchset-created"} $out/patchset-created
'';
-in {
+in
+{
services.gerrit = {
enable = true;
listenAddress = "[::]:4778"; # 4778 - grrt
diff --git a/ops/modules/nixery.nix b/ops/modules/nixery.nix
index 60d151045..33f196372 100644
--- a/ops/modules/nixery.nix
+++ b/ops/modules/nixery.nix
@@ -6,7 +6,8 @@ let
cfg = config.services.depot.nixery;
description = "Nixery - container images on-demand";
storagePath = "/var/lib/nixery/${pkgs.nixpkgsCommits.unstable}";
-in {
+in
+{
options.services.depot.nixery = {
enable = lib.mkEnableOption description;
diff --git a/ops/modules/oauth2_proxy.nix b/ops/modules/oauth2_proxy.nix
index 07ba8861e..423f9010c 100644
--- a/ops/modules/oauth2_proxy.nix
+++ b/ops/modules/oauth2_proxy.nix
@@ -19,7 +19,8 @@ let
reverse_proxy = true
set_xauthrequest = true
'';
-in {
+in
+{
options.services.depot.oauth2_proxy = {
enable = lib.mkEnableOption description;
diff --git a/ops/modules/owothia.nix b/ops/modules/owothia.nix
index b2a77cddc..d11fdd26e 100644
--- a/ops/modules/owothia.nix
+++ b/ops/modules/owothia.nix
@@ -4,7 +4,8 @@
let
cfg = config.services.depot.owothia;
description = "owothia - i'm a service owo";
-in {
+in
+{
options.services.depot.owothia = {
enable = lib.mkEnableOption description;
diff --git a/ops/modules/panettone.nix b/ops/modules/panettone.nix
index 11e934ec2..d57e53e75 100644
--- a/ops/modules/panettone.nix
+++ b/ops/modules/panettone.nix
@@ -2,7 +2,8 @@
let
cfg = config.services.depot.panettone;
-in {
+in
+{
options.services.depot.panettone = with lib; {
enable = mkEnableOption "Panettone issue tracker";
@@ -62,23 +63,26 @@ in {
assertion =
cfg.dbHost != "localhost" || config.services.postgresql.enable;
message = "Panettone requires a postgresql database";
- } {
- assertion =
- cfg.dbHost != "localhost" || config.services.postgresql.enableTCPIP;
- message = "Panettone can only connect to the postgresql database over TCP";
- } {
- assertion =
- cfg.dbHost != "localhost" || (lib.any
- (user: user.name == cfg.dbUser)
- config.services.postgresql.ensureUsers);
- message = "Panettone requires a database user";
- } {
- assertion =
- cfg.dbHost != "localhost" || (lib.any
- (db: db == cfg.dbName)
- config.services.postgresql.ensureDatabases);
- message = "Panettone requires a database";
- }];
+ }
+ {
+ assertion =
+ cfg.dbHost != "localhost" || config.services.postgresql.enableTCPIP;
+ message = "Panettone can only connect to the postgresql database over TCP";
+ }
+ {
+ assertion =
+ cfg.dbHost != "localhost" || (lib.any
+ (user: user.name == cfg.dbUser)
+ config.services.postgresql.ensureUsers);
+ message = "Panettone requires a database user";
+ }
+ {
+ assertion =
+ cfg.dbHost != "localhost" || (lib.any
+ (db: db == cfg.dbName)
+ config.services.postgresql.ensureDatabases);
+ message = "Panettone requires a database";
+ }];
systemd.services.panettone = {
wantedBy = [ "multi-user.target" ];
diff --git a/ops/modules/paroxysm.nix b/ops/modules/paroxysm.nix
index cd9cd3866..070e7623d 100644
--- a/ops/modules/paroxysm.nix
+++ b/ops/modules/paroxysm.nix
@@ -3,7 +3,8 @@
let
cfg = config.services.depot.paroxysm;
description = "TVL's majestic IRC bot";
-in {
+in
+{
options.services.depot.paroxysm.enable = lib.mkEnableOption description;
config = lib.mkIf cfg.enable {
diff --git a/ops/modules/quassel.nix b/ops/modules/quassel.nix
index 9c8692629..4a0b64ffc 100644
--- a/ops/modules/quassel.nix
+++ b/ops/modules/quassel.nix
@@ -8,7 +8,8 @@ let
enableDaemon = true;
withKDE = false;
};
-in {
+in
+{
options.services.depot.quassel = with lib; {
enable = mkEnableOption "Quassel IRC daemon";
@@ -70,7 +71,7 @@ in {
group = "quassel";
};
- groups.quassel = {};
+ groups.quassel = { };
};
};
}
diff --git a/ops/modules/restic.nix b/ops/modules/restic.nix
index 1aacf6897..869539603 100644
--- a/ops/modules/restic.nix
+++ b/ops/modules/restic.nix
@@ -14,7 +14,8 @@ let
inherit default;
type = lib.types.str;
};
-in {
+in
+{
options.services.depot.restic = {
enable = lib.mkEnableOption description;
bucketEndpoint = mkStringOption "objects.dc-sto1.glesys.net";
diff --git a/ops/modules/smtprelay.nix b/ops/modules/smtprelay.nix
index 106593fe3..cfb185ecd 100644
--- a/ops/modules/smtprelay.nix
+++ b/ops/modules/smtprelay.nix
@@ -27,8 +27,9 @@ let
prepareArgs = args:
concatStringsSep " "
(attrValues (mapAttrs (key: value: "-${key} \"${toString value}\"")
- (args // overrideArgs)));
-in {
+ (args // overrideArgs)));
+in
+{
options.services.depot.smtprelay = {
enable = mkEnableOption description;
diff --git a/ops/modules/sourcegraph.nix b/ops/modules/sourcegraph.nix
index a72cd75d4..5311b42dd 100644
--- a/ops/modules/sourcegraph.nix
+++ b/ops/modules/sourcegraph.nix
@@ -4,7 +4,8 @@
let
cfg = config.services.depot.sourcegraph;
-in {
+in
+{
options.services.depot.sourcegraph = with lib; {
enable = mkEnableOption "SourceGraph code search engine";
@@ -51,7 +52,8 @@ in {
# Sourcegraph needs a higher nofile limit, it logs warnings
# otherwise (unclear whether it actually affects the service).
extraOptions = [
- "--ulimit" "nofile=10000:10000"
+ "--ulimit"
+ "nofile=10000:10000"
];
};
};
diff --git a/ops/modules/tvl-buildkite.nix b/ops/modules/tvl-buildkite.nix
index aaeb5a0f7..a6e7372a2 100644
--- a/ops/modules/tvl-buildkite.nix
+++ b/ops/modules/tvl-buildkite.nix
@@ -13,7 +13,7 @@ let
# All Buildkite hooks are actually besadii, but it's being invoked
# with different names.
- buildkiteHooks = pkgs.runCommandNoCC "buildkite-hooks" {} ''
+ buildkiteHooks = pkgs.runCommandNoCC "buildkite-hooks" { } ''
mkdir -p $out/bin
ln -s ${besadiiWithConfig "post-command"} $out/bin/post-command
'';
@@ -22,7 +22,8 @@ let
echo 'username=buildkite'
echo "password=$(jq -r '.gerritPassword' /run/agenix/buildkite-besadii-config)"
'';
-in {
+in
+{
options.services.depot.buildkite = {
enable = lib.mkEnableOption description;
agentCount = lib.mkOption {
@@ -33,39 +34,43 @@ in {
config = lib.mkIf cfg.enable {
# Run the Buildkite agents using the default upstream module.
- services.buildkite-agents = builtins.listToAttrs (map (n: rec {
- name = "whitby-${toString n}";
- value = {
- inherit name;
- enable = true;
- tokenPath = "/run/agenix/buildkite-agent-token";
- hooks.post-command = "${buildkiteHooks}/bin/post-command";
+ services.buildkite-agents = builtins.listToAttrs (map
+ (n: rec {
+ name = "whitby-${toString n}";
+ value = {
+ inherit name;
+ enable = true;
+ tokenPath = "/run/agenix/buildkite-agent-token";
+ hooks.post-command = "${buildkiteHooks}/bin/post-command";
- runtimePackages = with pkgs; [
- bash
- coreutils
- credentialHelper
- curl
- git
- gnutar
- gzip
- jq
- nix
- ];
- };
- }) agents);
+ runtimePackages = with pkgs; [
+ bash
+ coreutils
+ credentialHelper
+ curl
+ git
+ gnutar
+ gzip
+ jq
+ nix
+ ];
+ };
+ })
+ agents);
# Set up a group for all Buildkite agent users
users = {
- groups.buildkite-agents = {};
- users = builtins.listToAttrs (map (n: rec {
- name = "buildkite-agent-whitby-${toString n}";
- value = {
- isSystemUser = true;
- group = lib.mkForce "buildkite-agents";
- extraGroups = [ name "docker" ];
- };
- }) agents);
+ groups.buildkite-agents = { };
+ users = builtins.listToAttrs (map
+ (n: rec {
+ name = "buildkite-agent-whitby-${toString n}";
+ value = {
+ isSystemUser = true;
+ group = lib.mkForce "buildkite-agents";
+ extraGroups = [ name "docker" ];
+ };
+ })
+ agents);
};
};
}
diff --git a/ops/modules/tvl-slapd/default.nix b/ops/modules/tvl-slapd/default.nix
index dbcf13933..d0d6616e2 100644
--- a/ops/modules/tvl-slapd/default.nix
+++ b/ops/modules/tvl-slapd/default.nix
@@ -26,7 +26,8 @@ let
inherit (depot.ops) users;
-in {
+in
+{
services.openldap = {
enable = true;
@@ -48,7 +49,7 @@ in {
"cn=schema".includes =
map (schema: "${pkgs.openldap}/etc/schema/${schema}.ldif")
- [ "core" "cosine" "inetorgperson" "nis" ];
+ [ "core" "cosine" "inetorgperson" "nis" ];
};
# Contents are immutable at runtime, and adding user accounts etc.
diff --git a/ops/pipelines/depot.nix b/ops/pipelines/depot.nix
index b6941ba38..6d9e625e0 100644
--- a/ops/pipelines/depot.nix
+++ b/ops/pipelines/depot.nix
@@ -16,9 +16,10 @@ let
drvTargets = depot.ci.targets;
additionalSteps = [ protoCheck ];
- parentTargetMap = if (externalArgs ? parentTargetMap)
+ parentTargetMap =
+ if (externalArgs ? parentTargetMap)
then builtins.fromJSON (builtins.readFile externalArgs.parentTargetMap)
- else {};
+ else { };
postBuildSteps = [
# After successful builds, create a gcroot for builds on canon.
@@ -40,7 +41,8 @@ let
};
drvmap = depot.nix.buildkite.mkDrvmap depot.ci.targets;
-in pkgs.runCommandNoCC "depot-pipeline" {} ''
+in
+pkgs.runCommandNoCC "depot-pipeline" { } ''
mkdir $out
cp -r ${pipeline}/* $out
cp ${drvmap} $out/drvmap.json
diff --git a/ops/secrets/mkSecrets.nix b/ops/secrets/mkSecrets.nix
index 4e40112b9..c99130835 100644
--- a/ops/secrets/mkSecrets.nix
+++ b/ops/secrets/mkSecrets.nix
@@ -22,6 +22,6 @@ in
defun [ path (attrs agenixSecret) (attrs any) ]
(path: secrets:
- depot.nix.readTree.drvTargets
- # Import each secret into the Nix store
- (builtins.mapAttrs (name: _: "${path}/${name}") secrets))
+ depot.nix.readTree.drvTargets
+ # Import each secret into the Nix store
+ (builtins.mapAttrs (name: _: "${path}/${name}") secrets))
diff --git a/ops/secrets/secrets.nix b/ops/secrets/secrets.nix
index 52b79e444..2c08bb1ae 100644
--- a/ops/secrets/secrets.nix
+++ b/ops/secrets/secrets.nix
@@ -15,7 +15,8 @@ let
whitby = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILNh/w4BSKov0jdz3gKBc98tpoLta5bb87fQXWBhAl2I";
default.publicKeys = tazjin ++ grfn ++ sterni ++ [ whitby ];
-in {
+in
+{
"besadii.age" = default;
"buildkite-agent-token.age" = default;
"buildkite-graphql-token.age" = default;
diff --git a/third_party/abseil_cpp/default.nix b/third_party/abseil_cpp/default.nix
index 66ab4f6ba..dd3ca9de9 100644
--- a/third_party/abseil_cpp/default.nix
+++ b/third_party/abseil_cpp/default.nix
@@ -8,7 +8,7 @@ in pkgs.abseil-cpp.override {
/* TODO(tazjin): update abseil subtree
-fullLlvm11Stdenv.mkDerivation rec {
+ fullLlvm11Stdenv.mkDerivation rec {
pname = "abseil-cpp";
version = "20200519-768eb2ca+tvl-1";
src = ./.;
@@ -17,15 +17,15 @@ fullLlvm11Stdenv.mkDerivation rec {
# doCheck = true;
cmakeFlags = [
- "-DCMAKE_CXX_STANDARD=17"
- #"-DABSL_RUN_TESTS=1"
+ "-DCMAKE_CXX_STANDARD=17"
+ #"-DABSL_RUN_TESTS=1"
];
meta = with lib; {
- description = "An open-source collection of C++ code designed to augment the C++ standard library";
- homepage = https://abseil.io/;
- license = licenses.asl20;
- maintainers = [ maintainers.andersk ];
+ description = "An open-source collection of C++ code designed to augment the C++ standard library";
+ homepage = https://abseil.io/;
+ license = licenses.asl20;
+ maintainers = [ maintainers.andersk ];
};
-}
+ }
*/
diff --git a/third_party/agenix/default.nix b/third_party/agenix/default.nix
index 91fd9576b..96afbe169 100644
--- a/third_party/agenix/default.nix
+++ b/third_party/agenix/default.nix
@@ -9,7 +9,8 @@ let
agenix = import src {
inherit pkgs;
};
-in {
+in
+{
inherit src;
cli = agenix.agenix;
}
diff --git a/third_party/arion/default.nix b/third_party/arion/default.nix
index 16cd92ea3..7b0aa4ee3 100644
--- a/third_party/arion/default.nix
+++ b/third_party/arion/default.nix
@@ -1,8 +1,10 @@
{ pkgs, ... }:
-(import (pkgs.fetchFromGitHub {
- owner = "hercules-ci";
- repo = "arion";
- rev = "db6d4d7490dff363de60cebbece3ae9361e3ce43";
- sha256 = "0d8nqmc7fjshigax2g47ips262v8ml27x0ksq59kmprgb7ckzi5l";
-}) { inherit pkgs; }).arion
+(import
+ (pkgs.fetchFromGitHub {
+ owner = "hercules-ci";
+ repo = "arion";
+ rev = "db6d4d7490dff363de60cebbece3ae9361e3ce43";
+ sha256 = "0d8nqmc7fjshigax2g47ips262v8ml27x0ksq59kmprgb7ckzi5l";
+ })
+ { inherit pkgs; }).arion
diff --git a/third_party/bat_syntaxes/default.nix b/third_party/bat_syntaxes/default.nix
index 2b7d025fa..a48962dd3 100644
--- a/third_party/bat_syntaxes/default.nix
+++ b/third_party/bat_syntaxes/default.nix
@@ -8,7 +8,8 @@
let
inherit (pkgs) bat runCommandNoCC;
-in runCommandNoCC "bat-syntaxes.bin" {} ''
+in
+runCommandNoCC "bat-syntaxes.bin" { } ''
export HOME=$PWD
mkdir -p .config/bat/syntaxes
cp ${./Prolog.sublime-syntax} .config/bat/syntaxes
diff --git a/third_party/cgit/default.nix b/third_party/cgit/default.nix
index 025877ee4..55aaa02f3 100644
--- a/third_party/cgit/default.nix
+++ b/third_party/cgit/default.nix
@@ -2,7 +2,8 @@
let
inherit (pkgs) stdenv gzip bzip2 xz luajit zlib autoconf openssl pkgconfig;
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
pname = "cgit";
version = "master";
src = ./.;
diff --git a/third_party/clj2nix/default.nix b/third_party/clj2nix/default.nix
index 3bd21df75..f582debf2 100644
--- a/third_party/clj2nix/default.nix
+++ b/third_party/clj2nix/default.nix
@@ -5,4 +5,5 @@ pkgs.callPackage "${(pkgs.fetchFromGitHub {
repo = "clj2nix";
rev = "3d0a38c954c8e0926f57de1d80d357df05fc2f94";
sha256 = "0y77b988qdgsrp4w72v1f5rrh33awbps2qdgp2wr2nmmi44541w5";
-})}/clj2nix.nix" {}
+})}/clj2nix.nix"
+{ }
diff --git a/third_party/default.nix b/third_party/default.nix
index e9e3c117c..169727f4b 100644
--- a/third_party/default.nix
+++ b/third_party/default.nix
@@ -24,32 +24,33 @@
# be able to pass `specialArgs`. We depend on this because `depot`
# needs to be partially evaluated in NixOS configuration before
# module imports are resolved.
- nixos = {
- configuration,
- specialArgs ? {},
- system ? builtins.currentSystem,
- ...
- }:
- let
- eval = import "${pkgs.path}/nixos/lib/eval-config.nix" {
- inherit specialArgs system;
- modules = [
- configuration
- (import "${depot.path + "/ops/modules/default-imports.nix"}")
- ];
- };
+ nixos =
+ { configuration
+ , specialArgs ? { }
+ , system ? builtins.currentSystem
+ , ...
+ }:
+ let
+ eval = import "${pkgs.path}/nixos/lib/eval-config.nix" {
+ inherit specialArgs system;
+ modules = [
+ configuration
+ (import "${depot.path + "/ops/modules/default-imports.nix"}")
+ ];
+ };
- # This is for `nixos-rebuild build-vm'.
- vmConfig = (import "${pkgs.path}/nixos/lib/eval-config.nix" {
- inherit specialArgs system;
- modules = [
- configuration
- "${pkgs.path}/nixos/modules/virtualisation/qemu-vm.nix"
- ];
- }).config;
- in {
- inherit (eval) pkgs config options;
- system = eval.config.system.build.toplevel;
- vm = vmConfig.system.build.vm;
- };
+ # This is for `nixos-rebuild build-vm'.
+ vmConfig = (import "${pkgs.path}/nixos/lib/eval-config.nix" {
+ inherit specialArgs system;
+ modules = [
+ configuration
+ "${pkgs.path}/nixos/modules/virtualisation/qemu-vm.nix"
+ ];
+ }).config;
+ in
+ {
+ inherit (eval) pkgs config options;
+ system = eval.config.system.build.toplevel;
+ vm = vmConfig.system.build.vm;
+ };
}
diff --git a/third_party/dhall/default.nix b/third_party/dhall/default.nix
index 6f3782233..b4de61312 100644
--- a/third_party/dhall/default.nix
+++ b/third_party/dhall/default.nix
@@ -5,11 +5,14 @@ let
# broken most of the time. The binaries are also fully static
# builds, instead of the half-static crap that nixpkgs produces.
easy-dhall-nix =
- import (builtins.fetchTarball {
- url = "https://github.com/justinwoo/easy-dhall-nix/archive/eae7f64c4d6c70681e5a56c84198236930ba425e.tar.gz";
- sha256 = "1y2x15v8a679vlpxazjpibfwajp6zph60f8wjcm4xflbvazk0dx7";
- }) { inherit pkgs; };
-in {
+ import
+ (builtins.fetchTarball {
+ url = "https://github.com/justinwoo/easy-dhall-nix/archive/eae7f64c4d6c70681e5a56c84198236930ba425e.tar.gz";
+ sha256 = "1y2x15v8a679vlpxazjpibfwajp6zph60f8wjcm4xflbvazk0dx7";
+ })
+ { inherit pkgs; };
+in
+{
dhall = easy-dhall-nix.dhall-simple;
dhall-bash = easy-dhall-nix.dhall-bash-simple;
dhall-docs = easy-dhall-nix.dhall-docs-simple;
diff --git a/third_party/elmPackages_0_18/default.nix b/third_party/elmPackages_0_18/default.nix
index 55d66f062..e1e4f6f9c 100644
--- a/third_party/elmPackages_0_18/default.nix
+++ b/third_party/elmPackages_0_18/default.nix
@@ -7,9 +7,11 @@
{ pkgs, ... }:
-(import (pkgs.fetchFromGitHub {
- owner = "NixOS";
- repo = "nixpkgs";
- rev = "14f9ee66e63077539252f8b4550049381a082518";
- sha256 = "1wn7nmb1cqfk2j91l3rwc6yhimfkzxprb8wknw5wi57yhq9m6lv1";
-}) {}).elmPackages
+(import
+ (pkgs.fetchFromGitHub {
+ owner = "NixOS";
+ repo = "nixpkgs";
+ rev = "14f9ee66e63077539252f8b4550049381a082518";
+ sha256 = "1wn7nmb1cqfk2j91l3rwc6yhimfkzxprb8wknw5wi57yhq9m6lv1";
+ })
+ { }).elmPackages
diff --git a/third_party/gerrit_plugins/builder.nix b/third_party/gerrit_plugins/builder.nix
index ff1754e08..0b6501801 100644
--- a/third_party/gerrit_plugins/builder.nix
+++ b/third_party/gerrit_plugins/builder.nix
@@ -1,33 +1,35 @@
{ depot, pkgs, ... }:
{
- buildGerritBazelPlugin = {
- name,
- src,
- depsOutputHash,
- overlayPluginCmd ? ''
- cp -R "${src}" "$out/plugins/${name}"
- '',
- postPatch ? "",
- }: ((depot.third_party.gerrit.override {
- name = "${name}.jar";
+ buildGerritBazelPlugin =
+ { name
+ , src
+ , depsOutputHash
+ , overlayPluginCmd ? ''
+ cp -R "${src}" "$out/plugins/${name}"
+ ''
+ , postPatch ? ""
+ ,
+ }: ((depot.third_party.gerrit.override {
+ name = "${name}.jar";
- src = pkgs.runCommandLocal "${name}-src" {} ''
- cp -R "${depot.third_party.gerrit.src}" "$out"
- chmod +w "$out/plugins"
- ${overlayPluginCmd}
- '';
+ src = pkgs.runCommandLocal "${name}-src" { } ''
+ cp -R "${depot.third_party.gerrit.src}" "$out"
+ chmod +w "$out/plugins"
+ ${overlayPluginCmd}
+ '';
- bazelTarget = "//plugins/${name}";
- }).overrideAttrs (super: {
- deps = super.deps.overrideAttrs (superDeps: {
- outputHash = depsOutputHash;
- });
- installPhase = ''
- cp "bazel-bin/plugins/${name}/${name}.jar" "$out"
- '';
- postPatch = if super ? postPatch then ''
- ${super.postPatch}
- ${postPatch}
- '' else postPatch;
- }));
+ bazelTarget = "//plugins/${name}";
+ }).overrideAttrs (super: {
+ deps = super.deps.overrideAttrs (superDeps: {
+ outputHash = depsOutputHash;
+ });
+ installPhase = ''
+ cp "bazel-bin/plugins/${name}/${name}.jar" "$out"
+ '';
+ postPatch =
+ if super ? postPatch then ''
+ ${super.postPatch}
+ ${postPatch}
+ '' else postPatch;
+ }));
}
diff --git a/third_party/gerrit_plugins/default.nix b/third_party/gerrit_plugins/default.nix
index 8131ca2eb..b342bf3f0 100644
--- a/third_party/gerrit_plugins/default.nix
+++ b/third_party/gerrit_plugins/default.nix
@@ -2,7 +2,8 @@
let
inherit (import ./builder.nix args) buildGerritBazelPlugin;
-in depot.nix.readTree.drvTargets {
+in
+depot.nix.readTree.drvTargets {
# https://gerrit.googlesource.com/plugins/owners
owners = buildGerritBazelPlugin rec {
name = "owners";
diff --git a/third_party/gerrit_plugins/oauth/default.nix b/third_party/gerrit_plugins/oauth/default.nix
index 76c053ae4..01748ba84 100644
--- a/third_party/gerrit_plugins/oauth/default.nix
+++ b/third_party/gerrit_plugins/oauth/default.nix
@@ -2,7 +2,8 @@
let
inherit (import ../builder.nix args) buildGerritBazelPlugin;
-in buildGerritBazelPlugin rec {
+in
+buildGerritBazelPlugin rec {
name = "oauth";
depsOutputHash = "sha256:0j86amkw54y177s522hc988hqg034fsrkywbsb9a7h14zwcqbran";
src = pkgs.fetchgit {
diff --git a/third_party/git/default.nix b/third_party/git/default.nix
index 75131c03c..eed07b561 100644
--- a/third_party/git/default.nix
+++ b/third_party/git/default.nix
@@ -2,8 +2,8 @@
# `pkgs.srcOnly`.
{ pkgs, ... }:
-pkgs.git.overrideAttrs(old: {
- patches = (old.patches or []) ++ [
+pkgs.git.overrideAttrs (old: {
+ patches = (old.patches or [ ]) ++ [
./0001-feat-third_party-git-date-add-dottime-format.patch
];
})
diff --git a/third_party/gitignoreSource/default.nix b/third_party/gitignoreSource/default.nix
index 8bdd974e8..150de7c99 100644
--- a/third_party/gitignoreSource/default.nix
+++ b/third_party/gitignoreSource/default.nix
@@ -1,14 +1,17 @@
{ pkgs, ... }:
let
- gitignoreNix = import (pkgs.fetchFromGitHub {
- owner = "hercules-ci";
- repo = "gitignore";
- rev = "f9e996052b5af4032fe6150bba4a6fe4f7b9d698";
- sha256 = "0jrh5ghisaqdd0vldbywags20m2cxpkbbk5jjjmwaw0gr8nhsafv";
- }) { inherit (pkgs) lib; };
+ gitignoreNix = import
+ (pkgs.fetchFromGitHub {
+ owner = "hercules-ci";
+ repo = "gitignore";
+ rev = "f9e996052b5af4032fe6150bba4a6fe4f7b9d698";
+ sha256 = "0jrh5ghisaqdd0vldbywags20m2cxpkbbk5jjjmwaw0gr8nhsafv";
+ })
+ { inherit (pkgs) lib; };
-in {
+in
+{
__functor = _: gitignoreNix.gitignoreSource;
# expose extra functions here
diff --git a/third_party/gopkgs/github.com/charmbracelet/bubbletea/default.nix b/third_party/gopkgs/github.com/charmbracelet/bubbletea/default.nix
index 75eb5402c..8dc25bd91 100644
--- a/third_party/gopkgs/github.com/charmbracelet/bubbletea/default.nix
+++ b/third_party/gopkgs/github.com/charmbracelet/bubbletea/default.nix
@@ -3,15 +3,17 @@
depot.nix.buildGo.external {
path = "github.com/charmbracelet/bubbletea";
src =
- let gitSrc = pkgs.fetchFromGitHub {
+ let
+ gitSrc = pkgs.fetchFromGitHub {
owner = "charmbracelet";
repo = "bubbletea";
rev = "v0.13.1";
sha256 = "0yf2fjkvx8ym9n6f3qp2z7sxs0qsfpj148sfvbrp38k67s3h20cs";
};
- # The examples/ directory is fairly extensive,
- # but it also adds most of the dependencies.
- in pkgs.runCommand gitSrc.name {} ''
+ # The examples/ directory is fairly extensive,
+ # but it also adds most of the dependencies.
+ in
+ pkgs.runCommand gitSrc.name { } ''
mkdir -p $out
ln -s "${gitSrc}"/* $out
rm -r $out/examples
diff --git a/third_party/grpc/default.nix b/third_party/grpc/default.nix
index 2ef67d402..bef5dd9d1 100644
--- a/third_party/grpc/default.nix
+++ b/third_party/grpc/default.nix
@@ -5,7 +5,7 @@
stdenv = pkgs.fullLlvm11Stdenv;
abseil-cpp = depot.third_party.abseil_cpp;
re2 = depot.third_party.re2;
-}).overrideAttrs(orig: rec {
+}).overrideAttrs (orig: rec {
cmakeFlags = orig.cmakeFlags ++ [
"-DCMAKE_CXX_STANDARD_REQUIRED=ON"
"-DCMAKE_CXX_STANDARD=17"
diff --git a/third_party/gtest/default.nix b/third_party/gtest/default.nix
index 70516853e..d3540a483 100644
--- a/third_party/gtest/default.nix
+++ b/third_party/gtest/default.nix
@@ -2,7 +2,7 @@
(pkgs.gtest.override {
stdenv = pkgs.fullLlvm11Stdenv;
-}).overrideAttrs(_: {
+}).overrideAttrs (_: {
src = pkgs.fetchFromGitHub {
owner = "google";
repo = "googletest";
diff --git a/third_party/josh/default.nix b/third_party/josh/default.nix
index 3a4e494e5..14e07617b 100644
--- a/third_party/josh/default.nix
+++ b/third_party/josh/default.nix
@@ -8,7 +8,8 @@ let
rev = "69dc986e506ba5631c8bbf52835da076a18ec8dc";
hash = "sha256:0ybc6ivjkm7bchaszs9lhbl1gbjnyhwq7a3vw6jml3ama84l52lb";
};
-in depot.third_party.naersk.buildPackage {
+in
+depot.third_party.naersk.buildPackage {
inherit src;
buildInputs = with pkgs; [
@@ -18,8 +19,11 @@ in depot.third_party.naersk.buildPackage {
];
cargoBuildOptions = x: x ++ [
- "-p" "josh"
- "-p" "josh-proxy"
- "-p" "josh-ui"
+ "-p"
+ "josh"
+ "-p"
+ "josh-proxy"
+ "-p"
+ "josh-ui"
];
}
diff --git a/third_party/lisp/bordeaux-threads.nix b/third_party/lisp/bordeaux-threads.nix
index 17ee6e539..8a2e09950 100644
--- a/third_party/lisp/bordeaux-threads.nix
+++ b/third_party/lisp/bordeaux-threads.nix
@@ -5,7 +5,8 @@
let
src = with pkgs; srcOnly lispPackages.bordeaux-threads;
getSrc = f: "${src}/src/${f}";
-in depot.nix.buildLisp.library {
+in
+depot.nix.buildLisp.library {
name = "bordeaux-threads";
deps = [ depot.third_party.lisp.alexandria ];
diff --git a/third_party/lisp/cl-fad.nix b/third_party/lisp/cl-fad.nix
index ec1170bf1..9350abe2e 100644
--- a/third_party/lisp/cl-fad.nix
+++ b/third_party/lisp/cl-fad.nix
@@ -1,5 +1,5 @@
# Portable pathname library
-{ depot, pkgs, ...}:
+{ depot, pkgs, ... }:
with depot.nix;
@@ -18,7 +18,7 @@ in buildLisp.library {
srcs = map (f: src + ("/" + f)) [
"packages.lisp"
] ++ [
- { ccl = "${src}/openmcl.lisp"; }
+ { ccl = "${src}/openmcl.lisp"; }
] ++ map (f: src + ("/" + f)) [
"fad.lisp"
"path.lisp"
diff --git a/third_party/lisp/cl-json.nix b/third_party/lisp/cl-json.nix
index 5d1450a3e..0230f274a 100644
--- a/third_party/lisp/cl-json.nix
+++ b/third_party/lisp/cl-json.nix
@@ -10,19 +10,20 @@ let
rev = "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79";
sha256 = "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh";
};
-in buildLisp.library {
+in
+buildLisp.library {
name = "cl-json";
deps = [ (buildLisp.bundled "asdf") ];
srcs = [ "${src}/cl-json.asd" ] ++
- (map (f: src + ("/src/" + f)) [
- "package.lisp"
- "common.lisp"
- "objects.lisp"
- "camel-case.lisp"
- "decoder.lisp"
- "encoder.lisp"
- "utils.lisp"
- "json-rpc.lisp"
- ]);
+ (map (f: src + ("/src/" + f)) [
+ "package.lisp"
+ "common.lisp"
+ "objects.lisp"
+ "camel-case.lisp"
+ "decoder.lisp"
+ "encoder.lisp"
+ "utils.lisp"
+ "json-rpc.lisp"
+ ]);
}
diff --git a/third_party/lisp/cl-plus-ssl.nix b/third_party/lisp/cl-plus-ssl.nix
index bec5d5b3a..dc0a95944 100644
--- a/third_party/lisp/cl-plus-ssl.nix
+++ b/third_party/lisp/cl-plus-ssl.nix
@@ -3,12 +3,14 @@
with depot.nix;
-let src = pkgs.fetchgit {
- url = "https://github.com/cl-plus-ssl/cl-plus-ssl.git";
- rev = "29081992f6d7b4e3aa2c5eeece4cd92b745071f4";
- hash = "sha256:16lyrixl98b7vy29dbbzkbq0xaz789350dajrr1gdny5i55rkjq0";
-};
-in buildLisp.library {
+let
+ src = pkgs.fetchgit {
+ url = "https://github.com/cl-plus-ssl/cl-plus-ssl.git";
+ rev = "29081992f6d7b4e3aa2c5eeece4cd92b745071f4";
+ hash = "sha256:16lyrixl98b7vy29dbbzkbq0xaz789350dajrr1gdny5i55rkjq0";
+ };
+in
+buildLisp.library {
name = "cl-plus-ssl";
deps = with depot.third_party.lisp; [
alexandria
diff --git a/third_party/lisp/cl-unicode.nix b/third_party/lisp/cl-unicode.nix
index 5fff1fbe6..815d99c2d 100644
--- a/third_party/lisp/cl-unicode.nix
+++ b/third_party/lisp/cl-unicode.nix
@@ -40,7 +40,7 @@ let
"char-info.lisp"
"read.lisp"
]) ++ [
- (runCommand "dump.lisp" {} ''
+ (runCommand "dump.lisp" { } ''
substitute ${src}/build/dump.lisp $out \
--replace ':defaults *this-file*' ":defaults (uiop:getcwd)"
'')
@@ -55,7 +55,7 @@ let
};
- generated = runCommand "cl-unicode-generated" {} ''
+ generated = runCommand "cl-unicode-generated" { } ''
mkdir -p $out/build
mkdir -p $out/test
cd $out/build
@@ -66,7 +66,7 @@ let
in
depot.nix.buildLisp.library {
name = "cl-unicode";
- deps = [cl-unicode-base];
+ deps = [ cl-unicode-base ];
srcs = [
"${src}/conditions.lisp"
"${generated}/lists.lisp"
diff --git a/third_party/lisp/cl-yacc.nix b/third_party/lisp/cl-yacc.nix
index d2ceb8110..b40d5d060 100644
--- a/third_party/lisp/cl-yacc.nix
+++ b/third_party/lisp/cl-yacc.nix
@@ -1,12 +1,14 @@
{ depot, pkgs, ... }:
-let src = pkgs.fetchFromGitHub {
+let
+ src = pkgs.fetchFromGitHub {
owner = "jech";
repo = "cl-yacc";
rev = "1334f5469251ffb3f8738a682dc8ee646cb26635";
sha256 = "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib";
};
-in depot.nix.buildLisp.library {
+in
+depot.nix.buildLisp.library {
name = "cl-yacc";
srcs = map (f: src + ("/" + f)) [
diff --git a/third_party/lisp/closure-common.nix b/third_party/lisp/closure-common.nix
index 0856fc9e5..7f7f79f85 100644
--- a/third_party/lisp/closure-common.nix
+++ b/third_party/lisp/closure-common.nix
@@ -3,7 +3,8 @@
let
src = with pkgs; srcOnly lispPackages.closure-common;
getSrcs = builtins.map (p: "${src}/${p}");
-in depot.nix.buildLisp.library {
+in
+depot.nix.buildLisp.library {
name = "closure-common";
# closure-common.asd surpresses some warnings otherwise breaking
@@ -18,12 +19,12 @@ in depot.nix.buildLisp.library {
"closure-common.asd"
"package.lisp"
"definline.lisp"
- "characters.lisp" #+rune-is-character
+ "characters.lisp" #+rune-is-character
"syntax.lisp"
- "encodings.lisp" #-x&y-streams-are-stream
+ "encodings.lisp" #-x&y-streams-are-stream
"encodings-data.lisp" #-x&y-streams-are-stream
- "xstream.lisp" #-x&y-streams-are-stream
- "ystream.lisp" #-x&y-streams-are-stream
+ "xstream.lisp" #-x&y-streams-are-stream
+ "ystream.lisp" #-x&y-streams-are-stream
"hax.lisp"
];
diff --git a/third_party/lisp/easy-routes.nix b/third_party/lisp/easy-routes.nix
index 93aed8a66..5caf8261f 100644
--- a/third_party/lisp/easy-routes.nix
+++ b/third_party/lisp/easy-routes.nix
@@ -9,7 +9,8 @@ let
sha256 = "06lnipwc6mmg0v5gybcnr7wn5xmn5xfd1gs19vbima777245bfka";
};
-in depot.nix.buildLisp.library {
+in
+depot.nix.buildLisp.library {
name = "easy-routes";
deps = with depot.third_party.lisp; [
hunchentoot
diff --git a/third_party/lisp/flexi-streams.nix b/third_party/lisp/flexi-streams.nix
index 4b8880902..a6a06d4ad 100644
--- a/third_party/lisp/flexi-streams.nix
+++ b/third_party/lisp/flexi-streams.nix
@@ -28,6 +28,6 @@ in depot.nix.buildLisp.library {
"input.lisp"
"io.lisp"
"strings.lisp"
- ];
+ ];
}
diff --git a/third_party/lisp/global-vars.nix b/third_party/lisp/global-vars.nix
index 0f6630f72..a3d27a09b 100644
--- a/third_party/lisp/global-vars.nix
+++ b/third_party/lisp/global-vars.nix
@@ -3,5 +3,5 @@
let src = with pkgs; srcOnly lispPackages.global-vars;
in depot.nix.buildLisp.library {
name = "global-vars";
- srcs = [ "${src}/global-vars.lisp" ] ;
+ srcs = [ "${src}/global-vars.lisp" ];
}
diff --git a/third_party/lisp/hunchentoot.nix b/third_party/lisp/hunchentoot.nix
index 5b953d94b..e2480cd34 100644
--- a/third_party/lisp/hunchentoot.nix
+++ b/third_party/lisp/hunchentoot.nix
@@ -1,5 +1,5 @@
# Hunchentoot is a web framework for Common Lisp.
-{ depot, pkgs, ...}:
+{ depot, pkgs, ... }:
let
src = with pkgs; srcOnly lispPackages.hunchentoot;
@@ -15,7 +15,8 @@ let
"url-rewrite.lisp"
];
};
-in depot.nix.buildLisp.library {
+in
+depot.nix.buildLisp.library {
name = "hunchentoot";
deps = with depot.third_party.lisp; [
diff --git a/third_party/lisp/ironclad.nix b/third_party/lisp/ironclad.nix
index 3436776b7..324c5da26 100644
--- a/third_party/lisp/ironclad.nix
+++ b/third_party/lisp/ironclad.nix
@@ -1,4 +1,4 @@
-{ depot, pkgs, ...}:
+{ depot, pkgs, ... }:
let
inherit (pkgs) runCommand;
@@ -6,7 +6,8 @@ let
src = with pkgs; srcOnly lispPackages.ironclad;
getSrc = f: "${src}/src/${f}";
-in depot.nix.buildLisp.library {
+in
+depot.nix.buildLisp.library {
name = "ironclad";
deps = with depot.third_party.lisp; [
diff --git a/third_party/lisp/lass.nix b/third_party/lisp/lass.nix
index 457e25c7e..00f66c1fe 100644
--- a/third_party/lisp/lass.nix
+++ b/third_party/lisp/lass.nix
@@ -8,7 +8,8 @@ let
sha256 = "11mxzyx34ynsfsrs8pgrarqi9s442vkpmh7kdpzvarhj7i97g8yx";
};
-in depot.nix.buildLisp.library {
+in
+depot.nix.buildLisp.library {
name = "lass";
deps = with depot.third_party.lisp; [
diff --git a/third_party/lisp/lisp-binary.nix b/third_party/lisp/lisp-binary.nix
index 3e7a43b8a..8deba4546 100644
--- a/third_party/lisp/lisp-binary.nix
+++ b/third_party/lisp/lisp-binary.nix
@@ -1,13 +1,15 @@
# A library to easily read and write complex binary formats.
{ depot, pkgs, ... }:
-let src = pkgs.fetchFromGitHub {
- owner = "j3pic";
- repo = "lisp-binary";
- rev = "052df578900dea59bf951e0a6749281fa73432e4";
- sha256 = "1i1s5g01aimfq6lndcl1pnw7ly5hdh0wmjp2dj9cjjwbkz9lnwcf";
-};
-in depot.nix.buildLisp.library {
+let
+ src = pkgs.fetchFromGitHub {
+ owner = "j3pic";
+ repo = "lisp-binary";
+ rev = "052df578900dea59bf951e0a6749281fa73432e4";
+ sha256 = "1i1s5g01aimfq6lndcl1pnw7ly5hdh0wmjp2dj9cjjwbkz9lnwcf";
+ };
+in
+depot.nix.buildLisp.library {
name = "lisp-binary";
deps = with depot.third_party.lisp; [
diff --git a/third_party/lisp/local-time.nix b/third_party/lisp/local-time.nix
index 8e96c5e51..1358408d3 100644
--- a/third_party/lisp/local-time.nix
+++ b/third_party/lisp/local-time.nix
@@ -4,7 +4,8 @@
let
inherit (depot.nix) buildLisp;
src = with pkgs; srcOnly lispPackages.local-time;
-in buildLisp.library {
+in
+buildLisp.library {
name = "local-time";
deps = [
depot.third_party.lisp.cl-fad
diff --git a/third_party/lisp/nibbles.nix b/third_party/lisp/nibbles.nix
index 3c0a75e46..b71f439c9 100644
--- a/third_party/lisp/nibbles.nix
+++ b/third_party/lisp/nibbles.nix
@@ -3,7 +3,8 @@
let
inherit (depot.nix.buildLisp) bundled;
src = with pkgs; srcOnly lispPackages.nibbles;
-in depot.nix.buildLisp.library {
+in
+depot.nix.buildLisp.library {
name = "nibbles";
deps = with depot.third_party.lisp; [
diff --git a/third_party/lisp/postmodern.nix b/third_party/lisp/postmodern.nix
index b2ea318f8..25e0625c2 100644
--- a/third_party/lisp/postmodern.nix
+++ b/third_party/lisp/postmodern.nix
@@ -88,6 +88,7 @@ let
];
};
-in postmodern // {
+in
+postmodern // {
inherit s-sql cl-postgres;
}
diff --git a/third_party/lisp/routes.nix b/third_party/lisp/routes.nix
index a76912c65..fc7d4e306 100644
--- a/third_party/lisp/routes.nix
+++ b/third_party/lisp/routes.nix
@@ -20,7 +20,8 @@ let
];
};
-in depot.nix.buildLisp.library {
+in
+depot.nix.buildLisp.library {
name = "routes";
deps = with depot.third_party.lisp; [
diff --git a/third_party/lisp/s-xml/default.nix b/third_party/lisp/s-xml/default.nix
index 3cd13ffb6..486e1c1ac 100644
--- a/third_party/lisp/s-xml/default.nix
+++ b/third_party/lisp/s-xml/default.nix
@@ -1,15 +1,17 @@
# XML serialiser for Common Lisp.
{ depot, pkgs, ... }:
-let src = pkgs.applyPatches {
- name = "s-xml-source";
- src = pkgs.lispPackages.s-xml.src;
+let
+ src = pkgs.applyPatches {
+ name = "s-xml-source";
+ src = pkgs.lispPackages.s-xml.src;
- patches = [
- ./0001-fix-definition-order-in-xml.lisp.patch
- ];
-};
-in depot.nix.buildLisp.library {
+ patches = [
+ ./0001-fix-definition-order-in-xml.lisp.patch
+ ];
+ };
+in
+depot.nix.buildLisp.library {
name = "s-xml";
srcs = map (f: src + ("/src/" + f)) [
diff --git a/third_party/lisp/trivial-ldap.nix b/third_party/lisp/trivial-ldap.nix
index c8a27431c..c85fe2acc 100644
--- a/third_party/lisp/trivial-ldap.nix
+++ b/third_party/lisp/trivial-ldap.nix
@@ -1,12 +1,14 @@
{ depot, pkgs, ... }:
-let src = pkgs.fetchFromGitHub {
+let
+ src = pkgs.fetchFromGitHub {
owner = "rwiker";
repo = "trivial-ldap";
rev = "3b8f1ff85f29ea63e6ab2d0d27029d68b046faf8";
sha256 = "1zaa4wnk5y5ff211pkg6dl27j4pjwh56hq0246slxsdxv6kvp1z9";
};
-in depot.nix.buildLisp.library {
+in
+depot.nix.buildLisp.library {
name = "trivial-ldap";
deps = with depot.third_party.lisp; [
diff --git a/third_party/lisp/trivial-mimes.nix b/third_party/lisp/trivial-mimes.nix
index 04e8b5ef5..b097a3d0e 100644
--- a/third_party/lisp/trivial-mimes.nix
+++ b/third_party/lisp/trivial-mimes.nix
@@ -3,7 +3,7 @@
let
src = with pkgs; srcOnly lispPackages.trivial-mimes;
- mime-types = pkgs.runCommand "mime-types.lisp" {} ''
+ mime-types = pkgs.runCommand "mime-types.lisp" { } ''
substitute ${src}/mime-types.lisp $out \
--replace /etc/mime.types ${src}/mime.types \
--replace "(asdf:system-source-directory :trivial-mimes)" '"/bogus-dir"'
@@ -11,7 +11,8 @@ let
# generally fail — we are not using ASDF after all.
'';
-in depot.nix.buildLisp.library {
+in
+depot.nix.buildLisp.library {
name = "trivial-mimes";
deps = [
diff --git a/third_party/lisp/uax-15.nix b/third_party/lisp/uax-15.nix
index 1e44f88d5..f98c029d3 100644
--- a/third_party/lisp/uax-15.nix
+++ b/third_party/lisp/uax-15.nix
@@ -4,7 +4,8 @@ let
inherit (pkgs) runCommand;
inherit (depot.nix.buildLisp) bundled;
src = with pkgs; srcOnly lispPackages.uax-15;
-in depot.nix.buildLisp.library {
+in
+depot.nix.buildLisp.library {
name = "uax-15";
deps = with depot.third_party.lisp; [
@@ -23,7 +24,7 @@ in depot.nix.buildLisp.library {
#
# additionally there are some wonky variable usages of variables
# that are never defined, for which we patch in defvar statements.
- (runCommand "precomputed-tables.lisp" {} ''
+ (runCommand "precomputed-tables.lisp" { } ''
substitute ${src}/src/precomputed-tables.lisp precomputed-tables.lisp \
--replace "(asdf:system-source-directory (asdf:find-system 'uax-15 nil))" \
'"${src}/"'
diff --git a/third_party/lisp/unix-opts.nix b/third_party/lisp/unix-opts.nix
index e52eab959..248296113 100644
--- a/third_party/lisp/unix-opts.nix
+++ b/third_party/lisp/unix-opts.nix
@@ -1,5 +1,5 @@
# unix-opts is a portable command line argument parser
-{ depot, pkgs, ...}:
+{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.unix-opts;
diff --git a/third_party/lisp/usocket-server.nix b/third_party/lisp/usocket-server.nix
index f2f11d7a1..5d6d04535 100644
--- a/third_party/lisp/usocket-server.nix
+++ b/third_party/lisp/usocket-server.nix
@@ -4,7 +4,8 @@
let
inherit (depot.nix) buildLisp;
src = with pkgs; srcOnly lispPackages.usocket-server;
-in buildLisp.library {
+in
+buildLisp.library {
name = "usocket-server";
deps = with depot.third_party.lisp; [
diff --git a/third_party/lisp/usocket.nix b/third_party/lisp/usocket.nix
index 335954978..589a3a0cf 100644
--- a/third_party/lisp/usocket.nix
+++ b/third_party/lisp/usocket.nix
@@ -4,7 +4,8 @@
let
inherit (depot.nix) buildLisp;
src = with pkgs; srcOnly lispPackages.usocket;
-in buildLisp.library {
+in
+buildLisp.library {
name = "usocket";
deps = with depot.third_party.lisp; [
(buildLisp.bundled "asdf")
diff --git a/third_party/naersk/default.nix b/third_party/naersk/default.nix
index 865fcf04d..855e2bd01 100644
--- a/third_party/naersk/default.nix
+++ b/third_party/naersk/default.nix
@@ -1,8 +1,10 @@
{ pkgs, ... }:
-pkgs.callPackage (pkgs.fetchFromGitHub {
- owner = "nmattia";
- repo = "naersk";
- rev = "a3f40fe42cc6d267ff7518fa3199e99ff1444ac4";
- sha256 = "1nf7fn8anghwf6p5p58ywbcwdkjxq112qv663rn52jq9k95iakdi";
-}) {}
+pkgs.callPackage
+ (pkgs.fetchFromGitHub {
+ owner = "nmattia";
+ repo = "naersk";
+ rev = "a3f40fe42cc6d267ff7518fa3199e99ff1444ac4";
+ sha256 = "1nf7fn8anghwf6p5p58ywbcwdkjxq112qv663rn52jq9k95iakdi";
+ })
+{ }
diff --git a/third_party/nix/corepkgs/buildenv.nix b/third_party/nix/corepkgs/buildenv.nix
index 0bac4c44b..4da0db2ae 100644
--- a/third_party/nix/corepkgs/buildenv.nix
+++ b/third_party/nix/corepkgs/buildenv.nix
@@ -9,11 +9,13 @@ derivation {
# !!! grmbl, need structured data for passing this in a clean way.
derivations =
- map (d:
- [ (d.meta.active or "true")
- (d.meta.priority or 5)
- (builtins.length d.outputs)
- ] ++ map (output: builtins.getAttr output d) d.outputs)
+ map
+ (d:
+ [
+ (d.meta.active or "true")
+ (d.meta.priority or 5)
+ (builtins.length d.outputs)
+ ] ++ map (output: builtins.getAttr output d) d.outputs)
derivations;
# Building user environments remotely just causes huge amounts of
diff --git a/third_party/nix/corepkgs/derivation.nix b/third_party/nix/corepkgs/derivation.nix
index c0fbe8082..1f95cf88e 100644
--- a/third_party/nix/corepkgs/derivation.nix
+++ b/third_party/nix/corepkgs/derivation.nix
@@ -8,12 +8,14 @@ let
strict = derivationStrict drvAttrs;
commonAttrs = drvAttrs // (builtins.listToAttrs outputsList) //
- { all = map (x: x.value) outputsList;
+ {
+ all = map (x: x.value) outputsList;
inherit drvAttrs;
};
outputToAttrListElement = outputName:
- { name = outputName;
+ {
+ name = outputName;
value = commonAttrs // {
outPath = builtins.getAttr outputName strict;
drvPath = strict.drvPath;
@@ -24,4 +26,5 @@ let
outputsList = map outputToAttrListElement outputs;
-in (builtins.head outputsList).value
+in
+(builtins.head outputsList).value
diff --git a/third_party/nix/corepkgs/fetchurl.nix b/third_party/nix/corepkgs/fetchurl.nix
index a84777f57..9933b7cc1 100644
--- a/third_party/nix/corepkgs/fetchurl.nix
+++ b/third_party/nix/corepkgs/fetchurl.nix
@@ -2,12 +2,13 @@
, url
, hash ? "" # an SRI ash
-# Legacy hash specification
-, md5 ? "", sha1 ? "", sha256 ? "", sha512 ? ""
-, outputHash ?
- if hash != "" then hash else if sha512 != "" then sha512 else if sha1 != "" then sha1 else if md5 != "" then md5 else sha256
-, outputHashAlgo ?
- if hash != "" then "" else if sha512 != "" then "sha512" else if sha1 != "" then "sha1" else if md5 != "" then "md5" else "sha256"
+ # Legacy hash specification
+, md5 ? ""
+, sha1 ? ""
+, sha256 ? ""
+, sha512 ? ""
+, outputHash ? if hash != "" then hash else if sha512 != "" then sha512 else if sha1 != "" then sha1 else if md5 != "" then md5 else sha256
+, outputHashAlgo ? if hash != "" then "" else if sha512 != "" then "sha512" else if sha1 != "" then "sha1" else if md5 != "" then "md5" else "sha256"
, executable ? false
, unpack ? false
@@ -33,7 +34,11 @@ derivation {
# easy proxy configuration. This is impure, but a fixed-output
# derivation like fetchurl is allowed to do so since its result is
# by definition pure.
- "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
+ "http_proxy"
+ "https_proxy"
+ "ftp_proxy"
+ "all_proxy"
+ "no_proxy"
];
# To make "nix-prefetch-url" work.
diff --git a/third_party/nix/corepkgs/imported-drv-to-derivation.nix b/third_party/nix/corepkgs/imported-drv-to-derivation.nix
index eab8b050e..639f06833 100644
--- a/third_party/nix/corepkgs/imported-drv-to-derivation.nix
+++ b/third_party/nix/corepkgs/imported-drv-to-derivation.nix
@@ -3,19 +3,22 @@ attrs @ { drvPath, outputs, name, ... }:
let
commonAttrs = (builtins.listToAttrs outputsList) //
- { all = map (x: x.value) outputsList;
+ {
+ all = map (x: x.value) outputsList;
inherit drvPath name;
type = "derivation";
};
outputToAttrListElement = outputName:
- { name = outputName;
+ {
+ name = outputName;
value = commonAttrs // {
outPath = builtins.getAttr outputName attrs;
inherit outputName;
};
};
-
+
outputsList = map outputToAttrListElement outputs;
-
-in (builtins.head outputsList).value
+
+in
+(builtins.head outputsList).value
diff --git a/third_party/nix/default.nix b/third_party/nix/default.nix
index e01fad12f..bd448156f 100644
--- a/third_party/nix/default.nix
+++ b/third_party/nix/default.nix
@@ -1,5 +1,4 @@
-args@{
- depot ? (import ../.. {})
+args@{ depot ? (import ../.. { })
, pkgs ? depot.third_party.nixpkgs
, lib
, buildType ? "release"
@@ -8,39 +7,43 @@ args@{
let
aws-s3-cpp = pkgs.aws-sdk-cpp.override {
- apis = ["s3" "transfer"];
+ apis = [ "s3" "transfer" ];
customMemoryManagement = false;
};
- src = let
- srcDir = ./.;
- # create relative paths for all the sources we are filtering
- asRelative = path:
- let
- srcS = toString srcDir;
- pathS = toString path;
- in
+ src =
+ let
+ srcDir = ./.;
+ # create relative paths for all the sources we are filtering
+ asRelative = path:
+ let
+ srcS = toString srcDir;
+ pathS = toString path;
+ in
if ! lib.hasPrefix srcS pathS then
throw "Path is outside of the working directory."
else
- lib.removePrefix srcS pathS;
+ lib.removePrefix srcS pathS;
- in builtins.filterSource (path: type:
- # Strip out .nix files that are in the root of the repository. Changing
- # the expression of tvix shouldn't cause a rebuild of tvix unless really
- # required.
- !(dirOf (asRelative path) == "/" && lib.hasSuffix ".nix" path) &&
+ in
+ builtins.filterSource
+ (path: type:
+ # Strip out .nix files that are in the root of the repository. Changing
+ # the expression of tvix shouldn't cause a rebuild of tvix unless really
+ # required.
+ !(dirOf (asRelative path) == "/" && lib.hasSuffix ".nix" path) &&
- # remove the proto files from the repo as those are compiled separately
- !(lib.hasPrefix "src/proto" (asRelative path)) &&
+ # remove the proto files from the repo as those are compiled separately
+ !(lib.hasPrefix "src/proto" (asRelative path)) &&
- # ignore result symlinks
- !(type == "symlink" && lib.hasPrefix "result" (baseNameOf path))
- ) srcDir;
+ # ignore result symlinks
+ !(type == "symlink" && lib.hasPrefix "result" (baseNameOf path))
+ )
+ srcDir;
# Proto generation in CMake is theoretically possible, but that is
# very theoretical - this does it in Nix instead.
- protoSrcs = pkgs.runCommand "nix-proto-srcs" {} ''
+ protoSrcs = pkgs.runCommand "nix-proto-srcs" { } ''
export PROTO_SRCS=${./src/proto}
mkdir -p $out/libproto
${depot.third_party.protobuf}/bin/protoc -I=$PROTO_SRCS \
@@ -52,12 +55,13 @@ let
# Derivation for busybox that just has the `busybox` binary in bin/, not all
# the symlinks, so cmake can find it
- busybox = pkgs.runCommand "busybox" {} ''
+ busybox = pkgs.runCommand "busybox" { } ''
mkdir -p $out/bin
cp ${pkgs.busybox}/bin/busybox $out/bin
'';
-in lib.fix (self: pkgs.fullLlvm11Stdenv.mkDerivation {
+in
+lib.fix (self: pkgs.fullLlvm11Stdenv.mkDerivation {
pname = "tvix";
version = "2.3.4";
inherit src;
@@ -141,7 +145,7 @@ in lib.fix (self: pkgs.fullLlvm11Stdenv.mkDerivation {
# Work around broken system header include flags in the cxx toolchain.
LIBCXX_INCLUDE = "${pkgs.llvmPackages_11.libcxx}/include/c++/v1";
- SANDBOX_SHELL="${pkgs.busybox}/bin/busybox";
+ SANDBOX_SHELL = "${pkgs.busybox}/bin/busybox";
# Install the various symlinks to the Nix binary which users expect
# to exist.
@@ -190,7 +194,7 @@ in lib.fix (self: pkgs.fullLlvm11Stdenv.mkDerivation {
${pkgs.jq}/bin/jq < compile_commands.json -r 'map(.file)|.[]' | grep -v '/generated/' | ${pkgs.parallel}/bin/parallel ${pkgs.clang-tools}/bin/clang-tidy -p compile_commands.json $@
'';
- installCheckInputs = up.installCheckInputs ++ [run_clang_tidy];
+ installCheckInputs = up.installCheckInputs ++ [ run_clang_tidy ];
shellHook = ''
export NIX_DATA_DIR="${toString depot.path}/third_party"
diff --git a/third_party/nix/test-vm.nix b/third_party/nix/test-vm.nix
index e5f8690fc..8b00e5515 100644
--- a/third_party/nix/test-vm.nix
+++ b/third_party/nix/test-vm.nix
@@ -16,4 +16,5 @@ let
};
system = depot.third_party.nixos { inherit configuration; };
-in system.vm
+in
+system.vm
diff --git a/third_party/nixery/default.nix b/third_party/nixery/default.nix
index be3a9dfc1..7a798ca0b 100644
--- a/third_party/nixery/default.nix
+++ b/third_party/nixery/default.nix
@@ -12,7 +12,8 @@ let
rev = commit;
sha256 = "195rz25y3hfxcmniysajzjg7g69qhz7w06lql8fn0dbcdcxsq6g4";
};
-in drvTargets (import src {
+in
+drvTargets (import src {
inherit pkgs;
commitHash = _: commit;
})
diff --git a/third_party/nixpkgs/default.nix b/third_party/nixpkgs/default.nix
index 5afed93e4..c5fa6a678 100644
--- a/third_party/nixpkgs/default.nix
+++ b/third_party/nixpkgs/default.nix
@@ -6,7 +6,7 @@
# in //default.nix passes this attribute as the `pkgs` argument to all
# readTree derivations.
-{ depot ? {}, externalArgs ? {}, depotOverlays ? true, ... }:
+{ depot ? { }, externalArgs ? { }, depotOverlays ? true, ... }:
let
# This provides the sources of nixpkgs. We track both
@@ -42,7 +42,7 @@ let
# Stable package set is imported, but not exposed, to overlay
# required packages into the unstable set.
- stableNixpkgs = import stableNixpkgsSrc {};
+ stableNixpkgs = import stableNixpkgsSrc { };
# Overlay for packages that should come from the stable channel
# instead (e.g. because something is broken in unstable).
@@ -58,7 +58,8 @@ let
};
};
-in import nixpkgsSrc {
+in
+import nixpkgsSrc {
# allow users to inject their config into builds (e.g. to test CA derivations)
config =
(if externalArgs ? nixpkgsConfig then externalArgs.nixpkgsConfig else { })
@@ -75,5 +76,5 @@ in import nixpkgsSrc {
depot.third_party.overlays.emacs
depot.third_party.overlays.tvl
depot.third_party.overlays.ecl-static
- ] else []);
+ ] else [ ]);
}
diff --git a/third_party/overlays/emacs.nix b/third_party/overlays/emacs.nix
index 895c45a9b..1dba4a739 100644
--- a/third_party/overlays/emacs.nix
+++ b/third_party/overlays/emacs.nix
@@ -8,4 +8,5 @@ let
url = "https://github.com/nix-community/emacs-overlay/archive/${commit}.tar.gz";
sha256 = "1b7rmshf1wc9wcml7jlzggdzilj644brk5m49fry6lv53vqmykjq";
};
-in import src
+in
+import src
diff --git a/third_party/overlays/haskell/default.nix b/third_party/overlays/haskell/default.nix
index 6e1ec2d0d..8ea57f209 100644
--- a/third_party/overlays/haskell/default.nix
+++ b/third_party/overlays/haskell/default.nix
@@ -11,7 +11,8 @@ let
generic-arbitrary = appendPatch hsSuper.generic-arbitrary
[ ./patches/generic-arbitrary-export-garbitrary.patch ];
};
-in {
+in
+{
haskellPackages = super.haskellPackages.override {
inherit overrides;
};
diff --git a/third_party/overlays/tvl.nix b/third_party/overlays/tvl.nix
index e6e97b834..1b2f2b979 100644
--- a/third_party/overlays/tvl.nix
+++ b/third_party/overlays/tvl.nix
@@ -28,14 +28,14 @@ self: super: {
notmuch = super.notmuch.emacs;
# Build EXWM with the depot sources instead.
- exwm = esuper.exwm.overrideAttrs(_: {
+ exwm = esuper.exwm.overrideAttrs (_: {
src = depot.path.origSrc + "/third_party/exwm";
});
})
);
# dottime support for notmuch
- notmuch = super.notmuch.overrideAttrs(old: {
+ notmuch = super.notmuch.overrideAttrs (old: {
passthru = old.passthru // {
patches = old.patches ++ [ ./patches/notmuch-dottime.patch ];
};
@@ -46,13 +46,13 @@ self: super: {
nix-serve = super.nix-serve.override { nix = super.nix_2_3; };
# Avoid builds of mkShell derivations in CI.
- mkShell = super.lib.makeOverridable(args: (super.mkShell args) // {
+ mkShell = super.lib.makeOverridable (args: (super.mkShell args) // {
meta.ci.skip = true;
});
# bump nixpkgs-fmt to a version that doesn't touch whitespace in
# strings
- nixpkgs-fmt = super.nixpkgs-fmt.overrideAttrs(old: rec {
+ nixpkgs-fmt = super.nixpkgs-fmt.overrideAttrs (old: rec {
src = self.fetchFromGitHub {
owner = "nix-community";
repo = "nixpkgs-fmt";
@@ -60,7 +60,7 @@ self: super: {
sha256 = "0hjkbcgz62793hzfzlaxyah8a2c1k79n1k891lg7kfw8mkbq0w4p";
};
- cargoDeps = old.cargoDeps.overrideAttrs(_: {
+ cargoDeps = old.cargoDeps.overrideAttrs (_: {
inherit src;
outputHash = "10if2lmv8d95j3walq3ggx3y423yfy4yl9vplw3apd0s671bly8b";
});
diff --git a/third_party/prometheus-fail2ban-exporter/default.nix b/third_party/prometheus-fail2ban-exporter/default.nix
index bed5bd630..818839e48 100644
--- a/third_party/prometheus-fail2ban-exporter/default.nix
+++ b/third_party/prometheus-fail2ban-exporter/default.nix
@@ -10,7 +10,8 @@ let
p.prometheus_client
]);
-in pkgs.writeShellScriptBin "prometheus-fail2ban-exporter" ''
+in
+pkgs.writeShellScriptBin "prometheus-fail2ban-exporter" ''
set -eo pipefail
exec "${python}/bin/python" "${script}"
diff --git a/third_party/python/broadlink/default.nix b/third_party/python/broadlink/default.nix
index e316d83d1..b1dcf3008 100644
--- a/third_party/python/broadlink/default.nix
+++ b/third_party/python/broadlink/default.nix
@@ -7,7 +7,8 @@
let
inherit (pkgs) fetchFromGitHub;
inherit (pkgs.python3Packages) buildPythonPackage cryptography;
-in buildPythonPackage (lib.fix (self: {
+in
+buildPythonPackage (lib.fix (self: {
pname = "python-broadlink";
version = "0.13.2";
src = ./.;
diff --git a/third_party/rust-crates/default.nix b/third_party/rust-crates/default.nix
index b912a9bde..b3246dd0a 100644
--- a/third_party/rust-crates/default.nix
+++ b/third_party/rust-crates/default.nix
@@ -4,17 +4,17 @@
# Intended for manual updates, which keeps us honest with what we pull into our closure.
let
- buildRustCrate = attrs@{
- edition ? "2018",
- pname,
- crateName ? pname,
- ...
- }: pkgs.buildRustCrate (attrs // {
- inherit
- crateName
- edition
- ;
- });
+ buildRustCrate =
+ attrs@{ edition ? "2018"
+ , pname
+ , crateName ? pname
+ , ...
+ }: pkgs.buildRustCrate (attrs // {
+ inherit
+ crateName
+ edition
+ ;
+ });
in
rec {
diff --git a/third_party/rustsec-advisory-db/default.nix b/third_party/rustsec-advisory-db/default.nix
index 3d3b387be..b30e98fa4 100644
--- a/third_party/rustsec-advisory-db/default.nix
+++ b/third_party/rustsec-advisory-db/default.nix
@@ -20,5 +20,5 @@ pkgs.fetchFromGitHub {
inherit (pin)
rev
sha256
- ;
+ ;
}
diff --git a/tools/depot-nixpkgs-update.nix b/tools/depot-nixpkgs-update.nix
index 6557b2f25..c92bc76b6 100644
--- a/tools/depot-nixpkgs-update.nix
+++ b/tools/depot-nixpkgs-update.nix
@@ -11,8 +11,8 @@ let
archiveUrl = "https://github.com/NixOS/nixpkgs/archive/";
bins = getBins pkgs.nix [ "nix-prefetch-url" ]
- // getBins pkgs.curl [ "curl" ]
- ;
+ // getBins pkgs.curl [ "curl" ]
+ ;
in
diff --git a/tools/depot-scanner/default.nix b/tools/depot-scanner/default.nix
index d18034cff..59b6e53f7 100644
--- a/tools/depot-scanner/default.nix
+++ b/tools/depot-scanner/default.nix
@@ -1,16 +1,18 @@
-{ depot, pkgs, ...}:
+{ depot, pkgs, ... }:
let
localProto = depot.nix.buildGo.grpc {
name = "code.tvl.fyi/tools/depot-scanner/proto";
proto = ./depot_scanner.proto;
};
-in depot.nix.buildGo.program {
- name = "depot-scanner";
- srcs = [
- ./main.go
- ];
- deps = [
- localProto
- ];
-} // { inherit localProto; }
+in
+depot.nix.buildGo.program
+ {
+ name = "depot-scanner";
+ srcs = [
+ ./main.go
+ ];
+ deps = [
+ localProto
+ ];
+ } // { inherit localProto; }
diff --git a/tools/depotfmt.nix b/tools/depotfmt.nix
index 8c8e99c08..0be32091b 100644
--- a/tools/depotfmt.nix
+++ b/tools/depotfmt.nix
@@ -34,7 +34,8 @@ let
--config-file ${config} \
--tree-root .
'';
-in depotfmt.overrideAttrs(_: {
+in
+depotfmt.overrideAttrs (_: {
passthru.meta.ci.extraSteps.check = {
label = "depot formatting check";
command = check;
diff --git a/tools/emacs-pkgs/buildEmacsPackage.nix b/tools/emacs-pkgs/buildEmacsPackage.nix
index 160c06261..990b53b76 100644
--- a/tools/emacs-pkgs/buildEmacsPackage.nix
+++ b/tools/emacs-pkgs/buildEmacsPackage.nix
@@ -16,19 +16,23 @@
buildArgs:
-pkgs.callPackage({ emacsPackages }:
+pkgs.callPackage
+ ({ emacsPackages }:
-let
- # Select external dependencies from the emacsPackages set
- externalDeps = (buildArgs.externalRequires or (_: [])) emacsPackages;
+ let
+ # Select external dependencies from the emacsPackages set
+ externalDeps = (buildArgs.externalRequires or (_: [ ])) emacsPackages;
- # Override emacsPackages for depot-internal packages
- internalDeps = map (p: p.override { inherit emacsPackages; })
- (buildArgs.internalRequires or []);
+ # Override emacsPackages for depot-internal packages
+ internalDeps = map (p: p.override { inherit emacsPackages; })
+ (buildArgs.internalRequires or [ ]);
- trivialBuildArgs = builtins.removeAttrs buildArgs [
- "externalRequires" "internalRequires"
- ] // {
- packageRequires = externalDeps ++ internalDeps;
- };
-in emacsPackages.trivialBuild trivialBuildArgs) {}
+ trivialBuildArgs = builtins.removeAttrs buildArgs [
+ "externalRequires"
+ "internalRequires"
+ ] // {
+ packageRequires = externalDeps ++ internalDeps;
+ };
+ in
+ emacsPackages.trivialBuild trivialBuildArgs)
+{ }
diff --git a/tools/emacs-pkgs/notable/default.nix b/tools/emacs-pkgs/notable/default.nix
index 8c6935fe8..f57b1c66a 100644
--- a/tools/emacs-pkgs/notable/default.nix
+++ b/tools/emacs-pkgs/notable/default.nix
@@ -6,7 +6,9 @@ depot.tools.emacs-pkgs.buildEmacsPackage rec {
src = ./notable.el;
externalRequires = epkgs: with epkgs; [
- f ht s
+ f
+ ht
+ s
];
internalRequires = [
diff --git a/tools/eprintf.nix b/tools/eprintf.nix
index eeacca4c8..933d73ea7 100644
--- a/tools/eprintf.nix
+++ b/tools/eprintf.nix
@@ -3,7 +3,13 @@
let
bins = depot.nix.getBins pkgs.coreutils [ "printf" ];
-# printf(1), but redirect to stderr
-in depot.nix.writeExecline "eprintf" {} [
- "fdmove" "-c" "1" "2" bins.printf "$@"
+ # printf(1), but redirect to stderr
+in
+depot.nix.writeExecline "eprintf" { } [
+ "fdmove"
+ "-c"
+ "1"
+ "2"
+ bins.printf
+ "$@"
]
diff --git a/tools/nsfv-setup/default.nix b/tools/nsfv-setup/default.nix
index 98dcc61b7..1e353e326 100644
--- a/tools/nsfv-setup/default.nix
+++ b/tools/nsfv-setup/default.nix
@@ -15,7 +15,8 @@
let
inherit (pkgs) ripgrep pulseaudio;
inherit (depot.third_party) nsfv;
-in pkgs.writeShellScriptBin "nsfv-setup" ''
+in
+pkgs.writeShellScriptBin "nsfv-setup" ''
export PATH="${ripgrep}/bin:${pulseaudio}/bin:$PATH"
if pacmd list-sinks | rg librnnoise_ladspa.so >/dev/null; then
diff --git a/tools/rust-crates-advisory/default.nix b/tools/rust-crates-advisory/default.nix
index c0cd4dc03..71a51bb1a 100644
--- a/tools/rust-crates-advisory/default.nix
+++ b/tools/rust-crates-advisory/default.nix
@@ -3,81 +3,137 @@
let
bins =
- depot.nix.getBins pkgs.s6-portable-utils [ "s6-ln" "s6-cat" "s6-echo" "s6-mkdir" "s6-test" "s6-touch" ]
+ depot.nix.getBins pkgs.s6-portable-utils [ "s6-ln" "s6-cat" "s6-echo" "s6-mkdir" "s6-test" "s6-touch" ]
// depot.nix.getBins pkgs.lr [ "lr" ]
- ;
+ ;
crate-advisories = "${depot.third_party.rustsec-advisory-db}/crates";
our-crates = lib.filter (v: v ? outPath)
(builtins.attrValues depot.third_party.rust-crates);
- check-security-advisory = depot.nix.writers.rustSimple {
- name = "parse-security-advisory";
- dependencies = [
- depot.third_party.rust-crates.toml
- depot.third_party.rust-crates.semver
- ];
- } (builtins.readFile ./check-security-advisory.rs);
+ check-security-advisory = depot.nix.writers.rustSimple
+ {
+ name = "parse-security-advisory";
+ dependencies = [
+ depot.third_party.rust-crates.toml
+ depot.third_party.rust-crates.semver
+ ];
+ }
+ (builtins.readFile ./check-security-advisory.rs);
# $1 is the directory with advisories for crate $2 with version $3
check-crate-advisory = depot.nix.writeExecline "check-crate-advisory" { readNArgs = 3; } [
- "pipeline" [ bins.lr "-0" "-t" "depth == 1" "$1" ]
- "forstdin" "-0" "-Eo" "0" "advisory"
- "if" [ depot.tools.eprintf "advisory %s\n" "$advisory" ]
- check-security-advisory "$advisory" "$3"
+ "pipeline"
+ [ bins.lr "-0" "-t" "depth == 1" "$1" ]
+ "forstdin"
+ "-0"
+ "-Eo"
+ "0"
+ "advisory"
+ "if"
+ [ depot.tools.eprintf "advisory %s\n" "$advisory" ]
+ check-security-advisory
+ "$advisory"
+ "$3"
];
# Run through everything in the `crate-advisories` repository
# and check whether we can parse all the advisories without crashing.
- test-parsing-all-security-advisories = depot.nix.runExecline "check-all-our-crates" {} [
- "pipeline" [ bins.lr "-0" "-t" "depth == 1" crate-advisories ]
- "if" [
+ test-parsing-all-security-advisories = depot.nix.runExecline "check-all-our-crates" { } [
+ "pipeline"
+ [ bins.lr "-0" "-t" "depth == 1" crate-advisories ]
+ "if"
+ [
# this will succeed as long as check-crate-advisory doesn’t `panic!()` (status 101)
- "forstdin" "-0" "-E" "-x" "101" "crate_advisories"
- check-crate-advisory "$crate_advisories" "foo" "0.0.0"
+ "forstdin"
+ "-0"
+ "-E"
+ "-x"
+ "101"
+ "crate_advisories"
+ check-crate-advisory
+ "$crate_advisories"
+ "foo"
+ "0.0.0"
]
- "importas" "out" "out"
- bins.s6-touch "$out"
+ "importas"
+ "out"
+ "out"
+ bins.s6-touch
+ "$out"
];
- check-all-our-crates = depot.nix.runExecline "check-all-our-crates" {
- stdin = lib.concatStrings
- (map
- (crate:
- depot.nix.netstring.fromString
- ( depot.nix.netstring.fromString crate.crateName
- + depot.nix.netstring.fromString crate.version ))
- our-crates);
- } [
- "if" [
- "forstdin" "-o" "0" "-Ed" "" "crateNetstring"
- "multidefine" "-d" "" "$crateNetstring" [ "crate" "crate_version" ]
- "if" [ depot.tools.eprintf "checking %s, version %s\n" "$crate" "$crate_version" ]
+ check-all-our-crates = depot.nix.runExecline "check-all-our-crates"
+ {
+ stdin = lib.concatStrings
+ (map
+ (crate:
+ depot.nix.netstring.fromString
+ (depot.nix.netstring.fromString crate.crateName
+ + depot.nix.netstring.fromString crate.version))
+ our-crates);
+ } [
+ "if"
+ [
+ "forstdin"
+ "-o"
+ "0"
+ "-Ed"
+ ""
+ "crateNetstring"
+ "multidefine"
+ "-d"
+ ""
+ "$crateNetstring"
+ [ "crate" "crate_version" ]
+ "if"
+ [ depot.tools.eprintf "checking %s, version %s\n" "$crate" "$crate_version" ]
- "ifthenelse" [ bins.s6-test "-d" "${crate-advisories}/\${crate}" ]
- [ # also print the full advisory text if it matches
- "export" "PRINT_ADVISORY" "1"
- check-crate-advisory "${crate-advisories}/\${crate}" "$crate" "$crate_version"
- ]
- [ depot.tools.eprintf "No advisories found for crate %s\n" "$crate" ]
- "importas" "-ui" "ret" "?"
- # put a marker in ./failed to read at the end
- "ifelse" [ bins.s6-test "$ret" "-eq" "1" ]
- [ bins.s6-touch "./failed" ]
- "if" [ depot.tools.eprintf "\n" ]
- "exit" "$ret"
- ]
- "ifelse" [ bins.s6-test "-f" "./failed" ]
- [ "if" [ depot.tools.eprintf "Error: Found active advisories!" ]
- "exit" "1"
+ "ifthenelse"
+ [ bins.s6-test "-d" "${crate-advisories}/\${crate}" ]
+ [
+ # also print the full advisory text if it matches
+ "export"
+ "PRINT_ADVISORY"
+ "1"
+ check-crate-advisory
+ "${crate-advisories}/\${crate}"
+ "$crate"
+ "$crate_version"
]
- "importas" "out" "out"
- bins.s6-touch "$out"
+ [ depot.tools.eprintf "No advisories found for crate %s\n" "$crate" ]
+ "importas"
+ "-ui"
+ "ret"
+ "?"
+ # put a marker in ./failed to read at the end
+ "ifelse"
+ [ bins.s6-test "$ret" "-eq" "1" ]
+ [ bins.s6-touch "./failed" ]
+ "if"
+ [ depot.tools.eprintf "\n" ]
+ "exit"
+ "$ret"
+ ]
+ "ifelse"
+ [ bins.s6-test "-f" "./failed" ]
+ [
+ "if"
+ [ depot.tools.eprintf "Error: Found active advisories!" ]
+ "exit"
+ "1"
+ ]
+ "importas"
+ "out"
+ "out"
+ bins.s6-touch
+ "$out"
];
-in depot.nix.readTree.drvTargets {
+in
+depot.nix.readTree.drvTargets {
check-all-our-crates =
depot.nix.drvSeqL
diff --git a/tools/tvlc/default.nix b/tools/tvlc/default.nix
index f40f30a44..a6f201485 100644
--- a/tools/tvlc/default.nix
+++ b/tools/tvlc/default.nix
@@ -43,7 +43,8 @@ let
'';
};
-in {
+in
+{
inherit pathScripts;
inherit commonsh;
inherit tvlcNew;
diff --git a/tvix/default.nix b/tvix/default.nix
index 82cd87cda..fb4b367ec 100644
--- a/tvix/default.nix
+++ b/tvix/default.nix
@@ -1,2 +1,2 @@
-{...}:
-{}
+{ ... }:
+{ }
diff --git a/tvix/docs/default.nix b/tvix/docs/default.nix
index 4b09f8d2d..016d641df 100644
--- a/tvix/docs/default.nix
+++ b/tvix/docs/default.nix
@@ -4,9 +4,9 @@ let
tl = pkgs.texlive.combine {
inherit (pkgs.texlive) scheme-medium wrapfig ulem capt-of
- titlesec preprint enumitem paralist ctex environ svg
- beamer trimspaces zhnumber changepage framed pdfpages
- fvextra minted upquote ifplatform xstring;
+ titlesec preprint enumitem paralist ctex environ svg
+ beamer trimspaces zhnumber changepage framed pdfpages
+ fvextra minted upquote ifplatform xstring;
};
csl = pkgs.fetchurl {
@@ -15,7 +15,8 @@ let
sha256 = "1yfhhnhbzvhrv93baz98frmgsx5y442nzhb0l956l4j35fb0cc3h";
};
-in pkgs.stdenv.mkDerivation {
+in
+pkgs.stdenv.mkDerivation {
pname = "tvix-doc";
version = "0.1";
diff --git a/tvix/proto/default.nix b/tvix/proto/default.nix
index 7ff03ba3b..ac0ee66e8 100644
--- a/tvix/proto/default.nix
+++ b/tvix/proto/default.nix
@@ -3,7 +3,7 @@
# anywhere, it just functions as a CI check for now.
{ pkgs, ... }:
-pkgs.runCommandNoCC "tvix-cc-proto" {} ''
+pkgs.runCommandNoCC "tvix-cc-proto" { } ''
mkdir $out
${pkgs.protobuf}/bin/protoc -I ${./.} evaluator.proto --cpp_out=$out
''
diff --git a/tvix/shell.nix b/tvix/shell.nix
index 600d96d76..f57019cd9 100644
--- a/tvix/shell.nix
+++ b/tvix/shell.nix
@@ -1,8 +1,9 @@
let
- depot = (import ./.. {});
+ depot = (import ./.. { });
pkgs = depot.third_party.nixpkgs;
-in pkgs.mkShell {
+in
+pkgs.mkShell {
buildInputs = [
pkgs.rustup
pkgs.rust-analyzer
diff --git a/users/Profpatsch/arglib/netencode.nix b/users/Profpatsch/arglib/netencode.nix
index 50f4c11c2..3f1d121e5 100644
--- a/users/Profpatsch/arglib/netencode.nix
+++ b/users/Profpatsch/arglib/netencode.nix
@@ -2,13 +2,14 @@
let
netencode = {
- rust = depot.nix.writers.rustSimpleLib {
- name = "arglib-netencode";
- dependencies = [
- depot.users.Profpatsch.execline.exec-helpers
- depot.users.Profpatsch.netencode.netencode-rs
- ];
- } ''
+ rust = depot.nix.writers.rustSimpleLib
+ {
+ name = "arglib-netencode";
+ dependencies = [
+ depot.users.Profpatsch.execline.exec-helpers
+ depot.users.Profpatsch.netencode.netencode-rs
+ ];
+ } ''
extern crate netencode;
extern crate exec_helpers;
@@ -37,4 +38,5 @@ let
'';
};
-in depot.nix.readTree.drvTargets netencode
+in
+depot.nix.readTree.drvTargets netencode
diff --git a/users/Profpatsch/atomically-write.nix b/users/Profpatsch/atomically-write.nix
index d5039d3e4..c4d07cfbb 100644
--- a/users/Profpatsch/atomically-write.nix
+++ b/users/Profpatsch/atomically-write.nix
@@ -25,4 +25,5 @@ let
mv "$tmp/out" "$to"
'';
-in atomically-write
+in
+atomically-write
diff --git a/users/Profpatsch/blog/default.nix b/users/Profpatsch/blog/default.nix
index d3c5c596b..44a7a21aa 100644
--- a/users/Profpatsch/blog/default.nix
+++ b/users/Profpatsch/blog/default.nix
@@ -2,11 +2,11 @@
let
bins = depot.nix.getBins pkgs.lowdown [ "lowdown" ]
- // depot.nix.getBins pkgs.cdb [ "cdbget" "cdbmake" "cdbdump" ]
- // depot.nix.getBins pkgs.coreutils [ "mv" "cat" "printf" "test" ]
- // depot.nix.getBins pkgs.s6-networking [ "s6-tcpserver" ]
- // depot.nix.getBins pkgs.time [ "time" ]
- ;
+ // depot.nix.getBins pkgs.cdb [ "cdbget" "cdbmake" "cdbdump" ]
+ // depot.nix.getBins pkgs.coreutils [ "mv" "cat" "printf" "test" ]
+ // depot.nix.getBins pkgs.s6-networking [ "s6-tcpserver" ]
+ // depot.nix.getBins pkgs.time [ "time" ]
+ ;
# /
# TODO: use
@@ -14,7 +14,7 @@ let
{
route = [ "notes" ];
name = "Notes";
- page = {cssFile}: router cssFile;
+ page = { cssFile }: router cssFile;
}
{
route = [ "projects" ];
@@ -28,7 +28,7 @@ let
{
route = [ "notes" "preventing-oom" ];
name = "Preventing out-of-memory (OOM) errors on Linux";
- page = {cssFile}: markdownToHtml {
+ page = { cssFile }: markdownToHtml {
name = "preventing-oom";
markdown = ./notes/preventing-oom.md;
inherit cssFile;
@@ -37,7 +37,7 @@ let
{
route = [ "notes" "rust-string-conversions" ];
name = "Converting between different String types in Rust";
- page = {cssFile}: markdownToHtml {
+ page = { cssFile }: markdownToHtml {
name = "rust-string-conversions";
markdown = ./notes/rust-string-conversions.md;
inherit cssFile;
@@ -69,48 +69,52 @@ let
title = "Ligature Emulation in Emacs";
subtitle = "It’s not pretty, but the results are";
description = "How to set up ligatures using prettify-symbols-mode
and the Hasklig/FiraCode fonts.";
- page = {cssFile}: markdownToHtml {
+ page = { cssFile }: markdownToHtml {
name = "2017-05-04-ligature-emluation-in-emacs";
markdown = ./posts/2017-05-04-ligature-emulation-in-emacs.md;
inherit cssFile;
};
route = [ "posts" "2017-05-04-ligature-emluation-in-emacs" ];
- tags = ["emacs"];
+ tags = [ "emacs" ];
}
];
# convert a markdown file to html via lowdown
- markdownToHtml = {
- name,
- # the file to convert
- markdown,
- # css file to add to the final result, as { route }
- cssFile
- }:
- depot.nix.runExecline "${name}.html" {} ([
- "importas" "out" "out"
+ markdownToHtml =
+ { name
+ , # the file to convert
+ markdown
+ , # css file to add to the final result, as { route }
+ cssFile
+ }:
+ depot.nix.runExecline "${name}.html" { } ([
+ "importas"
+ "out"
+ "out"
(depot.users.Profpatsch.lib.debugExec "")
bins.lowdown
- "-s" "-Thtml"
- ] ++
- (lib.optional (cssFile != null) (["-M" "css=${mkRoute cssFile.route}"]))
- ++ [
- "-o" "$out"
- markdown
+ "-s"
+ "-Thtml"
+ ] ++
+ (lib.optional (cssFile != null) ([ "-M" "css=${mkRoute cssFile.route}" ]))
+ ++ [
+ "-o"
+ "$out"
+ markdown
]);
# takes a { route … } attrset and converts the route lists to an absolute path
fullRoute = attrs: lib.pipe attrs [
- (map (x@{route, ...}: x // { route = mkRoute route; }))
+ (map (x@{ route, ... }: x // { route = mkRoute route; }))
];
# a cdb from route to a netencoded version of data for each route
router = cssFile: lib.pipe (notes ++ posts) [
(map (r: with depot.users.Profpatsch.lens;
- lib.pipe r [
- (over (field "route") mkRoute)
- (over (field "page") (_ { inherit cssFile; }))
- ]))
+ lib.pipe r [
+ (over (field "route") mkRoute)
+ (over (field "page") (_ { inherit cssFile; }))
+ ]))
(map (x: {
name = x.route;
value = depot.users.Profpatsch.netencode.gen.dwim x;
@@ -121,11 +125,12 @@ let
# Create a link to the given source file/directory, given the relative path in the depot repo.
# Checks that the file exists at evaluation time.
- depotCgitLink = {
- # relative path from the depot root (without leading /).
- relativePath
- }:
- assert
+ depotCgitLink =
+ {
+ # relative path from the depot root (without leading /).
+ relativePath
+ }:
+ assert
(lib.assertMsg
(builtins.pathExists (depot.path.origSrc + "/${relativePath}"))
"depotCgitLink: path /${relativePath} does not exist in depot, and depot.path was ${toString depot.path}");
@@ -133,12 +138,20 @@ let
# look up a route by path ($1)
router-lookup = cssFile: depot.nix.writeExecline "router-lookup" { readNArgs = 1; } [
- cdbLookup (router cssFile) "$1"
+ cdbLookup
+ (router cssFile)
+ "$1"
];
runExeclineStdout = name: args: cmd: depot.nix.runExecline name args ([
- "importas" "-ui" "out" "out"
- "redirfd" "-w" "1" "$out"
+ "importas"
+ "-ui"
+ "out"
+ "out"
+ "redirfd"
+ "-w"
+ "1"
+ "$out"
] ++ cmd);
notes-index-html =
@@ -170,106 +183,167 @@ let
html = s: s;
projects-index-html =
- let o = projects;
- in ''
-
- ${scope o (o: ''
- - ${esc o.name}
- - ${html o.description}
- '')}
-
- '';
+ let o = projects;
+ in ''
+
+ ${scope o (o: ''
+ - ${esc o.name}
+ - ${html o.description}
+ '')}
+
+ '';
projects-index = pkgs.writeText "projects-index.html" projects-index-html;
posts-index-html =
- let o = fullRoute posts;
- in ''
-
- ${scope o (o: ''
- - ${str o.date} ${esc o.title}
- - ${html o.description}
- '')}
-
- '';
+ let o = fullRoute posts;
+ in ''
+
+ ${scope o (o: ''
+ - ${str o.date} ${esc o.title}
+ - ${html o.description}
+ '')}
+
+ '';
posts-index = pkgs.writeText "projects-index.html" posts-index-html;
arglibNetencode = val: depot.nix.writeExecline "arglib-netencode" { } [
- "export" "ARGLIB_NETENCODE" (depot.users.Profpatsch.netencode.gen.dwim val)
+ "export"
+ "ARGLIB_NETENCODE"
+ (depot.users.Profpatsch.netencode.gen.dwim val)
"$@"
];
# A simple http server that serves the site. Yes, it’s horrible.
- site-server = { cssFile, port }: depot.nix.writeExecline "blog-server" {} [
+ site-server = { cssFile, port }: depot.nix.writeExecline "blog-server" { } [
(depot.users.Profpatsch.lib.runInEmptyEnv [ "PATH" ])
- bins.s6-tcpserver "127.0.0.1" port
- bins.time "--format=time: %es" "--"
- runOr return400
- "pipeline" [
+ bins.s6-tcpserver
+ "127.0.0.1"
+ port
+ bins.time
+ "--format=time: %es"
+ "--"
+ runOr
+ return400
+ "pipeline"
+ [
(arglibNetencode {
what = "request";
})
depot.users.Profpatsch.read-http
]
depot.users.Profpatsch.netencode.record-splice-env
- runOr return500
- "importas" "-i" "path" "path"
- "if" [ depot.tools.eprintf "GET \${path}\n" ]
- runOr return404
- "backtick" "-ni" "TEMPLATE_DATA" [
+ runOr
+ return500
+ "importas"
+ "-i"
+ "path"
+ "path"
+ "if"
+ [ depot.tools.eprintf "GET \${path}\n" ]
+ runOr
+ return404
+ "backtick"
+ "-ni"
+ "TEMPLATE_DATA"
+ [
# TODO: factor this out of here, this is routing not serving
- "ifelse" [ bins.test "$path" "=" "/notes" ]
- [ "export" "content-type" "text/html"
- "export" "serve-file" notes-index
- depot.users.Profpatsch.netencode.env-splice-record
- ]
- "ifelse" [ bins.test "$path" "=" "/projects" ]
- [ "export" "content-type" "text/html"
- "export" "serve-file" projects-index
- depot.users.Profpatsch.netencode.env-splice-record
- ]
- "ifelse" [ bins.test "$path" "=" "/posts" ]
- [ "export" "content-type" "text/html"
- "export" "serve-file" posts-index
- depot.users.Profpatsch.netencode.env-splice-record
- ]
+ "ifelse"
+ [ bins.test "$path" "=" "/notes" ]
+ [
+ "export"
+ "content-type"
+ "text/html"
+ "export"
+ "serve-file"
+ notes-index
+ depot.users.Profpatsch.netencode.env-splice-record
+ ]
+ "ifelse"
+ [ bins.test "$path" "=" "/projects" ]
+ [
+ "export"
+ "content-type"
+ "text/html"
+ "export"
+ "serve-file"
+ projects-index
+ depot.users.Profpatsch.netencode.env-splice-record
+ ]
+ "ifelse"
+ [ bins.test "$path" "=" "/posts" ]
+ [
+ "export"
+ "content-type"
+ "text/html"
+ "export"
+ "serve-file"
+ posts-index
+ depot.users.Profpatsch.netencode.env-splice-record
+ ]
# TODO: ignore potential query arguments. See 404 message
- "pipeline" [ (router-lookup cssFile) "$path" ]
+ "pipeline"
+ [ (router-lookup cssFile) "$path" ]
depot.users.Profpatsch.netencode.record-splice-env
- "importas" "-ui" "page" "page"
- "export" "content-type" "text/html"
- "export" "serve-file" "$page"
+ "importas"
+ "-ui"
+ "page"
+ "page"
+ "export"
+ "content-type"
+ "text/html"
+ "export"
+ "serve-file"
+ "$page"
depot.users.Profpatsch.netencode.env-splice-record
]
- runOr return500
- "if" [
- "pipeline" [ bins.printf ''
- HTTP/1.1 200 OK
- Content-Type: {{{content-type}}}; charset=UTF-8
- Connection: close
+ runOr
+ return500
+ "if"
+ [
+ "pipeline"
+ [
+ bins.printf
+ ''
+ HTTP/1.1 200 OK
+ Content-Type: {{{content-type}}}; charset=UTF-8
+ Connection: close
- '' ]
+ ''
+ ]
depot.users.Profpatsch.netencode.netencode-mustache
]
- "pipeline" [ "importas" "t" "TEMPLATE_DATA" bins.printf "%s" "$t" ]
+ "pipeline"
+ [ "importas" "t" "TEMPLATE_DATA" bins.printf "%s" "$t" ]
depot.users.Profpatsch.netencode.record-splice-env
- "importas" "-ui" "serve-file" "serve-file"
- bins.cat "$serve-file"
+ "importas"
+ "-ui"
+ "serve-file"
+ "serve-file"
+ bins.cat
+ "$serve-file"
];
# run argv or $1 if argv returns a failure status code.
runOr = depot.nix.writeExecline "run-or" { readNArgs = 1; } [
- "foreground" [ "$@" ]
- "importas" "?" "?"
- "ifelse" [ bins.test "$?" "-eq" "0" ]
- []
- "if" [ depot.tools.eprintf "runOr: exited \${?}, running \${1}\n" ]
+ "foreground"
+ [ "$@" ]
+ "importas"
+ "?"
+ "?"
+ "ifelse"
+ [ bins.test "$?" "-eq" "0" ]
+ [ ]
+ "if"
+ [ depot.tools.eprintf "runOr: exited \${?}, running \${1}\n" ]
"$1"
];
- return400 = depot.nix.writeExecline "return400" {} [
- bins.printf "%s" ''
+ return400 = depot.nix.writeExecline "return400" { } [
+ bins.printf
+ "%s"
+ ''
HTTP/1.1 400 Bad Request
Content-Type: text/plain; charset=UTF-8
Connection: close
@@ -277,8 +351,10 @@ let
''
];
- return404 = depot.nix.writeExecline "return404" {} [
- bins.printf "%s" ''
+ return404 = depot.nix.writeExecline "return404" { } [
+ bins.printf
+ "%s"
+ ''
HTTP/1.1 404 Not Found
Content-Type: text/plain; charset=UTF-8
Connection: close
@@ -287,8 +363,10 @@ let
''
];
- return500 = depot.nix.writeExecline "return500" {} [
- bins.printf "%s" ''
+ return500 = depot.nix.writeExecline "return500" { } [
+ bins.printf
+ "%s"
+ ''
HTTP/1.1 500 Internal Server Error
Content-Type: text/plain; charset=UTF-8
Connection: close
@@ -297,10 +375,11 @@ let
''
];
- capture-stdin = depot.nix.writers.rustSimple {
- name = "capture-stdin";
- dependencies = [ depot.users.Profpatsch.execline.exec-helpers ];
- } ''
+ capture-stdin = depot.nix.writers.rustSimple
+ {
+ name = "capture-stdin";
+ dependencies = [ depot.users.Profpatsch.execline.exec-helpers ];
+ } ''
extern crate exec_helpers;
use std::io::Read;
fn main() {
@@ -337,29 +416,40 @@ let
cdbRecords =
with depot.nix.yants;
defun [ (attrs (either drv string)) string ]
- (attrs:
- (lib.concatStrings (lib.mapAttrsToList cdbRecord attrs)) + "\n");
+ (attrs:
+ (lib.concatStrings (lib.mapAttrsToList cdbRecord attrs)) + "\n");
# run cdbmake on a list of key/value pairs (strings
- cdbMake = name: attrs: depot.nix.runExecline "${name}.cdb" {
- stdin = cdbRecords attrs;
- } [
- "importas" "out" "out"
+ cdbMake = name: attrs: depot.nix.runExecline "${name}.cdb"
+ {
+ stdin = cdbRecords attrs;
+ } [
+ "importas"
+ "out"
+ "out"
depot.users.Profpatsch.lib.eprint-stdin
- "if" [ bins.cdbmake "db" "tmp" ]
- bins.mv "db" "$out"
+ "if"
+ [ bins.cdbmake "db" "tmp" ]
+ bins.mv
+ "db"
+ "$out"
];
# look up a key ($2) in the given cdb ($1)
cdbLookup = depot.nix.writeExecline "cdb-lookup" { readNArgs = 2; } [
# cdb ($1) on stdin
- "redirfd" "-r" "0" "$1"
+ "redirfd"
+ "-r"
+ "0"
+ "$1"
# key ($2) lookup
- bins.cdbget "$2"
+ bins.cdbget
+ "$2"
];
-in depot.nix.readTree.drvTargets {
- inherit
+in
+depot.nix.readTree.drvTargets {
+ inherit
router
depotCgitLink
site-server
diff --git a/users/Profpatsch/cdb.nix b/users/Profpatsch/cdb.nix
index 8cfaa3ea7..86e0a2d58 100644
--- a/users/Profpatsch/cdb.nix
+++ b/users/Profpatsch/cdb.nix
@@ -1,14 +1,15 @@
{ depot, pkgs, ... }:
let
- cdbListToNetencode = depot.nix.writers.rustSimple {
- name = "cdb-list-to-netencode";
- dependencies = [
- depot.third_party.rust-crates.nom
- depot.users.Profpatsch.execline.exec-helpers
- depot.users.Profpatsch.netencode.netencode-rs
- ];
- } ''
+ cdbListToNetencode = depot.nix.writers.rustSimple
+ {
+ name = "cdb-list-to-netencode";
+ dependencies = [
+ depot.third_party.rust-crates.nom
+ depot.users.Profpatsch.execline.exec-helpers
+ depot.users.Profpatsch.netencode.netencode-rs
+ ];
+ } ''
extern crate nom;
extern crate exec_helpers;
extern crate netencode;
@@ -84,7 +85,8 @@ let
'';
-in {
+in
+{
inherit
cdbListToNetencode
;
diff --git a/users/Profpatsch/emacs-tree-sitter-move/default.nix b/users/Profpatsch/emacs-tree-sitter-move/default.nix
index fdc059c08..a9f259d96 100644
--- a/users/Profpatsch/emacs-tree-sitter-move/default.nix
+++ b/users/Profpatsch/emacs-tree-sitter-move/default.nix
@@ -1,3 +1,3 @@
# nothing yet (TODO: expose shell & tool)
-{...}:
-{}
+{ ... }:
+{ }
diff --git a/users/Profpatsch/emacs-tree-sitter-move/shell.nix b/users/Profpatsch/emacs-tree-sitter-move/shell.nix
index 81d622ac7..f400d5c02 100644
--- a/users/Profpatsch/emacs-tree-sitter-move/shell.nix
+++ b/users/Profpatsch/emacs-tree-sitter-move/shell.nix
@@ -1,14 +1,15 @@
-{ pkgs ? import ../../../third_party {}, ... }:
+{ pkgs ? import ../../../third_party { }, ... }:
let
inherit (pkgs) lib;
- treeSitterGrammars = pkgs.runCommandLocal "grammars" {} ''
+ treeSitterGrammars = pkgs.runCommandLocal "grammars" { } ''
mkdir -p $out/bin
${lib.concatStringsSep "\n"
(lib.mapAttrsToList (name: src: "ln -s ${src}/parser $out/bin/${name}.so") pkgs.tree-sitter.builtGrammars)};
'';
-in pkgs.mkShell {
+in
+pkgs.mkShell {
buildInputs = [
pkgs.tree-sitter.builtGrammars.python
];
diff --git a/users/Profpatsch/execline/default.nix b/users/Profpatsch/execline/default.nix
index c6a8d284a..752774e6a 100644
--- a/users/Profpatsch/execline/default.nix
+++ b/users/Profpatsch/execline/default.nix
@@ -1,16 +1,19 @@
{ depot, pkgs, lib, ... }:
let
- exec-helpers = depot.nix.writers.rustSimpleLib {
- name = "exec-helpers";
- } (builtins.readFile ./exec_helpers.rs);
+ exec-helpers = depot.nix.writers.rustSimpleLib
+ {
+ name = "exec-helpers";
+ }
+ (builtins.readFile ./exec_helpers.rs);
- print-one-env = depot.nix.writers.rustSimple {
- name = "print-one-env";
- dependencies = [
- depot.users.Profpatsch.execline.exec-helpers
- ];
- } ''
+ print-one-env = depot.nix.writers.rustSimple
+ {
+ name = "print-one-env";
+ dependencies = [
+ depot.users.Profpatsch.execline.exec-helpers
+ ];
+ } ''
extern crate exec_helpers;
use std::os::unix::ffi::OsStrExt;
use std::io::Write;
@@ -25,7 +28,8 @@ let
}
'';
-in depot.nix.readTree.drvTargets {
+in
+depot.nix.readTree.drvTargets {
inherit
exec-helpers
print-one-env
diff --git a/users/Profpatsch/git-db/default.nix b/users/Profpatsch/git-db/default.nix
index 7c6f1aee7..ad5d92767 100644
--- a/users/Profpatsch/git-db/default.nix
+++ b/users/Profpatsch/git-db/default.nix
@@ -1,8 +1,10 @@
{ depot, pkgs, lib, ... }:
-depot.nix.writers.rustSimple {
+depot.nix.writers.rustSimple
+{
name = "git-db";
dependencies = [
depot.third_party.rust-crates.git2
];
-} (builtins.readFile ./git-db.rs)
+}
+ (builtins.readFile ./git-db.rs)
diff --git a/users/Profpatsch/imap-idle.nix b/users/Profpatsch/imap-idle.nix
index 3ad5375d8..84af5d0e5 100644
--- a/users/Profpatsch/imap-idle.nix
+++ b/users/Profpatsch/imap-idle.nix
@@ -1,14 +1,17 @@
{ depot, pkgs, lib, ... }:
let
- imap-idle = depot.nix.writers.rustSimple {
- name = "imap-idle";
- dependencies = [
- depot.users.Profpatsch.arglib.netencode.rust
- depot.third_party.rust-crates.imap
- depot.third_party.rust-crates.epoll
- depot.users.Profpatsch.execline.exec-helpers
- ];
- } (builtins.readFile ./imap-idle.rs);
+ imap-idle = depot.nix.writers.rustSimple
+ {
+ name = "imap-idle";
+ dependencies = [
+ depot.users.Profpatsch.arglib.netencode.rust
+ depot.third_party.rust-crates.imap
+ depot.third_party.rust-crates.epoll
+ depot.users.Profpatsch.execline.exec-helpers
+ ];
+ }
+ (builtins.readFile ./imap-idle.rs);
-in imap-idle
+in
+imap-idle
diff --git a/users/Profpatsch/lens.nix b/users/Profpatsch/lens.nix
index 58d9c27f5..28f7506bd 100644
--- a/users/Profpatsch/lens.nix
+++ b/users/Profpatsch/lens.nix
@@ -32,7 +32,7 @@ let
inherit fst snd;
};
- swap = {fst, snd}: {
+ swap = { fst, snd }: {
fst = snd;
snd = fst;
};
@@ -71,7 +71,7 @@ let
lensP = strong: to: pab:
strong.dimap
to
- ({fst,snd}: snd fst)
+ ({ fst, snd }: snd fst)
(strong.firstP pab);
# first element of a tuple
@@ -112,7 +112,8 @@ let
(map (accessor: accessor profunctorSubclass) accessors);
-in {
+in
+{
inherit
id
_
diff --git a/users/Profpatsch/lib.nix b/users/Profpatsch/lib.nix
index e3d59b7d8..879d87755 100644
--- a/users/Profpatsch/lib.nix
+++ b/users/Profpatsch/lib.nix
@@ -1,34 +1,49 @@
{ depot, pkgs, ... }:
let
bins = depot.nix.getBins pkgs.coreutils [ "printf" "echo" "cat" "printenv" "tee" ]
- // depot.nix.getBins pkgs.bash [ "bash" ]
- // depot.nix.getBins pkgs.fdtools [ "multitee" ]
- ;
+ // depot.nix.getBins pkgs.bash [ "bash" ]
+ // depot.nix.getBins pkgs.fdtools [ "multitee" ]
+ ;
# Print `msg` and and argv to stderr, then execute into argv
- debugExec = msg: depot.nix.writeExecline "debug-exec" {} [
- "if" [
- "fdmove" "-c" "1" "2"
- "if" [ bins.printf "%s: " msg ]
- "if" [ bins.echo "$@" ]
+ debugExec = msg: depot.nix.writeExecline "debug-exec" { } [
+ "if"
+ [
+ "fdmove"
+ "-c"
+ "1"
+ "2"
+ "if"
+ [ bins.printf "%s: " msg ]
+ "if"
+ [ bins.echo "$@" ]
]
"$@"
];
# Print stdin to stderr and stdout
- eprint-stdin = depot.nix.writeExecline "eprint-stdin" {} [
- "pipeline" [ bins.multitee "0-1,2" ] "$@"
+ eprint-stdin = depot.nix.writeExecline "eprint-stdin" { } [
+ "pipeline"
+ [ bins.multitee "0-1,2" ]
+ "$@"
];
# Assume the input on stdin is netencode, pretty print it to stderr and forward it to stdout
- eprint-stdin-netencode = depot.nix.writeExecline "eprint-stdin-netencode" {} [
- "pipeline" [
+ eprint-stdin-netencode = depot.nix.writeExecline "eprint-stdin-netencode" { } [
+ "pipeline"
+ [
# move stdout to 3
- "fdmove" "3" "1"
+ "fdmove"
+ "3"
+ "1"
# the multitee copies stdin to 1 (the other pipeline end) and 3 (the stdout of the outer pipeline block)
- "pipeline" [ bins.multitee "0-1,3" ]
+ "pipeline"
+ [ bins.multitee "0-1,3" ]
# make stderr the stdout of pretty, merging with the stderr of pretty
- "fdmove" "-c" "1" "2"
+ "fdmove"
+ "-c"
+ "1"
+ "2"
depot.users.Profpatsch.netencode.pretty
]
"$@"
@@ -36,9 +51,11 @@ let
# print the given environment variable in $1 to stderr, then execute into the rest of argv
eprintenv = depot.nix.writeExecline "eprintenv" { readNArgs = 1; } [
- "ifelse" [ "fdmove" "-c" "1" "2" bins.printenv "$1" ]
+ "ifelse"
+ [ "fdmove" "-c" "1" "2" bins.printenv "$1" ]
[ "$@" ]
- "if" [ depot.tools.eprintf "eprintenv: could not find \"\${1}\" in the environment\n" ]
+ "if"
+ [ depot.tools.eprintf "eprintenv: could not find \"\${1}\" in the environment\n" ]
"$@"
];
@@ -52,24 +69,34 @@ let
# stdout: foo\n
# stderr: foo\nbar\n
split-stdin = depot.nix.writeExecline "split-stdin" { argMode = "env"; } [
- "pipeline" [
+ "pipeline"
+ [
# this is horrible yes but the quickest way I knew how to implement it
- "runblock" "1" bins.bash "-c" ''${bins.tee} >("$@")'' "bash-split-stdin"
+ "runblock"
+ "1"
+ bins.bash
+ "-c"
+ ''${bins.tee} >("$@")''
+ "bash-split-stdin"
]
- "runblock" "-r" "1"
+ "runblock"
+ "-r"
+ "1"
];
# remove everything but a few selected environment variables
runInEmptyEnv = keepVars:
let
- importas = pkgs.lib.concatMap (var: [ "importas" "-i" var var ]) keepVars;
- # we have to explicitely call export here, because PATH is probably empty
- export = pkgs.lib.concatMap (var: [ "${pkgs.execline}/bin/export" var ''''${${var}}'' ]) keepVars;
- in depot.nix.writeExecline "empty-env" {}
- (importas ++ [ "emptyenv" ] ++ export ++ [ "${pkgs.execline}/bin/exec" "$@" ]);
+ importas = pkgs.lib.concatMap (var: [ "importas" "-i" var var ]) keepVars;
+ # we have to explicitely call export here, because PATH is probably empty
+ export = pkgs.lib.concatMap (var: [ "${pkgs.execline}/bin/export" var ''''${${var}}'' ]) keepVars;
+ in
+ depot.nix.writeExecline "empty-env" { }
+ (importas ++ [ "emptyenv" ] ++ export ++ [ "${pkgs.execline}/bin/exec" "$@" ]);
-in {
+in
+{
inherit
debugExec
eprint-stdin
diff --git a/users/Profpatsch/netencode/default.nix b/users/Profpatsch/netencode/default.nix
index 739bda3d7..d38925814 100644
--- a/users/Profpatsch/netencode/default.nix
+++ b/users/Profpatsch/netencode/default.nix
@@ -1,31 +1,36 @@
{ depot, pkgs, lib, ... }:
let
- netencode-rs = depot.nix.writers.rustSimpleLib {
+ netencode-rs = depot.nix.writers.rustSimpleLib
+ {
name = "netencode";
dependencies = [
depot.third_party.rust-crates.nom
depot.users.Profpatsch.execline.exec-helpers
];
- } (builtins.readFile ./netencode.rs);
+ }
+ (builtins.readFile ./netencode.rs);
gen = import ./gen.nix { inherit lib; };
- pretty-rs = depot.nix.writers.rustSimpleLib {
- name = "netencode-pretty";
- dependencies = [
- netencode-rs
- ];
- } (builtins.readFile ./pretty.rs);
+ pretty-rs = depot.nix.writers.rustSimpleLib
+ {
+ name = "netencode-pretty";
+ dependencies = [
+ netencode-rs
+ ];
+ }
+ (builtins.readFile ./pretty.rs);
- pretty = depot.nix.writers.rustSimple {
- name = "netencode-pretty";
- dependencies = [
- netencode-rs
- pretty-rs
- depot.users.Profpatsch.execline.exec-helpers
- ];
- } ''
+ pretty = depot.nix.writers.rustSimple
+ {
+ name = "netencode-pretty";
+ dependencies = [
+ netencode-rs
+ pretty-rs
+ depot.users.Profpatsch.execline.exec-helpers
+ ];
+ } ''
extern crate netencode;
extern crate netencode_pretty;
extern crate exec_helpers;
@@ -41,24 +46,27 @@ let
}
'';
- netencode-mustache = depot.nix.writers.rustSimple {
- name = "netencode_mustache";
- dependencies = [
- depot.users.Profpatsch.arglib.netencode.rust
- netencode-rs
- depot.third_party.rust-crates.mustache
- ];
- } (builtins.readFile ./netencode-mustache.rs);
+ netencode-mustache = depot.nix.writers.rustSimple
+ {
+ name = "netencode_mustache";
+ dependencies = [
+ depot.users.Profpatsch.arglib.netencode.rust
+ netencode-rs
+ depot.third_party.rust-crates.mustache
+ ];
+ }
+ (builtins.readFile ./netencode-mustache.rs);
- record-get = depot.nix.writers.rustSimple {
- name = "record-get";
- dependencies = [
- netencode-rs
- depot.users.Profpatsch.execline.exec-helpers
- depot.users.Profpatsch.arglib.netencode.rust
- ];
- } ''
+ record-get = depot.nix.writers.rustSimple
+ {
+ name = "record-get";
+ dependencies = [
+ netencode-rs
+ depot.users.Profpatsch.execline.exec-helpers
+ depot.users.Profpatsch.arglib.netencode.rust
+ ];
+ } ''
extern crate netencode;
extern crate arglib_netencode;
extern crate exec_helpers;
@@ -80,13 +88,14 @@ let
}
'';
- record-splice-env = depot.nix.writers.rustSimple {
- name = "record-splice-env";
- dependencies = [
- netencode-rs
- depot.users.Profpatsch.execline.exec-helpers
- ];
- } ''
+ record-splice-env = depot.nix.writers.rustSimple
+ {
+ name = "record-splice-env";
+ dependencies = [
+ netencode-rs
+ depot.users.Profpatsch.execline.exec-helpers
+ ];
+ } ''
extern crate netencode;
extern crate exec_helpers;
use netencode::dec::{Record, Try, ScalarAsBytes, Decoder, DecodeError};
@@ -109,13 +118,14 @@ let
}
'';
- env-splice-record = depot.nix.writers.rustSimple {
- name = "env-splice-record";
- dependencies = [
- netencode-rs
- depot.users.Profpatsch.execline.exec-helpers
- ];
- } ''
+ env-splice-record = depot.nix.writers.rustSimple
+ {
+ name = "env-splice-record";
+ dependencies = [
+ netencode-rs
+ depot.users.Profpatsch.execline.exec-helpers
+ ];
+ } ''
extern crate netencode;
extern crate exec_helpers;
use netencode::{T};
@@ -135,7 +145,8 @@ let
}
'';
-in depot.nix.readTree.drvTargets {
+in
+depot.nix.readTree.drvTargets {
inherit
netencode-rs
pretty-rs
diff --git a/users/Profpatsch/netencode/gen.nix b/users/Profpatsch/netencode/gen.nix
index 305ff7b08..efc9629ca 100644
--- a/users/Profpatsch/netencode/gen.nix
+++ b/users/Profpatsch/netencode/gen.nix
@@ -27,29 +27,33 @@ let
concatStrings = builtins.concatStringsSep "";
record = lokv: netstring "{" "}"
- (concatStrings (map ({key, val}: tag key val) lokv));
+ (concatStrings (map ({ key, val }: tag key val) lokv));
list = l: netstring "[" "]" (concatStrings l);
dwim = val:
- let match = {
- "bool" = n1;
- "int" = i6;
- "string" = text;
- "set" = attrs:
- # it could be a derivation, then just return the path
- if attrs.type or "" == "derivation" then text "${attrs}"
- else
- record (lib.mapAttrsToList
- (k: v: {
- key = k;
- val = dwim v;
- }) attrs);
- "list" = l: list (map dwim l);
- };
- in match.${builtins.typeOf val} val;
+ let
+ match = {
+ "bool" = n1;
+ "int" = i6;
+ "string" = text;
+ "set" = attrs:
+ # it could be a derivation, then just return the path
+ if attrs.type or "" == "derivation" then text "${attrs}"
+ else
+ record (lib.mapAttrsToList
+ (k: v: {
+ key = k;
+ val = dwim v;
+ })
+ attrs);
+ "list" = l: list (map dwim l);
+ };
+ in
+ match.${builtins.typeOf val} val;
-in {
+in
+{
inherit
unit
n1
diff --git a/users/Profpatsch/netstring/default.nix b/users/Profpatsch/netstring/default.nix
index b4990cae6..e85cf24dd 100644
--- a/users/Profpatsch/netstring/default.nix
+++ b/users/Profpatsch/netstring/default.nix
@@ -12,9 +12,10 @@ let
(k: v: toNetstring (toNetstring k + toNetstring v))
attrs);
- python-netstring = depot.users.Profpatsch.writers.python3Lib {
- name = "netstring";
- } ''
+ python-netstring = depot.users.Profpatsch.writers.python3Lib
+ {
+ name = "netstring";
+ } ''
def read_netstring(bytes):
(int_length, rest) = bytes.split(sep=b':', maxsplit=1)
val = rest[:int(int_length)]
@@ -39,9 +40,10 @@ let
return res
'';
- rust-netstring = depot.nix.writers.rustSimpleLib {
- name = "netstring";
- } ''
+ rust-netstring = depot.nix.writers.rustSimpleLib
+ {
+ name = "netstring";
+ } ''
pub fn to_netstring(s: &[u8]) -> Vec {
let len = s.len();
// length of the integer as ascii
@@ -55,12 +57,13 @@ let
}
'';
-in depot.nix.readTree.drvTargets {
+in
+depot.nix.readTree.drvTargets {
inherit
toNetstring
toNetstringList
toNetstringKeyVal
python-netstring
rust-netstring
- ;
+ ;
}
diff --git a/users/Profpatsch/netstring/tests/default.nix b/users/Profpatsch/netstring/tests/default.nix
index 710ba3d30..6a1062988 100644
--- a/users/Profpatsch/netstring/tests/default.nix
+++ b/users/Profpatsch/netstring/tests/default.nix
@@ -2,12 +2,13 @@
let
- python-netstring-test = depot.users.Profpatsch.writers.python3 {
- name = "python-netstring-test";
- libraries = p: [
- depot.users.Profpatsch.netstring.python-netstring
- ];
- } ''
+ python-netstring-test = depot.users.Profpatsch.writers.python3
+ {
+ name = "python-netstring-test";
+ libraries = p: [
+ depot.users.Profpatsch.netstring.python-netstring
+ ];
+ } ''
import netstring
def assEq(left, right):
@@ -33,12 +34,13 @@ let
)
'';
- rust-netstring-test = depot.nix.writers.rustSimple {
- name = "rust-netstring-test";
- dependencies = [
- depot.users.Profpatsch.netstring.rust-netstring
- ];
- } ''
+ rust-netstring-test = depot.nix.writers.rustSimple
+ {
+ name = "rust-netstring-test";
+ dependencies = [
+ depot.users.Profpatsch.netstring.rust-netstring
+ ];
+ } ''
extern crate netstring;
fn main() {
@@ -53,7 +55,8 @@ let
}
'';
-in depot.nix.readTree.drvTargets {
+in
+depot.nix.readTree.drvTargets {
inherit
python-netstring-test
rust-netstring-test
diff --git a/users/Profpatsch/nix-home/default.nix b/users/Profpatsch/nix-home/default.nix
index cf9ab0d4d..8f52055ad 100644
--- a/users/Profpatsch/nix-home/default.nix
+++ b/users/Profpatsch/nix-home/default.nix
@@ -2,97 +2,145 @@
let
bins = depot.nix.getBins pkgs.stow [ "stow" ]
- // depot.nix.getBins pkgs.coreutils [ "mkdir" "ln" "printenv" "rm" ]
- // depot.nix.getBins pkgs.xe [ "xe" ]
- // depot.nix.getBins pkgs.lr [ "lr" ]
- // depot.nix.getBins pkgs.nix [ "nix-store" ]
- ;
+ // depot.nix.getBins pkgs.coreutils [ "mkdir" "ln" "printenv" "rm" ]
+ // depot.nix.getBins pkgs.xe [ "xe" ]
+ // depot.nix.getBins pkgs.lr [ "lr" ]
+ // depot.nix.getBins pkgs.nix [ "nix-store" ]
+ ;
# run stow to populate the target directory with the given stow package, read from stowDir.
# Bear in mind that `stowDirOriginPath` should always be semantically bound to the given `stowDir`, otherwise stow might become rather confused.
- runStow = {
- # “stow package” to stow (see manpage)
- stowPackage,
- # “target directory” to stow in (see manpage)
- targetDir,
- # The “stow directory” (see manpage), containing “stow packages” (see manpage)
- stowDir,
- # representative directory for the stowDir in the file system, against which stow will create relative links.
- # ATTN: this is always overwritten with the contents of `stowDir`! You shouldn’t re-use the same `stowDirOriginPath` for different `stowDir`s, otherwise there might be surprises.
- stowDirOriginPath,
- }: depot.nix.writeExecline "stow-${stowPackage}" {} [
- # first, create a temporary stow directory to use as source
- # (stow will use it to determine the origin of files)
- "if" [ bins.mkdir "-p" stowDirOriginPath ]
- # remove old symlinks
- "if" [
- "pipeline" [
- bins.lr "-0" "-t" "depth == 1 && type == l" stowDirOriginPath
+ runStow =
+ {
+ # “stow package” to stow (see manpage)
+ stowPackage
+ , # “target directory” to stow in (see manpage)
+ targetDir
+ , # The “stow directory” (see manpage), containing “stow packages” (see manpage)
+ stowDir
+ , # representative directory for the stowDir in the file system, against which stow will create relative links.
+ # ATTN: this is always overwritten with the contents of `stowDir`! You shouldn’t re-use the same `stowDirOriginPath` for different `stowDir`s, otherwise there might be surprises.
+ stowDirOriginPath
+ ,
+ }: depot.nix.writeExecline "stow-${stowPackage}" { } [
+ # first, create a temporary stow directory to use as source
+ # (stow will use it to determine the origin of files)
+ "if"
+ [ bins.mkdir "-p" stowDirOriginPath ]
+ # remove old symlinks
+ "if"
+ [
+ "pipeline"
+ [
+ bins.lr
+ "-0"
+ "-t"
+ "depth == 1 && type == l"
+ stowDirOriginPath
+ ]
+ bins.xe
+ "-0"
+ bins.rm
]
- bins.xe "-0" bins.rm
- ]
- # create an indirect gc root so our config is not cleaned under our asses by a garbage collect
- "if" [
- bins.nix-store
+ # create an indirect gc root so our config is not cleaned under our asses by a garbage collect
+ "if"
+ [
+ bins.nix-store
"--realise"
"--indirect"
- "--add-root" "${stowDirOriginPath}/.nix-stowdir-gc-root"
+ "--add-root"
+ "${stowDirOriginPath}/.nix-stowdir-gc-root"
stowDir
- ]
- # populate with new stow targets
- "if" [
- "elglob" "-w0" "stowPackages" "${stowDir}/*"
- bins.ln "--force" "-st" stowDirOriginPath "$stowPackages"
- ]
- # stow always looks for $HOME/.stowrc to read more arguments
- "export" "HOME" "/homeless-shelter"
- bins.stow
+ ]
+ # populate with new stow targets
+ "if"
+ [
+ "elglob"
+ "-w0"
+ "stowPackages"
+ "${stowDir}/*"
+ bins.ln
+ "--force"
+ "-st"
+ stowDirOriginPath
+ "$stowPackages"
+ ]
+ # stow always looks for $HOME/.stowrc to read more arguments
+ "export"
+ "HOME"
+ "/homeless-shelter"
+ bins.stow
# always run restow for now; this does more stat but will remove stale links
"--restow"
- "--dir" stowDirOriginPath
- "--target" targetDir
+ "--dir"
+ stowDirOriginPath
+ "--target"
+ targetDir
stowPackage
- ];
+ ];
# create a stow dir from a list of drv paths and a stow package name.
makeStowDir =
(with depot.nix.yants;
- defun
- [ (list (struct {
+ defun
+ [
+ (list (struct {
originalDir = drv;
stowPackage = string;
}))
drv
- ] )
- (dirs:
- depot.nix.runExecline "make-stow-dir" {
- stdin = lib.pipe dirs [
- (map depot.users.Profpatsch.netencode.gen.dwim)
- depot.users.Profpatsch.netstring.toNetstringList
- ];
- } [
- "importas" "out" "out"
- "if" [ bins.mkdir "-p" "$out" ]
- "forstdin" "-d" "" "-o" "0" "line"
- "pipeline" [
- depot.users.Profpatsch.execline.print-one-env "line"
- ]
- depot.users.Profpatsch.netencode.record-splice-env
- "importas" "-ui" "originalDir" "originalDir"
- "importas" "-ui" "stowPackage" "stowPackage"
- bins.ln "-sT" "$originalDir" "\${out}/\${stowPackage}"
- ]);
+ ])
+ (dirs:
+ depot.nix.runExecline "make-stow-dir"
+ {
+ stdin = lib.pipe dirs [
+ (map depot.users.Profpatsch.netencode.gen.dwim)
+ depot.users.Profpatsch.netstring.toNetstringList
+ ];
+ } [
+ "importas"
+ "out"
+ "out"
+ "if"
+ [ bins.mkdir "-p" "$out" ]
+ "forstdin"
+ "-d"
+ ""
+ "-o"
+ "0"
+ "line"
+ "pipeline"
+ [
+ depot.users.Profpatsch.execline.print-one-env
+ "line"
+ ]
+ depot.users.Profpatsch.netencode.record-splice-env
+ "importas"
+ "-ui"
+ "originalDir"
+ "originalDir"
+ "importas"
+ "-ui"
+ "stowPackage"
+ "stowPackage"
+ bins.ln
+ "-sT"
+ "$originalDir"
+ "\${out}/\${stowPackage}"
+ ]);
in
# TODO: temp setup
-lib.pipe {} [
+lib.pipe { } [
(_: makeStowDir [{
stowPackage = "scripts";
originalDir = pkgs.linkFarm "scripts-farm" [
- { name = "scripts/ytextr";
- path = depot.users.Profpatsch.ytextr; }
- ];
+ {
+ name = "scripts/ytextr";
+ path = depot.users.Profpatsch.ytextr;
+ }
+ ];
}])
(d: runStow {
stowDir = d;
diff --git a/users/Profpatsch/nixpkgs-rewriter/default.nix b/users/Profpatsch/nixpkgs-rewriter/default.nix
index 787162d49..0740a870a 100644
--- a/users/Profpatsch/nixpkgs-rewriter/default.nix
+++ b/users/Profpatsch/nixpkgs-rewriter/default.nix
@@ -8,12 +8,12 @@ let
;
bins = depot.nix.getBins pkgs.coreutils [ "head" "shuf" ]
- // depot.nix.getBins pkgs.jq [ "jq" ]
- // depot.nix.getBins pkgs.findutils [ "xargs" ]
- // depot.nix.getBins pkgs.gnused [ "sed" ]
- ;
+ // depot.nix.getBins pkgs.jq [ "jq" ]
+ // depot.nix.getBins pkgs.findutils [ "xargs" ]
+ // depot.nix.getBins pkgs.gnused [ "sed" ]
+ ;
- export-json-object = pkgs.writers.writePython3 "export-json-object" {} ''
+ export-json-object = pkgs.writers.writePython3 "export-json-object" { } ''
import json
import sys
import os
@@ -29,34 +29,50 @@ let
os.execvp(sys.argv[1], sys.argv[1:])
'';
- meta-stdenv-lib = pkgs.writers.writeHaskell "meta-stdenv-lib" {
- libraries = [
- pkgs.haskellPackages.hnix
- pkgs.haskellPackages.aeson
- ];
- } ./MetaStdenvLib.hs;
+ meta-stdenv-lib = pkgs.writers.writeHaskell "meta-stdenv-lib"
+ {
+ libraries = [
+ pkgs.haskellPackages.hnix
+ pkgs.haskellPackages.aeson
+ ];
+ } ./MetaStdenvLib.hs;
replace-between-lines = writeExecline "replace-between-lines" { readNArgs = 1; } [
- "importas" "-ui" "file" "fileName"
- "importas" "-ui" "from" "fromLine"
- "importas" "-ui" "to" "toLine"
- "if" [ depot.tools.eprintf "%s-%s\n" "$from" "$to" ]
+ "importas"
+ "-ui"
+ "file"
+ "fileName"
+ "importas"
+ "-ui"
+ "from"
+ "fromLine"
+ "importas"
+ "-ui"
+ "to"
+ "toLine"
+ "if"
+ [ depot.tools.eprintf "%s-%s\n" "$from" "$to" ]
(debugExec "adding lib")
bins.sed
- "-e" "\${from},\${to} \${1}"
- "-i" "$file"
+ "-e"
+ "\${from},\${to} \${1}"
+ "-i"
+ "$file"
];
add-lib-if-necessary = writeExecline "add-lib-if-necessary" { readNArgs = 1; } [
- "pipeline" [ meta-stdenv-lib "$1" ]
- export-json-object
- # first replace any stdenv.lib mentions in the arg header
- # if this is not done, the replace below kills these.
- # Since we want it anyway ultimately, let’s do it here.
- "if" [ replace-between-lines "s/stdenv\.lib/lib/" ]
- # then add the lib argument
- # (has to be before stdenv, otherwise default arguments might be in the way)
- replace-between-lines "s/stdenv/lib, stdenv/"
+ "pipeline"
+ [ meta-stdenv-lib "$1" ]
+ export-json-object
+ # first replace any stdenv.lib mentions in the arg header
+ # if this is not done, the replace below kills these.
+ # Since we want it anyway ultimately, let’s do it here.
+ "if"
+ [ replace-between-lines "s/stdenv\.lib/lib/" ]
+ # then add the lib argument
+ # (has to be before stdenv, otherwise default arguments might be in the way)
+ replace-between-lines
+ "s/stdenv/lib, stdenv/"
];
metaString = ''meta = with stdenv.lib; {'';
@@ -80,33 +96,53 @@ let
'';
instantiate-nixpkgs-randomly = writeExecline "instantiate-nixpkgs-randomly" { readNArgs = 1; } [
- "export" "NIXPKGS_ALLOW_BROKEN" "1"
- "export" "NIXPKGS_ALLOW_UNFREE" "1"
- "export" "NIXPKGS_ALLOW_INSECURE" "1"
- "export" "NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM" "1"
- "pipeline" [
+ "export"
+ "NIXPKGS_ALLOW_BROKEN"
+ "1"
+ "export"
+ "NIXPKGS_ALLOW_UNFREE"
+ "1"
+ "export"
+ "NIXPKGS_ALLOW_INSECURE"
+ "1"
+ "export"
+ "NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM"
+ "1"
+ "pipeline"
+ [
"nix"
- "eval"
- "--raw"
- ''(
+ "eval"
+ "--raw"
+ ''(
let pkgs = import ''${1} {};
in builtins.toJSON (builtins.attrNames pkgs)
)''
]
- "pipeline" [ bins.jq "-r" ".[]" ]
- "pipeline" [ bins.shuf ]
- "pipeline" [ bins.head "-n" "1000" ]
- bins.xargs "-I" "{}" "-n1"
- "if" [ depot.tools.eprintf "instantiating %s\n" "{}" ]
- "nix-instantiate" "$1" "-A" "{}"
+ "pipeline"
+ [ bins.jq "-r" ".[]" ]
+ "pipeline"
+ [ bins.shuf ]
+ "pipeline"
+ [ bins.head "-n" "1000" ]
+ bins.xargs
+ "-I"
+ "{}"
+ "-n1"
+ "if"
+ [ depot.tools.eprintf "instantiating %s\n" "{}" ]
+ "nix-instantiate"
+ "$1"
+ "-A"
+ "{}"
];
-in depot.nix.readTree.drvTargets {
+in
+depot.nix.readTree.drvTargets {
inherit
- instantiate-nixpkgs-randomly
- # requires hnix, which we don’t want in tvl for now
- # uncomment manually if you want to use it.
- # meta-stdenv-lib
- # replace-stdenv-lib
+ instantiate-nixpkgs-randomly
+ # requires hnix, which we don’t want in tvl for now
+ # uncomment manually if you want to use it.
+ # meta-stdenv-lib
+ # replace-stdenv-lib
;
}
diff --git a/users/Profpatsch/read-http.nix b/users/Profpatsch/read-http.nix
index 854a11b7d..d9ad6fc30 100644
--- a/users/Profpatsch/read-http.nix
+++ b/users/Profpatsch/read-http.nix
@@ -2,15 +2,18 @@
let
- read-http = depot.nix.writers.rustSimple {
- name = "read-http";
- dependencies = [
- depot.third_party.rust-crates.ascii
- depot.third_party.rust-crates.httparse
- depot.users.Profpatsch.netencode.netencode-rs
- depot.users.Profpatsch.arglib.netencode.rust
- depot.users.Profpatsch.execline.exec-helpers
- ];
- } (builtins.readFile ./read-http.rs);
+ read-http = depot.nix.writers.rustSimple
+ {
+ name = "read-http";
+ dependencies = [
+ depot.third_party.rust-crates.ascii
+ depot.third_party.rust-crates.httparse
+ depot.users.Profpatsch.netencode.netencode-rs
+ depot.users.Profpatsch.arglib.netencode.rust
+ depot.users.Profpatsch.execline.exec-helpers
+ ];
+ }
+ (builtins.readFile ./read-http.rs);
-in read-http
+in
+read-http
diff --git a/users/Profpatsch/reverse-haskell-deps.nix b/users/Profpatsch/reverse-haskell-deps.nix
index b47347ea9..6df7bc632 100644
--- a/users/Profpatsch/reverse-haskell-deps.nix
+++ b/users/Profpatsch/reverse-haskell-deps.nix
@@ -5,22 +5,27 @@
let
- rev = depot.nix.writeExecline "reverse-haskell-deps" {} [
- "pipeline" [
- "${pkgs.curl}/bin/curl" "-L" "https://packdeps.haskellers.com/reverse"
+ rev = depot.nix.writeExecline "reverse-haskell-deps" { } [
+ "pipeline"
+ [
+ "${pkgs.curl}/bin/curl"
+ "-L"
+ "https://packdeps.haskellers.com/reverse"
]
rev-hs
];
- rev-hs = pkgs.writers.writeHaskell "revers-haskell-deps-hs" {
- libraries = [
- pkgs.haskellPackages.nicify-lib
- pkgs.haskellPackages.tagsoup
- ];
+ rev-hs = pkgs.writers.writeHaskell "revers-haskell-deps-hs"
+ {
+ libraries = [
+ pkgs.haskellPackages.nicify-lib
+ pkgs.haskellPackages.tagsoup
+ ];
- }
+ }
./reverse-haskell-deps.hs;
-in rev
+in
+rev
diff --git a/users/Profpatsch/struct-edit/default.nix b/users/Profpatsch/struct-edit/default.nix
index 970cdd4d0..11a7200ce 100644
--- a/users/Profpatsch/struct-edit/default.nix
+++ b/users/Profpatsch/struct-edit/default.nix
@@ -1,13 +1,13 @@
{ depot, ... }:
depot.nix.buildGo.program {
- name = "struct-edit";
- srcs = [
- ./main.go
- ];
- deps = [
- depot.third_party.gopkgs."github.com".charmbracelet.bubbletea
- depot.third_party.gopkgs."github.com".charmbracelet.lipgloss
- depot.third_party.gopkgs."github.com".muesli.termenv
- depot.third_party.gopkgs."github.com".mattn.go-isatty
- ];
+ name = "struct-edit";
+ srcs = [
+ ./main.go
+ ];
+ deps = [
+ depot.third_party.gopkgs."github.com".charmbracelet.bubbletea
+ depot.third_party.gopkgs."github.com".charmbracelet.lipgloss
+ depot.third_party.gopkgs."github.com".muesli.termenv
+ depot.third_party.gopkgs."github.com".mattn.go-isatty
+ ];
}
diff --git a/users/Profpatsch/tree-sitter.nix b/users/Profpatsch/tree-sitter.nix
index 4f81b8e7a..2224da2a3 100644
--- a/users/Profpatsch/tree-sitter.nix
+++ b/users/Profpatsch/tree-sitter.nix
@@ -2,17 +2,18 @@
let
bins = depot.nix.getBins pkgs.coreutils [ "head" "printf" "cat" ]
- // depot.nix.getBins pkgs.ncurses [ "tput" ]
- // depot.nix.getBins pkgs.bc [ "bc" ]
- // depot.nix.getBins pkgs.ocamlPackages.sexp [ "sexp" ];
+ // depot.nix.getBins pkgs.ncurses [ "tput" ]
+ // depot.nix.getBins pkgs.bc [ "bc" ]
+ // depot.nix.getBins pkgs.ocamlPackages.sexp [ "sexp" ];
- print-ast = depot.nix.writers.rustSimple {
- name = "print-ast";
- dependencies = with depot.third_party.rust-crates; [
- libloading
- tree-sitter
- ];
- } ''
+ print-ast = depot.nix.writers.rustSimple
+ {
+ name = "print-ast";
+ dependencies = with depot.third_party.rust-crates; [
+ libloading
+ tree-sitter
+ ];
+ } ''
extern crate libloading;
extern crate tree_sitter;
use std::mem;
@@ -58,13 +59,14 @@ let
};
};
- watch-file-modified = depot.nix.writers.rustSimple {
- name = "watch-file-modified";
- dependencies = [
- depot.third_party.rust-crates.inotify
- depot.users.Profpatsch.netstring.rust-netstring
- ];
- } ''
+ watch-file-modified = depot.nix.writers.rustSimple
+ {
+ name = "watch-file-modified";
+ dependencies = [
+ depot.third_party.rust-crates.inotify
+ depot.users.Profpatsch.netstring.rust-netstring
+ ];
+ } ''
extern crate inotify;
extern crate netstring;
use inotify::{EventMask, WatchMask, Inotify};
@@ -101,75 +103,103 @@ let
'';
# clear screen and set LINES and COLUMNS to terminal height & width
- clear-screen = depot.nix.writeExecline "clear-screen" {} [
- "if" [ bins.tput "clear" ]
- "backtick" "-in" "LINES" [ bins.tput "lines" ]
- "backtick" "-in" "COLUMNS" [ bins.tput "cols" ]
+ clear-screen = depot.nix.writeExecline "clear-screen" { } [
+ "if"
+ [ bins.tput "clear" ]
+ "backtick"
+ "-in"
+ "LINES"
+ [ bins.tput "lines" ]
+ "backtick"
+ "-in"
+ "COLUMNS"
+ [ bins.tput "cols" ]
"$@"
];
print-nix-file = depot.nix.writeExecline "print-nix-file" { readNArgs = 1; } [
- "pipeline" [ print-ast "${tree-sitter-nix}/parser" "tree_sitter_nix" "$1" ]
- "pipeline" [ bins.sexp "print" ]
+ "pipeline"
+ [ print-ast "${tree-sitter-nix}/parser" "tree_sitter_nix" "$1" ]
+ "pipeline"
+ [ bins.sexp "print" ]
clear-screen
- "importas" "-ui" "lines" "LINES"
- "backtick" "-in" "ls" [
+ "importas"
+ "-ui"
+ "lines"
+ "LINES"
+ "backtick"
+ "-in"
+ "ls"
+ [
"pipeline"
- # when you pull out bc to decrement an integer it’s time to switch to python lol
- [ bins.printf "x=%s; --x\n" "$lines" ]
- bins.bc
+ # when you pull out bc to decrement an integer it’s time to switch to python lol
+ [ bins.printf "x=%s; --x\n" "$lines" ]
+ bins.bc
]
- "importas" "-ui" "l" "ls"
- bins.head "-n\${l}"
+ "importas"
+ "-ui"
+ "l"
+ "ls"
+ bins.head
+ "-n\${l}"
];
print-nix-file-on-update = depot.nix.writeExecline "print-nix-file-on-update" { readNArgs = 1; } [
- "if" [ print-nix-file "$1" ]
- "pipeline" [ watch-file-modified "$1" ]
- "forstdin" "-d" "" "file"
- "importas" "file" "file"
- print-nix-file "$file"
+ "if"
+ [ print-nix-file "$1" ]
+ "pipeline"
+ [ watch-file-modified "$1" ]
+ "forstdin"
+ "-d"
+ ""
+ "file"
+ "importas"
+ "file"
+ "file"
+ print-nix-file
+ "$file"
];
# copied from nixpkgs
buildTreeSitterGrammar =
- {
- # language name
- language
- # source for the language grammar
- , source
- }:
+ {
+ # language name
+ language
+ # source for the language grammar
+ , source
+ }:
- pkgs.stdenv.mkDerivation {
+ pkgs.stdenv.mkDerivation {
- pname = "${language}-grammar";
- inherit (pkgs.tree-sitter) version;
+ pname = "${language}-grammar";
+ inherit (pkgs.tree-sitter) version;
- src = source;
+ src = source;
- buildInputs = [ pkgs.tree-sitter ];
+ buildInputs = [ pkgs.tree-sitter ];
- dontUnpack = true;
- configurePhase= ":";
- buildPhase = ''
- runHook preBuild
- scanner_cc="$src/src/scanner.cc"
- if [ ! -f "$scanner_cc" ]; then
- scanner_cc=""
- fi
- $CXX -I$src/src/ -c $scanner_cc
- $CC -I$src/src/ -shared -o parser -Os scanner.o $src/src/parser.c -lstdc++
- runHook postBuild
- '';
- installPhase = ''
- runHook preInstall
- mkdir $out
- mv parser $out/
- runHook postInstall
- '';
- };
+ dontUnpack = true;
+ configurePhase = ":";
+ buildPhase = ''
+ runHook preBuild
+ scanner_cc="$src/src/scanner.cc"
+ if [ ! -f "$scanner_cc" ]; then
+ scanner_cc=""
+ fi
+ $CXX -I$src/src/ -c $scanner_cc
+ $CC -I$src/src/ -shared -o parser -Os scanner.o $src/src/parser.c -lstdc++
+ runHook postBuild
+ '';
+ installPhase = ''
+ runHook preInstall
+ mkdir $out
+ mv parser $out/
+ runHook postInstall
+ '';
+ };
-in depot.nix.readTree.drvTargets {
+in
+depot.nix.readTree.drvTargets {
inherit
print-ast
tree-sitter-nix
diff --git a/users/Profpatsch/writers/default.nix b/users/Profpatsch/writers/default.nix
index 3151a9d3b..02f39da02 100644
--- a/users/Profpatsch/writers/default.nix
+++ b/users/Profpatsch/writers/default.nix
@@ -1,7 +1,7 @@
{ depot, pkgs, lib, ... }:
let
- bins = depot.nix.getBins pkgs.s6-portable-utils ["s6-mkdir" "s6-cat" "s6-ln" "s6-ls" "s6-touch" ]
- // depot.nix.getBins pkgs.coreutils ["printf" ];
+ bins = depot.nix.getBins pkgs.s6-portable-utils [ "s6-mkdir" "s6-cat" "s6-ln" "s6-ls" "s6-touch" ]
+ // depot.nix.getBins pkgs.coreutils [ "printf" ];
inherit (depot.nix.yants) defun struct restrict attrs list string drv any;
@@ -11,56 +11,76 @@ let
restrict
"flake error"
(s: lib.any (prefix: (builtins.substring 0 1 s) == prefix)
- [ "E" "W" ])
+ [ "E" "W" ])
string;
Libraries = defun [ (attrs any) (list drv) ];
- python3 = {
- name,
- libraries ? (_: []),
- flakeIgnore ? []
- }: pkgs.writers.writePython3 name {
- libraries = Libraries libraries pkgs.python3Packages;
- flakeIgnore =
- let ignoreTheseErrors = [
- # whitespace after {
- "E201"
- # whitespace before }
- "E202"
- # fuck 4-space indentation
- "E121" "E111"
- # who cares about blank lines …
- # … at end of files
- "W391"
- # … between functions
- "E302" "E305"
- ];
- in list FlakeError (ignoreTheseErrors ++ flakeIgnore);
- };
+ python3 =
+ { name
+ , libraries ? (_: [ ])
+ , flakeIgnore ? [ ]
+ }: pkgs.writers.writePython3 name {
+ libraries = Libraries libraries pkgs.python3Packages;
+ flakeIgnore =
+ let
+ ignoreTheseErrors = [
+ # whitespace after {
+ "E201"
+ # whitespace before }
+ "E202"
+ # fuck 4-space indentation
+ "E121"
+ "E111"
+ # who cares about blank lines …
+ # … at end of files
+ "W391"
+ # … between functions
+ "E302"
+ "E305"
+ ];
+ in
+ list FlakeError (ignoreTheseErrors ++ flakeIgnore);
+ };
# TODO: add the same flake check as the pyhon3 writer
- python3Lib = { name, libraries ? (_: []) }: moduleString:
- let srcTree = depot.nix.runExecline.local name { stdin = moduleString; } [
- "importas" "out" "out"
- "if" [ bins.s6-mkdir "-p" "\${out}/${name}" ]
- "if" [
- "redirfd" "-w" "1" "\${out}/setup.py"
- bins.printf ''
- from distutils.core import setup
+ python3Lib = { name, libraries ? (_: [ ]) }: moduleString:
+ let
+ srcTree = depot.nix.runExecline.local name { stdin = moduleString; } [
+ "importas"
+ "out"
+ "out"
+ "if"
+ [ bins.s6-mkdir "-p" "\${out}/${name}" ]
+ "if"
+ [
+ "redirfd"
+ "-w"
+ "1"
+ "\${out}/setup.py"
+ bins.printf
+ ''
+ from distutils.core import setup
- setup(
- name='%s',
- packages=['%s']
- )
- '' name name
- ]
- "if" [
- # redirect stdin to the init py
- "redirfd" "-w" "1" "\${out}/${name}/__init__.py"
- bins.s6-cat
- ]
- ];
- in pkgs.python3Packages.buildPythonPackage {
+ setup(
+ name='%s',
+ packages=['%s']
+ )
+ ''
+ name
+ name
+ ]
+ "if"
+ [
+ # redirect stdin to the init py
+ "redirfd"
+ "-w"
+ "1"
+ "\${out}/${name}/__init__.py"
+ bins.s6-cat
+ ]
+ ];
+ in
+ pkgs.python3Packages.buildPythonPackage {
inherit name;
src = srcTree;
propagatedBuildInputs = libraries pkgs.python3Packages;
@@ -68,7 +88,8 @@ let
};
-in {
+in
+{
inherit
python3
python3Lib
diff --git a/users/Profpatsch/writers/tests/default.nix b/users/Profpatsch/writers/tests/default.nix
index dc760af9e..d0d62d3b0 100644
--- a/users/Profpatsch/writers/tests/default.nix
+++ b/users/Profpatsch/writers/tests/default.nix
@@ -10,38 +10,46 @@ let
coreutils
;
- run = drv: depot.nix.runExecline.local "run-${drv.name}" {} [
- "if" [ drv ]
- "importas" "out" "out"
- "${coreutils}/bin/touch" "$out"
+ run = drv: depot.nix.runExecline.local "run-${drv.name}" { } [
+ "if"
+ [ drv ]
+ "importas"
+ "out"
+ "out"
+ "${coreutils}/bin/touch"
+ "$out"
];
- pythonTransitiveLib = python3Lib {
- name = "transitive";
- } ''
+ pythonTransitiveLib = python3Lib
+ {
+ name = "transitive";
+ } ''
def transitive(s):
return s + " 1 2 3"
'';
- pythonTestLib = python3Lib {
- name = "test_lib";
- libraries = _: [ pythonTransitiveLib ];
- } ''
+ pythonTestLib = python3Lib
+ {
+ name = "test_lib";
+ libraries = _: [ pythonTransitiveLib ];
+ } ''
import transitive
def test():
return transitive.transitive("test")
'';
- pythonWithLib = run (python3 {
- name = "python-with-lib";
- libraries = _: [ pythonTestLib ];
- } ''
+ pythonWithLib = run (python3
+ {
+ name = "python-with-lib";
+ libraries = _: [ pythonTestLib ];
+ } ''
import test_lib
assert(test_lib.test() == "test 1 2 3")
'');
-in depot.nix.readTree.drvTargets {
+in
+depot.nix.readTree.drvTargets {
inherit
pythonWithLib
;
diff --git a/users/Profpatsch/ytextr/create-symlink-farm.nix b/users/Profpatsch/ytextr/create-symlink-farm.nix
index 583a3a90f..7b3a45b91 100644
--- a/users/Profpatsch/ytextr/create-symlink-farm.nix
+++ b/users/Profpatsch/ytextr/create-symlink-farm.nix
@@ -1,9 +1,10 @@
{
# list of package attribute names to get at run time
- packageNamesAtRuntimeJsonPath,
+ packageNamesAtRuntimeJsonPath
+,
}:
let
- pkgs = import {};
+ pkgs = import { };
getPkg = pkgName: pkgs.${pkgName};
@@ -12,7 +13,7 @@ let
runtime = map getPkg packageNamesAtRuntime;
in
- pkgs.symlinkJoin {
- name = "symlink-farm";
- paths = runtime;
- }
+pkgs.symlinkJoin {
+ name = "symlink-farm";
+ paths = runtime;
+}
diff --git a/users/Profpatsch/ytextr/default.nix b/users/Profpatsch/ytextr/default.nix
index dba6bbb8b..ac630603b 100644
--- a/users/Profpatsch/ytextr/default.nix
+++ b/users/Profpatsch/ytextr/default.nix
@@ -12,48 +12,71 @@
let
bins = depot.nix.getBins pkgs.nix [ "nix-build" ]
- // depot.nix.getBins pkgs.bubblewrap [ "bwrap" ];
+ // depot.nix.getBins pkgs.bubblewrap [ "bwrap" ];
# Run a command, with the given packages in scope, and `packageNamesAtRuntime` being fetched at the start in the given nix `channel`.
- nix-run-with-channel = {
- # The channel to get `packageNamesAtRuntime` from
- channel,
- # executable to run with `packageNamesAtRuntime` in PATH
- # and the argv
- executable,
- # A list of nixpkgs package attribute names that should be put into PATH when running `command`.
- packageNamesAtRuntime,
- }: depot.nix.writeExecline "nix-run-with-channel-${channel}" {} [
- # TODO: prevent race condition by writing a temporary gc root
- "backtick" "-iE" "storepath" [
- bins.nix-build
- "-I" "nixpkgs=channel:${channel}"
+ nix-run-with-channel =
+ {
+ # The channel to get `packageNamesAtRuntime` from
+ channel
+ , # executable to run with `packageNamesAtRuntime` in PATH
+ # and the argv
+ executable
+ , # A list of nixpkgs package attribute names that should be put into PATH when running `command`.
+ packageNamesAtRuntime
+ ,
+ }: depot.nix.writeExecline "nix-run-with-channel-${channel}" { } [
+ # TODO: prevent race condition by writing a temporary gc root
+ "backtick"
+ "-iE"
+ "storepath"
+ [
+ bins.nix-build
+ "-I"
+ "nixpkgs=channel:${channel}"
"--arg"
- "packageNamesAtRuntimeJsonPath"
- (pkgs.writeText "packageNamesAtRuntime.json" (builtins.toJSON packageNamesAtRuntime))
+ "packageNamesAtRuntimeJsonPath"
+ (pkgs.writeText "packageNamesAtRuntime.json" (builtins.toJSON packageNamesAtRuntime))
./create-symlink-farm.nix
- ]
- "importas" "-ui" "PATH" "PATH"
- "export" "PATH" "\${storepath}/bin:\${PATH}"
- executable "$@"
- ];
+ ]
+ "importas"
+ "-ui"
+ "PATH"
+ "PATH"
+ "export"
+ "PATH"
+ "\${storepath}/bin:\${PATH}"
+ executable
+ "$@"
+ ];
-in nix-run-with-channel {
+in
+nix-run-with-channel {
channel = "nixos-unstable";
packageNamesAtRuntime = [ "yt-dlp" ];
executable = depot.nix.writeExecline "ytextr" { readNArgs = 1; } [
- "getcwd" "-E" "cwd"
+ "getcwd"
+ "-E"
+ "cwd"
bins.bwrap
- "--ro-bind" "/nix/store" "/nix/store"
- "--ro-bind" "/etc" "/etc"
- "--bind" "$cwd" "$cwd"
- "yt-dlp"
- "--no-playlist"
- "--write-sub"
- "--all-subs"
- "--embed-subs"
- "--merge-output-format" "mkv"
- "-f" "bestvideo[height<=?1080]+bestaudio/best"
- "$1"
+ "--ro-bind"
+ "/nix/store"
+ "/nix/store"
+ "--ro-bind"
+ "/etc"
+ "/etc"
+ "--bind"
+ "$cwd"
+ "$cwd"
+ "yt-dlp"
+ "--no-playlist"
+ "--write-sub"
+ "--all-subs"
+ "--embed-subs"
+ "--merge-output-format"
+ "mkv"
+ "-f"
+ "bestvideo[height<=?1080]+bestaudio/best"
+ "$1"
];
}
diff --git a/users/cynthia/keys.nix b/users/cynthia/keys.nix
index bac8dc1c5..e2f4ce488 100644
--- a/users/cynthia/keys.nix
+++ b/users/cynthia/keys.nix
@@ -4,4 +4,4 @@
all = [
"cert-authority ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICsj3W6QczgxE3s5GGT8qg0aLrCM+QeRnSq9RkiZtKvz meow"
];
-}
\ No newline at end of file
+}
diff --git a/users/edef/depot-scan/wrap.nix b/users/edef/depot-scan/wrap.nix
index dcb557a24..77362b3f6 100644
--- a/users/edef/depot-scan/wrap.nix
+++ b/users/edef/depot-scan/wrap.nix
@@ -3,13 +3,14 @@
let
global = {
- import = global.scopedImport {};
+ import = global.scopedImport { };
scopedImport = x: builtins.scopedImport (global // x);
builtins = builtins // {
inherit (global) import scopedImport;
readFile = path: builtins.trace "depot-scan '${toString path}'" (builtins.readFile path);
- readDir = path: builtins.trace "depot-scan '${toString path}'" (builtins.readDir path);
+ readDir = path: builtins.trace "depot-scan '${toString path}'" (builtins.readDir path);
};
};
-in global.import
+in
+global.import
diff --git a/users/eta/keys.nix b/users/eta/keys.nix
index 247a18284..ebdc8479a 100644
--- a/users/eta/keys.nix
+++ b/users/eta/keys.nix
@@ -9,4 +9,4 @@ let
whitby = [ keys.yubikey4 keys.yubikey5 ];
};
in
- configs
+configs
diff --git a/users/grfn/achilles/shell.nix b/users/grfn/achilles/shell.nix
index f32dce3ba..1434cf8a3 100644
--- a/users/grfn/achilles/shell.nix
+++ b/users/grfn/achilles/shell.nix
@@ -1,4 +1,4 @@
-with (import ../../.. {}).third_party.nixpkgs;
+with (import ../../.. { }).third_party.nixpkgs;
mkShell {
buildInputs = [
diff --git a/users/grfn/bbbg/arion-pkgs.nix b/users/grfn/bbbg/arion-pkgs.nix
index 66c016c28..c6d603be2 100644
--- a/users/grfn/bbbg/arion-pkgs.nix
+++ b/users/grfn/bbbg/arion-pkgs.nix
@@ -1,2 +1,2 @@
-let depot = import ../../.. {};
+let depot = import ../../.. { };
in depot.third_party.nixpkgs
diff --git a/users/grfn/bbbg/default.nix b/users/grfn/bbbg/default.nix
index 5b5b4badb..cca4e68ce 100644
--- a/users/grfn/bbbg/default.nix
+++ b/users/grfn/bbbg/default.nix
@@ -8,27 +8,28 @@ let
deps = import ./deps.nix {
inherit (pkgs) fetchMavenArtifact fetchgit lib;
};
-in rec {
+in
+rec {
meta.targets = [
"db-util"
"server"
"tf"
];
- depsPaths = deps.makePaths {};
+ depsPaths = deps.makePaths { };
resources = builtins.filterSource (_: type: type != "symlink") ./resources;
classpath.dev = concatStringsSep ":" (
- (map gitignoreSource [./src ./test ./env/dev]) ++ [resources] ++ depsPaths
+ (map gitignoreSource [ ./src ./test ./env/dev ]) ++ [ resources ] ++ depsPaths
);
classpath.test = concatStringsSep ":" (
- (map gitignoreSource [./src ./test ./env/test]) ++ [resources] ++ depsPaths
+ (map gitignoreSource [ ./src ./test ./env/test ]) ++ [ resources ] ++ depsPaths
);
classpath.prod = concatStringsSep ":" (
- (map gitignoreSource [./src ./env/prod]) ++ [resources] ++ depsPaths
+ (map gitignoreSource [ ./src ./env/prod ]) ++ [ resources ] ++ depsPaths
);
testClojure = pkgs.writeShellScript "test-clojure" ''
diff --git a/users/grfn/bbbg/deps.nix b/users/grfn/bbbg/deps.nix
index 0d014cf37..02f5ecb46 100644
--- a/users/grfn/bbbg/deps.nix
+++ b/users/grfn/bbbg/deps.nix
@@ -1,16 +1,21 @@
# generated by clj2nix-1.1.0-rc
{ fetchMavenArtifact, fetchgit, lib }:
-let repos = [
- "https://repo1.maven.org/maven2/"
- "https://repo.clojars.org/" ];
+let
+ repos = [
+ "https://repo1.maven.org/maven2/"
+ "https://repo.clojars.org/"
+ ];
- in rec {
- makePaths = {extraClasspaths ? []}:
- if (builtins.typeOf extraClasspaths != "list")
- then builtins.throw "extraClasspaths must be of type 'list'!"
- else (lib.concatMap (dep:
- builtins.map (path:
+in
+rec {
+ makePaths = { extraClasspaths ? [ ] }:
+ if (builtins.typeOf extraClasspaths != "list")
+ then builtins.throw "extraClasspaths must be of type 'list'!"
+ else (lib.concatMap
+ (dep:
+ builtins.map
+ (path:
if builtins.isString path then
path
else if builtins.hasAttr "jar" path then
@@ -19,1471 +24,1471 @@ let repos = [
path.outPath
else
path
- )
+ )
dep.paths)
- packages) ++ extraClasspaths;
- makeClasspaths = {extraClasspaths ? []}:
- if (builtins.typeOf extraClasspaths != "list")
- then builtins.throw "extraClasspaths must be of type 'list'!"
- else builtins.concatStringsSep ":" (makePaths {inherit extraClasspaths;});
- packageSources = builtins.map (dep: dep.src) packages;
- packages = [
- rec {
- name = "cambium.logback.json/cambium";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "cambium.logback.json";
- groupId = "cambium";
- sha512 = "8e3f32bc1e11071ddc8700204333ba653585de7985c03d14c351950a7896975092e9deffd658bfec7b0b8b9cc72dc025d8e5179a185bd25da26e500218ec37a5";
- version = "0.4.5";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "clojure/org.clojure";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "clojure";
- groupId = "org.clojure";
- sha512 = "a242514f623a17601b360886563c4a4fe09335e4e16522ac42bbcacda073ae77651cfed446daae7fe74061bb7dff5adc454769c0edc0ded350136c3c707e75b9";
- version = "1.11.0-alpha3";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "joda-time/joda-time";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "joda-time";
- groupId = "joda-time";
- sha512 = "012fb9aa9b00b456f72a92374855a7f062f8617c026c436eee2cda67dffa2f8622201909c0f4f454bb346ff5a3ed6f60c236fafb19fa66f612d9861f27b38d3a";
- version = "2.10";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "commons-codec/commons-codec";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "commons-codec";
- groupId = "commons-codec";
- sha512 = "da30a716770795fce390e4dd340a8b728f220c6572383ffef55bd5839655d5611fcc06128b2144f6cdcb36f53072a12ec80b04afee787665e7ad0b6e888a6787";
- version = "1.15";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "HikariCP/com.zaxxer";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "HikariCP";
- groupId = "com.zaxxer";
- sha512 = "a41b6d8b1c4656e633459824f10320965976eeead01bd5cb24911040073181730e61feb797aef89d9e01c922e89cb58654f364df0a6b1bf62ab3e6f9cc367d77";
- version = "5.0.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "ring-devel/ring";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "ring-devel";
- groupId = "ring";
- sha512 = "79a1ec9f9d03aa4fa0426353970b13468ee65ce314b51ab7a2682212a196a9b5c985eacdee5dbc6ff2f1b536a4e06d0e85e9dd7cc9a49958735c9c4e6d427fd5";
- version = "1.9.4";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "simpleclient/io.prometheus";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "simpleclient";
- groupId = "io.prometheus";
- sha512 = "60af1cefff04e7036467eae54f5930d5677e4ab066f8ed38a391b54df17733acfefac45e19ee53cef289347bddce5fc69a2766f4e580d21a22cfd9e2348e2723";
- version = "0.12.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "commons-lang3/org.apache.commons";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "commons-lang3";
- groupId = "org.apache.commons";
- sha512 = "fbdbc0943cb3498b0148e86a39b773f97c8e6013740f72dbc727faeabea402073e2cc8c4d68198e5fc6b08a13b7700236292e99d4785f2c9989f2e5fac11fd81";
- version = "3.12.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "tools.logging/org.clojure";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "tools.logging";
- groupId = "org.clojure";
- sha512 = "b7a9680f1156fc7c1574a4364ca550d47668ba727fc80110fdd00c159bedb45c5be82f09cdfb8e8e988e3381e2cf8881ea70651e38001e3eaa4ece31ad0bf0c5";
- version = "1.2.2";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "core.specs.alpha/org.clojure";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "core.specs.alpha";
- groupId = "org.clojure";
- sha512 = "f521f95b362a47bb35f7c85528c34537f905fb3dd24f2284201e445635a0df701b35d8419d53c6507cc78d3717c1f83cda35ea4c82abd8943cd2ab3de3fcad70";
- version = "0.2.62";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "netty-common/io.netty";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "netty-common";
- groupId = "io.netty";
- sha512 = "7efc2f6774a3dbe8408fe182e19830b5b7a994a0d1b0eb50699df691c2450befa05ac205bbf341ad57bef3a04281ce435031e97e725c5c4edfc705a418828ce8";
- version = "4.1.63.Final";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "jackson-databind/com.fasterxml.jackson.core";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "jackson-databind";
- groupId = "com.fasterxml.jackson.core";
- sha512 = "9f771e78af669b1e1683d6c5903bbf4790aaa88b6b420c2018437da318c3fa4220cd7fa726f3e42a1b8075def1fdbd3744937c15f3bcedfca3050199247363e8";
- version = "2.12.4";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "expound/expound";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "expound";
- groupId = "expound";
- sha512 = "ca0a57cfd215cff6be36d1f83461ec2d0559c0eae172c8a8bd6e1676d49933d3c30a71192889bd75d813581707d5eda0ec05de03326396bc0cedebf2d71811e5";
- version = "0.8.10";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "spec.alpha/org.clojure";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "spec.alpha";
- groupId = "org.clojure";
- sha512 = "ddfe4fa84622abd8ac56e2aa565a56e6bdc0bf330f377ff3e269ddc241bb9dbcac332c13502dfd4c09c2c08fe24d8d2e8cf3d04a1bc819ca5657b4e41feaa7c2";
- version = "0.3.218";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "tools.cli/org.clojure";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "tools.cli";
- groupId = "org.clojure";
- sha512 = "1d88aa03eb6a664bf2c0ce22c45e7296d54d716e29b11904115be80ea1661623cf3e81fc222d164047058239010eb678af92ffedc7c3006475cceb59f3b21265";
- version = "1.0.206";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "compojure/compojure";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "compojure";
- groupId = "compojure";
- sha512 = "1f4ba1354bd95772963a4ef0e129dde59d16f4f9fac0f89f2505a1d5de3b4527e45073219c0478e0b3285da46793e7c145ec5a55a9dae2fca6b77dc8d67b4db6";
- version = "1.6.2";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "commons-fileupload/commons-fileupload";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "commons-fileupload";
- groupId = "commons-fileupload";
- sha512 = "a8780b7dd7ab68f9e1df38e77a5207c45ff50ec53d8b1476570d069edc8f59e52fb1d0fc534d7e513ac5a01b385ba73c320794c82369a72bd6d817a3b3b21f39";
- version = "1.4";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "jetty-http/org.eclipse.jetty";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "jetty-http";
- groupId = "org.eclipse.jetty";
- sha512 = "60422ff3ef311f1d9d7340c2accdf611d40e738a39e9128967175ede4990439f4725995988849957742d488f749dd2e0740f74dc5bd9b3364e32fbaa66689308";
- version = "9.4.42.v20210604";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "jetty-util/org.eclipse.jetty";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "jetty-util";
- groupId = "org.eclipse.jetty";
- sha512 = "d69084e2cfe0c3af1dc7ee2745d563549a4068b6e8aed5cd2b9f31167168fb64d418c4134a6dfb811b627ec0051d7ff71e0a02e4e775d18a53543d0871c44730";
- version = "9.4.42.v20210604";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "janino/org.codehaus.janino";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "janino";
- groupId = "org.codehaus.janino";
- sha512 = "6853d7d53d3629df43a3a17ff5c989f59ec14e9030be5f67426deb9d0797fa3996b0609d582c65f22a4f7680c941b39ab6d466c480b2fea4bf92218a9b89651d";
- version = "3.1.2";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "jcl-over-slf4j/org.slf4j";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "jcl-over-slf4j";
- groupId = "org.slf4j";
- sha512 = "23662fe407fcdbcba8865a8cd3f8bb09d4eb178a2a6511a32e35b995722b345e73f5dc1dd85d2d0a5c707db05aa57e0b3d0b96b59e55403fc486343d5ca4c0d6";
- version = "2.0.0-alpha4";
-
- };
- paths = [ src ];
- }
-
- (rec {
- name = "io.github.cognitect-labs/test-runner";
- src = fetchgit {
- name = "test-runner";
- url = "https://github.com/cognitect-labs/test-runner";
- rev = "cc75980b43011773162b485f46f939dc5fba91e4";
- sha256 = "1661ddmmqva1yiz9p09i5l32lfpi0a99h56022zgvz03nca2ksbg";
- };
- paths = map (path: src + path) [
- "/src"
- ];
- })
-
- rec {
- name = "cambium.logback.core/cambium";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "cambium.logback.core";
- groupId = "cambium";
- sha512 = "83ee9a583dd8a7b2e82e0981b4e51b005095a27257eb1b07165d9701645609060c466ae67fb9431f524a544d52b71fa00009b8acf05aadbeb549043515f9b382";
- version = "0.4.5";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "httpasyncclient/org.apache.httpcomponents";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "httpasyncclient";
- groupId = "org.apache.httpcomponents";
- sha512 = "0a80db5dbf772f02d02ba6c7c163e8da9517dd7195714b495acb845c429580c1fc926d3e71c115e75be8c145651dce2fdfa0dc380132f7809c14b3ad95492aee";
- version = "4.1.4";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "logback-jackson/ch.qos.logback.contrib";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "logback-jackson";
- groupId = "ch.qos.logback.contrib";
- sha512 = "d9a3d4cb6cf4eda6fc18e2d374007d27c6ddba98e989a8d8a01b49859b280450113f685df6e16c5fbe0472bc9e26308bc7e8b7e0aedab9404cf0b492d7511685";
- version = "0.1.5";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "simpleclient_tracer_otel/io.prometheus";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "simpleclient_tracer_otel";
- groupId = "io.prometheus";
- sha512 = "bce192e6162cb3ada7dd6c2d10456e78bce71c170faa09bad2896272fa1bd4a036288d707f3d47747991d8946c74fe21c565713fb15c7052305eb753c94dd939";
- version = "0.12.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "netty-codec/io.netty";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "netty-codec";
- groupId = "io.netty";
- sha512 = "f6d9c4a5b508ca0d5f0e213473088f5d7b2e184e447dc092e69227109e28da9b8e68b2238ca6ab4e9915bacacf59cc0dce6ebcbbb05dad34a03b7976d9670c51";
- version = "4.1.63.Final";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "ring-oauth2/ring-oauth2";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "ring-oauth2";
- groupId = "ring-oauth2";
- sha512 = "3ed765b4bbb5749fcdcdb501b93ab656a413ade5af24c7aa34639718ed1fd0a5f325b05bd135540d56e55cbb456a2cb7852ba0e45bc5233e28229986eef75bb9";
- version = "0.2.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "tools.macro/org.clojure";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "tools.macro";
- groupId = "org.clojure";
- sha512 = "65ce5e29379620ac458274c53cd9926e4b764fcaebb1a2b3bc8aef86bbe10c79e654b028bc4328905d2495a680fa90f5002cf5c47885f6449fad43a04a594b26";
- version = "0.1.5";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "jackson-dataformat-cbor/com.fasterxml.jackson.dataformat";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "jackson-dataformat-cbor";
- groupId = "com.fasterxml.jackson.dataformat";
- sha512 = "ea5d049eac1b94666479c5e36de14d8fa4b7f24cb92f0f310d2ec2b4de66ef9023161060e67228ef2d7420a002ef861db12a29cad0864638c21612da49686f4f";
- version = "2.12.4";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "depstar/seancorfield";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "depstar";
- groupId = "seancorfield";
- sha512 = "0f4458b39b8b1949755bc2fe64b239673a9efa3a0140998464bbbcab216ec847344c1b8920611f7c9ca07261850f3a08144ae221cc2c41813a080189e32f9c10";
- version = "1.0.94";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "logback-core/ch.qos.logback";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "logback-core";
- groupId = "ch.qos.logback";
- sha512 = "fc554548f499e284007eeecf76bf4e1995effb6ac8a6262aa96118f623bf9085a9d5bec3741833dd3cae6a76b2ff78c6d0a1fe68bc01213207c93d8e2da345ca";
- version = "1.3.0-alpha12";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "honeysql/honeysql";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "honeysql";
- groupId = "honeysql";
- sha512 = "74d1d93c968b33686848e3bf8934f3b5f002c2b69b1b55a3a3b172c952e9991324e6e95e3a0ce2fecf1de0d3a036f4dff7286df689f0733f253909464e0269f6";
- version = "1.0.461";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "netty-buffer/io.netty";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "netty-buffer";
- groupId = "io.netty";
- sha512 = "181b55d99d8d46bbf5f67f05bdccb0381af23a9fca3e6d935e6cde727b132c67133de1c3d81ed19b04c1a5b232be0de16ec1de7e81b532878bc69564237c15dc";
- version = "4.1.63.Final";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "slingshot/slingshot";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "slingshot";
- groupId = "slingshot";
- sha512 = "ff2b2a27b441d230261c7f3ec8c38aa551865e05ab6438a74bd12bfcbc5f6bdc88199d42aaf5932b47df84f3d2700c8f514b9f4e9b5da28d29da7ff6b09a7fb5";
- version = "0.12.2";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "httpcore-nio/org.apache.httpcomponents";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "httpcore-nio";
- groupId = "org.apache.httpcomponents";
- sha512 = "002af5f72b68a4ff1b1ff46b788013283d195e1d62ee1d7b102aa930b30f77f7e215a6d18edbea0fccd18fb1fa3a66cc4aef6070d72d6d1886f0044dfe0e16c7";
- version = "4.4.10";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "ring-jetty-adapter/ring";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "ring-jetty-adapter";
- groupId = "ring";
- sha512 = "93075903ad73a8b73cb77ee9f53ed33594f40a5dafe8129089adb4cfa333e37468764203c00244568f02abf0c0eee9f5d9a9f96c420919027cf2746a41ec38e3";
- version = "1.9.4";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "simpleclient_tracer_common/io.prometheus";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "simpleclient_tracer_common";
- groupId = "io.prometheus";
- sha512 = "6f717af63340efd84c5467ae752be7e66f586f0e8b57adb5b7a8ef99b223203ed829aad6797f6ef1811d6d861b00a621a1288c9271ec2ba77018d6d9eb9e7987";
- version = "0.12.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "component/com.stuartsierra";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "component";
- groupId = "com.stuartsierra";
- sha512 = "108b02f51165ad07c2cf5232fbd954d052880c2456e6fb6db3342bda6851c76b73bf9145f03fb0df2b5782fe39f368b2868780c1e8e2dfa2ab2c68dd97f34ab7";
- version = "1.0.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "netty-handler/io.netty";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "netty-handler";
- groupId = "io.netty";
- sha512 = "48874727553dd7084f5c48d90de123704ae334837c3a103f598887bb21405dd62c57603b59300ac2fcdd936f0af99ed0730487fb9fb8917d236b8fe3f78f3c02";
- version = "4.1.63.Final";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "yuicompressor/com.yahoo.platform.yui";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "yuicompressor";
- groupId = "com.yahoo.platform.yui";
- sha512 = "ba2588bd50eaa3005b1919daad9f9c86a33351ceb9b7b5f0a9a498a548cc523e99f9345917a64303f8e23925feea226386d3eac01f640f788d1be4c7cf0315e0";
- version = "2.4.8";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "commons-io/commons-io";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "commons-io";
- groupId = "commons-io";
- sha512 = "6af22dffaaecd1553147e788b5cf50368582318f396e456fe9ff33f5175836713a5d700e51720465c932c2b1987daa83027358005812d6a95d5755432de3a79d";
- version = "2.10.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "tools.namespace/org.clojure";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "tools.namespace";
- groupId = "org.clojure";
- sha512 = "2cdb9c5d9bc4fd01dae182e9ad4b91eeaa2487003a977e7d8d5e66f562a9544b59f558710eccf421ea63cbbfa953ac8944fe9b9a76049fb82a47eb2bdcb3a4d7";
- version = "1.1.1";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "honeysql/com.github.seancorfield";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "honeysql";
- groupId = "com.github.seancorfield";
- sha512 = "a0e5ebbf922aaf170c2d74ec0efc0df7e3bda92d0b8cc5f40ee4c8ddcb8c7e0e46556fac381513e0ac76b10f681c14c2d2569010c2f8eab4ff04f6373c2bf229";
- version = "2.2.840";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "jackson-core/com.fasterxml.jackson.core";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "jackson-core";
- groupId = "com.fasterxml.jackson.core";
- sha512 = "428e0ebb16dd4c74ab0adf712058fd0dc0cd788f6e6f90c60c627da6577b345fac60a30694e111f1cd4e3e8bf79a1f1b820d30ada114984b26c28e299e326eaa";
- version = "2.12.4";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "clj-time/clj-time";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "clj-time";
- groupId = "clj-time";
- sha512 = "cfeb46af59fd4112aa5a5d0087a39355f0fc19514b4c02bc6c3d9f81c9bda40491686207836e9a7943aebeb82a3b36f4e8b7407a8908c5ef151122644b278d75";
- version = "0.15.2";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "clj-http/clj-http";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "clj-http";
- groupId = "clj-http";
- sha512 = "9884557d4f38068cb3234aec80acc0de8f9716645529693ffd9bd6db8221f5d1cf9e2d1b8bf7c7df4215d71372b02d83043ebf8fc27dc422552b32c9bdba1602";
- version = "3.12.3";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "jul-to-slf4j/org.slf4j";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "jul-to-slf4j";
- groupId = "org.slf4j";
- sha512 = "350cfb889248d724b27dce697f635f12d9db463f107830b9518ce184dc4cc1ab3933eb5bdab08515e69766c3d5be24547dac289d6406c44eca90717230714b91";
- version = "2.0.0-alpha4";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "migratus/migratus";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "migratus";
- groupId = "migratus";
- sha512 = "ee5ce8601930d063e0d9d90fc8e165b78fc1587bfd7e0fc9922735bc2f9fc27f8cf8bf10d49d6fd57b899ac4b250145bd653915ed770424416e026ba37d1b604";
- version = "1.3.5";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "httpcore/org.apache.httpcomponents";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "httpcore";
- groupId = "org.apache.httpcomponents";
- sha512 = "f16a652f4a7b87dbf7cb16f8590d54a3f719c4c7b2f8883ce59db2d73be4701b64f2ca8a2c45aca6a5dbeaddeedff0c280a03722f70c076e239b645faa54eff9";
- version = "4.4.14";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "httpclient-cache/org.apache.httpcomponents";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "httpclient-cache";
- groupId = "org.apache.httpcomponents";
- sha512 = "e150e8dc49c8c9972d8b324b56bb292b15e2f0e686f1292c4edac975615dfb16e5edb8ab325e614732a7d43a03061ca4fe93fe1e1f7487851a4d4d3af50a61f9";
- version = "4.5.13";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "instaparse/instaparse";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "instaparse";
- groupId = "instaparse";
- sha512 = "ec2fcf4a09319a8fa9489b08fd9c9a5fe6e63155dde74d096f947fabc4f68d3d1bf68faf21e175e80eaee785f563a1903d30c550f93fb13a16a240609e3dfa2e";
- version = "1.4.8";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "honeysql-postgres/nilenso";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "honeysql-postgres";
- groupId = "nilenso";
- sha512 = "d4accd3b8819cf715ecdb29496cf5a6a5ad3871fd579e55c7148d4e05774cb896c681b0c6f84df88aa9cd8e6ef9bfd65788ede9a49ba365ad0e32ee350091879";
- version = "0.4.112";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "clj-tuple/clj-tuple";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "clj-tuple";
- groupId = "clj-tuple";
- sha512 = "dd626944d0aba679a21b164ed0c77ea84449359361496cba810f83b9fdeab751e5889963888098ce4bf8afa112dbda0a46ed60348a9c01ad36a2e255deb7ab6d";
- version = "0.2.2";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "jackson-annotations/com.fasterxml.jackson.core";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "jackson-annotations";
- groupId = "com.fasterxml.jackson.core";
- sha512 = "6fdad6c5bb71a97331a662fe26265aacab6869f3307a710697d5c2f256fd48935764bfb0b3505a2cbb1605daf0b7350abdf84a1b1cf2bb1e91d9184565243c8e";
- version = "2.12.4";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "hiccup/hiccup";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "hiccup";
- groupId = "hiccup";
- sha512 = "034f15be46c35029f41869c912f82cb2929fbbb0524ea64bd98dcdb9cf09875b28c75e926fa5fff53942b0f9e543e85a73a2d03c3f2112eecae30fcef8b148f4";
- version = "1.0.5";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "riddley/riddley";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "riddley";
- groupId = "riddley";
- sha512 = "b478ecba9d1ab9d38c84a42354586fcece763000907b40c97bc43c0f16dc560b0860144efe410193cb3b7cb0149fbc1724fdd737cc3ba53de23618f5b30e6f9f";
- version = "0.1.12";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "java.classpath/org.clojure";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "java.classpath";
- groupId = "org.clojure";
- sha512 = "90cd8edeaea02bd908d8cfb0cf5b1cf901aeb38ea3f4971c4b813d33210438aae6fff8e724a8272d2ea9441d373e7d936fa5870e309c1e9721299f662dbbdb9a";
- version = "1.0.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "simpleclient_pushgateway/io.prometheus";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "simpleclient_pushgateway";
- groupId = "io.prometheus";
- sha512 = "31c8878929f516ba7030cc9ec4ac4cbcb09955a9fdae23c6904bc481e40e70e1b3e05619c49b646119077ef6f57c430cc7944f6bafdbca24c9efa8145474fcf7";
- version = "0.12.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "ns-tracker/ns-tracker";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "ns-tracker";
- groupId = "ns-tracker";
- sha512 = "cfb6c2c9f899b43d1284acdc572b34b977936c4df734b38137dfea045421b74d529509cde23695f1dc5ee06d046c2f6b61a2cd98058da1c7220c21dd0361964f";
- version = "0.4.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "clout/clout";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "clout";
- groupId = "clout";
- sha512 = "99d6e1a8c5726ca4e5d12b280a39e6d1182d734922600f27d588d3d65fbc830c5e03f9e0421ff25c819deee4d1f389fd3906222716ace1eb17ce70ef9c5e8f4b";
- version = "2.2.1";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "commons-logging/commons-logging";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "commons-logging";
- groupId = "commons-logging";
- sha512 = "ed00dbfabd9ae00efa26dd400983601d076fe36408b7d6520084b447e5d1fa527ce65bd6afdcb58506c3a808323d28e88f26cb99c6f5db9ff64f6525ecdfa557";
- version = "1.2";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "clojure.java-time/clojure.java-time";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "clojure.java-time";
- groupId = "clojure.java-time";
- sha512 = "62d8a286ec3393594e7f84eba22dbb02c1305a80a18b2574058ae963d3f3e829ff960c8b66e89069e6c071a11f869203134c6c4cdec6f8e516c9b314796c8108";
- version = "0.3.3";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "data.csv/org.clojure";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "data.csv";
- groupId = "org.clojure";
- sha512 = "b039775a859ed27eca8f8ae74ccb6afde3ad1fe2b3cbe542240c324d60fe1237e495eb1300ee9eb4ff4ef59f01faf7aec6ef1dd6a025ee4fe556c1d91acfcf1b";
- version = "1.0.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "simpleclient_tracer_otel_agent/io.prometheus";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "simpleclient_tracer_otel_agent";
- groupId = "io.prometheus";
- sha512 = "97694210d9a5b48a7cb9dda2a187432c4813edb3051edfa5832a0a471e0b2d5988dab92b70c292e78f59b169345deb5c1c706361fd726f3dc2480766dedfdcec";
- version = "0.12.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "next.jdbc/com.github.seancorfield";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "next.jdbc";
- groupId = "com.github.seancorfield";
- sha512 = "0b4b01ba126bb8b1e2c14262db9fca75456b274d09535d9a7bb386699bf20dc9ac11590d210769e7429ca59ebfdfbb06916b3ff275cc817d74eac5bbabdab8f2";
- version = "1.2.761";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "java.jdbc/org.clojure";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "java.jdbc";
- groupId = "org.clojure";
- sha512 = "6162b7774dca58b62a94bc5a04ba845e4c7065c9c589cc3bb802becfec0baf0989a338c1bf9a5db7c3128873702840d5f2451628f3aac977245975d65a683b7d";
- version = "0.7.11";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "netty-transport/io.netty";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "netty-transport";
- groupId = "io.netty";
- sha512 = "c11d690ffeaf3267b2166f73a43108fb89d588fcef3f6d3053bf4b6f6669483baa618fd97438010692a6fa28334372d5a31b7c0996961d4eabb60cbdc358a536";
- version = "4.1.63.Final";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "crypto-random/crypto-random";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "crypto-random";
- groupId = "crypto-random";
- sha512 = "3520df744f250dbe061d1a5d7a05b7143f3a67a4c3f9ad87b8044ee68a36a702a0bcb3a203e35d380899dd01c28e01988b0a7af914b942ccbe0c35c9bdb22e11";
- version = "1.2.1";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "netty-transport-native-unix-common/io.netty";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "netty-transport-native-unix-common";
- groupId = "io.netty";
- sha512 = "b63e5f8a44b7f37f3dba378bd06af64dd1d7be3f0b1a7d47ad139ff06e0212b4c7081275b1b5b12183aeb72eb5f9bf9ef03ed8c78bc302aeb4817dca7bd89f3a";
- version = "4.1.63.Final";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "ring-codec/ring";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "ring-codec";
- groupId = "ring";
- sha512 = "38b9775a794831b8afd8d66991a75aa5910cd50952c9035866bf9cc01353810aedafbc3f35d8f9e56981ebf9e5c37c00b968759ed087d2855348b3f46d8d0487";
- version = "1.1.3";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "spy/com.impossibl.pgjdbc-ng";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "spy";
- groupId = "com.impossibl.pgjdbc-ng";
- sha512 = "173615c39aa6015a732e329217b40e3ea1c304c9c168d2764d6ef23ab8775e2f4432339bc22d049662561f09d3fd890b5415738620d64dcedb762d5da26b4ebb";
- version = "0.8.9";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "logback-json-core/ch.qos.logback.contrib";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "logback-json-core";
- groupId = "ch.qos.logback.contrib";
- sha512 = "2a826036f21997e2979fda83ae3e33cf62f3b2b2df15a7b11d1fd8a52163b09f0f2f8d72f5fdcea0ec1289b3d27727ed5e6b0bcdf4c5d741f4bac07b7b6139e8";
- version = "0.1.5";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "httpclient/org.apache.httpcomponents";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "httpclient";
- groupId = "org.apache.httpcomponents";
- sha512 = "3567739186e551f84cad3e4b6b270c5b8b19aba297675a96bcdff3663ff7d20d188611d21f675fe5ff1bfd7d8ca31362070910d7b92ab1b699872a120aa6f089";
- version = "4.5.13";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "crypto-equality/crypto-equality";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "crypto-equality";
- groupId = "crypto-equality";
- sha512 = "54cf3bd28f633665962bf6b41f5ccbf2634d0db210a739e10a7b12f635e13c7ef532efe1d5d8c0120bb46478bbd08000b179f4c2dd52123242dab79fea97d6a6";
- version = "1.0.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "cheshire/cheshire";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "cheshire";
- groupId = "cheshire";
- sha512 = "855e9c42a8d1c64f4db5cda45e31e914eb5ed99a715e8d7a5759a9c4ab6c69a82353635ca7b0837880c6cf9b41b11184ae11e09cbf2c07aa13db32c539e5dfd4";
- version = "5.10.1";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "tigris/tigris";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "tigris";
- groupId = "tigris";
- sha512 = "fdff4ef5e7175a973aaef98de4f37dee8e125fc711c495382e280aaf3e11341fe8925d52567ca60f3f1795511ade11bc23461c88959632dfae3cf50374d02bf6";
- version = "0.1.2";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "config/yogthos";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "config";
- groupId = "yogthos";
- sha512 = "3437992d192465edc74aec5259d5e0c0ad7e631dff860b2ee14cef27f13cee7c60487202cf00fc160a95fb0b85ce1ddf56cbdd0c008b47ac598061bf115f6a23";
- version = "1.1.9";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "jetty-io/org.eclipse.jetty";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "jetty-io";
- groupId = "org.eclipse.jetty";
- sha512 = "a8c5f73089daa0c8b27f836acddf40bcbf07bbb2571a4d73653be8aac3fb339022f546326722f216bad78a68886934d24db9bec54235124592dd29dbeab69051";
- version = "9.4.42.v20210604";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "logback-json-classic/ch.qos.logback.contrib";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "logback-json-classic";
- groupId = "ch.qos.logback.contrib";
- sha512 = "d30bf70217d316914d83d46cc15783f656354084087d59cbc0620a746f10b4a42e56d33b3e50a8b3596a64ec8314730bf5ff9a3f7dc3417bdd0582665be009ec";
- version = "0.1.5";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "tools.reader/org.clojure";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "tools.reader";
- groupId = "org.clojure";
- sha512 = "3481259c7a1eac719db2921e60173686726a0c2b65879d51a64d516a37f6120db8ffbb74b8bd273404285d7b25143ab5c7ced37e7c0eaf4ab1e44586ccd3c651";
- version = "1.3.6";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "simpleclient_common/io.prometheus";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "simpleclient_common";
- groupId = "io.prometheus";
- sha512 = "dedd003638eb3651c112e2d697ac94eb4e3b3e32c94fa41bb1efe2c889a347cdc7bd13256e05423f3370592d4fd65faf8db57f0387ab75814d7fa77b14cbbadf";
- version = "0.12.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "commons-compiler/org.codehaus.janino";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "commons-compiler";
- groupId = "org.codehaus.janino";
- sha512 = "f0778b891ef14d8ee6776747eab0b25da716cdc530752a81aedec2a77570e2f66402179b9408a6efde8125c808eb060a720d2f4977c1f1d022bdaae7eac8d011";
- version = "3.1.2";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "servlet-api/javax.servlet";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "servlet-api";
- groupId = "javax.servlet";
- sha512 = "363ba5590436ab82067b7a2e14b481aeb2b12ca4048d7a1519a2e549b2d3c09ddf718ac64dc2be6c2fc24c51fdc9c8160261329403113369588ce27d87771db6";
- version = "2.5";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "iapetos/clj-commons";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "iapetos";
- groupId = "clj-commons";
- sha512 = "d17f36c0cf0ec78db5e893e5c033f8562b31650bda6f5ee582e68f84a07a3631d04d6f69e4e18b1ca64e732c180fa669dfb69a78849e13f601cd563a7a8aab94";
- version = "0.1.12";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "javax.servlet-api/javax.servlet";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "javax.servlet-api";
- groupId = "javax.servlet";
- sha512 = "32f7e3565c6cdf3d9a562f8fd597fe5059af0cf6b05b772a144a74bbc95927ac275eb38374538ec1c72adcce4c8e1e2c9f774a7b545db56b8085af0065e4a1e5";
- version = "3.1.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "potemkin/potemkin";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "potemkin";
- groupId = "potemkin";
- sha512 = "5abc050bf7ff0b27d8c45aaa5e378201980815b711b2db99735db73304576c17e285026ea48a714bf0b0df7ad7a008de38b7d182cdc0e8989f4be1e6b3afa8aa";
- version = "0.4.5";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "netty-resolver/io.netty";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "netty-resolver";
- groupId = "io.netty";
- sha512 = "fabf893de74264caa1799c15d184ed8f20b7bf9b1c41abb29f29adf728a934951f97892a4924634f9efbda17c8cf74ea3ff97bafca616711e3c5f79b8ed9ef3e";
- version = "4.1.63.Final";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "netty-transport-native-epoll/io.netty";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "netty-transport-native-epoll";
- groupId = "io.netty";
- sha512 = "6fbc2dd2622699f3fc1f329acbd94baf7f1d8923c5cfcae262e6f2d64b4fd71b606561bce5e2b511dff8e052cdade930091fab683fd98713f6b62a622a2c6254";
- version = "4.1.63.Final";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "clj-stacktrace/clj-stacktrace";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "clj-stacktrace";
- groupId = "clj-stacktrace";
- sha512 = "993f8a544203801fc074eefacee8e553e426422b3492d47b857d87ac73cde72c91e29f629382b9eae8cf9600bc2c4c29d2e7169e509c46302ab973c86e73af0c";
- version = "0.2.8";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "cambium.codec-cheshire/cambium";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "cambium.codec-cheshire";
- groupId = "cambium";
- sha512 = "614491cf752a597f29ae29885db6c1ed191341303d89183bee52e4e2c76eb8eb14693562ad09484f379a074b36d97085e848ec3845e069440e6422506c1636f1";
- version = "1.0.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "slf4j-api/org.slf4j";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "slf4j-api";
- groupId = "org.slf4j";
- sha512 = "ad705ab6fd5cd904ef6861c0adf08af19593cf6a486b18de548fe3d68e57b1baa7e02947584fd4dcc350ddcddcf906c01e8d9ba7943a202690d0d788627696b5";
- version = "2.0.0-alpha4";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "test.check/org.clojure";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "test.check";
- groupId = "org.clojure";
- sha512 = "b8d7a330b0b5514cd6a00c4382052fab51c3c9d3bc53133f8506791fa670e7c5ecd65094977ea5ced91f59623b0abd1ab8feeec96d63c5c6e459b265a655c577";
- version = "1.1.1";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "ring-logger/ring-logger";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "ring-logger";
- groupId = "ring-logger";
- sha512 = "b675a61c173289fc610d84920ba40178bf62b3bc680923cb66866d78ee2a508296b27a1ab14b66bfbe0304a64166a7e3c3ddee36564dd4a2f988861bce455a3a";
- version = "1.0.1";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "ring-servlet/ring";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "ring-servlet";
- groupId = "ring";
- sha512 = "3d8e6ec224e13d54810a945c0b6c0d2d863736a48d8c4bfc8fadb96b6b0fa9baa638644d0d92d8a53650b188e6e75d391731b08b26eb0f551e90a7504e7f4267";
- version = "1.9.4";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "logback-classic/ch.qos.logback";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "logback-classic";
- groupId = "ch.qos.logback";
- sha512 = "f9fe0f126061f4abe3973b631b8d8244ba9e9d77783479a6500d629d772050dee508a001fc14d2131407fbdd0d33dd6b8aeb9b1ea9125b471bb8412e8de659e6";
- version = "1.3.0-alpha12";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "dependency/com.stuartsierra";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "dependency";
- groupId = "com.stuartsierra";
- sha512 = "d32fbc4813bd16f2ed8c82e2915e1fb564e88422159bd3580a85c8cd969d1bbbe315bdc13d29c2f0eaceeeafcf649ee712c8df4532464d560aaeae4ae5953866";
- version = "1.0.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "camel-snake-kebab/camel-snake-kebab";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "camel-snake-kebab";
- groupId = "camel-snake-kebab";
- sha512 = "589d34b500560b7113760a16bfb6f0ccd8f162a1ce8c9bc829495432159ba9c95aebf6bc43aa126237a0525806a205a05f9910122074902b659e7fd151d176b1";
- version = "0.4.2";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "ring/ring";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "ring";
- groupId = "ring";
- sha512 = "93c48fb670736b91fb41d8076e1e9c4f53c67693d15e75290da319e7d7881b829a24180029b3a0fa051473c6c77ac3c97b519254ebf2b2c9538b185e79b69162";
- version = "1.9.4";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "netty-transport-native-kqueue/io.netty";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "netty-transport-native-kqueue";
- groupId = "io.netty";
- sha512 = "87e10c06e394a1698d65381d3be8336f753c55e3e899e297510161d0c72540023f30f9032322957e035ead793204a084b988bc21a2bc312fcf7567a22d02a3c4";
- version = "4.1.63.Final";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "java.data/org.clojure";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "java.data";
- groupId = "org.clojure";
- sha512 = "225e1eafd1a659278212d831f7cd8609359f8c880ef3d69b4ade6301ce3c511307ce31d94cb82d5407314b990bd04714ec26273bb3036b248116a7a75fa75e1f";
- version = "1.0.95";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "jetty-server/org.eclipse.jetty";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "jetty-server";
- groupId = "org.eclipse.jetty";
- sha512 = "b347f8a6e5b84e0f460037027e238a61edec710ade768c95e7be13dcea498abe43d5e622ee69ac7494138d1a8fcf92e07b7deab569c554831c57baad71c53b9b";
- version = "9.4.42.v20210604";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "httpmime/org.apache.httpcomponents";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "httpmime";
- groupId = "org.apache.httpcomponents";
- sha512 = "e1b0ee84bce78576074dc1b6836a69d8f5518eade38562e6890e3ddaa72b7f54bf735c8e2286142c58cddf45f745da31261e5d73b7d8092eb6ecfb20946eb36c";
- version = "4.5.13";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "log4j-over-slf4j/org.slf4j";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "log4j-over-slf4j";
- groupId = "org.slf4j";
- sha512 = "48fa023c57294b73b9bd2f53e3dd3169e03426e5b3aa9d80e1bb1a9abf927fc26ef9f64d02b9769d5577d83094d0f41f044d35bb3b4f6037d66d6b2f19b484a1";
- version = "2.0.0-alpha4";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "ring-core/ring";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "ring-core";
- groupId = "ring";
- sha512 = "38d7214a3fc1b80ab55999036638dd1971272e01bec4cb8e0ee0a4aa83f51b8c41ba8a5850b0660227f067d2f9c6d75c0c0737725ea02762bbf8d192dc72febe";
- version = "1.9.4";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "cambium.core/cambium";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "cambium.core";
- groupId = "cambium";
- sha512 = "0e1fe626c6d0b31aad84ea2e4466273065925548ee5915f442b7997ebfe795faea36dbeac50a0f8c16bbd20d877511e3f8c4ff4f2b916a4538513aaa5cc20112";
- version = "1.1.1";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "medley/medley";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "medley";
- groupId = "medley";
- sha512 = "749ef43b5ea2cae7dc96db871cdd15c7b3c9cfbd96828c20ab08e67d39a5e938357d15994d8d413bc68678285d6c666f2a7296fbf305706d03b3007254e3c55c";
- version = "1.3.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "garden/garden";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "garden";
- groupId = "garden";
- sha512 = "2cc29f071b68bf451835f76de351ac2efb930b5df9ca7237fdca439d3c4d797d7fa207a147886efe1738ab1c50b76c1e366bf9ffcd6f286b0b211260aedd0b25";
- version = "1.3.10";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "jackson-dataformat-smile/com.fasterxml.jackson.dataformat";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "jackson-dataformat-smile";
- groupId = "com.fasterxml.jackson.dataformat";
- sha512 = "69676964a2b09516b8ffd0d847b6f9a9b843424185453731b548c25e7e9ce30e808c56d66923f9183e2b5c1ba007421b146a6806e768b8e6b07470d60227f1dd";
- version = "2.12.4";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "jaxb-api/javax.xml.bind";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "jaxb-api";
- groupId = "javax.xml.bind";
- sha512 = "0c5bfc2c9f655bf5e6d596e0c196dcb9344d6dc78bf774207c8f8b6be59f69addf2b3121e81491983eff648dfbd55002b9878132de190825dad3ef3a1265b367";
- version = "2.3.0";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "pgjdbc-ng/com.impossibl.pgjdbc-ng";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "pgjdbc-ng";
- groupId = "com.impossibl.pgjdbc-ng";
- sha512 = "a34ac9146257329f6e9b354f13f564c65dbea6463addae383e3918d3a64c90c67f5f7fda6b5c3866de991a568d6690edb3fb09f2507593390a6e30ec0c79e02c";
- version = "0.8.9";
-
- };
- paths = [ src ];
- }
-
- rec {
- name = "http-kit/http-kit";
- src = fetchMavenArtifact {
- inherit repos;
- artifactId = "http-kit";
- groupId = "http-kit";
- sha512 = "4186a2429984745e18730aa8fd545f1fc1812083819ebf77aecfc04e0d31585358a5e25a308c7f21d81359418bbc72390c281f5ed91ae116cf1af79860ba22c3";
- version = "2.5.3";
-
- };
- paths = [ src ];
- }
+ packages) ++ extraClasspaths;
+ makeClasspaths = { extraClasspaths ? [ ] }:
+ if (builtins.typeOf extraClasspaths != "list")
+ then builtins.throw "extraClasspaths must be of type 'list'!"
+ else builtins.concatStringsSep ":" (makePaths { inherit extraClasspaths; });
+ packageSources = builtins.map (dep: dep.src) packages;
+ packages = [
+ rec {
+ name = "cambium.logback.json/cambium";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "cambium.logback.json";
+ groupId = "cambium";
+ sha512 = "8e3f32bc1e11071ddc8700204333ba653585de7985c03d14c351950a7896975092e9deffd658bfec7b0b8b9cc72dc025d8e5179a185bd25da26e500218ec37a5";
+ version = "0.4.5";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "clojure/org.clojure";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "clojure";
+ groupId = "org.clojure";
+ sha512 = "a242514f623a17601b360886563c4a4fe09335e4e16522ac42bbcacda073ae77651cfed446daae7fe74061bb7dff5adc454769c0edc0ded350136c3c707e75b9";
+ version = "1.11.0-alpha3";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "joda-time/joda-time";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "joda-time";
+ groupId = "joda-time";
+ sha512 = "012fb9aa9b00b456f72a92374855a7f062f8617c026c436eee2cda67dffa2f8622201909c0f4f454bb346ff5a3ed6f60c236fafb19fa66f612d9861f27b38d3a";
+ version = "2.10";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "commons-codec/commons-codec";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "commons-codec";
+ groupId = "commons-codec";
+ sha512 = "da30a716770795fce390e4dd340a8b728f220c6572383ffef55bd5839655d5611fcc06128b2144f6cdcb36f53072a12ec80b04afee787665e7ad0b6e888a6787";
+ version = "1.15";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "HikariCP/com.zaxxer";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "HikariCP";
+ groupId = "com.zaxxer";
+ sha512 = "a41b6d8b1c4656e633459824f10320965976eeead01bd5cb24911040073181730e61feb797aef89d9e01c922e89cb58654f364df0a6b1bf62ab3e6f9cc367d77";
+ version = "5.0.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "ring-devel/ring";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "ring-devel";
+ groupId = "ring";
+ sha512 = "79a1ec9f9d03aa4fa0426353970b13468ee65ce314b51ab7a2682212a196a9b5c985eacdee5dbc6ff2f1b536a4e06d0e85e9dd7cc9a49958735c9c4e6d427fd5";
+ version = "1.9.4";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "simpleclient/io.prometheus";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "simpleclient";
+ groupId = "io.prometheus";
+ sha512 = "60af1cefff04e7036467eae54f5930d5677e4ab066f8ed38a391b54df17733acfefac45e19ee53cef289347bddce5fc69a2766f4e580d21a22cfd9e2348e2723";
+ version = "0.12.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "commons-lang3/org.apache.commons";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "commons-lang3";
+ groupId = "org.apache.commons";
+ sha512 = "fbdbc0943cb3498b0148e86a39b773f97c8e6013740f72dbc727faeabea402073e2cc8c4d68198e5fc6b08a13b7700236292e99d4785f2c9989f2e5fac11fd81";
+ version = "3.12.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "tools.logging/org.clojure";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "tools.logging";
+ groupId = "org.clojure";
+ sha512 = "b7a9680f1156fc7c1574a4364ca550d47668ba727fc80110fdd00c159bedb45c5be82f09cdfb8e8e988e3381e2cf8881ea70651e38001e3eaa4ece31ad0bf0c5";
+ version = "1.2.2";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "core.specs.alpha/org.clojure";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "core.specs.alpha";
+ groupId = "org.clojure";
+ sha512 = "f521f95b362a47bb35f7c85528c34537f905fb3dd24f2284201e445635a0df701b35d8419d53c6507cc78d3717c1f83cda35ea4c82abd8943cd2ab3de3fcad70";
+ version = "0.2.62";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "netty-common/io.netty";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "netty-common";
+ groupId = "io.netty";
+ sha512 = "7efc2f6774a3dbe8408fe182e19830b5b7a994a0d1b0eb50699df691c2450befa05ac205bbf341ad57bef3a04281ce435031e97e725c5c4edfc705a418828ce8";
+ version = "4.1.63.Final";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "jackson-databind/com.fasterxml.jackson.core";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "jackson-databind";
+ groupId = "com.fasterxml.jackson.core";
+ sha512 = "9f771e78af669b1e1683d6c5903bbf4790aaa88b6b420c2018437da318c3fa4220cd7fa726f3e42a1b8075def1fdbd3744937c15f3bcedfca3050199247363e8";
+ version = "2.12.4";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "expound/expound";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "expound";
+ groupId = "expound";
+ sha512 = "ca0a57cfd215cff6be36d1f83461ec2d0559c0eae172c8a8bd6e1676d49933d3c30a71192889bd75d813581707d5eda0ec05de03326396bc0cedebf2d71811e5";
+ version = "0.8.10";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "spec.alpha/org.clojure";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "spec.alpha";
+ groupId = "org.clojure";
+ sha512 = "ddfe4fa84622abd8ac56e2aa565a56e6bdc0bf330f377ff3e269ddc241bb9dbcac332c13502dfd4c09c2c08fe24d8d2e8cf3d04a1bc819ca5657b4e41feaa7c2";
+ version = "0.3.218";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "tools.cli/org.clojure";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "tools.cli";
+ groupId = "org.clojure";
+ sha512 = "1d88aa03eb6a664bf2c0ce22c45e7296d54d716e29b11904115be80ea1661623cf3e81fc222d164047058239010eb678af92ffedc7c3006475cceb59f3b21265";
+ version = "1.0.206";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "compojure/compojure";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "compojure";
+ groupId = "compojure";
+ sha512 = "1f4ba1354bd95772963a4ef0e129dde59d16f4f9fac0f89f2505a1d5de3b4527e45073219c0478e0b3285da46793e7c145ec5a55a9dae2fca6b77dc8d67b4db6";
+ version = "1.6.2";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "commons-fileupload/commons-fileupload";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "commons-fileupload";
+ groupId = "commons-fileupload";
+ sha512 = "a8780b7dd7ab68f9e1df38e77a5207c45ff50ec53d8b1476570d069edc8f59e52fb1d0fc534d7e513ac5a01b385ba73c320794c82369a72bd6d817a3b3b21f39";
+ version = "1.4";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "jetty-http/org.eclipse.jetty";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "jetty-http";
+ groupId = "org.eclipse.jetty";
+ sha512 = "60422ff3ef311f1d9d7340c2accdf611d40e738a39e9128967175ede4990439f4725995988849957742d488f749dd2e0740f74dc5bd9b3364e32fbaa66689308";
+ version = "9.4.42.v20210604";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "jetty-util/org.eclipse.jetty";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "jetty-util";
+ groupId = "org.eclipse.jetty";
+ sha512 = "d69084e2cfe0c3af1dc7ee2745d563549a4068b6e8aed5cd2b9f31167168fb64d418c4134a6dfb811b627ec0051d7ff71e0a02e4e775d18a53543d0871c44730";
+ version = "9.4.42.v20210604";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "janino/org.codehaus.janino";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "janino";
+ groupId = "org.codehaus.janino";
+ sha512 = "6853d7d53d3629df43a3a17ff5c989f59ec14e9030be5f67426deb9d0797fa3996b0609d582c65f22a4f7680c941b39ab6d466c480b2fea4bf92218a9b89651d";
+ version = "3.1.2";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "jcl-over-slf4j/org.slf4j";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "jcl-over-slf4j";
+ groupId = "org.slf4j";
+ sha512 = "23662fe407fcdbcba8865a8cd3f8bb09d4eb178a2a6511a32e35b995722b345e73f5dc1dd85d2d0a5c707db05aa57e0b3d0b96b59e55403fc486343d5ca4c0d6";
+ version = "2.0.0-alpha4";
+
+ };
+ paths = [ src ];
+ }
+
+ (rec {
+ name = "io.github.cognitect-labs/test-runner";
+ src = fetchgit {
+ name = "test-runner";
+ url = "https://github.com/cognitect-labs/test-runner";
+ rev = "cc75980b43011773162b485f46f939dc5fba91e4";
+ sha256 = "1661ddmmqva1yiz9p09i5l32lfpi0a99h56022zgvz03nca2ksbg";
+ };
+ paths = map (path: src + path) [
+ "/src"
+ ];
+ })
+
+ rec {
+ name = "cambium.logback.core/cambium";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "cambium.logback.core";
+ groupId = "cambium";
+ sha512 = "83ee9a583dd8a7b2e82e0981b4e51b005095a27257eb1b07165d9701645609060c466ae67fb9431f524a544d52b71fa00009b8acf05aadbeb549043515f9b382";
+ version = "0.4.5";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "httpasyncclient/org.apache.httpcomponents";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "httpasyncclient";
+ groupId = "org.apache.httpcomponents";
+ sha512 = "0a80db5dbf772f02d02ba6c7c163e8da9517dd7195714b495acb845c429580c1fc926d3e71c115e75be8c145651dce2fdfa0dc380132f7809c14b3ad95492aee";
+ version = "4.1.4";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "logback-jackson/ch.qos.logback.contrib";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "logback-jackson";
+ groupId = "ch.qos.logback.contrib";
+ sha512 = "d9a3d4cb6cf4eda6fc18e2d374007d27c6ddba98e989a8d8a01b49859b280450113f685df6e16c5fbe0472bc9e26308bc7e8b7e0aedab9404cf0b492d7511685";
+ version = "0.1.5";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "simpleclient_tracer_otel/io.prometheus";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "simpleclient_tracer_otel";
+ groupId = "io.prometheus";
+ sha512 = "bce192e6162cb3ada7dd6c2d10456e78bce71c170faa09bad2896272fa1bd4a036288d707f3d47747991d8946c74fe21c565713fb15c7052305eb753c94dd939";
+ version = "0.12.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "netty-codec/io.netty";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "netty-codec";
+ groupId = "io.netty";
+ sha512 = "f6d9c4a5b508ca0d5f0e213473088f5d7b2e184e447dc092e69227109e28da9b8e68b2238ca6ab4e9915bacacf59cc0dce6ebcbbb05dad34a03b7976d9670c51";
+ version = "4.1.63.Final";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "ring-oauth2/ring-oauth2";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "ring-oauth2";
+ groupId = "ring-oauth2";
+ sha512 = "3ed765b4bbb5749fcdcdb501b93ab656a413ade5af24c7aa34639718ed1fd0a5f325b05bd135540d56e55cbb456a2cb7852ba0e45bc5233e28229986eef75bb9";
+ version = "0.2.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "tools.macro/org.clojure";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "tools.macro";
+ groupId = "org.clojure";
+ sha512 = "65ce5e29379620ac458274c53cd9926e4b764fcaebb1a2b3bc8aef86bbe10c79e654b028bc4328905d2495a680fa90f5002cf5c47885f6449fad43a04a594b26";
+ version = "0.1.5";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "jackson-dataformat-cbor/com.fasterxml.jackson.dataformat";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "jackson-dataformat-cbor";
+ groupId = "com.fasterxml.jackson.dataformat";
+ sha512 = "ea5d049eac1b94666479c5e36de14d8fa4b7f24cb92f0f310d2ec2b4de66ef9023161060e67228ef2d7420a002ef861db12a29cad0864638c21612da49686f4f";
+ version = "2.12.4";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "depstar/seancorfield";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "depstar";
+ groupId = "seancorfield";
+ sha512 = "0f4458b39b8b1949755bc2fe64b239673a9efa3a0140998464bbbcab216ec847344c1b8920611f7c9ca07261850f3a08144ae221cc2c41813a080189e32f9c10";
+ version = "1.0.94";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "logback-core/ch.qos.logback";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "logback-core";
+ groupId = "ch.qos.logback";
+ sha512 = "fc554548f499e284007eeecf76bf4e1995effb6ac8a6262aa96118f623bf9085a9d5bec3741833dd3cae6a76b2ff78c6d0a1fe68bc01213207c93d8e2da345ca";
+ version = "1.3.0-alpha12";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "honeysql/honeysql";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "honeysql";
+ groupId = "honeysql";
+ sha512 = "74d1d93c968b33686848e3bf8934f3b5f002c2b69b1b55a3a3b172c952e9991324e6e95e3a0ce2fecf1de0d3a036f4dff7286df689f0733f253909464e0269f6";
+ version = "1.0.461";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "netty-buffer/io.netty";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "netty-buffer";
+ groupId = "io.netty";
+ sha512 = "181b55d99d8d46bbf5f67f05bdccb0381af23a9fca3e6d935e6cde727b132c67133de1c3d81ed19b04c1a5b232be0de16ec1de7e81b532878bc69564237c15dc";
+ version = "4.1.63.Final";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "slingshot/slingshot";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "slingshot";
+ groupId = "slingshot";
+ sha512 = "ff2b2a27b441d230261c7f3ec8c38aa551865e05ab6438a74bd12bfcbc5f6bdc88199d42aaf5932b47df84f3d2700c8f514b9f4e9b5da28d29da7ff6b09a7fb5";
+ version = "0.12.2";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "httpcore-nio/org.apache.httpcomponents";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "httpcore-nio";
+ groupId = "org.apache.httpcomponents";
+ sha512 = "002af5f72b68a4ff1b1ff46b788013283d195e1d62ee1d7b102aa930b30f77f7e215a6d18edbea0fccd18fb1fa3a66cc4aef6070d72d6d1886f0044dfe0e16c7";
+ version = "4.4.10";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "ring-jetty-adapter/ring";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "ring-jetty-adapter";
+ groupId = "ring";
+ sha512 = "93075903ad73a8b73cb77ee9f53ed33594f40a5dafe8129089adb4cfa333e37468764203c00244568f02abf0c0eee9f5d9a9f96c420919027cf2746a41ec38e3";
+ version = "1.9.4";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "simpleclient_tracer_common/io.prometheus";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "simpleclient_tracer_common";
+ groupId = "io.prometheus";
+ sha512 = "6f717af63340efd84c5467ae752be7e66f586f0e8b57adb5b7a8ef99b223203ed829aad6797f6ef1811d6d861b00a621a1288c9271ec2ba77018d6d9eb9e7987";
+ version = "0.12.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "component/com.stuartsierra";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "component";
+ groupId = "com.stuartsierra";
+ sha512 = "108b02f51165ad07c2cf5232fbd954d052880c2456e6fb6db3342bda6851c76b73bf9145f03fb0df2b5782fe39f368b2868780c1e8e2dfa2ab2c68dd97f34ab7";
+ version = "1.0.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "netty-handler/io.netty";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "netty-handler";
+ groupId = "io.netty";
+ sha512 = "48874727553dd7084f5c48d90de123704ae334837c3a103f598887bb21405dd62c57603b59300ac2fcdd936f0af99ed0730487fb9fb8917d236b8fe3f78f3c02";
+ version = "4.1.63.Final";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "yuicompressor/com.yahoo.platform.yui";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "yuicompressor";
+ groupId = "com.yahoo.platform.yui";
+ sha512 = "ba2588bd50eaa3005b1919daad9f9c86a33351ceb9b7b5f0a9a498a548cc523e99f9345917a64303f8e23925feea226386d3eac01f640f788d1be4c7cf0315e0";
+ version = "2.4.8";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "commons-io/commons-io";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "commons-io";
+ groupId = "commons-io";
+ sha512 = "6af22dffaaecd1553147e788b5cf50368582318f396e456fe9ff33f5175836713a5d700e51720465c932c2b1987daa83027358005812d6a95d5755432de3a79d";
+ version = "2.10.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "tools.namespace/org.clojure";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "tools.namespace";
+ groupId = "org.clojure";
+ sha512 = "2cdb9c5d9bc4fd01dae182e9ad4b91eeaa2487003a977e7d8d5e66f562a9544b59f558710eccf421ea63cbbfa953ac8944fe9b9a76049fb82a47eb2bdcb3a4d7";
+ version = "1.1.1";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "honeysql/com.github.seancorfield";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "honeysql";
+ groupId = "com.github.seancorfield";
+ sha512 = "a0e5ebbf922aaf170c2d74ec0efc0df7e3bda92d0b8cc5f40ee4c8ddcb8c7e0e46556fac381513e0ac76b10f681c14c2d2569010c2f8eab4ff04f6373c2bf229";
+ version = "2.2.840";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "jackson-core/com.fasterxml.jackson.core";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "jackson-core";
+ groupId = "com.fasterxml.jackson.core";
+ sha512 = "428e0ebb16dd4c74ab0adf712058fd0dc0cd788f6e6f90c60c627da6577b345fac60a30694e111f1cd4e3e8bf79a1f1b820d30ada114984b26c28e299e326eaa";
+ version = "2.12.4";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "clj-time/clj-time";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "clj-time";
+ groupId = "clj-time";
+ sha512 = "cfeb46af59fd4112aa5a5d0087a39355f0fc19514b4c02bc6c3d9f81c9bda40491686207836e9a7943aebeb82a3b36f4e8b7407a8908c5ef151122644b278d75";
+ version = "0.15.2";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "clj-http/clj-http";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "clj-http";
+ groupId = "clj-http";
+ sha512 = "9884557d4f38068cb3234aec80acc0de8f9716645529693ffd9bd6db8221f5d1cf9e2d1b8bf7c7df4215d71372b02d83043ebf8fc27dc422552b32c9bdba1602";
+ version = "3.12.3";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "jul-to-slf4j/org.slf4j";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "jul-to-slf4j";
+ groupId = "org.slf4j";
+ sha512 = "350cfb889248d724b27dce697f635f12d9db463f107830b9518ce184dc4cc1ab3933eb5bdab08515e69766c3d5be24547dac289d6406c44eca90717230714b91";
+ version = "2.0.0-alpha4";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "migratus/migratus";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "migratus";
+ groupId = "migratus";
+ sha512 = "ee5ce8601930d063e0d9d90fc8e165b78fc1587bfd7e0fc9922735bc2f9fc27f8cf8bf10d49d6fd57b899ac4b250145bd653915ed770424416e026ba37d1b604";
+ version = "1.3.5";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "httpcore/org.apache.httpcomponents";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "httpcore";
+ groupId = "org.apache.httpcomponents";
+ sha512 = "f16a652f4a7b87dbf7cb16f8590d54a3f719c4c7b2f8883ce59db2d73be4701b64f2ca8a2c45aca6a5dbeaddeedff0c280a03722f70c076e239b645faa54eff9";
+ version = "4.4.14";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "httpclient-cache/org.apache.httpcomponents";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "httpclient-cache";
+ groupId = "org.apache.httpcomponents";
+ sha512 = "e150e8dc49c8c9972d8b324b56bb292b15e2f0e686f1292c4edac975615dfb16e5edb8ab325e614732a7d43a03061ca4fe93fe1e1f7487851a4d4d3af50a61f9";
+ version = "4.5.13";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "instaparse/instaparse";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "instaparse";
+ groupId = "instaparse";
+ sha512 = "ec2fcf4a09319a8fa9489b08fd9c9a5fe6e63155dde74d096f947fabc4f68d3d1bf68faf21e175e80eaee785f563a1903d30c550f93fb13a16a240609e3dfa2e";
+ version = "1.4.8";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "honeysql-postgres/nilenso";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "honeysql-postgres";
+ groupId = "nilenso";
+ sha512 = "d4accd3b8819cf715ecdb29496cf5a6a5ad3871fd579e55c7148d4e05774cb896c681b0c6f84df88aa9cd8e6ef9bfd65788ede9a49ba365ad0e32ee350091879";
+ version = "0.4.112";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "clj-tuple/clj-tuple";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "clj-tuple";
+ groupId = "clj-tuple";
+ sha512 = "dd626944d0aba679a21b164ed0c77ea84449359361496cba810f83b9fdeab751e5889963888098ce4bf8afa112dbda0a46ed60348a9c01ad36a2e255deb7ab6d";
+ version = "0.2.2";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "jackson-annotations/com.fasterxml.jackson.core";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "jackson-annotations";
+ groupId = "com.fasterxml.jackson.core";
+ sha512 = "6fdad6c5bb71a97331a662fe26265aacab6869f3307a710697d5c2f256fd48935764bfb0b3505a2cbb1605daf0b7350abdf84a1b1cf2bb1e91d9184565243c8e";
+ version = "2.12.4";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "hiccup/hiccup";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "hiccup";
+ groupId = "hiccup";
+ sha512 = "034f15be46c35029f41869c912f82cb2929fbbb0524ea64bd98dcdb9cf09875b28c75e926fa5fff53942b0f9e543e85a73a2d03c3f2112eecae30fcef8b148f4";
+ version = "1.0.5";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "riddley/riddley";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "riddley";
+ groupId = "riddley";
+ sha512 = "b478ecba9d1ab9d38c84a42354586fcece763000907b40c97bc43c0f16dc560b0860144efe410193cb3b7cb0149fbc1724fdd737cc3ba53de23618f5b30e6f9f";
+ version = "0.1.12";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "java.classpath/org.clojure";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "java.classpath";
+ groupId = "org.clojure";
+ sha512 = "90cd8edeaea02bd908d8cfb0cf5b1cf901aeb38ea3f4971c4b813d33210438aae6fff8e724a8272d2ea9441d373e7d936fa5870e309c1e9721299f662dbbdb9a";
+ version = "1.0.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "simpleclient_pushgateway/io.prometheus";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "simpleclient_pushgateway";
+ groupId = "io.prometheus";
+ sha512 = "31c8878929f516ba7030cc9ec4ac4cbcb09955a9fdae23c6904bc481e40e70e1b3e05619c49b646119077ef6f57c430cc7944f6bafdbca24c9efa8145474fcf7";
+ version = "0.12.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "ns-tracker/ns-tracker";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "ns-tracker";
+ groupId = "ns-tracker";
+ sha512 = "cfb6c2c9f899b43d1284acdc572b34b977936c4df734b38137dfea045421b74d529509cde23695f1dc5ee06d046c2f6b61a2cd98058da1c7220c21dd0361964f";
+ version = "0.4.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "clout/clout";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "clout";
+ groupId = "clout";
+ sha512 = "99d6e1a8c5726ca4e5d12b280a39e6d1182d734922600f27d588d3d65fbc830c5e03f9e0421ff25c819deee4d1f389fd3906222716ace1eb17ce70ef9c5e8f4b";
+ version = "2.2.1";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "commons-logging/commons-logging";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "commons-logging";
+ groupId = "commons-logging";
+ sha512 = "ed00dbfabd9ae00efa26dd400983601d076fe36408b7d6520084b447e5d1fa527ce65bd6afdcb58506c3a808323d28e88f26cb99c6f5db9ff64f6525ecdfa557";
+ version = "1.2";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "clojure.java-time/clojure.java-time";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "clojure.java-time";
+ groupId = "clojure.java-time";
+ sha512 = "62d8a286ec3393594e7f84eba22dbb02c1305a80a18b2574058ae963d3f3e829ff960c8b66e89069e6c071a11f869203134c6c4cdec6f8e516c9b314796c8108";
+ version = "0.3.3";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "data.csv/org.clojure";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "data.csv";
+ groupId = "org.clojure";
+ sha512 = "b039775a859ed27eca8f8ae74ccb6afde3ad1fe2b3cbe542240c324d60fe1237e495eb1300ee9eb4ff4ef59f01faf7aec6ef1dd6a025ee4fe556c1d91acfcf1b";
+ version = "1.0.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "simpleclient_tracer_otel_agent/io.prometheus";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "simpleclient_tracer_otel_agent";
+ groupId = "io.prometheus";
+ sha512 = "97694210d9a5b48a7cb9dda2a187432c4813edb3051edfa5832a0a471e0b2d5988dab92b70c292e78f59b169345deb5c1c706361fd726f3dc2480766dedfdcec";
+ version = "0.12.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "next.jdbc/com.github.seancorfield";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "next.jdbc";
+ groupId = "com.github.seancorfield";
+ sha512 = "0b4b01ba126bb8b1e2c14262db9fca75456b274d09535d9a7bb386699bf20dc9ac11590d210769e7429ca59ebfdfbb06916b3ff275cc817d74eac5bbabdab8f2";
+ version = "1.2.761";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "java.jdbc/org.clojure";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "java.jdbc";
+ groupId = "org.clojure";
+ sha512 = "6162b7774dca58b62a94bc5a04ba845e4c7065c9c589cc3bb802becfec0baf0989a338c1bf9a5db7c3128873702840d5f2451628f3aac977245975d65a683b7d";
+ version = "0.7.11";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "netty-transport/io.netty";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "netty-transport";
+ groupId = "io.netty";
+ sha512 = "c11d690ffeaf3267b2166f73a43108fb89d588fcef3f6d3053bf4b6f6669483baa618fd97438010692a6fa28334372d5a31b7c0996961d4eabb60cbdc358a536";
+ version = "4.1.63.Final";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "crypto-random/crypto-random";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "crypto-random";
+ groupId = "crypto-random";
+ sha512 = "3520df744f250dbe061d1a5d7a05b7143f3a67a4c3f9ad87b8044ee68a36a702a0bcb3a203e35d380899dd01c28e01988b0a7af914b942ccbe0c35c9bdb22e11";
+ version = "1.2.1";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "netty-transport-native-unix-common/io.netty";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "netty-transport-native-unix-common";
+ groupId = "io.netty";
+ sha512 = "b63e5f8a44b7f37f3dba378bd06af64dd1d7be3f0b1a7d47ad139ff06e0212b4c7081275b1b5b12183aeb72eb5f9bf9ef03ed8c78bc302aeb4817dca7bd89f3a";
+ version = "4.1.63.Final";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "ring-codec/ring";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "ring-codec";
+ groupId = "ring";
+ sha512 = "38b9775a794831b8afd8d66991a75aa5910cd50952c9035866bf9cc01353810aedafbc3f35d8f9e56981ebf9e5c37c00b968759ed087d2855348b3f46d8d0487";
+ version = "1.1.3";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "spy/com.impossibl.pgjdbc-ng";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "spy";
+ groupId = "com.impossibl.pgjdbc-ng";
+ sha512 = "173615c39aa6015a732e329217b40e3ea1c304c9c168d2764d6ef23ab8775e2f4432339bc22d049662561f09d3fd890b5415738620d64dcedb762d5da26b4ebb";
+ version = "0.8.9";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "logback-json-core/ch.qos.logback.contrib";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "logback-json-core";
+ groupId = "ch.qos.logback.contrib";
+ sha512 = "2a826036f21997e2979fda83ae3e33cf62f3b2b2df15a7b11d1fd8a52163b09f0f2f8d72f5fdcea0ec1289b3d27727ed5e6b0bcdf4c5d741f4bac07b7b6139e8";
+ version = "0.1.5";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "httpclient/org.apache.httpcomponents";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "httpclient";
+ groupId = "org.apache.httpcomponents";
+ sha512 = "3567739186e551f84cad3e4b6b270c5b8b19aba297675a96bcdff3663ff7d20d188611d21f675fe5ff1bfd7d8ca31362070910d7b92ab1b699872a120aa6f089";
+ version = "4.5.13";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "crypto-equality/crypto-equality";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "crypto-equality";
+ groupId = "crypto-equality";
+ sha512 = "54cf3bd28f633665962bf6b41f5ccbf2634d0db210a739e10a7b12f635e13c7ef532efe1d5d8c0120bb46478bbd08000b179f4c2dd52123242dab79fea97d6a6";
+ version = "1.0.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "cheshire/cheshire";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "cheshire";
+ groupId = "cheshire";
+ sha512 = "855e9c42a8d1c64f4db5cda45e31e914eb5ed99a715e8d7a5759a9c4ab6c69a82353635ca7b0837880c6cf9b41b11184ae11e09cbf2c07aa13db32c539e5dfd4";
+ version = "5.10.1";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "tigris/tigris";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "tigris";
+ groupId = "tigris";
+ sha512 = "fdff4ef5e7175a973aaef98de4f37dee8e125fc711c495382e280aaf3e11341fe8925d52567ca60f3f1795511ade11bc23461c88959632dfae3cf50374d02bf6";
+ version = "0.1.2";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "config/yogthos";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "config";
+ groupId = "yogthos";
+ sha512 = "3437992d192465edc74aec5259d5e0c0ad7e631dff860b2ee14cef27f13cee7c60487202cf00fc160a95fb0b85ce1ddf56cbdd0c008b47ac598061bf115f6a23";
+ version = "1.1.9";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "jetty-io/org.eclipse.jetty";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "jetty-io";
+ groupId = "org.eclipse.jetty";
+ sha512 = "a8c5f73089daa0c8b27f836acddf40bcbf07bbb2571a4d73653be8aac3fb339022f546326722f216bad78a68886934d24db9bec54235124592dd29dbeab69051";
+ version = "9.4.42.v20210604";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "logback-json-classic/ch.qos.logback.contrib";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "logback-json-classic";
+ groupId = "ch.qos.logback.contrib";
+ sha512 = "d30bf70217d316914d83d46cc15783f656354084087d59cbc0620a746f10b4a42e56d33b3e50a8b3596a64ec8314730bf5ff9a3f7dc3417bdd0582665be009ec";
+ version = "0.1.5";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "tools.reader/org.clojure";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "tools.reader";
+ groupId = "org.clojure";
+ sha512 = "3481259c7a1eac719db2921e60173686726a0c2b65879d51a64d516a37f6120db8ffbb74b8bd273404285d7b25143ab5c7ced37e7c0eaf4ab1e44586ccd3c651";
+ version = "1.3.6";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "simpleclient_common/io.prometheus";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "simpleclient_common";
+ groupId = "io.prometheus";
+ sha512 = "dedd003638eb3651c112e2d697ac94eb4e3b3e32c94fa41bb1efe2c889a347cdc7bd13256e05423f3370592d4fd65faf8db57f0387ab75814d7fa77b14cbbadf";
+ version = "0.12.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "commons-compiler/org.codehaus.janino";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "commons-compiler";
+ groupId = "org.codehaus.janino";
+ sha512 = "f0778b891ef14d8ee6776747eab0b25da716cdc530752a81aedec2a77570e2f66402179b9408a6efde8125c808eb060a720d2f4977c1f1d022bdaae7eac8d011";
+ version = "3.1.2";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "servlet-api/javax.servlet";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "servlet-api";
+ groupId = "javax.servlet";
+ sha512 = "363ba5590436ab82067b7a2e14b481aeb2b12ca4048d7a1519a2e549b2d3c09ddf718ac64dc2be6c2fc24c51fdc9c8160261329403113369588ce27d87771db6";
+ version = "2.5";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "iapetos/clj-commons";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "iapetos";
+ groupId = "clj-commons";
+ sha512 = "d17f36c0cf0ec78db5e893e5c033f8562b31650bda6f5ee582e68f84a07a3631d04d6f69e4e18b1ca64e732c180fa669dfb69a78849e13f601cd563a7a8aab94";
+ version = "0.1.12";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "javax.servlet-api/javax.servlet";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "javax.servlet-api";
+ groupId = "javax.servlet";
+ sha512 = "32f7e3565c6cdf3d9a562f8fd597fe5059af0cf6b05b772a144a74bbc95927ac275eb38374538ec1c72adcce4c8e1e2c9f774a7b545db56b8085af0065e4a1e5";
+ version = "3.1.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "potemkin/potemkin";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "potemkin";
+ groupId = "potemkin";
+ sha512 = "5abc050bf7ff0b27d8c45aaa5e378201980815b711b2db99735db73304576c17e285026ea48a714bf0b0df7ad7a008de38b7d182cdc0e8989f4be1e6b3afa8aa";
+ version = "0.4.5";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "netty-resolver/io.netty";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "netty-resolver";
+ groupId = "io.netty";
+ sha512 = "fabf893de74264caa1799c15d184ed8f20b7bf9b1c41abb29f29adf728a934951f97892a4924634f9efbda17c8cf74ea3ff97bafca616711e3c5f79b8ed9ef3e";
+ version = "4.1.63.Final";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "netty-transport-native-epoll/io.netty";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "netty-transport-native-epoll";
+ groupId = "io.netty";
+ sha512 = "6fbc2dd2622699f3fc1f329acbd94baf7f1d8923c5cfcae262e6f2d64b4fd71b606561bce5e2b511dff8e052cdade930091fab683fd98713f6b62a622a2c6254";
+ version = "4.1.63.Final";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "clj-stacktrace/clj-stacktrace";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "clj-stacktrace";
+ groupId = "clj-stacktrace";
+ sha512 = "993f8a544203801fc074eefacee8e553e426422b3492d47b857d87ac73cde72c91e29f629382b9eae8cf9600bc2c4c29d2e7169e509c46302ab973c86e73af0c";
+ version = "0.2.8";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "cambium.codec-cheshire/cambium";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "cambium.codec-cheshire";
+ groupId = "cambium";
+ sha512 = "614491cf752a597f29ae29885db6c1ed191341303d89183bee52e4e2c76eb8eb14693562ad09484f379a074b36d97085e848ec3845e069440e6422506c1636f1";
+ version = "1.0.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "slf4j-api/org.slf4j";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "slf4j-api";
+ groupId = "org.slf4j";
+ sha512 = "ad705ab6fd5cd904ef6861c0adf08af19593cf6a486b18de548fe3d68e57b1baa7e02947584fd4dcc350ddcddcf906c01e8d9ba7943a202690d0d788627696b5";
+ version = "2.0.0-alpha4";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "test.check/org.clojure";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "test.check";
+ groupId = "org.clojure";
+ sha512 = "b8d7a330b0b5514cd6a00c4382052fab51c3c9d3bc53133f8506791fa670e7c5ecd65094977ea5ced91f59623b0abd1ab8feeec96d63c5c6e459b265a655c577";
+ version = "1.1.1";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "ring-logger/ring-logger";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "ring-logger";
+ groupId = "ring-logger";
+ sha512 = "b675a61c173289fc610d84920ba40178bf62b3bc680923cb66866d78ee2a508296b27a1ab14b66bfbe0304a64166a7e3c3ddee36564dd4a2f988861bce455a3a";
+ version = "1.0.1";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "ring-servlet/ring";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "ring-servlet";
+ groupId = "ring";
+ sha512 = "3d8e6ec224e13d54810a945c0b6c0d2d863736a48d8c4bfc8fadb96b6b0fa9baa638644d0d92d8a53650b188e6e75d391731b08b26eb0f551e90a7504e7f4267";
+ version = "1.9.4";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "logback-classic/ch.qos.logback";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "logback-classic";
+ groupId = "ch.qos.logback";
+ sha512 = "f9fe0f126061f4abe3973b631b8d8244ba9e9d77783479a6500d629d772050dee508a001fc14d2131407fbdd0d33dd6b8aeb9b1ea9125b471bb8412e8de659e6";
+ version = "1.3.0-alpha12";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "dependency/com.stuartsierra";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "dependency";
+ groupId = "com.stuartsierra";
+ sha512 = "d32fbc4813bd16f2ed8c82e2915e1fb564e88422159bd3580a85c8cd969d1bbbe315bdc13d29c2f0eaceeeafcf649ee712c8df4532464d560aaeae4ae5953866";
+ version = "1.0.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "camel-snake-kebab/camel-snake-kebab";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "camel-snake-kebab";
+ groupId = "camel-snake-kebab";
+ sha512 = "589d34b500560b7113760a16bfb6f0ccd8f162a1ce8c9bc829495432159ba9c95aebf6bc43aa126237a0525806a205a05f9910122074902b659e7fd151d176b1";
+ version = "0.4.2";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "ring/ring";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "ring";
+ groupId = "ring";
+ sha512 = "93c48fb670736b91fb41d8076e1e9c4f53c67693d15e75290da319e7d7881b829a24180029b3a0fa051473c6c77ac3c97b519254ebf2b2c9538b185e79b69162";
+ version = "1.9.4";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "netty-transport-native-kqueue/io.netty";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "netty-transport-native-kqueue";
+ groupId = "io.netty";
+ sha512 = "87e10c06e394a1698d65381d3be8336f753c55e3e899e297510161d0c72540023f30f9032322957e035ead793204a084b988bc21a2bc312fcf7567a22d02a3c4";
+ version = "4.1.63.Final";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "java.data/org.clojure";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "java.data";
+ groupId = "org.clojure";
+ sha512 = "225e1eafd1a659278212d831f7cd8609359f8c880ef3d69b4ade6301ce3c511307ce31d94cb82d5407314b990bd04714ec26273bb3036b248116a7a75fa75e1f";
+ version = "1.0.95";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "jetty-server/org.eclipse.jetty";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "jetty-server";
+ groupId = "org.eclipse.jetty";
+ sha512 = "b347f8a6e5b84e0f460037027e238a61edec710ade768c95e7be13dcea498abe43d5e622ee69ac7494138d1a8fcf92e07b7deab569c554831c57baad71c53b9b";
+ version = "9.4.42.v20210604";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "httpmime/org.apache.httpcomponents";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "httpmime";
+ groupId = "org.apache.httpcomponents";
+ sha512 = "e1b0ee84bce78576074dc1b6836a69d8f5518eade38562e6890e3ddaa72b7f54bf735c8e2286142c58cddf45f745da31261e5d73b7d8092eb6ecfb20946eb36c";
+ version = "4.5.13";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "log4j-over-slf4j/org.slf4j";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "log4j-over-slf4j";
+ groupId = "org.slf4j";
+ sha512 = "48fa023c57294b73b9bd2f53e3dd3169e03426e5b3aa9d80e1bb1a9abf927fc26ef9f64d02b9769d5577d83094d0f41f044d35bb3b4f6037d66d6b2f19b484a1";
+ version = "2.0.0-alpha4";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "ring-core/ring";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "ring-core";
+ groupId = "ring";
+ sha512 = "38d7214a3fc1b80ab55999036638dd1971272e01bec4cb8e0ee0a4aa83f51b8c41ba8a5850b0660227f067d2f9c6d75c0c0737725ea02762bbf8d192dc72febe";
+ version = "1.9.4";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "cambium.core/cambium";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "cambium.core";
+ groupId = "cambium";
+ sha512 = "0e1fe626c6d0b31aad84ea2e4466273065925548ee5915f442b7997ebfe795faea36dbeac50a0f8c16bbd20d877511e3f8c4ff4f2b916a4538513aaa5cc20112";
+ version = "1.1.1";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "medley/medley";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "medley";
+ groupId = "medley";
+ sha512 = "749ef43b5ea2cae7dc96db871cdd15c7b3c9cfbd96828c20ab08e67d39a5e938357d15994d8d413bc68678285d6c666f2a7296fbf305706d03b3007254e3c55c";
+ version = "1.3.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "garden/garden";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "garden";
+ groupId = "garden";
+ sha512 = "2cc29f071b68bf451835f76de351ac2efb930b5df9ca7237fdca439d3c4d797d7fa207a147886efe1738ab1c50b76c1e366bf9ffcd6f286b0b211260aedd0b25";
+ version = "1.3.10";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "jackson-dataformat-smile/com.fasterxml.jackson.dataformat";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "jackson-dataformat-smile";
+ groupId = "com.fasterxml.jackson.dataformat";
+ sha512 = "69676964a2b09516b8ffd0d847b6f9a9b843424185453731b548c25e7e9ce30e808c56d66923f9183e2b5c1ba007421b146a6806e768b8e6b07470d60227f1dd";
+ version = "2.12.4";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "jaxb-api/javax.xml.bind";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "jaxb-api";
+ groupId = "javax.xml.bind";
+ sha512 = "0c5bfc2c9f655bf5e6d596e0c196dcb9344d6dc78bf774207c8f8b6be59f69addf2b3121e81491983eff648dfbd55002b9878132de190825dad3ef3a1265b367";
+ version = "2.3.0";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "pgjdbc-ng/com.impossibl.pgjdbc-ng";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "pgjdbc-ng";
+ groupId = "com.impossibl.pgjdbc-ng";
+ sha512 = "a34ac9146257329f6e9b354f13f564c65dbea6463addae383e3918d3a64c90c67f5f7fda6b5c3866de991a568d6690edb3fb09f2507593390a6e30ec0c79e02c";
+ version = "0.8.9";
+
+ };
+ paths = [ src ];
+ }
+
+ rec {
+ name = "http-kit/http-kit";
+ src = fetchMavenArtifact {
+ inherit repos;
+ artifactId = "http-kit";
+ groupId = "http-kit";
+ sha512 = "4186a2429984745e18730aa8fd545f1fc1812083819ebf77aecfc04e0d31585358a5e25a308c7f21d81359418bbc72390c281f5ed91ae116cf1af79860ba22c3";
+ version = "2.5.3";
+
+ };
+ paths = [ src ];
+ }
];
- }
+}
\ No newline at end of file
diff --git a/users/grfn/bbbg/module.nix b/users/grfn/bbbg/module.nix
index 297d846f2..7a49f7934 100644
--- a/users/grfn/bbbg/module.nix
+++ b/users/grfn/bbbg/module.nix
@@ -3,7 +3,8 @@
let
bbbg = depot.users.grfn.bbbg;
cfg = config.services.bbbg;
-in {
+in
+{
options = with lib; {
services.bbbg = {
enable = mkEnableOption "BBBG Server";
@@ -81,9 +82,9 @@ in {
description = "Run database migrations for BBBG";
wantedBy = [ "bbbg-server.service" ];
after = ([ "network.target" ]
- ++ (if cfg.database.enable
- then ["postgresql.service"]
- else []));
+ ++ (if cfg.database.enable
+ then [ "postgresql.service" ]
+ else [ ]));
serviceConfig = {
Type = "oneshot";
diff --git a/users/grfn/bbbg/shell.nix b/users/grfn/bbbg/shell.nix
index 48bcd7375..e26569657 100644
--- a/users/grfn/bbbg/shell.nix
+++ b/users/grfn/bbbg/shell.nix
@@ -1,5 +1,5 @@
let
- depot = import ../../.. {};
+ depot = import ../../.. { };
in
with depot.third_party.nixpkgs;
diff --git a/users/grfn/bbbg/tf.nix b/users/grfn/bbbg/tf.nix
index 097ad5957..d5b19d9eb 100644
--- a/users/grfn/bbbg/tf.nix
+++ b/users/grfn/bbbg/tf.nix
@@ -3,14 +3,17 @@
let
inherit (depot.users.grfn)
terraform
- ;
+ ;
-in terraform.workspace "bbbg" {
+in
+terraform.workspace "bbbg"
+{
plugins = (p: with p; [
aws
cloudflare
]);
-} {
+}
+{
machine = terraform.nixosMachine {
name = "bbbg";
instanceType = "t3a.small";
@@ -52,8 +55,8 @@ in terraform.workspace "bbbg" {
};
security.sudo.extraRules = [{
- groups = ["wheel"];
- commands = [{ command = "ALL"; options = ["NOPASSWD"]; }];
+ groups = [ "wheel" ];
+ commands = [{ command = "ALL"; options = [ "NOPASSWD" ]; }];
}];
nix.gc = {
diff --git a/users/grfn/gws.fyi/default.nix b/users/grfn/gws.fyi/default.nix
index 5b7d8fc0e..5ab3614d7 100644
--- a/users/grfn/gws.fyi/default.nix
+++ b/users/grfn/gws.fyi/default.nix
@@ -6,13 +6,14 @@ let
bucket = "s3://gws.fyi";
distributionID = "E2ST43JNBH8C64";
- css = runCommand "main.css" {
- buildInputs = [ pkgs.minify ];
- } ''
+ css = runCommand "main.css"
+ {
+ buildInputs = [ pkgs.minify ];
+ } ''
minify --type css < ${./main.css} > $out
'';
- keys = runCommand "ssh-keys" {} ''
+ keys = runCommand "ssh-keys" { } ''
touch $out
echo "${depot.users.grfn.keys.main}" >> $out
'';
@@ -27,7 +28,8 @@ let
cp ${keys} $out/keys
'';
-in (writeShellScript "deploy.sh" ''
+in
+(writeShellScript "deploy.sh" ''
${awscli2}/bin/aws --profile personal s3 sync ${website}/ ${bucket}
echo "Deployed to http://gws.fyi"
'') // {
diff --git a/users/grfn/gws.fyi/orgExportHTML.nix b/users/grfn/gws.fyi/orgExportHTML.nix
index ac28580a5..f9cb8d38f 100644
--- a/users/grfn/gws.fyi/orgExportHTML.nix
+++ b/users/grfn/gws.fyi/orgExportHTML.nix
@@ -25,15 +25,16 @@ let
outName =
if isNull headline
then
- let bn = builtins.baseNameOf src;
- filename = elemAt (splitString "." bn) 0;
+ let
+ bn = builtins.baseNameOf src;
+ filename = elemAt (splitString "." bn) 0;
in
- if depot.nix.utils.isDirectory src
- then filename
- else filename + ".html"
+ if depot.nix.utils.isDirectory src
+ then filename
+ else filename + ".html"
else "${filename}-${replaceStrings [" "] ["-"] filename}.html";
- escapeDoubleQuotes = replaceStrings ["\""] ["\\\""];
+ escapeDoubleQuotes = replaceStrings [ "\"" ] [ "\\\"" ];
navToHeadline = optionalString (! isNull headline) ''
(search-forward "${escapeDoubleQuotes headline}")
diff --git a/users/grfn/gws.fyi/site.nix b/users/grfn/gws.fyi/site.nix
index 33d4a71e7..057c4d3ee 100644
--- a/users/grfn/gws.fyi/site.nix
+++ b/users/grfn/gws.fyi/site.nix
@@ -1,4 +1,4 @@
-args@{ pkgs ? import {}, ... }:
+args@{ pkgs ? import { }, ... }:
let
diff --git a/users/grfn/resume/default.nix b/users/grfn/resume/default.nix
index 2db6a650b..21801ad9e 100644
--- a/users/grfn/resume/default.nix
+++ b/users/grfn/resume/default.nix
@@ -2,31 +2,34 @@
with pkgs.lib;
-pkgs.runCommandNoCC "resume.pdf" {
- buildInputs = [(pkgs.texlive.combine {
- inherit (pkgs.texlive)
- capt-of
- collection-fontsrecommended
- enumitem
- etoolbox
- fancyvrb
- float
- fncychap
- framed
- l3packages
- microtype
- needspace
- parskip
- scheme-basic
- tabulary
- titlesec
- ulem
- upquote
- varwidth
- wrapfig
- xcolor
- ;
- })];
+pkgs.runCommandNoCC "resume.pdf"
+{
+ buildInputs = [
+ (pkgs.texlive.combine {
+ inherit (pkgs.texlive)
+ capt-of
+ collection-fontsrecommended
+ enumitem
+ etoolbox
+ fancyvrb
+ float
+ fncychap
+ framed
+ l3packages
+ microtype
+ needspace
+ parskip
+ scheme-basic
+ tabulary
+ titlesec
+ ulem
+ upquote
+ varwidth
+ wrapfig
+ xcolor
+ ;
+ })
+ ];
} ''
cp ${builtins.filterSource (path: type:
type == "regular" &&
diff --git a/users/grfn/secrets/shell.nix b/users/grfn/secrets/shell.nix
index fe912fe79..6e70458d1 100644
--- a/users/grfn/secrets/shell.nix
+++ b/users/grfn/secrets/shell.nix
@@ -1,5 +1,5 @@
let
- depot = import ../../.. {};
+ depot = import ../../.. { };
in
depot.third_party.nixpkgs.mkShell {
buildInputs = [
diff --git a/users/grfn/system/home/common/solarized.nix b/users/grfn/system/home/common/solarized.nix
index e94693edc..554ee0523 100644
--- a/users/grfn/system/home/common/solarized.nix
+++ b/users/grfn/system/home/common/solarized.nix
@@ -1,18 +1,18 @@
rec {
- base03 = "#002B36";
- base02 = "#073642";
- base01 = "#586e75";
- base00 = "#657b83";
- base0 = "#839496";
- base1 = "#93a1a1";
- base2 = "#eee8d5";
- base3 = "#fdf6e3";
- yellow = "#b58900";
- orange = "#cb4b16";
- red = "#dc322f";
+ base03 = "#002B36";
+ base02 = "#073642";
+ base01 = "#586e75";
+ base00 = "#657b83";
+ base0 = "#839496";
+ base1 = "#93a1a1";
+ base2 = "#eee8d5";
+ base3 = "#fdf6e3";
+ yellow = "#b58900";
+ orange = "#cb4b16";
+ red = "#dc322f";
magenta = "#d33682";
- violet = "#6c71c4";
- blue = "#268bd2";
- cyan = "#2aa198";
- green = "#859900";
+ violet = "#6c71c4";
+ blue = "#268bd2";
+ cyan = "#2aa198";
+ green = "#859900";
}
diff --git a/users/grfn/system/home/machines/roswell.nix b/users/grfn/system/home/machines/roswell.nix
index f68f3a7be..2e86eda49 100644
--- a/users/grfn/system/home/machines/roswell.nix
+++ b/users/grfn/system/home/machines/roswell.nix
@@ -19,7 +19,8 @@ in
htop
killall
bind
- zip unzip
+ zip
+ unzip
tree
ncat
bc
diff --git a/users/grfn/system/home/machines/yeren.nix b/users/grfn/system/home/machines/yeren.nix
index 0c89e9d12..343ebf2c9 100644
--- a/users/grfn/system/home/machines/yeren.nix
+++ b/users/grfn/system/home/machines/yeren.nix
@@ -58,10 +58,10 @@ in
RemainAfterExit = true;
ExecStart = (
"${pkgs.xorg.setxkbmap}/bin/setxkbmap "
- + "-device ${laptopKeyboardId} "
- + "-option caps:swapescape "
- + "-option compose:ralt "
- + "-option altwin:swap_alt_win"
+ + "-device ${laptopKeyboardId} "
+ + "-option caps:swapescape "
+ + "-option compose:ralt "
+ + "-option altwin:swap_alt_win"
);
};
};
diff --git a/users/grfn/system/home/modules/alsi.nix b/users/grfn/system/home/modules/alsi.nix
index c4a14e683..204f9c8e1 100644
--- a/users/grfn/system/home/modules/alsi.nix
+++ b/users/grfn/system/home/modules/alsi.nix
@@ -10,30 +10,30 @@
xdg.configFile."alsi/alsi.conf" = {
force = true;
text = ''
- #!${pkgs.perl}/bin/perl
+ #!${pkgs.perl}/bin/perl
- scalar {
- ALSI_VERSION => "0.4.8",
- COLORS_FILE => "/home/grfn/.config/alsi/alsi.colors",
- DE_FILE => "/home/grfn/.config/alsi/alsi.de",
- DEFAULT_COLOR_BOLD => "blue",
- DEFAULT_COLOR_NORMAL => "blue",
- DF_COMMAND => "df -Th -x sys -x tmpfs -x devtmpfs &>/dev/stdout",
- GTK2_RC_FILE => "/home/grfn/.gtkrc-2.0",
- GTK3_RC_FILE => "/home/grfn/.config/gtk-3.0/settings.ini",
- LOGO_FILE => "/home/grfn/.config/alsi/alsi.logo",
- OUTPUT_FILE => "/home/grfn/.config/alsi/alsi.output",
- # PACKAGES_PATH => "/var/lib/pacman/local/",
- PS_COMMAND => "ps -A",
- USAGE_COLORS => 0,
- USAGE_COLORS_BOLD => 0,
- USAGE_PRECENT_GREEN => 50,
- USAGE_PRECENT_RED => 100,
- USAGE_PRECENT_YELLOW => 85,
- USE_LOGO_FROM_FILE => 1,
- USE_VALUES_COLOR => 0,
- WM_FILE => "/home/grfn/.config/alsi/alsi.wm",
- }
+ scalar {
+ ALSI_VERSION => "0.4.8",
+ COLORS_FILE => "/home/grfn/.config/alsi/alsi.colors",
+ DE_FILE => "/home/grfn/.config/alsi/alsi.de",
+ DEFAULT_COLOR_BOLD => "blue",
+ DEFAULT_COLOR_NORMAL => "blue",
+ DF_COMMAND => "df -Th -x sys -x tmpfs -x devtmpfs &>/dev/stdout",
+ GTK2_RC_FILE => "/home/grfn/.gtkrc-2.0",
+ GTK3_RC_FILE => "/home/grfn/.config/gtk-3.0/settings.ini",
+ LOGO_FILE => "/home/grfn/.config/alsi/alsi.logo",
+ OUTPUT_FILE => "/home/grfn/.config/alsi/alsi.output",
+ # PACKAGES_PATH => "/var/lib/pacman/local/",
+ PS_COMMAND => "ps -A",
+ USAGE_COLORS => 0,
+ USAGE_COLORS_BOLD => 0,
+ USAGE_PRECENT_GREEN => 50,
+ USAGE_PRECENT_RED => 100,
+ USAGE_PRECENT_YELLOW => 85,
+ USE_LOGO_FROM_FILE => 1,
+ USE_VALUES_COLOR => 0,
+ WM_FILE => "/home/grfn/.config/alsi/alsi.wm",
+ }
'';
};
diff --git a/users/grfn/system/home/modules/common.nix b/users/grfn/system/home/modules/common.nix
index 6871cadda..a31e17181 100644
--- a/users/grfn/system/home/modules/common.nix
+++ b/users/grfn/system/home/modules/common.nix
@@ -28,7 +28,8 @@
htop
killall
bind
- zip unzip
+ zip
+ unzip
tree
ncat
bc
diff --git a/users/grfn/system/home/modules/development.nix b/users/grfn/system/home/modules/development.nix
index 653ce5d83..d60e6ba60 100644
--- a/users/grfn/system/home/modules/development.nix
+++ b/users/grfn/system/home/modules/development.nix
@@ -2,12 +2,14 @@
let
- clj2nix = pkgs.callPackage (pkgs.fetchFromGitHub {
- owner = "hlolli";
- repo = "clj2nix";
- rev = "3ab3480a25e850b35d1f532a5e4e7b3202232383";
- sha256 = "1lry026mlpxp1j563qs13nhxf37i2zpl7lh0lgfdwc44afybqka6";
- }) {};
+ clj2nix = pkgs.callPackage
+ (pkgs.fetchFromGitHub {
+ owner = "hlolli";
+ repo = "clj2nix";
+ rev = "3ab3480a25e850b35d1f532a5e4e7b3202232383";
+ sha256 = "1lry026mlpxp1j563qs13nhxf37i2zpl7lh0lgfdwc44afybqka6";
+ })
+ { };
pg-dump-upsert = pkgs.buildGoModule rec {
pname = "pg-dump-upsert";
@@ -87,7 +89,7 @@ with lib;
enable = true;
package = pkgs.gitFull;
userEmail = "root@gws.fyi";
- userName = "Griffin Smith";
+ userName = "Griffin Smith";
ignores = [
"*.sw*"
".classpath"
@@ -206,7 +208,7 @@ with lib;
functions = {
gdelmerged = ''
- git branch --merged | egrep -v 'master' | tr -d '+ ' | xargs git branch -d
+ git branch --merged | egrep -v 'master' | tr -d '+ ' | xargs git branch -d
'';
};
};
diff --git a/users/grfn/system/home/modules/development/kube.nix b/users/grfn/system/home/modules/development/kube.nix
index 97ae4760d..876b0c08d 100644
--- a/users/grfn/system/home/modules/development/kube.nix
+++ b/users/grfn/system/home/modules/development/kube.nix
@@ -16,7 +16,7 @@
"kpa" = "kubectl get pods --all-namespaces";
"klf" = "kubectl logs -f";
"kdep" = "kubectl get deployments";
- "ked" = "kubectl edit deployment";
+ "ked" = "kubectl edit deployment";
"kpw" = "kubectl get pods -w";
"kew" = "kubectl get events -w";
"kdel" = "kubectl delete";
diff --git a/users/grfn/system/home/modules/emacs.nix b/users/grfn/system/home/modules/emacs.nix
index 6cc38bc7a..c65d88aac 100644
--- a/users/grfn/system/home/modules/emacs.nix
+++ b/users/grfn/system/home/modules/emacs.nix
@@ -3,16 +3,17 @@
with lib;
let
- # doom-emacs = pkgs.callPackage (builtins.fetchTarball {
- # url = https://github.com/vlaci/nix-doom-emacs/archive/master.tar.gz;
- # }) {
- # doomPrivateDir = ./doom.d; # Directory containing your config.el init.el
- # # and packages.el files
- # };
+ # doom-emacs = pkgs.callPackage (builtins.fetchTarball {
+ # url = https://github.com/vlaci/nix-doom-emacs/archive/master.tar.gz;
+ # }) {
+ # doomPrivateDir = ./doom.d; # Directory containing your config.el init.el
+ # # and packages.el files
+ # };
depot = config.lib.depot;
-in {
+in
+{
imports = [
./lib/cloneRepo.nix
];
@@ -47,7 +48,7 @@ in {
upquote
varwidth
wrapfig
- ;
+ ;
})
ispell
@@ -82,14 +83,14 @@ in {
doomEmacs = {
github = "hlissner/doom-emacs";
path = ".emacs.d";
- after = ["emacs.d"];
+ after = [ "emacs.d" ];
onClone = "bin/doom install";
};
"emacs.d" = {
github = "glittershark/emacs.d";
path = ".doom.d";
- after = ["orgClubhouse"];
+ after = [ "orgClubhouse" ];
};
};
diff --git a/users/grfn/system/home/modules/email.nix b/users/grfn/system/home/modules/email.nix
index 0a3e58205..63dfeeb6f 100644
--- a/users/grfn/system/home/modules/email.nix
+++ b/users/grfn/system/home/modules/email.nix
@@ -9,7 +9,8 @@ let
let
good = upperChars ++ lowerChars ++ stringToCharacters "0123456789-_";
subst = c: if any (x: x == c) good then c else "-";
- in stringAsChars subst name;
+ in
+ stringAsChars subst name;
accounts = {
personal = {
@@ -26,7 +27,8 @@ let
};
-in {
+in
+{
programs.lieer.enable = true;
programs.notmuch.enable = true;
services.lieer.enable = true;
@@ -37,16 +39,18 @@ in {
msmtp
];
- systemd.user.services = mapAttrs' (name: account: {
- name = escapeUnitName "lieer-${name}";
- value.Service = {
- ExecStart = mkForce "${pkgs.writeShellScript "sync-${name}" ''
+ systemd.user.services = mapAttrs'
+ (name: account: {
+ name = escapeUnitName "lieer-${name}";
+ value.Service = {
+ ExecStart = mkForce "${pkgs.writeShellScript "sync-${name}" ''
${pkgs.gmailieer}/bin/gmi sync --path ~/mail/${name}
''}";
- Environment = "NOTMUCH_CONFIG=${config.home.sessionVariables.NOTMUCH_CONFIG}";
- };
+ Environment = "NOTMUCH_CONFIG=${config.home.sessionVariables.NOTMUCH_CONFIG}";
+ };
- }) accounts;
+ })
+ accounts;
# xdg.configFile."notifymuch/notifymuch.cfg".text = generators.toINI {} {
# notifymuch = {
@@ -58,30 +62,32 @@ in {
# };
accounts.email.maildirBasePath = "mail";
- accounts.email.accounts = mapAttrs (_: params@{ passEntry, ... }: {
- realName = "Griffin Smith";
- passwordCommand = "pass ${passEntry}";
+ accounts.email.accounts = mapAttrs
+ (_: params@{ passEntry, ... }: {
+ realName = "Griffin Smith";
+ passwordCommand = "pass ${passEntry}";
- flavor = "gmail.com";
+ flavor = "gmail.com";
- imapnotify = {
- enable = true;
- boxes = [ "Inbox" ];
- };
-
- gpg = {
- key = "0F11A989879E8BBBFDC1E23644EF5B5E861C09A7";
- signByDefault = true;
- };
-
- notmuch.enable = true;
- lieer = {
- enable = true;
- sync = {
+ imapnotify = {
enable = true;
- frequency = "*:*";
+ boxes = [ "Inbox" ];
};
- };
- msmtp.enable = true;
- } // builtins.removeAttrs params ["passEntry"]) accounts;
+
+ gpg = {
+ key = "0F11A989879E8BBBFDC1E23644EF5B5E861C09A7";
+ signByDefault = true;
+ };
+
+ notmuch.enable = true;
+ lieer = {
+ enable = true;
+ sync = {
+ enable = true;
+ frequency = "*:*";
+ };
+ };
+ msmtp.enable = true;
+ } // builtins.removeAttrs params [ "passEntry" ])
+ accounts;
}
diff --git a/users/grfn/system/home/modules/games.nix b/users/grfn/system/home/modules/games.nix
index 26dc9d31f..8067caf65 100644
--- a/users/grfn/system/home/modules/games.nix
+++ b/users/grfn/system/home/modules/games.nix
@@ -13,14 +13,14 @@ let
enableFPS = true;
});
- init = runCommand "init.txt" {} ''
+ init = runCommand "init.txt" { } ''
substitute "${df-orig}/data/init/init.txt" $out \
--replace "[INTRO:YES]" "[INTRO:NO]" \
--replace "[VOLUME:255]" "[VOLUME:0]" \
--replace "[FPS:NO]" "[FPS:YES]"
'';
- d_init = runCommand "d_init.txt" {} ''
+ d_init = runCommand "d_init.txt" { } ''
substitute "${df-orig}/data/init/d_init.txt" $out \
--replace "[AUTOSAVE:NONE]" "[AUTOSAVE:SEASONAL]" \
--replace "[AUTOSAVE_PAUSE:NO]" "[AUTOSAVE_PAUSE:YES]" \
@@ -30,7 +30,7 @@ let
--replace "[SHOW_FLOW_AMOUNTS:NO]" "[SHOW_FLOW_AMOUNTS:YES]"
'';
- df = runCommand "dwarf-fortress" {} ''
+ df = runCommand "dwarf-fortress" { } ''
mkdir -p $out/bin
sed \
-e '4icp -f ${init} "$DF_DIR/data/init/init.txt"' \
@@ -43,7 +43,8 @@ let
chmod +x $out/bin/dwarf-fortress
'';
-in mkMerge [
+in
+mkMerge [
{
home.packages = [
crawl
diff --git a/users/grfn/system/home/modules/i3.nix b/users/grfn/system/home/modules/i3.nix
index 111f2a08c..7bd371e11 100644
--- a/users/grfn/system/home/modules/i3.nix
+++ b/users/grfn/system/home/modules/i3.nix
@@ -20,7 +20,8 @@ let
inherit (builtins) map;
inherit (lib) mkMerge range;
-in {
+in
+{
options = with lib; {
system.machine.wirelessInterface = mkOption {
description = ''
@@ -77,50 +78,51 @@ in {
"move container to workspace ${toString n}";
})
(range 0 9))
- ++ [(rec {
- "${mod}+h" = "focus left";
- "${mod}+j" = "focus down";
- "${mod}+k" = "focus up";
- "${mod}+l" = "focus right";
- "${mod}+semicolon" = "focus parent";
+ ++ [
+ (rec {
+ "${mod}+h" = "focus left";
+ "${mod}+j" = "focus down";
+ "${mod}+k" = "focus up";
+ "${mod}+l" = "focus right";
+ "${mod}+semicolon" = "focus parent";
- "${mod}+Shift+h" = "move left";
- "${mod}+Shift+j" = "move down";
- "${mod}+Shift+k" = "move up";
- "${mod}+Shift+l" = "move right";
+ "${mod}+Shift+h" = "move left";
+ "${mod}+Shift+j" = "move down";
+ "${mod}+Shift+k" = "move up";
+ "${mod}+Shift+l" = "move right";
- "${mod}+Shift+x" = "kill";
+ "${mod}+Shift+x" = "kill";
- "${mod}+Return" = "exec alacritty";
+ "${mod}+Return" = "exec alacritty";
- "${mod}+Shift+s" = "split h";
- "${mod}+Shift+v" = "split v";
- "${mod}+e" = "layout toggle split";
- "${mod}+w" = "layout tabbed";
- "${mod}+s" = "layout stacking";
+ "${mod}+Shift+s" = "split h";
+ "${mod}+Shift+v" = "split v";
+ "${mod}+e" = "layout toggle split";
+ "${mod}+w" = "layout tabbed";
+ "${mod}+s" = "layout stacking";
- "${mod}+f" = "fullscreen";
+ "${mod}+f" = "fullscreen";
- "${mod}+Shift+r" = "restart";
+ "${mod}+Shift+r" = "restart";
- "${mod}+r" = "mode resize";
+ "${mod}+r" = "mode resize";
- # Marks
- "${mod}+Shift+m" = ''exec i3-input -F "mark %s" -l 1 -P 'Mark: ' '';
- "${mod}+m" = ''exec i3-input -F '[con_mark="%s"] focus' -l 1 -P 'Go to: ' '';
+ # Marks
+ "${mod}+Shift+m" = ''exec i3-input -F "mark %s" -l 1 -P 'Mark: ' '';
+ "${mod}+m" = ''exec i3-input -F '[con_mark="%s"] focus' -l 1 -P 'Go to: ' '';
- # Screenshots
- "${mod}+q" = "exec \"maim | xclip -selection clipboard -t image/png\"";
- "${mod}+Shift+q" = "exec \"maim -s | xclip -selection clipboard -t image/png\"";
- "${mod}+Ctrl+q" = "exec ${pkgs.writeShellScript "peek.sh" ''
+ # Screenshots
+ "${mod}+q" = "exec \"maim | xclip -selection clipboard -t image/png\"";
+ "${mod}+Shift+q" = "exec \"maim -s | xclip -selection clipboard -t image/png\"";
+ "${mod}+Ctrl+q" = "exec ${pkgs.writeShellScript "peek.sh" ''
${pkgs.picom}/bin/picom &
picom_pid=$!
${pkgs.peek}/bin/peek || true
kill -SIGINT $picom_pid
''}";
- # Launching applications
- "${mod}+u" = "exec ${pkgs.writeShellScript "rofi" ''
+ # Launching applications
+ "${mod}+u" = "exec ${pkgs.writeShellScript "rofi" ''
rofi \
-modi 'combi' \
-combi-modi "window,drun,ssh,run" \
@@ -128,49 +130,51 @@ in {
-show combi
''}";
- # Passwords
- "${mod}+p" = "exec rofi-pass -font '${decorationFont}'";
+ # Passwords
+ "${mod}+p" = "exec rofi-pass -font '${decorationFont}'";
- # Media
- "XF86AudioPlay" = "exec playerctl play-pause";
- "XF86AudioNext" = "exec playerctl next";
- "XF86AudioPrev" = "exec playerctl previous";
- "XF86AudioRaiseVolume" = "exec pulseaudio-ctl up";
- "XF86AudioLowerVolume" = "exec pulseaudio-ctl down";
- "XF86AudioMute" = "exec pulseaudio-ctl mute";
+ # Media
+ "XF86AudioPlay" = "exec playerctl play-pause";
+ "XF86AudioNext" = "exec playerctl next";
+ "XF86AudioPrev" = "exec playerctl previous";
+ "XF86AudioRaiseVolume" = "exec pulseaudio-ctl up";
+ "XF86AudioLowerVolume" = "exec pulseaudio-ctl down";
+ "XF86AudioMute" = "exec pulseaudio-ctl mute";
- # Lock
- Pause = "exec lock";
+ # Lock
+ Pause = "exec lock";
- # Brightness
- "XF86MonBrightnessDown" = "exec ${pkgs.brightnessctl}/bin/brightnessctl -q s 5%-";
- "XF86MonBrightnessUp" = "exec ${pkgs.brightnessctl}/bin/brightnessctl -q s 5%+";
+ # Brightness
+ "XF86MonBrightnessDown" = "exec ${pkgs.brightnessctl}/bin/brightnessctl -q s 5%-";
+ "XF86MonBrightnessUp" = "exec ${pkgs.brightnessctl}/bin/brightnessctl -q s 5%+";
- # Sleep/hibernate
- # "${mod}+Escape" = "exec systemctl suspend";
- # "${mod}+Shift+Escape" = "exec systemctl hibernate";
+ # Sleep/hibernate
+ # "${mod}+Escape" = "exec systemctl suspend";
+ # "${mod}+Shift+Escape" = "exec systemctl hibernate";
- # Scratch buffer
- "${mod}+minus" = "scratchpad show";
- "${mod}+Shift+minus" = "move scratchpad";
- "${mod}+space" = "focus mode_toggle";
- "${mod}+Shift+space" = "floating toggle";
+ # Scratch buffer
+ "${mod}+minus" = "scratchpad show";
+ "${mod}+Shift+minus" = "move scratchpad";
+ "${mod}+space" = "focus mode_toggle";
+ "${mod}+Shift+space" = "floating toggle";
- # Screen Layout
- "${mod}+Shift+t" = "exec xrandr --auto";
- "${mod}+t" = "exec ${screenlayout.home}";
- "${mod}+Ctrl+t" = "exec ${pkgs.writeShellScript "fix_term.sh" ''
+ # Screen Layout
+ "${mod}+Shift+t" = "exec xrandr --auto";
+ "${mod}+t" = "exec ${screenlayout.home}";
+ "${mod}+Ctrl+t" = "exec ${pkgs.writeShellScript "fix_term.sh" ''
xrandr --output eDP-1 --off && ${screenlayout.home}
''}";
- # Notifications
- "${mod}+Shift+n" = "exec killall -SIGUSR1 .dunst-wrapped";
- "${mod}+n" = "exec killall -SIGUSR2 .dunst-wrapped";
- "Control+space" = "exec ${pkgs.dunst}/bin/dunstctl close";
- "Control+Shift+space" = "exec ${pkgs.dunst}/bin/dunstctl close-all";
- "Control+grave" = "exec ${pkgs.dunst}/bin/dunstctl history-pop";
- "Control+Shift+period" = "exec ${pkgs.dunst}/bin/dunstctl action";
- })]);
+ # Notifications
+ "${mod}+Shift+n" = "exec killall -SIGUSR1 .dunst-wrapped";
+ "${mod}+n" = "exec killall -SIGUSR2 .dunst-wrapped";
+ "Control+space" = "exec ${pkgs.dunst}/bin/dunstctl close";
+ "Control+Shift+space" = "exec ${pkgs.dunst}/bin/dunstctl close-all";
+ "Control+grave" = "exec ${pkgs.dunst}/bin/dunstctl history-pop";
+ "Control+Shift+period" = "exec ${pkgs.dunst}/bin/dunstctl action";
+ })
+ ]
+ );
fonts = [ decorationFont ];
@@ -202,94 +206,96 @@ in {
bars = [{
statusCommand =
- let i3status-conf = pkgs.writeText "i3status.conf" ''
- general {
- output_format = i3bar
- colors = true
- color_good = "#859900"
+ let
+ i3status-conf = pkgs.writeText "i3status.conf" ''
+ general {
+ output_format = i3bar
+ colors = true
+ color_good = "#859900"
- interval = 1
- }
+ interval = 1
+ }
- order += "external_script current_task"
- order += "external_script inbox"
- order += "spotify"
- order += "volume_status"
- order += "wireless ${config.system.machine.wirelessInterface}"
- # order += "ethernet enp3s0f0"
- order += "cpu_usage"
- order += "battery 0"
- # order += "volume master"
- order += "time"
- order += "tztime utc"
+ order += "external_script current_task"
+ order += "external_script inbox"
+ order += "spotify"
+ order += "volume_status"
+ order += "wireless ${config.system.machine.wirelessInterface}"
+ # order += "ethernet enp3s0f0"
+ order += "cpu_usage"
+ order += "battery 0"
+ # order += "volume master"
+ order += "time"
+ order += "tztime utc"
- mpd {
- format = "%artist - %album - %title"
- }
+ mpd {
+ format = "%artist - %album - %title"
+ }
- wireless ${config.system.machine.wirelessInterface} {
- format_up = "W: (%quality - %essid - %bitrate) %ip"
- format_down = "W: -"
- }
+ wireless ${config.system.machine.wirelessInterface} {
+ format_up = "W: (%quality - %essid - %bitrate) %ip"
+ format_down = "W: -"
+ }
- ethernet enp3s0f0 {
- format_up = "E: %ip"
- format_down = "E: -"
- }
+ ethernet enp3s0f0 {
+ format_up = "E: %ip"
+ format_down = "E: -"
+ }
- battery 0 {
- format = "%status %percentage"
- path = "/sys/class/power_supply/BAT%d/uevent"
- low_threshold = 10
- }
+ battery 0 {
+ format = "%status %percentage"
+ path = "/sys/class/power_supply/BAT%d/uevent"
+ low_threshold = 10
+ }
- cpu_usage {
- format = "CPU: %usage"
- }
+ cpu_usage {
+ format = "CPU: %usage"
+ }
- load {
- format = "%5min"
- }
+ load {
+ format = "%5min"
+ }
- time {
- format = " %a %h %d ⌚ %I:%M "
- }
+ time {
+ format = " %a %h %d ⌚ %I:%M "
+ }
- spotify {
- color_playing = "#fdf6e3"
- color_paused = "#93a1a1"
- format_stopped = ""
- format_down = ""
- format = "{title} - {artist} ({album})"
- }
+ spotify {
+ color_playing = "#fdf6e3"
+ color_paused = "#93a1a1"
+ format_stopped = ""
+ format_down = ""
+ format = "{title} - {artist} ({album})"
+ }
- external_script inbox {
- script_path = '${emacsclient "(grfn/num-inbox-items-message)"}'
- format = 'Inbox: {output}'
- cache_timeout = 120
- color = "#93a1a1"
- }
+ external_script inbox {
+ script_path = '${emacsclient "(grfn/num-inbox-items-message)"}'
+ format = 'Inbox: {output}'
+ cache_timeout = 120
+ color = "#93a1a1"
+ }
- external_script current_task {
- script_path = '${emacsclient "(grfn/org-current-clocked-in-task-message)"}'
- # format = '{output}'
- cache_timeout = 60
- color = "#93a1a1"
- }
+ external_script current_task {
+ script_path = '${emacsclient "(grfn/org-current-clocked-in-task-message)"}'
+ # format = '{output}'
+ cache_timeout = 60
+ color = "#93a1a1"
+ }
- tztime utc {
- timezone = "UTC"
- format = " %H·%M "
- }
+ tztime utc {
+ timezone = "UTC"
+ format = " %H·%M "
+ }
- volume_status {
- format = "☊ {percentage}"
- format_muted = "☊ X"
- # device = "default"
- # mixer_idx = 0
- }
- '';
- in "py3status -c ${i3status-conf}";
+ volume_status {
+ format = "☊ {percentage}"
+ format_muted = "☊ X"
+ # device = "default"
+ # mixer_idx = 0
+ }
+ '';
+ in
+ "py3status -c ${i3status-conf}";
fonts = [ decorationFont ];
position = "top";
colors = with solarized; rec {
@@ -362,5 +368,5 @@ in {
iconTheme.name = "Adwaita";
theme.name = "Adwaita";
};
- };
+ };
}
diff --git a/users/grfn/system/home/modules/lib/cloneRepo.nix b/users/grfn/system/home/modules/lib/cloneRepo.nix
index dc487dc6b..54992bd69 100644
--- a/users/grfn/system/home/modules/lib/cloneRepo.nix
+++ b/users/grfn/system/home/modules/lib/cloneRepo.nix
@@ -4,44 +4,46 @@ with lib;
options = {
grfn.impure.clonedRepos = mkOption {
description = "Repositories to clone";
- default = {};
+ default = { };
type = with types; loaOf (
- let sm = submodule {
- options = {
- url = mkOption {
- type = nullOr str;
- description = "URL of repository to clone";
- default = null;
- };
+ let
+ sm = submodule {
+ options = {
+ url = mkOption {
+ type = nullOr str;
+ description = "URL of repository to clone";
+ default = null;
+ };
- github = mkOption {
- type = nullOr str;
- description = "Github owner/repo of repository to clone";
- default = null;
- };
+ github = mkOption {
+ type = nullOr str;
+ description = "Github owner/repo of repository to clone";
+ default = null;
+ };
- path = mkOption {
- type = str;
- description = "Path to clone to";
- };
+ path = mkOption {
+ type = str;
+ description = "Path to clone to";
+ };
- onClone = mkOption {
- type = str;
- description = ''
- Shell command to run after cloning the repo for the first time.
- Runs inside the repo itself.
- '';
- default = "";
- };
+ onClone = mkOption {
+ type = str;
+ description = ''
+ Shell command to run after cloning the repo for the first time.
+ Runs inside the repo itself.
+ '';
+ default = "";
+ };
- after = mkOption {
- type = listOf str;
- description = "Activation hooks that this repository must be cloned after";
- default = [];
+ after = mkOption {
+ type = listOf str;
+ description = "Activation hooks that this repository must be cloned after";
+ default = [ ];
+ };
};
};
- };
- in addCheck sm (cr: (! isNull cr.url || ! isNull cr.github))
+ in
+ addCheck sm (cr: (! isNull cr.url || ! isNull cr.github))
);
};
};
@@ -49,19 +51,23 @@ with lib;
config = {
home.activation =
mapAttrs
- (_: {
- url, path, github, onClone, after, ...
- }:
- let repoURL = if isNull url then "git@github.com:${github}" else url;
- in hm.dag.entryAfter (["writeBoundary"] ++ after) ''
- $DRY_RUN_CMD mkdir -p $(dirname "${path}")
- if [[ ! -d ${path} ]]; then
- $DRY_RUN_CMD git clone "${repoURL}" "${path}"
- pushd ${path}
- $DRY_RUN_CMD ${onClone}
- popd
- fi
- '')
- config.grfn.impure.clonedRepos;
+ (_: { url
+ , path
+ , github
+ , onClone
+ , after
+ , ...
+ }:
+ let repoURL = if isNull url then "git@github.com:${github}" else url;
+ in hm.dag.entryAfter ([ "writeBoundary" ] ++ after) ''
+ $DRY_RUN_CMD mkdir -p $(dirname "${path}")
+ if [[ ! -d ${path} ]]; then
+ $DRY_RUN_CMD git clone "${repoURL}" "${path}"
+ pushd ${path}
+ $DRY_RUN_CMD ${onClone}
+ popd
+ fi
+ '')
+ config.grfn.impure.clonedRepos;
};
}
diff --git a/users/grfn/system/home/modules/lib/zshFunctions.nix b/users/grfn/system/home/modules/lib/zshFunctions.nix
index 7c39b3478..228dc6379 100644
--- a/users/grfn/system/home/modules/lib/zshFunctions.nix
+++ b/users/grfn/system/home/modules/lib/zshFunctions.nix
@@ -6,16 +6,18 @@ with lib;
options = {
programs.zsh.functions = mkOption {
description = "An attribute set that maps function names to their source";
- default = {};
+ default = { };
type = with types; attrsOf (either str path);
};
};
config.programs.zsh.initExtra = concatStringsSep "\n" (
- mapAttrsToList (name: funSrc: ''
- function ${name}() {
- ${funSrc}
- }
- '') config.programs.zsh.functions
+ mapAttrsToList
+ (name: funSrc: ''
+ function ${name}() {
+ ${funSrc}
+ }
+ '')
+ config.programs.zsh.functions
);
}
diff --git a/users/grfn/system/home/modules/obs.nix b/users/grfn/system/home/modules/obs.nix
index d1dade477..39d57d712 100644
--- a/users/grfn/system/home/modules/obs.nix
+++ b/users/grfn/system/home/modules/obs.nix
@@ -19,7 +19,9 @@ let
nativeBuildInputs = [ pkg-config ];
buildInputs = [
- libtool autoconf automake
+ libtool
+ autoconf
+ automake
x11
xorg.libXtst
xorg.libXinerama
diff --git a/users/grfn/system/home/modules/rtlsdr.nix b/users/grfn/system/home/modules/rtlsdr.nix
index a1c717617..c8a404a1f 100644
--- a/users/grfn/system/home/modules/rtlsdr.nix
+++ b/users/grfn/system/home/modules/rtlsdr.nix
@@ -2,12 +2,14 @@
let
- nixpkgs-gnuradio = import (pkgs.fetchFromGitHub {
- owner = "doronbehar";
- repo = "nixpkgs";
- rev = "712561aa5f10bfe6112a1726a912585612a70d1f";
- sha256 = "04yqflbwjcfl9vlplphpj82csqqz9k6m3nj1ybhwgmsc4by7vivl";
- }) {};
+ nixpkgs-gnuradio = import
+ (pkgs.fetchFromGitHub {
+ owner = "doronbehar";
+ repo = "nixpkgs";
+ rev = "712561aa5f10bfe6112a1726a912585612a70d1f";
+ sha256 = "04yqflbwjcfl9vlplphpj82csqqz9k6m3nj1ybhwgmsc4by7vivl";
+ })
+ { };
in
diff --git a/users/grfn/system/home/modules/shell.nix b/users/grfn/system/home/modules/shell.nix
index 088fe9238..ed82292b0 100644
--- a/users/grfn/system/home/modules/shell.nix
+++ b/users/grfn/system/home/modules/shell.nix
@@ -30,7 +30,7 @@ let
# Directories
stck = "dirs -v";
- b= "cd ~1";
+ b = "cd ~1";
".." = "cd ..";
"..." = "cd ../..";
"...." = "cd ../../..";
@@ -63,7 +63,8 @@ let
"ll" = "ls -al";
"la" = "ls -a";
};
-in {
+in
+{
home.packages = with pkgs; [
zsh
autojump
diff --git a/users/grfn/system/home/modules/tarsnap.nix b/users/grfn/system/home/modules/tarsnap.nix
index 4bff19910..87002610c 100644
--- a/users/grfn/system/home/modules/tarsnap.nix
+++ b/users/grfn/system/home/modules/tarsnap.nix
@@ -6,59 +6,59 @@
];
home.file.".tarsnaprc".text = ''
- ### Recommended options
+ ### Recommended options
- # Tarsnap cache directory
- cachedir /home/grfn/.cache/tarsnap
+ # Tarsnap cache directory
+ cachedir /home/grfn/.cache/tarsnap
- # Tarsnap key file
- keyfile /home/grfn/.private/tarsnap.key
+ # Tarsnap key file
+ keyfile /home/grfn/.private/tarsnap.key
- # Don't archive files which have the nodump flag set.
- nodump
+ # Don't archive files which have the nodump flag set.
+ nodump
- # Print statistics when creating or deleting archives.
- print-stats
+ # Print statistics when creating or deleting archives.
+ print-stats
- # Create a checkpoint once per GB of uploaded data.
- checkpoint-bytes 1G
+ # Create a checkpoint once per GB of uploaded data.
+ checkpoint-bytes 1G
- ### Commonly useful options
+ ### Commonly useful options
- # Use SI prefixes to make numbers printed by --print-stats more readable.
- humanize-numbers
+ # Use SI prefixes to make numbers printed by --print-stats more readable.
+ humanize-numbers
- ### Other options, not applicable to most systems
+ ### Other options, not applicable to most systems
- # Aggressive network behaviour: Use multiple TCP connections when
- # writing archives. Use of this option is recommended only in
- # cases where TCP congestion control is known to be the limiting
- # factor in upload performance.
- #aggressive-networking
+ # Aggressive network behaviour: Use multiple TCP connections when
+ # writing archives. Use of this option is recommended only in
+ # cases where TCP congestion control is known to be the limiting
+ # factor in upload performance.
+ #aggressive-networking
- # Exclude files and directories matching specified patterns.
- # Only one file or directory per command; multiple "exclude"
- # commands may be given.
- #exclude
+ # Exclude files and directories matching specified patterns.
+ # Only one file or directory per command; multiple "exclude"
+ # commands may be given.
+ #exclude
- # Include only files and directories matching specified patterns.
- # Only one file or directory per command; multiple "include"
- # commands may be given.
- #include
+ # Include only files and directories matching specified patterns.
+ # Only one file or directory per command; multiple "include"
+ # commands may be given.
+ #include
- # Attempt to reduce tarsnap memory consumption. This option
- # will slow down the process of creating archives, but may help
- # on systems where the average size of files being backed up is
- # less than 1 MB.
- #lowmem
+ # Attempt to reduce tarsnap memory consumption. This option
+ # will slow down the process of creating archives, but may help
+ # on systems where the average size of files being backed up is
+ # less than 1 MB.
+ #lowmem
- # Try even harder to reduce tarsnap memory consumption. This can
- # significantly slow down tarsnap, but reduces its memory usage
- # by an additional factor of 2 beyond what the lowmem option does.
- #verylowmem
+ # Try even harder to reduce tarsnap memory consumption. This can
+ # significantly slow down tarsnap, but reduces its memory usage
+ # by an additional factor of 2 beyond what the lowmem option does.
+ #verylowmem
- # Snapshot time. Use this option if you are backing up files
- # from a filesystem snapshot rather than from a "live" filesystem.
- #snaptime
+ # Snapshot time. Use this option if you are backing up files
+ # from a filesystem snapshot rather than from a "live" filesystem.
+ #snaptime
'';
}
diff --git a/users/grfn/system/home/platforms/darwin.nix b/users/grfn/system/home/platforms/darwin.nix
index cf0375e94..f98b80f26 100644
--- a/users/grfn/system/home/platforms/darwin.nix
+++ b/users/grfn/system/home/platforms/darwin.nix
@@ -10,7 +10,7 @@ with lib;
pinentry_mac
];
- home.activation.linkApplications = lib.hm.dag.entryAfter ["writeBoundary"] ''
+ home.activation.linkApplications = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
$DRY_RUN_CMD ln -sf $VERBOSE_ARG \
~/.nix-profile/Applications/* ~/Applications/
'';
diff --git a/users/grfn/system/system/iso.nix b/users/grfn/system/system/iso.nix
index 4adccebfb..92a13f655 100644
--- a/users/grfn/system/system/iso.nix
+++ b/users/grfn/system/system/iso.nix
@@ -12,6 +12,7 @@ let
networking.firewall.enable = false;
networking.wireless.enable = lib.mkForce false;
};
-in (depot.third_party.nixos {
+in
+(depot.third_party.nixos {
inherit configuration;
}).config.system.build.isoImage
diff --git a/users/grfn/system/system/machines/mugwump.nix b/users/grfn/system/system/machines/mugwump.nix
index 7de655587..a8bf91caa 100644
--- a/users/grfn/system/system/machines/mugwump.nix
+++ b/users/grfn/system/system/machines/mugwump.nix
@@ -23,7 +23,12 @@ with lib;
initrd = {
availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
kernelModules = [
- "uas" "usbcore" "usb_storage" "vfat" "nls_cp437" "nls_iso8859_1"
+ "uas"
+ "usbcore"
+ "usb_storage"
+ "vfat"
+ "nls_cp437"
+ "nls_iso8859_1"
];
postDeviceCommands = pkgs.lib.mkBefore ''
@@ -60,31 +65,33 @@ with lib;
networking.firewall.allowedTCPPorts = [ 22 80 443 ];
security.sudo.extraRules = [{
- groups = ["wheel"];
- commands = [{ command = "ALL"; options = ["NOPASSWD"]; }];
+ groups = [ "wheel" ];
+ commands = [{ command = "ALL"; options = [ "NOPASSWD" ]; }];
}];
nix.gc.dates = "monthly";
- age.secrets = let
- secret = name: depot.users.grfn.secrets."${name}.age";
- in {
- bbbg.file = secret "bbbg";
- cloudflare.file = secret "cloudflare";
- ddclient-password.file = secret "ddclient-password";
+ age.secrets =
+ let
+ secret = name: depot.users.grfn.secrets."${name}.age";
+ in
+ {
+ bbbg.file = secret "bbbg";
+ cloudflare.file = secret "cloudflare";
+ ddclient-password.file = secret "ddclient-password";
- buildkite-ssh-key = {
- file = secret "buildkite-ssh-key";
- group = "keys";
- mode = "0440";
- };
+ buildkite-ssh-key = {
+ file = secret "buildkite-ssh-key";
+ group = "keys";
+ mode = "0440";
+ };
- buildkite-token = {
- file = secret "buildkite-token";
- group = "keys";
- mode = "0440";
+ buildkite-token = {
+ file = secret "buildkite-token";
+ group = "keys";
+ mode = "0440";
+ };
};
- };
services.depot.auto-deploy = {
enable = true;
@@ -207,44 +214,49 @@ with lib;
job_name = "node";
scrape_interval = "5s";
static_configs = [{
- targets = ["localhost:${toString config.services.prometheus.exporters.node.port}"];
+ targets = [ "localhost:${toString config.services.prometheus.exporters.node.port}" ];
}];
- } {
- job_name = "nginx";
- scrape_interval = "5s";
- static_configs = [{
- targets = ["localhost:${toString config.services.prometheus.exporters.nginx.port}"];
+ }
+ {
+ job_name = "nginx";
+ scrape_interval = "5s";
+ static_configs = [{
+ targets = [ "localhost:${toString config.services.prometheus.exporters.nginx.port}" ];
+ }];
+ }
+ {
+ job_name = "xanthous_server";
+ scrape_interval = "1s";
+ static_configs = [{
+ targets = [ "localhost:${toString config.services.xanthous-server.metricsPort}" ];
+ }];
+ }
+ {
+ job_name = "blackbox";
+ metrics_path = "/probe";
+ params.module = [ "https_2xx" ];
+ scrape_interval = "5s";
+ static_configs = [{
+ targets = [
+ "https://gws.fyi"
+ "https://windtunnel.ci"
+ "https://app.windtunnel.ci"
+ "https://metrics.gws.fyi"
+ ];
+ }];
+ relabel_configs = [{
+ source_labels = [ "__address__" ];
+ target_label = "__param_target";
+ }
+ {
+ source_labels = [ "__param_target" ];
+ target_label = "instance";
+ }
+ {
+ target_label = "__address__";
+ replacement = "localhost:${toString config.services.prometheus.exporters.blackbox.port}";
+ }];
}];
- } {
- job_name = "xanthous_server";
- scrape_interval = "1s";
- static_configs = [{
- targets = ["localhost:${toString config.services.xanthous-server.metricsPort}"];
- }];
- } {
- job_name = "blackbox";
- metrics_path = "/probe";
- params.module = ["https_2xx"];
- scrape_interval = "5s";
- static_configs = [{
- targets = [
- "https://gws.fyi"
- "https://windtunnel.ci"
- "https://app.windtunnel.ci"
- "https://metrics.gws.fyi"
- ];
- }];
- relabel_configs = [{
- source_labels = ["__address__"];
- target_label = "__param_target";
- } {
- source_labels = ["__param_target"];
- target_label = "instance";
- } {
- target_label = "__address__";
- replacement = "localhost:${toString config.services.prometheus.exporters.blackbox.port}";
- }];
- }];
};
services.xanthous-server.enable = true;
@@ -256,21 +268,23 @@ with lib;
virtualisation.docker.enable = true;
- services.buildkite-agents = listToAttrs (map (n: rec {
- name = "mugwump-${toString n}";
- value = {
- inherit name;
- enable = true;
- tokenPath = "/run/agenix/buildkite-agent-token";
- privateSshKeyPath = "/run/agenix/buildkite-ssh-key";
- runtimePackages = with pkgs; [
- docker
- nix
- gnutar
- gzip
- ];
- };
- }) (range 1 1));
+ services.buildkite-agents = listToAttrs (map
+ (n: rec {
+ name = "mugwump-${toString n}";
+ value = {
+ inherit name;
+ enable = true;
+ tokenPath = "/run/agenix/buildkite-agent-token";
+ privateSshKeyPath = "/run/agenix/buildkite-ssh-key";
+ runtimePackages = with pkgs; [
+ docker
+ nix
+ gnutar
+ gzip
+ ];
+ };
+ })
+ (range 1 1));
users.users."buildkite-agent-mugwump-1" = {
isSystemUser = true;
diff --git a/users/grfn/system/system/modules/common.nix b/users/grfn/system/system/modules/common.nix
index 91723973f..635747d11 100644
--- a/users/grfn/system/system/modules/common.nix
+++ b/users/grfn/system/system/modules/common.nix
@@ -2,7 +2,7 @@
let
- depot = import ../../../../.. {};
+ depot = import ../../../../.. { };
in
diff --git a/users/grfn/system/system/modules/fonts.nix b/users/grfn/system/system/modules/fonts.nix
index babe30d42..f30600b28 100644
--- a/users/grfn/system/system/modules/fonts.nix
+++ b/users/grfn/system/system/modules/fonts.nix
@@ -7,6 +7,6 @@
twitter-color-emoji
];
- fontconfig.defaultFonts.emoji = ["Twitter Color Emoji"];
+ fontconfig.defaultFonts.emoji = [ "Twitter Color Emoji" ];
};
}
diff --git a/users/grfn/system/system/modules/reusable/battery.nix b/users/grfn/system/system/modules/reusable/battery.nix
index ca92e0c3f..151c2a246 100644
--- a/users/grfn/system/system/modules/reusable/battery.nix
+++ b/users/grfn/system/system/modules/reusable/battery.nix
@@ -22,11 +22,11 @@ with lib;
config =
let cfg = config.laptop.onLowBattery;
in mkIf cfg.enable {
- services.udev.extraRules = concatStrings [
- ''SUBSYSTEM=="power_supply", ''
- ''ATTR{status}=="Discharging", ''
- ''ATTR{capacity}=="[0-${toString cfg.thresholdPercentage}]", ''
- ''RUN+="${pkgs.systemd}/bin/systemctl ${cfg.action}"''
- ];
- };
+ services.udev.extraRules = concatStrings [
+ ''SUBSYSTEM=="power_supply", ''
+ ''ATTR{status}=="Discharging", ''
+ ''ATTR{capacity}=="[0-${toString cfg.thresholdPercentage}]", ''
+ ''RUN+="${pkgs.systemd}/bin/systemctl ${cfg.action}"''
+ ];
+ };
}
diff --git a/users/grfn/system/system/modules/tvl.nix b/users/grfn/system/system/modules/tvl.nix
index 905ec8ced..959f8449f 100644
--- a/users/grfn/system/system/modules/tvl.nix
+++ b/users/grfn/system/system/modules/tvl.nix
@@ -8,7 +8,7 @@
sshKey = "/root/.ssh/id_rsa";
system = "x86_64-linux";
maxJobs = 64;
- supportedFeatures = ["big-parallel" "kvm" "nixos-test" "benchmark"];
+ supportedFeatures = [ "big-parallel" "kvm" "nixos-test" "benchmark" ];
}];
extraOptions = ''
@@ -29,7 +29,7 @@
};
programs.ssh.knownHosts.whitby = {
- hostNames = [ "whitby" "whitby.tvl.fyi" "49.12.129.211"];
+ hostNames = [ "whitby" "whitby.tvl.fyi" "49.12.129.211" ];
publicKeyFile = pkgs.writeText "whitby.pub" ''
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILNh/w4BSKov0jdz3gKBc98tpoLta5bb87fQXWBhAl2I
'';
diff --git a/users/grfn/system/system/modules/work/kolide.nix b/users/grfn/system/system/modules/work/kolide.nix
index 29ee0a0d7..e4ee786f0 100644
--- a/users/grfn/system/system/modules/work/kolide.nix
+++ b/users/grfn/system/system/modules/work/kolide.nix
@@ -3,9 +3,10 @@
let
deb = ./kolide.deb;
- kolide = pkgs.runCommand "kolide-data" {
- buildInputs = [ pkgs.binutils-unwrapped ];
- } ''
+ kolide = pkgs.runCommand "kolide-data"
+ {
+ buildInputs = [ pkgs.binutils-unwrapped ];
+ } ''
cp ${deb} ./kolide.deb
ar x kolide.deb
mkdir result
@@ -19,7 +20,8 @@ let
mv result $out
'';
-in {
+in
+{
systemd.services."launcher.kolide-k2" = {
wantedBy = [ "multi-user.target" ];
after = [ "network.target" "syslog.service" ];
diff --git a/users/grfn/terraform/globals.nix b/users/grfn/terraform/globals.nix
index 5f373c664..c6bc24c22 100644
--- a/users/grfn/terraform/globals.nix
+++ b/users/grfn/terraform/globals.nix
@@ -1,20 +1,23 @@
{ pkgs, ... }:
{
- provider.aws = map (region: {
- inherit region;
- alias = region;
- profile = "personal";
- }) [
+ provider.aws = map
+ (region: {
+ inherit region;
+ alias = region;
+ profile = "personal";
+ }) [
"us-east-1"
"us-east-2"
"us-west-2"
];
data.external.cloudflare_api_key = {
- program = [(pkgs.writeShellScript "cloudflare_api_key" ''
- jq -n --arg api_key "$(pass cloudflare-api-key)" '{"api_key":$api_key}'
- '')];
+ program = [
+ (pkgs.writeShellScript "cloudflare_api_key" ''
+ jq -n --arg api_key "$(pass cloudflare-api-key)" '{"api_key":$api_key}'
+ '')
+ ];
};
provider.cloudflare = {
diff --git a/users/grfn/terraform/nixosMachine.nix b/users/grfn/terraform/nixosMachine.nix
index ef8830d66..dfecbff60 100644
--- a/users/grfn/terraform/nixosMachine.nix
+++ b/users/grfn/terraform/nixosMachine.nix
@@ -9,7 +9,7 @@
, region ? "us-east-2"
, rootVolumeSizeGb ? 50
, securityGroupId ? null
-, extraIngressPorts ? []
+, extraIngressPorts ? [ ]
}:
let
@@ -40,13 +40,14 @@ let
machineResource = "aws_instance.${prefix}machine";
- recursiveMerge = builtins.foldl' lib.recursiveUpdate {};
+ recursiveMerge = builtins.foldl' lib.recursiveUpdate { };
securityGroupId' =
if isNull securityGroupId
then "\${aws_security_group.${prefix}group.id}"
else securityGroupId;
-in recursiveMerge [
+in
+recursiveMerge [
(lib.optionalAttrs (isNull securityGroupId) {
resource.aws_security_group."${prefix}group" = {
provider = "aws.${region}";
@@ -60,12 +61,12 @@ in recursiveMerge [
resource.aws_security_group_rule.all_egress = {
provider = "aws.${region}";
security_group_id = securityGroupId';
- type = "egress";
- protocol = "-1";
- from_port = 0;
- to_port = 0;
- cidr_blocks = ["0.0.0.0/0"];
- ipv6_cidr_blocks = ["::/0"];
+ type = "egress";
+ protocol = "-1";
+ from_port = 0;
+ to_port = 0;
+ cidr_blocks = [ "0.0.0.0/0" ];
+ ipv6_cidr_blocks = [ "::/0" ];
description = null;
prefix_list_ids = null;
@@ -74,12 +75,14 @@ in recursiveMerge [
})
rec {
data.external.my_ip = {
- program = [(pkgs.writeShellScript "my_ip" ''
- ${pkgs.jq}/bin/jq \
- -n \
- --arg ip "$(curl ifconfig.me)" \
- '{"ip":$ip}'
- '')];
+ program = [
+ (pkgs.writeShellScript "my_ip" ''
+ ${pkgs.jq}/bin/jq \
+ -n \
+ --arg ip "$(curl ifconfig.me)" \
+ '{"ip":$ip}'
+ '')
+ ];
};
resource.aws_security_group_rule.provision_ssh_access = {
@@ -89,8 +92,8 @@ in recursiveMerge [
protocol = "TCP";
from_port = 22;
to_port = 22;
- cidr_blocks = ["\${data.external.my_ip.result.ip}/32"];
- ipv6_cidr_blocks = [];
+ cidr_blocks = [ "\${data.external.my_ip.result.ip}/32" ];
+ ipv6_cidr_blocks = [ ];
description = null;
prefix_list_ids = null;
self = null;
@@ -183,21 +186,23 @@ in recursiveMerge [
}
{
- resource.aws_security_group_rule = builtins.listToAttrs (map (port: {
- name = "ingress_${toString port}";
- value = {
- provider = "aws.${region}";
- security_group_id = securityGroupId';
- type = "ingress";
- protocol = "TCP";
- from_port = port;
- to_port = port;
- cidr_blocks = ["0.0.0.0/0"];
- ipv6_cidr_blocks = [];
- description = null;
- prefix_list_ids = null;
- self = null;
- };
- }) extraIngressPorts);
+ resource.aws_security_group_rule = builtins.listToAttrs (map
+ (port: {
+ name = "ingress_${toString port}";
+ value = {
+ provider = "aws.${region}";
+ security_group_id = securityGroupId';
+ type = "ingress";
+ protocol = "TCP";
+ from_port = port;
+ to_port = port;
+ cidr_blocks = [ "0.0.0.0/0" ];
+ ipv6_cidr_blocks = [ ];
+ description = null;
+ prefix_list_ids = null;
+ self = null;
+ };
+ })
+ extraIngressPorts);
}
]
diff --git a/users/grfn/terraform/workspace.nix b/users/grfn/terraform/workspace.nix
index c2a0fdb97..92bf6e4ec 100644
--- a/users/grfn/terraform/workspace.nix
+++ b/users/grfn/terraform/workspace.nix
@@ -21,13 +21,15 @@ let
]));
plugins_tf = {
- terraform.required_providers = (builtins.listToAttrs (map (p: {
- name = lib.last (lib.splitString "/" p.provider-source-address);
- value = {
- source = p.provider-source-address;
- version = p.version;
- };
- }) (allPlugins pkgs.terraform.plugins)));
+ terraform.required_providers = (builtins.listToAttrs (map
+ (p: {
+ name = lib.last (lib.splitString "/" p.provider-source-address);
+ value = {
+ source = p.provider-source-address;
+ version = p.version;
+ };
+ })
+ (allPlugins pkgs.terraform.plugins)));
};
@@ -36,7 +38,7 @@ let
plugins = plugins_tf;
};
- module = runCommandNoCC "module" {} ''
+ module = runCommandNoCC "module" { } ''
mkdir $out
${lib.concatStrings (lib.mapAttrsToList (k: config_tf:
(let
@@ -70,7 +72,7 @@ let
'';
# TODO: import (-config)
- tfcmds = runCommandNoCC "${name}-tfcmds" {} ''
+ tfcmds = runCommandNoCC "${name}-tfcmds" { } ''
mkdir -p $out/bin
ln -s ${init} $out/bin/init
ln -s ${tfcmd} $out/bin/validate
@@ -79,7 +81,8 @@ let
ln -s ${tfcmd} $out/bin/destroy
'';
-in {
+in
+{
inherit name module;
terraform = tf;
cmds = tfcmds;
@@ -92,7 +95,7 @@ in {
# destroy = depot.nix.nixRunWrapper "destroy" tfcmds;
# };
- test = runCommandNoCC "${name}-test" {} ''
+ test = runCommandNoCC "${name}-test" { } ''
set -e
export TF_STATE_ROOT=$(pwd)
${tfcmds}/bin/init
diff --git a/users/grfn/xanthous/default.nix b/users/grfn/xanthous/default.nix
index c0eca446c..e8a1eb14e 100644
--- a/users/grfn/xanthous/default.nix
+++ b/users/grfn/xanthous/default.nix
@@ -1,6 +1,7 @@
-{ depot ? (import ../../../. {})
+{ depot ? (import ../../../. { })
, pkgs ? depot.third_party.nixpkgs
-, ... }:
+, ...
+}:
let
ignore = depot.third_party.gitignoreSource.gitignoreFilter ./.;
@@ -11,7 +12,7 @@ let
!(type == "directory" && builtins.baseNameOf path == "server")
&& !(type == "directory" && builtins.baseNameOf path == "docs")
&& (ignore path type
- || builtins.baseNameOf path == "package.yaml");
+ || builtins.baseNameOf path == "package.yaml");
};
# generated by cabal2nix
basePkg = pkgs.haskellPackages.callPackage ./pkg.nix { };
@@ -22,5 +23,5 @@ pkgs.haskell.lib.overrideCabal basePkg (default: {
version = "canon";
configureFlags = [
"--ghc-option=-Wall --ghc-option=-Werror"
- ] ++ (default.configureFlags or []);
+ ] ++ (default.configureFlags or [ ]);
})
diff --git a/users/grfn/xanthous/pkg.nix b/users/grfn/xanthous/pkg.nix
index 0f0dbfc98..f8364c467 100644
--- a/users/grfn/xanthous/pkg.nix
+++ b/users/grfn/xanthous/pkg.nix
@@ -1,17 +1,74 @@
-{ mkDerivation, aeson, array, async, base, bifunctors, brick
-, checkers, classy-prelude, comonad, comonad-extras, constraints
-, containers, criterion, data-default, data-interval, deepseq
-, directory, fgl, fgl-arbitrary, file-embed, filepath
-, generic-arbitrary, generic-lens, groups, hgeometry
-, hgeometry-combinatorial, hpack, JuicyPixels, lens
-, lens-properties, lib, lifted-async, linear, megaparsec, mmorph
-, monad-control, MonadRandom, mtl, optparse-applicative, parallel
-, parser-combinators, pointed, QuickCheck, quickcheck-instances
-, quickcheck-text, random, random-extras, random-fu, random-source
-, Rasterific, raw-strings-qq, reflection, semigroupoids, semigroups
-, splitmix, stache, streams, tasty, tasty-hunit, tasty-quickcheck
-, tasty-rerun, text, text-zipper, tomland, transformers, vector
-, vty, witherable, yaml, zlib
+{ mkDerivation
+, aeson
+, array
+, async
+, base
+, bifunctors
+, brick
+, checkers
+, classy-prelude
+, comonad
+, comonad-extras
+, constraints
+, containers
+, criterion
+, data-default
+, data-interval
+, deepseq
+, directory
+, fgl
+, fgl-arbitrary
+, file-embed
+, filepath
+, generic-arbitrary
+, generic-lens
+, groups
+, hgeometry
+, hgeometry-combinatorial
+, hpack
+, JuicyPixels
+, lens
+, lens-properties
+, lib
+, lifted-async
+, linear
+, megaparsec
+, mmorph
+, monad-control
+, MonadRandom
+, mtl
+, optparse-applicative
+, parallel
+, parser-combinators
+, pointed
+, QuickCheck
+, quickcheck-instances
+, quickcheck-text
+, random
+, random-extras
+, random-fu
+, random-source
+, Rasterific
+, raw-strings-qq
+, reflection
+, semigroupoids
+, semigroups
+, splitmix
+, stache
+, streams
+, tasty
+, tasty-hunit
+, tasty-quickcheck
+, tasty-rerun
+, text
+, text-zipper
+, tomland
+, transformers
+, vector
+, vty
+, witherable
+, yaml
+, zlib
}:
mkDerivation {
pname = "xanthous";
@@ -20,58 +77,270 @@ mkDerivation {
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
- aeson array async base bifunctors brick checkers classy-prelude
- comonad comonad-extras constraints containers criterion
- data-default data-interval deepseq directory fgl fgl-arbitrary
- file-embed filepath generic-arbitrary generic-lens groups hgeometry
- hgeometry-combinatorial JuicyPixels lens lifted-async linear
- megaparsec mmorph monad-control MonadRandom mtl
- optparse-applicative parallel parser-combinators pointed QuickCheck
- quickcheck-instances quickcheck-text random random-extras random-fu
- random-source Rasterific raw-strings-qq reflection semigroupoids
- semigroups splitmix stache streams text text-zipper tomland
- transformers vector vty witherable yaml zlib
+ aeson
+ array
+ async
+ base
+ bifunctors
+ brick
+ checkers
+ classy-prelude
+ comonad
+ comonad-extras
+ constraints
+ containers
+ criterion
+ data-default
+ data-interval
+ deepseq
+ directory
+ fgl
+ fgl-arbitrary
+ file-embed
+ filepath
+ generic-arbitrary
+ generic-lens
+ groups
+ hgeometry
+ hgeometry-combinatorial
+ JuicyPixels
+ lens
+ lifted-async
+ linear
+ megaparsec
+ mmorph
+ monad-control
+ MonadRandom
+ mtl
+ optparse-applicative
+ parallel
+ parser-combinators
+ pointed
+ QuickCheck
+ quickcheck-instances
+ quickcheck-text
+ random
+ random-extras
+ random-fu
+ random-source
+ Rasterific
+ raw-strings-qq
+ reflection
+ semigroupoids
+ semigroups
+ splitmix
+ stache
+ streams
+ text
+ text-zipper
+ tomland
+ transformers
+ vector
+ vty
+ witherable
+ yaml
+ zlib
];
libraryToolDepends = [ hpack ];
executableHaskellDepends = [
- aeson array async base bifunctors brick checkers classy-prelude
- comonad comonad-extras constraints containers criterion
- data-default data-interval deepseq directory fgl fgl-arbitrary
- file-embed filepath generic-arbitrary generic-lens groups hgeometry
- hgeometry-combinatorial JuicyPixels lens lifted-async linear
- megaparsec mmorph monad-control MonadRandom mtl
- optparse-applicative parallel parser-combinators pointed QuickCheck
- quickcheck-instances quickcheck-text random random-extras random-fu
- random-source Rasterific raw-strings-qq reflection semigroupoids
- semigroups splitmix stache streams text text-zipper tomland
- transformers vector vty witherable yaml zlib
+ aeson
+ array
+ async
+ base
+ bifunctors
+ brick
+ checkers
+ classy-prelude
+ comonad
+ comonad-extras
+ constraints
+ containers
+ criterion
+ data-default
+ data-interval
+ deepseq
+ directory
+ fgl
+ fgl-arbitrary
+ file-embed
+ filepath
+ generic-arbitrary
+ generic-lens
+ groups
+ hgeometry
+ hgeometry-combinatorial
+ JuicyPixels
+ lens
+ lifted-async
+ linear
+ megaparsec
+ mmorph
+ monad-control
+ MonadRandom
+ mtl
+ optparse-applicative
+ parallel
+ parser-combinators
+ pointed
+ QuickCheck
+ quickcheck-instances
+ quickcheck-text
+ random
+ random-extras
+ random-fu
+ random-source
+ Rasterific
+ raw-strings-qq
+ reflection
+ semigroupoids
+ semigroups
+ splitmix
+ stache
+ streams
+ text
+ text-zipper
+ tomland
+ transformers
+ vector
+ vty
+ witherable
+ yaml
+ zlib
];
testHaskellDepends = [
- aeson array async base bifunctors brick checkers classy-prelude
- comonad comonad-extras constraints containers criterion
- data-default data-interval deepseq directory fgl fgl-arbitrary
- file-embed filepath generic-arbitrary generic-lens groups hgeometry
- hgeometry-combinatorial JuicyPixels lens lens-properties
- lifted-async linear megaparsec mmorph monad-control MonadRandom mtl
- optparse-applicative parallel parser-combinators pointed QuickCheck
- quickcheck-instances quickcheck-text random random-extras random-fu
- random-source Rasterific raw-strings-qq reflection semigroupoids
- semigroups splitmix stache streams tasty tasty-hunit
- tasty-quickcheck tasty-rerun text text-zipper tomland transformers
- vector vty witherable yaml zlib
+ aeson
+ array
+ async
+ base
+ bifunctors
+ brick
+ checkers
+ classy-prelude
+ comonad
+ comonad-extras
+ constraints
+ containers
+ criterion
+ data-default
+ data-interval
+ deepseq
+ directory
+ fgl
+ fgl-arbitrary
+ file-embed
+ filepath
+ generic-arbitrary
+ generic-lens
+ groups
+ hgeometry
+ hgeometry-combinatorial
+ JuicyPixels
+ lens
+ lens-properties
+ lifted-async
+ linear
+ megaparsec
+ mmorph
+ monad-control
+ MonadRandom
+ mtl
+ optparse-applicative
+ parallel
+ parser-combinators
+ pointed
+ QuickCheck
+ quickcheck-instances
+ quickcheck-text
+ random
+ random-extras
+ random-fu
+ random-source
+ Rasterific
+ raw-strings-qq
+ reflection
+ semigroupoids
+ semigroups
+ splitmix
+ stache
+ streams
+ tasty
+ tasty-hunit
+ tasty-quickcheck
+ tasty-rerun
+ text
+ text-zipper
+ tomland
+ transformers
+ vector
+ vty
+ witherable
+ yaml
+ zlib
];
benchmarkHaskellDepends = [
- aeson array async base bifunctors brick checkers classy-prelude
- comonad comonad-extras constraints containers criterion
- data-default data-interval deepseq directory fgl fgl-arbitrary
- file-embed filepath generic-arbitrary generic-lens groups hgeometry
- hgeometry-combinatorial JuicyPixels lens lifted-async linear
- megaparsec mmorph monad-control MonadRandom mtl
- optparse-applicative parallel parser-combinators pointed QuickCheck
- quickcheck-instances quickcheck-text random random-extras random-fu
- random-source Rasterific raw-strings-qq reflection semigroupoids
- semigroups splitmix stache streams text text-zipper tomland
- transformers vector vty witherable yaml zlib
+ aeson
+ array
+ async
+ base
+ bifunctors
+ brick
+ checkers
+ classy-prelude
+ comonad
+ comonad-extras
+ constraints
+ containers
+ criterion
+ data-default
+ data-interval
+ deepseq
+ directory
+ fgl
+ fgl-arbitrary
+ file-embed
+ filepath
+ generic-arbitrary
+ generic-lens
+ groups
+ hgeometry
+ hgeometry-combinatorial
+ JuicyPixels
+ lens
+ lifted-async
+ linear
+ megaparsec
+ mmorph
+ monad-control
+ MonadRandom
+ mtl
+ optparse-applicative
+ parallel
+ parser-combinators
+ pointed
+ QuickCheck
+ quickcheck-instances
+ quickcheck-text
+ random
+ random-extras
+ random-fu
+ random-source
+ Rasterific
+ raw-strings-qq
+ reflection
+ semigroupoids
+ semigroups
+ splitmix
+ stache
+ streams
+ text
+ text-zipper
+ tomland
+ transformers
+ vector
+ vty
+ witherable
+ yaml
+ zlib
];
prePatch = "hpack";
homepage = "https://github.com/glittershark/xanthous#readme";
diff --git a/users/grfn/xanthous/server/default.nix b/users/grfn/xanthous/server/default.nix
index 0b3900e4d..95c2b15ec 100644
--- a/users/grfn/xanthous/server/default.nix
+++ b/users/grfn/xanthous/server/default.nix
@@ -1,5 +1,4 @@
-args@{
- depot ? import ../../../.. {}
+args@{ depot ? import ../../../.. { }
, pkgs ? depot.third_party.nixpkgs
, ...
}:
diff --git a/users/grfn/xanthous/server/docker.nix b/users/grfn/xanthous/server/docker.nix
index a62943c2b..09054cb00 100644
--- a/users/grfn/xanthous/server/docker.nix
+++ b/users/grfn/xanthous/server/docker.nix
@@ -1,4 +1,4 @@
-{ depot ? import ../../../.. {}
+{ depot ? import ../../../.. { }
, pkgs ? depot.third_party.nixpkgs
, ...
}:
@@ -6,14 +6,16 @@
let
inherit (depot.users.grfn) xanthous;
xanthous-server = xanthous.server;
-in pkgs.dockerTools.buildLayeredImage {
+in
+pkgs.dockerTools.buildLayeredImage {
name = "xanthous-server";
tag = "latest";
contents = [ xanthous xanthous-server ];
config = {
Cmd = [
"${xanthous-server}/bin/xanthous-server"
- "--xanthous-binary-path" "${xanthous}/bin/xanthous"
+ "--xanthous-binary-path"
+ "${xanthous}/bin/xanthous"
];
};
}
diff --git a/users/grfn/xanthous/server/module.nix b/users/grfn/xanthous/server/module.nix
index 73ac276ca..82de6e38e 100644
--- a/users/grfn/xanthous/server/module.nix
+++ b/users/grfn/xanthous/server/module.nix
@@ -2,7 +2,8 @@
let
cfg = config.services.xanthous-server;
-in {
+in
+{
options = with lib; {
services.xanthous-server = {
enable = mkEnableOption "xanthous server";
diff --git a/users/grfn/xanthous/server/shell.nix b/users/grfn/xanthous/server/shell.nix
index a6747175f..e01c0316a 100644
--- a/users/grfn/xanthous/server/shell.nix
+++ b/users/grfn/xanthous/server/shell.nix
@@ -1,5 +1,5 @@
let
- depot = import ../../../.. {};
+ depot = import ../../../.. { };
pkgs = depot.third_party.nixpkgs;
in
diff --git a/users/grfn/xanthous/shell.nix b/users/grfn/xanthous/shell.nix
index 572ed211b..53fbd7a7c 100644
--- a/users/grfn/xanthous/shell.nix
+++ b/users/grfn/xanthous/shell.nix
@@ -1,5 +1,5 @@
let
- depot = import ../../../. {};
+ depot = import ../../../. { };
inherit (depot) third_party;
pkgs = third_party.nixpkgs;
in
@@ -7,7 +7,7 @@ in
(pkgs.haskellPackages.extend (pkgs.haskell.lib.packageSourceOverrides {
xanthous = third_party.gitignoreSource ./.;
})).shellFor {
- packages = p: [p.xanthous];
+ packages = p: [ p.xanthous ];
withHoogle = true;
doBenchmark = true;
buildInputs = (with pkgs.haskellPackages; [
diff --git a/users/riking/adventofcode-2020/day01/default.nix b/users/riking/adventofcode-2020/day01/default.nix
index 0648a05af..946069e3a 100644
--- a/users/riking/adventofcode-2020/day01/default.nix
+++ b/users/riking/adventofcode-2020/day01/default.nix
@@ -5,6 +5,6 @@ with depot.third_party;
naersk.buildPackage {
src = ./.;
- buildInputs = [];
+ buildInputs = [ ];
doCheck = true;
}
diff --git a/users/riking/keys.nix b/users/riking/keys.nix
index 6dd2ff18a..502870982 100644
--- a/users/riking/keys.nix
+++ b/users/riking/keys.nix
@@ -7,14 +7,14 @@ rec {
sk-portable2 = "sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBEX3DXreQR93SR68QZHTdaVd5RjlRM8C0jcZ4kI4OZwqk7xuk68w3g22q2OM7O+chj+n1N3u0hLxi82QfRnwyasAAAAEc3NoOg== riking@sk-portable2";
sk-desktop = "sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBB+JvN8nAxD+yo49Ohf/UDq7Z049yvkURJIA1XNbvKaAkvfWnCN5m9vTC1FyGxTyCwy4QpD1pFP5fIn0X/kvvfgAAAAEc3NoOg== riking@sk-kane-DAN-A4";
- u2f = [sk-ecljg09 sk-portable1 sk-portable2 sk-desktop];
+ u2f = [ sk-ecljg09 sk-portable1 sk-portable2 sk-desktop ];
ed1 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAjWIfFH2bAWMZG+HudV1MVHWUl83M/ZgEu6S3SLatYN riking@kane-DAN-A4";
ed2 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICBblB4C9IgAijv+qN6Zs8TM2Sz7phQvVmRrcDn4VYNo riking@ECLJG09";
- passworded = [ed1 ed2];
+ passworded = [ ed1 ed2 ];
- unprotected = [];
+ unprotected = [ ];
all = u2f ++ passworded ++ unprotected;
}
diff --git a/users/sterni/clhs-lookup/default.nix b/users/sterni/clhs-lookup/default.nix
index b6a0bd067..1cde38e8c 100644
--- a/users/sterni/clhs-lookup/default.nix
+++ b/users/sterni/clhs-lookup/default.nix
@@ -36,4 +36,4 @@ let
];
};
in
- clhs-lookup
+clhs-lookup
diff --git a/users/sterni/dot-time-man-pages/default.nix b/users/sterni/dot-time-man-pages/default.nix
index bf7d63dbd..c449cde61 100644
--- a/users/sterni/dot-time-man-pages/default.nix
+++ b/users/sterni/dot-time-man-pages/default.nix
@@ -9,9 +9,9 @@ let
res = builtins.filter ({ username, ... }: username == user) depot.ops.users;
len = builtins.length res;
in
- if len == 1
- then (builtins.head res).email
- else builtins.throw "findEmail: got ${toString len} results instead of 1";
+ if len == 1
+ then (builtins.head res).email
+ else builtins.throw "findEmail: got ${toString len} results instead of 1";
# dot-time(7) man page, ported from dotti.me
dot-time = rec {
@@ -65,6 +65,6 @@ let
};
in
- depot.nix.buildManPages "dot-time" {} [
- dot-time
- ]
+depot.nix.buildManPages "dot-time" { } [
+ dot-time
+]
diff --git a/users/sterni/exercises/aoc/2021/default.nix b/users/sterni/exercises/aoc/2021/default.nix
index 33d3a92ac..d3ed563ec 100644
--- a/users/sterni/exercises/aoc/2021/default.nix
+++ b/users/sterni/exercises/aoc/2021/default.nix
@@ -1,4 +1,4 @@
-{ depot ? import ../../../../.. {}
+{ depot ? import ../../../../.. { }
, pkgs ? depot.third_party.nixpkgs
, ...
}:
diff --git a/users/sterni/htmlman/default.nix b/users/sterni/htmlman/default.nix
index b88bc2641..6bf21ce2d 100644
--- a/users/sterni/htmlman/default.nix
+++ b/users/sterni/htmlman/default.nix
@@ -19,9 +19,9 @@ let
;
bins = getBins cheddar [ "cheddar" ]
- // getBins mandoc [ "mandoc" ]
- // getBins coreutils [ "cat" "mv" "mkdir" ]
- ;
+ // getBins mandoc [ "mandoc" ]
+ // getBins coreutils [ "cat" "mv" "mkdir" ]
+ ;
normalizeDrv = fetchurl {
url = "https://necolas.github.io/normalize.css/8.0.1/normalize.css";
@@ -29,7 +29,10 @@ let
};
execlineStdoutInto = target: line: [
- "redirfd" "-w" "1" target
+ "redirfd"
+ "-w"
+ "1"
+ target
] ++ line;
# I will not write a pure nix markdown renderer
@@ -39,16 +42,24 @@ let
# I will not write a pure nix markdown renderer
markdown = md:
let
- html = runExecline.local "rendered-markdown" {
- stdin = md;
- } ([
- "importas" "-iu" "out" "out"
- ] ++ execlineStdoutInto "$out" [
- bins.cheddar "--about-filter" "description.md"
- ]);
- in builtins.readFile html;
+ html = runExecline.local "rendered-markdown"
+ {
+ stdin = md;
+ }
+ ([
+ "importas"
+ "-iu"
+ "out"
+ "out"
+ ] ++ execlineStdoutInto "$out" [
+ bins.cheddar
+ "--about-filter"
+ "description.md"
+ ]);
+ in
+ builtins.readFile html;
- indexTemplate = { title, description, pages ? [] }: ''
+ indexTemplate = { title, description, pages ? [ ] }: ''
@@ -137,40 +148,40 @@ let
htmlman =
{ title
- # title of the index page
+ # title of the index page
, description ? ""
- # description which is displayed after
- # the main heading on the index page
- , pages ? []
- # man pages of the following structure:
- # {
- # name : string;
- # section : int;
- # path : either path string;
- # }
- # path is optional, if it is not given,
- # the man page source must be located at
- # "${manDir}/${name}.${toString section}"
+ # description which is displayed after
+ # the main heading on the index page
+ , pages ? [ ]
+ # man pages of the following structure:
+ # {
+ # name : string;
+ # section : int;
+ # path : either path string;
+ # }
+ # path is optional, if it is not given,
+ # the man page source must be located at
+ # "${manDir}/${name}.${toString section}"
, manDir ? null
- # directory in which man page sources are located
+ # directory in which man page sources are located
, style ? defaultStyle
- # CSS to use as a string
+ # CSS to use as a string
, normalizeCss ? true
- # whether to include normalize.css before the custom CSS
+ # whether to include normalize.css before the custom CSS
, linkXr ? "all"
- # How to handle cross references in the html output:
- #
- # * none: don't convert cross references into hyperlinks
- # * all: link all cross references as if they were
- # rendered into $out by htmlman
- # * inManDir: link to all man pages which have their source
- # in `manDir` and use the format string defined
- # in linkXrFallback for all other cross references.
+ # How to handle cross references in the html output:
+ #
+ # * none: don't convert cross references into hyperlinks
+ # * all: link all cross references as if they were
+ # rendered into $out by htmlman
+ # * inManDir: link to all man pages which have their source
+ # in `manDir` and use the format string defined
+ # in linkXrFallback for all other cross references.
, linkXrFallback ? "https://manpages.debian.org/unstable/%N.%S.en.html"
- # fallback link to use if linkXr == "inManDir" and the man
- # page is not in ${manDir}. Placeholders %N (name of page)
- # and %S (section of page) can be used. See mandoc(1) for
- # more information.
+ # fallback link to use if linkXr == "inManDir" and the man
+ # page is not in ${manDir}. Placeholders %N (name of page)
+ # and %S (section of page) can be used. See mandoc(1) for
+ # more information.
}:
let
@@ -188,47 +199,70 @@ let
mandocOpts = lib.concatStringsSep "," ([
"style=style.css"
] ++ linkXrEnum.match linkXr {
- all = [ "man=./%N.%S.html" ];
+ all = [ "man=./%N.%S.html" ];
inManDir = [ "man=./%N.%S.html;${linkXrFallback}" ];
- none = [ ];
+ none = [ ];
});
html =
- runExecline.local "htmlman-${title}" {
- derivationArgs = {
- inherit index style;
- passAsFile = [ "index" "style" ];
- };
- } ([
- "multisubstitute" [
- "importas" "-iu" "out" "out"
- "importas" "-iu" "index" "indexPath"
- "importas" "-iu" "style" "stylePath"
- ]
- "if" [ bins.mkdir "-p" "$out" ]
- "if" [ bins.mv "$index" "\${out}/index.html" ]
- "if" (execlineStdoutInto "\${out}/style.css" [
- "if" ([
- bins.cat
- ] ++ lib.optional normalizeCss normalizeDrv
+ runExecline.local "htmlman-${title}"
+ {
+ derivationArgs = {
+ inherit index style;
+ passAsFile = [ "index" "style" ];
+ };
+ }
+ ([
+ "multisubstitute"
+ [
+ "importas"
+ "-iu"
+ "out"
+ "out"
+ "importas"
+ "-iu"
+ "index"
+ "indexPath"
+ "importas"
+ "-iu"
+ "style"
+ "stylePath"
+ ]
+ "if"
+ [ bins.mkdir "-p" "$out" ]
+ "if"
+ [ bins.mv "$index" "\${out}/index.html" ]
+ "if"
+ (execlineStdoutInto "\${out}/style.css" [
+ "if"
+ ([
+ bins.cat
+ ] ++ lib.optional normalizeCss normalizeDrv
++ [
- "$style"
+ "$style"
+ ])
])
- ])
- # let mandoc check for available man pages
- "execline-cd" "${manDir}"
- ] ++ lib.concatMap ({ name, section, ... }@p:
- execlineStdoutInto "\${out}/${name}.${toString section}.html" [
- "if" [
- bins.mandoc
- "-mdoc"
- "-T" "html"
- "-O" mandocOpts
- (resolvePath p)
- ]
- ]) pages);
- in html // {
+ # let mandoc check for available man pages
+ "execline-cd"
+ "${manDir}"
+ ] ++ lib.concatMap
+ ({ name, section, ... }@p:
+ execlineStdoutInto "\${out}/${name}.${toString section}.html" [
+ "if"
+ [
+ bins.mandoc
+ "-mdoc"
+ "-T"
+ "html"
+ "-O"
+ mandocOpts
+ (resolvePath p)
+ ]
+ ])
+ pages);
+ in
+ html // {
deploy = deployScript title html;
};
in
- htmlman
+htmlman
diff --git a/users/sterni/nix/char/default.nix b/users/sterni/nix/char/default.nix
index aacfc9dcb..9c6ce2fb2 100644
--- a/users/sterni/nix/char/default.nix
+++ b/users/sterni/nix/char/default.nix
@@ -53,17 +53,20 @@ let
asciiAlpha = c:
let
v = ord c;
- in (v >= 65 && v <= 90)
+ in
+ (v >= 65 && v <= 90)
|| (v >= 97 && v <= 122);
asciiNum = c:
let
v = ord c;
- in v >= 48 && v <= 57;
+ in
+ v >= 48 && v <= 57;
asciiAlphaNum = c: asciiAlpha c || asciiNum c;
-in {
+in
+{
inherit
allChars
char
@@ -78,18 +81,19 @@ in {
# originally I generated a nix file containing a list of
# characters, but infinisil uses a better way which I adapt
# which is using builtins.readFile instead of import.
- __generateAllChars = pkgs.runCommandCC "generate-all-chars" {
- source = ''
- #include
+ __generateAllChars = pkgs.runCommandCC "generate-all-chars"
+ {
+ source = ''
+ #include
- int main(void) {
- for(int i = 1; i <= 0xff; i++) {
- putchar(i);
+ int main(void) {
+ for(int i = 1; i <= 0xff; i++) {
+ putchar(i);
+ }
}
- }
- '';
- passAsFile = [ "source" ];
- } ''
+ '';
+ passAsFile = [ "source" ];
+ } ''
$CC -o "$out" -x c "$sourcePath"
'';
}
diff --git a/users/sterni/nix/char/tests/default.nix b/users/sterni/nix/char/tests/default.nix
index 49b439adb..313df4745 100644
--- a/users/sterni/nix/char/tests/default.nix
+++ b/users/sterni/nix/char/tests/default.nix
@@ -26,6 +26,6 @@ let
];
in
- runTestsuite "char" [
- testAllCharConversion
- ]
+runTestsuite "char" [
+ testAllCharConversion
+]
diff --git a/users/sterni/nix/flow/default.nix b/users/sterni/nix/flow/default.nix
index b5783bd86..4bef0abb9 100644
--- a/users/sterni/nix/flow/default.nix
+++ b/users/sterni/nix/flow/default.nix
@@ -68,13 +68,14 @@ let
then s x
else x == s;
in
- if b
- then builtins.elemAt c 1
- else switch x (builtins.tail conds);
+ if b
+ then builtins.elemAt c 1
+ else switch x (builtins.tail conds);
-in {
+in
+{
inherit
cond
switch
diff --git a/users/sterni/nix/flow/tests/default.nix b/users/sterni/nix/flow/tests/default.nix
index 54cea0185..9f974a61c 100644
--- a/users/sterni/nix/flow/tests/default.nix
+++ b/users/sterni/nix/flow/tests/default.nix
@@ -21,7 +21,7 @@ let
(cond [ [ true 1 2 ] [ false 1 ] ]))
(assertEq "last is true" "last"
(cond [
- [ false dontEval]
+ [ false dontEval ]
[ false dontEval ]
[ true "last" ]
]))
@@ -34,6 +34,6 @@ let
];
in
- runTestsuite "nix.flow" [
- testCond
- ]
+runTestsuite "nix.flow" [
+ testCond
+]
diff --git a/users/sterni/nix/fun/tests/default.nix b/users/sterni/nix/fun/tests/default.nix
index 649255430..f02f19943 100644
--- a/users/sterni/nix/fun/tests/default.nix
+++ b/users/sterni/nix/fun/tests/default.nix
@@ -24,6 +24,6 @@ let
(fun.hasEllipsis ({ depot, pkgs, ... }: 42)))
];
in
- runTestsuite "nix.fun" [
- hasEllipsisTests
- ]
+runTestsuite "nix.fun" [
+ hasEllipsisTests
+]
diff --git a/users/sterni/nix/html/default.nix b/users/sterni/nix/html/default.nix
index 2498d832a..d25a7ab8d 100644
--- a/users/sterni/nix/html/default.nix
+++ b/users/sterni/nix/html/default.nix
@@ -20,7 +20,7 @@ let
=> "<hello>"
*/
escapeMinimal = builtins.replaceStrings
- [ "<" ">" "&" "\"" "'" ]
+ [ "<" ">" "&" "\"" "'" ]
[ "<" ">" "&" """ "'" ];
/* Return a string with a correctly rendered tag of the given name,
@@ -87,18 +87,20 @@ let
renderTag = tag: attrs: content:
let
attrs' = builtins.concatStringsSep "" (
- builtins.map (n:
- " ${escapeMinimal n}=\"${escapeMinimal (toString attrs.${n})}\""
- ) (builtins.attrNames attrs)
+ builtins.map
+ (n:
+ " ${escapeMinimal n}=\"${escapeMinimal (toString attrs.${n})}\""
+ )
+ (builtins.attrNames attrs)
);
content' =
if builtins.isList content
then builtins.concatStringsSep "" content
else content;
in
- if content == null
- then "<${tag}${attrs'}/>"
- else "<${tag}${attrs'}>${content'}${tag}>";
+ if content == null
+ then "<${tag}${attrs'}/>"
+ else "<${tag}${attrs'}>${content'}${tag}>";
/* Prepend "" to a string.
@@ -111,7 +113,8 @@ let
*/
withDoctype = doc: "" + doc;
-in {
+in
+{
inherit escapeMinimal renderTag withDoctype;
__findFile = _: renderTag;
diff --git a/users/sterni/nix/html/tests/default.nix b/users/sterni/nix/html/tests/default.nix
index 8688b6937..0d80f2f1c 100644
--- a/users/sterni/nix/html/tests/default.nix
+++ b/users/sterni/nix/html/tests/default.nix
@@ -8,15 +8,17 @@ let
;
exampleDocument = withDoctype ( { lang = "en"; } [
- ( {} [
+ ( { } [
( { charset = "utf-8"; } null)
- ( {} "html.nix example document")
- ( {
- rel = "license";
- href = "https://code.tvl.fyi/about/LICENSE";
- type = "text/html";
- } null)
- (
'';
};
-in runCommandNoCC "website" {} ''
+in
+runCommandNoCC "website" { } ''
mkdir -p $out/blog
cp ${homepage} $out/index.html
${postRenderingCommands tvl.blog.posts}
diff --git a/web/tvl/footer/default.nix b/web/tvl/footer/default.nix
index 7412d019e..dc2c963f9 100644
--- a/web/tvl/footer/default.nix
+++ b/web/tvl/footer/default.nix
@@ -15,7 +15,7 @@ args: ''
todos
|
search
- '' + lib.optionalString (args ? extraFooter) args.extraFooter + ''
+'' + lib.optionalString (args ? extraFooter) args.extraFooter + ''
ಠ_ಠ
''
diff --git a/web/tvl/logo/default.nix b/web/tvl/logo/default.nix
index 940f67199..d9e023946 100644
--- a/web/tvl/logo/default.nix
+++ b/web/tvl/logo/default.nix
@@ -21,20 +21,22 @@ let
# Create an animated CSS that equally spreads out the colours over
# the animation duration (1min).
- animatedCss = colours: let
- # Calculate at which percentage offset each colour should appear.
- stepSize = 100 / ((builtins.length colours) - 1);
- frames = lib.imap0 (idx: colour: { inherit colour; at = idx * stepSize; }) colours;
- frameCss = frame: "${toString frame.at}% { fill: ${frame.colour}; }";
- in ''
- #armchair-background {
- animation: 30s infinite alternate armchairPalette;
- }
+ animatedCss = colours:
+ let
+ # Calculate at which percentage offset each colour should appear.
+ stepSize = 100 / ((builtins.length colours) - 1);
+ frames = lib.imap0 (idx: colour: { inherit colour; at = idx * stepSize; }) colours;
+ frameCss = frame: "${toString frame.at}% { fill: ${frame.colour}; }";
+ in
+ ''
+ #armchair-background {
+ animation: 30s infinite alternate armchairPalette;
+ }
- @keyframes armchairPalette {
- ${lib.concatStringsSep "\n" (map frameCss frames)}
- }
- '';
+ @keyframes armchairPalette {
+ ${lib.concatStringsSep "\n" (map frameCss frames)}
+ }
+ '';
# Dark version of the logo, suitable for light backgrounds.
darkCss = armchairCss: ''
@@ -67,7 +69,8 @@ let
'';
-in depot.nix.readTree.drvTargets(lib.fix (self: {
+in
+depot.nix.readTree.drvTargets (lib.fix (self: {
# Expose the logo construction functions.
inherit palette darkCss lightCss animatedCss staticCss;
@@ -75,7 +78,7 @@ in depot.nix.readTree.drvTargets(lib.fix (self: {
logoSvg = style: pkgs.writeText "logo.svg" (logoSvg style);
# Create a PNG of the TVL logo with the specified style and DPI.
- logoPng = style: dpi: pkgs.runCommandNoCC "logo.png" {} ''
+ logoPng = style: dpi: pkgs.runCommandNoCC "logo.png" { } ''
${pkgs.inkscape}/bin/inkscape \
--export-area-drawing \
--export-background-opacity 0 \
@@ -87,7 +90,8 @@ in depot.nix.readTree.drvTargets(lib.fix (self: {
pastelRainbow = self.logoSvg (darkCss (animatedCss (lib.attrValues palette)));
}
-# Add individual outputs for static dark logos of each colour.
-// (lib.mapAttrs'
- (k: v: lib.nameValuePair "${k}Png"
- (self.logoPng (darkCss (staticCss v)) 96)) palette)))
+ # Add individual outputs for static dark logos of each colour.
+ // (lib.mapAttrs'
+ (k: v: lib.nameValuePair "${k}Png"
+ (self.logoPng (darkCss (staticCss v)) 96))
+ palette)))
diff --git a/web/tvl/template/default.nix b/web/tvl/template/default.nix
index 6ccc10de6..6b6a5b030 100644
--- a/web/tvl/template/default.nix
+++ b/web/tvl/template/default.nix
@@ -1,6 +1,7 @@
{ depot, pkgs, lib, ... }:
-{ # content of the tag
+{
+ # content of the tag
title
# main part of the page, usually wrapped with
, content
@@ -17,7 +18,8 @@ let
inherit (depot.tools) cheddar;
in
-runCommandNoCC "${lib.strings.sanitizeDerivationName title}-index.html" {
+runCommandNoCC "${lib.strings.sanitizeDerivationName title}-index.html"
+{
headerPart = ''
@@ -36,11 +38,11 @@ runCommandNoCC "${lib.strings.sanitizeDerivationName title}-index.html" {
inherit content;
footerPart = ''
-
-
-
+
+
+
'';
passAsFile = [ "headerPart" "content" "footerPart" ];