Commit graph

144 commits

Author SHA1 Message Date
Profpatsch
17eba437a7 feat(nix/binify): add binify
Create a store path where the executable `exe` is linked to
$out/bin/${name}. This is useful for e.g. including it as a “package”
in `buildInputs` of a shell.nix.

For example, if I have the exeutable /nix/store/…-hello, I can make it
into /nix/store/…-binify-hello/bin/hello with
`binify { exe = …; name = "hello" }`.

Change-Id: I600bdcd8f143bca2dd8dfbb165a9a5a8d6397622
Reviewed-on: https://cl.tvl.fyi/c/depot/+/624
Reviewed-by: tazjin <mail@tazj.in>
2020-06-27 03:42:05 +00:00
Vincent Ambo
6944d0c96a feat(tazjin/nsfv-setup): Add script for noise-cancelling others
This script creates a pulseaudio sink that will cancel noise in audio
streams sent to it, and then move it on to the default sink.

This means that other people's crackling, static background, gulping,
keyboard sounds, fan whirring, construction noise etc. are removed.

Some preliminary tests on TVL suggest that this actually works. The
parameter might need some tweaking ("50" is just the default value),
as there is some occasional crackling at the beginning/end of a speech
segment, but this is already *much* better than before.

Change-Id: I9d4e2b39cfc2b878b4b7c5458788b8d46fb801af
Reviewed-on: https://cl.tvl.fyi/c/depot/+/577
Reviewed-by: nyanotech <nyanotechnology@gmail.com>
2020-06-25 03:12:50 +00:00
glittershark
ec84fde6b1 fix(3p/nix): Revert "feat(3p/nix): Add installCheckPhase"
This reverts commit 368e8d1edd.

Reason for revert: Didn't mean to submit, and the phase is currently failing (which breaks the otherwise-functional derivation)

Change-Id: I515b2fb45188dc90f09ae2458453192487c74d71
Reviewed-on: https://cl.tvl.fyi/c/depot/+/581
Reviewed-by: tazjin <mail@tazj.in>
2020-06-23 15:23:04 +00:00
Griffin Smith
368e8d1edd feat(3p/nix): Add installCheckPhase
Add an installCheckPhase that runs the appropriate substituteAll on
common.sh and runs the lang.sh tests with the build artifacts in the
PATH.

Change-Id: I2df5a93b8f3ffdfdc194a0e7d6b6669ef520c345
Reviewed-on: https://cl.tvl.fyi/c/depot/+/561
Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-23 14:25:37 +00:00
Luke Granger-Brown
4de63f784c fix(3p/nix): propagate dependencies which are needed by people linking in nix
This includes absl, which we install into the output, and boost and the boehm GC,
which are moved to propagated deps.

Change-Id: I8f9f9795ff92e26b2320359064241d7fd59c2d33
Reviewed-on: https://cl.tvl.fyi/c/depot/+/549
Reviewed-by: tazjin <mail@tazj.in>
2020-06-21 23:49:19 +00:00
Vincent Ambo
4bcd99d823 feat(3p): Whitelist lutris & its insecure dependency
Change-Id: I9a21b823e65af0a180a8705c58f1cf5d4ba4445c
2020-06-19 01:06:31 +00:00
Luke Granger-Brown
22821b886b chore(3p/go): make hashes more deterministicerer
Because this is using %h, we're subject to the whims of the remote
in trying to make sure that we get a consistent commit hash length
in the VERSION stamp.

Change-Id: I716193c1440ec367880b6a5f7dfa4f85a11c19a9
2020-06-18 01:27:32 +01:00
Vincent Ambo
ab7ef0c547 chore(3p): Use typedGo as the main Go
Because it seems to work and we can.

Change-Id: I0ba3b6541efa8c21ead875368eca18c73db9a416
2020-06-18 00:54:12 +01:00
Vincent Ambo
65f29ee803 feat(3p/typedGo): Add derivation for the Go alpha with a type system
The Go language authors have released an experimental version of Go
that has a type system: https://blog.golang.org/generics-next-step

This overrides the existing Go derivation to build the typed Go. The
next step is a buildTypedGo set of functions that wrap buildGo.

Change-Id: Idb8a4868bca003d821ed5cb324af633398faf002
Reviewed-on: https://cl.tvl.fyi/c/depot/+/443
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-16 22:11:53 +00:00
eta
c3abbb5e2d feat(tvldb): Import the tvldb/paroxysm source, add a Nix derivation
- This imports the tvldb (actually a thing called 'paroxysm') code
  from https://git.theta.eu.org/eta/paroxysm into the monorepo.
- Additionally, I did a nix thing, yay! \o/
  (well, with tazjin's help)
- 3p/default.nix needed modifying to whitelist pgsql.

Change-Id: Icdf13ca221650dde376f632bd2dd8a087af451bf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/389
Reviewed-by: tazjin <mail@tazj.in>
2020-06-16 13:30:44 +00:00
Griffin Smith
b570e4c7cf feat(third_party): Add awscli
I need it to deploy my website

Change-Id: I5df8d76d6e0a3d8892ae8bc69d2b46b310f147a5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/399
Reviewed-by: tazjin <mail@tazj.in>
2020-06-16 02:28:41 +00:00
Vincent Ambo
69fe278315 feat(3p/git-bug): Add git-bug derivation at unstable-20200614
This builds git-bug, a distributed issue tracker that uses git as its
data store.

It also installs its man pages and shell completions. It is
recommended that users add git-bug to their system closure for these
extras to work, as they will not be picked up by the dispatch script.

Change-Id: I1595368e61b0bae8a9497abd023085cb90a521a6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/345
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-14 22:27:54 +00:00
Luke Granger-Brown
a73ca3f43d feat(gerrit): Create Gerrit derivation.
This uses the actual Bazel build, using a variety of tricks and hacks to
make it actually work.

Bazel really wants to download linux binaries from the internet and run
them. In lieu of trying to fix the build system to not do this, we
instead put bazel inside an FHS environment, which allows the binaries
to find their dependencies.

We also have to patch a few things:

* We use build --nobuild instead of fetch, so we only fetch the
  dependencies we actually need for the build and not, say, Windows
  binaries.
* We don't remove rules_cc, because we need it as an external
  dependency, not bundled.
* We do some manual fixes on the cache before packing, because we need
  to remove some in-tree sources (so they don't cause the hash to break,
  since the hashes differ each time they're generated), and also remove
  some extraneous files.
* We explicitly turn off the repository and disk caches, because the
  .bazelrc at the root of the Gerrit tree turns them on, with paths
  pointing into the user's home directory.
* detzip is used instead of the zip binary for packing bower_components
  into an archive. detzip doesn't create entries for directories, and
  also doesn't store most metadata (timestamps, etc.), and uses store
  (i.e. uncompressed) compression only. It also sorts the file tree
  before writing them into the file.

Change-Id: I572c43f7175067ecb1b85cdf40dda13a52de1439
Reviewed-on: https://cl.tvl.fyi/c/depot/+/252
Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 16:35:55 +00:00
Vincent Ambo
d6c902de50 chore(3p): Bump nixos-unstable 2020-06-11 21:13:04 +00:00
Vincent Ambo
afe0841e9d feat(ops/nixos): Add module for configuring Gerrit for the repo 2020-06-11 21:13:04 +00:00
Vincent Ambo
5841a49f85 chore(3p): Use nixos from unstable
Machines can still override the *package set*, but not the modules.
2020-06-11 21:13:04 +00:00
Vincent Ambo
430e602336 feat(3p/grpc): Build gRPC using LLVM10 & libcxx 2020-06-07 17:14:48 +01:00
Vincent Ambo
4fb8788c01 feat(3p/protobuf): Check in derivation for proto 3.12 with libcxx 2020-06-07 14:56:56 +01:00
Vincent Ambo
76f4e27386 fix(3p): Force all stdenvs to use LLVM10 2020-05-31 21:58:17 +01:00
Vincent Ambo
86a35d963d refactor(3p/abseil_cpp): Inline Nix derivation 2020-05-27 21:52:44 +01:00
Vincent Ambo
7dc094173b chore(3p): Remove glog override
This library is being vendored, hence the override doesn't matter
anymore.
2020-05-27 01:25:39 +01:00
Vincent Ambo
4947aa9ab3 fix(3p/git): Use git derivation from stable channel as base
unstable is, of course, not working correctly at the moment
2020-05-27 00:06:59 +01:00
Vincent Ambo
fe45079d19 chore(3p): Expose nixpkgs commit to depot 2020-05-26 11:54:04 +01:00
Vincent Ambo
0b23d2e4bf chore(3p/naersk): Update to latest 'master' 2020-05-25 23:36:20 +01:00
Vincent Ambo
31b2baca9c feat(third_party): Switch to LLVM 10 by default 2020-05-22 22:57:46 +01:00
Vincent Ambo
56261f1c08 fix(ops/nixos): Pin systems to stable channel
NixOS unstable has some software I want when building things, but it's
also broken.

This pins systems to the stable channel for now.
2020-05-22 20:50:25 +01:00
Vincent Ambo
fe7fb8eff4 fix(third_party): Pick Emacs from stable NixOS channel
Emacs is currently subtly broken on nixos-unstable, but I don't care
about debugging that.

To work around it, this reintroduces the NixOS stable channel (20.03)
but as a separate attribute set from which attributes like Emacs can be
picked into //third_party.
2020-05-22 19:02:16 +01:00
Vincent Ambo
f459332f32 chore: Update from Clang 9 to Clang 10 for all projects 2020-05-22 18:29:47 +01:00
Vincent Ambo
f2b211131f chore(ops/nixos/nugget): Use upstream Chromium again
Ostensibly there is also a new way to enable VAAPI, need to look into that.
2020-05-22 17:44:16 +01:00
Vincent Ambo
416c74009d chore(third_party): Bump nixpkgs to nixpkgs-unstable 2020-05-21 04:50:34 +01:00
Vincent Ambo
3908732181 style(3p/nix): Final act in the brace-wrapping saga
This last change set was generated by a full clang-tidy run (including
compilation):

    clang-tidy -p ~/projects/nix-build/ \
      -checks=-*,readability-braces-around-statements -fix src/*/*.cc

Actually running clang-tidy requires some massaging to make it play
nice with Nix + meson, I'll be adding a wrapper or something for that soon.
2020-05-19 20:51:32 +01:00
Vincent Ambo
ce99ba42df feat(3p/glog): Update glog version 2020-05-18 02:39:26 +01:00
Vincent Ambo
0335b91b93 feat(3p/nix): Add glog dependency 2020-05-17 23:58:51 +01:00
Vincent Ambo
168ef124ef fix(3p/nix): Minor fixes to derivation
* version must be set to use this as the system Nix
* missing busybox path is now set
* fixed build output names
2020-05-17 21:25:50 +01:00
Vincent Ambo
aa54512ee2 chore(3p): Remove unused dependencies of Nix 2020-05-17 20:45:18 +01:00
Vincent Ambo
c94ef8d00b chore(3p/nix): Use packages from depot tree 2020-05-17 16:28:15 +01:00
Vincent Ambo
cf8cd640c1 feat(bin): Add ninja & meson CLI tools 2020-05-17 02:49:13 +01:00
Vincent Ambo
12387550e3 feat(third_party): Add newer version of Abseil 2020-05-08 18:07:47 +01:00
Vincent Ambo
0f53060159 revert(third_party): Revert 20.03 channel bump
Reverts "Bump channel to a NixOS 20.03 release commit".

This reverts commit a629d7fdd4.

This commit moves to a 20.03 release commit, in which building
Chromium with VAAPI is broken.
2020-04-25 17:58:42 +01:00
Vincent Ambo
4deb439d2e feat(third_party/python): Package broadlink infrared library 2020-04-25 17:58:21 +01:00
Vincent Ambo
a629d7fdd4 chore(third_party): Bump channel to a NixOS 20.03 release commit
... maybe this even fixes my nginx issues.
2020-04-21 22:29:32 +01:00
Vincent Ambo
1faf44b3b3 feat(web/tvl): Add rendered graphviz graph to the page 2020-04-21 03:38:30 +01:00
Vincent Ambo
26a52edfdb feat(third_party): Add derivation for honk 2020-04-19 23:21:51 +01:00
Vincent Ambo
066d34b50e feat(ops/nixos/nugget): Add chromium with VAAPI patches
These patches enable hardware-accelerated video decoding, which is
useful for Stadia.

The main issue with this is that Hydra doesn't currently cache
Chromium with these patches, which means that it is built from scratch
which takes in the order of 5 hours on an otherwise unused nugget.
2020-04-17 12:43:25 +01:00
Vincent Ambo
a0cb4703e8 chore(third_party/default): Bump NixOS channel to nixos-20.03 2020-04-04 13:01:42 +01:00
Vincent Ambo
0473307f87 feat(third_party/ffmpeg): Add "libnpp" support to ffmpeg
Builds ffmpeg with CUDA Toolkit as a dependency, which includes a
library called "libnpp" that provides something related to hardware
accelerated video stream resizing.

v0v
2020-04-04 02:36:20 +01:00
Vincent Ambo
65e533431a refactor: emacsPackagesNg -> emacsPackages
The former is now just an alias for the latter anyways.
2020-03-08 23:20:03 +00:00
Vincent Ambo
825acd60e4 chore(third_party): Bump nixos-unstable channel 2020-03-08 23:13:40 +00:00
Vincent Ambo
1f5d2d424c chore(third_party): Remove guile 3.0 override
I don't actually use guile at all, this was just for experimentation.
2020-03-01 01:07:48 +00:00
Vincent Ambo
33c2a27d77 chore(third_party): Remove pounce override
Pounce is now available at 1.1 from nixpkgs upstream and no longer
needs to be bumped manually.
2020-03-01 01:06:21 +00:00
Vincent Ambo
438050b3d9 feat(third_party): Add dependencies for Google's C++ API libs 2020-02-26 14:21:46 +00:00
Vincent Ambo
9c6fb6abb8 chore(third_party): Bump nixos-unstable channel 2020-02-24 16:29:47 +00:00
Vincent Ambo
4bbbb58cb5 chore: Rename pkgs->depot in all Nix file headers 2020-02-21 13:54:53 +00:00
Vincent Ambo
24de5683aa chore(third_party/pounce): Override version to 1.1
This has not yet propagated to nixos-unstable
2020-02-17 00:51:13 +00:00
Vincent Ambo
51a2b9a95d chore(third_party): Bump nixos-unstable 2020-02-17 00:40:37 +00:00
Vincent Ambo
9e38e02c46 feat(third_party): Add package for tailscale
Adds a package for the now-opensourced tailscale client tailscale
client.
2020-02-10 22:16:41 +00:00
Vincent Ambo
27a40eed7e chore(third_party): Expose pandoc 2020-02-08 13:32:15 +00:00
Vincent Ambo
aab85ef0db chore(overrides): Remove lispPackages overrides
No longer required since Gemma now uses buildLisp.nix
2020-01-22 01:28:46 +00:00
Vincent Ambo
78db43898b refactor(fun/gemma): Use buildLisp.nix to build Gemma
This removes the ASDF system definition for Gemma and switches the
code over to buildLisp.

The program builds (including some terrifying hacks to get the
frontend to work), but there are some bizarre runtime issues that I
need to debug.
2020-01-22 01:27:21 +00:00
Vincent Ambo
1f68644dc9 feat(third_party/guile): Override guile to version 3.0.0
Lets try this thing out!
2020-01-19 19:34:39 +00:00
Vincent Ambo
4b8f4fdc3f chore(third_party): Bump nixos-unstable channel 2020-01-18 11:28:58 +00:00
Vincent Ambo
ac6485efeb feat(third_party/cgit): Add derivation to build cgit
This is pretty much exactly the derivation from nixpkgs, with some
things removed to reduce the closure size (e.g. the various formatters
used in the default cgit version, which are replaced by cheddar in my
setup).
2020-01-12 02:49:44 +00:00
Vincent Ambo
93cc05d363 feat(third_party/git): Add derivation to build git
This overrides the upstream derivation to:

* use local sources
* build `git send-email`

It also calls autoreconf before building because files that are
included in the git distribution tarball (which the normal derivation
uses) are missing from source.
2020-01-12 01:55:23 +00:00
Vincent Ambo
ca199a57d9 feat(buildLisp): Implement dependency loading & propagation
Similar to buildGo.nix, the library derivations carry information
about their dependencies which is merged when a load file is
instantiated.

The load files are created when compiling libraries, but will in the
future also be created when wrapping SBCL and dumping images.
2020-01-08 18:40:53 +00:00
Vincent Ambo
1e71b80f6a fix(emacs): Build emacs with imagemagick support 2020-01-05 17:37:01 +00:00
Vincent Ambo
b2af61e576 chore(third_party): Bump channel to nixos-unstable
Turns out it is useful to have builds cached in Hydra, actually.
2020-01-05 16:59:52 +00:00
Vincent Ambo
1d687c5303 chore(ops/nixos): Move NixOS configuration one level up 2020-01-04 22:50:19 +00:00
Vincent Ambo
886cf09b95 feat(bin): Add link to 'age' tool from third_party.age 2020-01-01 16:54:07 +01:00
Vincent Ambo
27f5eb5f67 chore(third_party): Bump packages to latest nixpkgs-unstable 2020-01-01 16:53:01 +01:00
Vincent Ambo
dce1112842 feat(third_party/git): Support dottime as log date format 2019-12-28 01:39:33 +01:00
Vincent Ambo
12973b8a8b feat(third_party/notmuch): Display dottime in relative time views 2019-12-27 19:18:00 +01:00
Vincent Ambo
41eea96e63 feat(third_party/lieer): Overwrite included client secret 2019-12-23 13:26:30 +01:00
Vincent Ambo
d11cda367f feat(third_party): Check in derivation for lieer 2019-12-23 12:20:31 +01:00
Vincent Ambo
81d9b81b06 feat(cheddar): Use syntax highlighting assets from bat
This uses Nix to inject the path to the syntax highlighting assets
that ship with the bat source code into the cheddar build at compile
time, where the Rust compiler then inserts it into the binary via
macros.

bat has a lot of custom syntax highlighting definitions that they
collected from all over the place (including for languages like Nix!)
and this makes them accessible to cheddar.

Also if you're reading this, can you just take a moment to appreciate
how incredible it is that Nix just lets us do something like this?!
2019-12-21 04:55:10 +00:00
Vincent Ambo
bec4eb23d0 feat(cgit-taz): Use pulldown-cmark as the about filter
It renders GitHub-flavoured Markdown, which is nice for most
use-cases.
2019-12-21 03:01:41 +00:00
Vincent Ambo
58f2f6f12d feat(bootstrapping-2018): Fix build and check in built presentation
This lets people browse the folder more easily, should they be so
inclined for whatever reason.
2019-12-21 01:07:29 +00:00
Vincent Ambo
db30770101 fix(kontemplate): Make build compatible with readTree
The kontemplate build will keep using `buildGoPackage` for now until
I've had the time to add tests to //nix/buildGo
2019-12-20 22:19:52 +00:00
Vincent Ambo
cf044be96b fix(cgit): Configure mimetype-file correctly 2019-12-20 21:17:51 +00:00
Vincent Ambo
e900c4279b feat(journaldriver): Add Naersk-based build configuration 2019-12-20 20:03:36 +00:00
Vincent Ambo
a349d5e914 chore(third_party): Expose nginx 2019-12-20 15:48:22 +00:00
Vincent Ambo
c1a5d7d62a feat(emacs): Add telega.el support
Packages the telega-server binary and adds the required mode into
Emacs.

Unread message count is displayed in the modeline, which is neat.

Probably need to figure out some key bindings for this.
2019-12-19 14:48:22 +00:00
Vincent Ambo
51ad58f8de fix(build): Add missing packages for Nixery images 2019-12-18 19:08:10 +00:00
Vincent Ambo
11022c1b88 feat(services/cgit-taz): Check in initial cgit configuration
This is currently just a test to serve examples from my local machine,
nothing more fancy than that.
2019-12-18 16:22:56 +00:00
Vincent Ambo
d4f6c5a399 chore(third_party): Bump naersk 2019-12-16 03:14:21 +00:00
Vincent Ambo
c16d9bb9b8 chore(tools): Add 'rink' 2019-12-14 17:53:33 +00:00
Vincent Ambo
cbe7b47a96 refactor(tools): __dispatch.sh now uses relative paths
This enables usage of __dispatch.sh from anywhere, even outside of the
depot.

Specifically this means I can add `~/depot/bin` to my $PATH and all
the registered tools work from anywhere.
2019-12-14 17:40:21 +00:00
Vincent Ambo
2b80265a1f refactor(emacs): Rewrite derivation to match depot layout 2019-12-14 12:47:07 +00:00
Vincent Ambo
dc6e0e86ad chore(third_party): Bump nixpkgs channel
This channel is nixos-unstable on 2019-12-13.
2019-12-13 21:32:02 +00:00
Vincent Ambo
8b10c8d0f3 chore(overrides): Upgrade buildGo.nix 2019-12-13 12:11:50 +00:00
Vincent Ambo
a1ac598fa0 fix(overrides): Fix package importing for kontemplate 2019-12-09 04:27:40 +00:00
Vincent Ambo
7da979124f fix(third_party): Expose various other missing dependencies 2019-12-09 03:36:50 +00:00
Vincent Ambo
998a2ceb17 fix(third_party): Expose missing dependencies for Nixery 2019-12-09 03:19:03 +00:00
Vincent Ambo
7044424f52 fix(writeElispBin): Add required nixpkgs attributes for elisp 2019-12-09 03:00:56 +00:00
Vincent Ambo
39ba761663 feat(third_party): Explicitly expose packages from nixpkgs
Instead of exposing the entire package tree from nixpkgs, whitelist
individual packages explicitly so that they show up in
`pkgs.third_party`.

This makes it much easier to control external dependencies used by my
projects.

Bonus: It even includes a working `third_party.callPackage` with only
the whitelisted packages!
2019-12-09 02:55:04 +00:00