Commit graph

12297 commits

Author SHA1 Message Date
Profpatsch
d053abfd2a feat(users/Profpatsch): add imap-idle
A small UCSPI client which connects to an IMAP server, authenticates
with username and password (for Christ’s sake, put it in
`s6-tlsclient`), selects the `INBOX` and proceeds to listen for new
mails.

Later it will generate an event on stdout and to be used for push
messaging and triggering a full `mbsync` run on new message.

Currently I’m testing it via

```
env CAFILE=/run/current-system/etc/ssl/certs/ca-bundle.crt \
  IMAP_USERNAME=<username> \
  backtick -i IMAP_PASSWORD ' pass' ' <password-entry>' '' \
  s6-tlsclient -v <imap-server> 993 ./result
```

Change-Id: I221717d374c0efc8d9e05fe0dfccba31798b3c5c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2636
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-03-22 22:52:11 +00:00
Vincent Ambo
a747b46f19 chore(ops/nixos): Update Sourcegraph to 3.26.0
Reading through the changelogs, this includes the following two
changes that may require us to do something:

* For users of single-image Sourcegraph instance, please delete the
  secret key file /var/lib/sourcegraph/token inside the container before
  attempting to upgrade to 3.21.x.

* A campaigns.restrictToAdmins site configuration option has been
  added to prevent non site-admin users from using campaigns.

Change-Id: Ieacf85a9059ad5222800f8d7d4a43435f489a39f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2638
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-22 20:46:31 +00:00
Vincent Ambo
2f6f129b22 chore(tazjin/tverskoy): Install dnsutils and mosh
Change-Id: I3d3a7543dbd09f68890d9daa6ac38c9afa49d35d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2639
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-22 20:41:51 +00:00
Vincent Ambo
1c719cdc14 feat(ops/dns): Add status subdomain
I want to host something like Vigil[0] on this to show the status of
Gerrit, SourceGraph and maybe other components.

(Yes, the status page will be on the same infrastructure ... but this
is mostly for service failure cases).

[0]: https://github.com/valeriansaliou/vigil

Change-Id: If71496300b94035976a685d9bf166d525d89fc5e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2637
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-03-22 16:15:07 +00:00
Vincent Ambo
cb09297092 chore(tazjin/keys): Add tverskoy, comment out frog
frog is in storage and the key shouldn't have privileges while I'm
guaranteed to not use it.

Change-Id: If2ee8278fcb81f425dcfc151b11d207dfb6f45c7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2631
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-21 18:04:22 +00:00
Vincent Ambo
2f7cb2b6c4 chore(whitby): Remove SSH key from root
This was a leftover from the time we were installing.

Change-Id: Id875b907d7f76081a45e7f8f2666b7fba6aefc86
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2632
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2021-03-21 18:04:22 +00:00
Vincent Ambo
9d5f40bdda fix(tazjin/tverskoy): Persist Mullvad settings & rustup downloads
Change-Id: I6ce75bff1d2e6ed318af9edc878cc59604b7a597
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2635
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-21 16:21:04 +00:00
Vincent Ambo
1c0bf5c451 fix(tazjin/tverskoy): Ensure 'pactl' command is available
This is required for my volume modification keyboard shortcuts.

Change-Id: I95e02be5b08e1f8a14746ace61226e903fbc68a3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2634
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-21 13:52:27 +00:00
Vincent Ambo
9456697a94 fix(tazjin/tverskoy): Persist ~/.config/mimeapps.list
Change-Id: Ifd14d4eb0bdfaee6713219f46bac4257d3d72f51
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2633
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-21 13:52:27 +00:00
Vincent Ambo
fb39248c7b chore(tazjin/emacs): Use light instead of xbacklight
The latter doesn't work with AMD devices. This will need some changes
on one of my non-NixOS machines, unfortunately ...

Change-Id: Ib9dfdb9beac67501396a06ea74a0a4371f8ad65e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2628
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-21 13:06:42 +00:00
Vincent Ambo
4a0d978874 fix(tazjin/tverskoy): Configure git to always rebase
Change-Id: I2682e350c74a830682ebca12102d00b7e85093f8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2627
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-21 13:06:42 +00:00
Vincent Ambo
298da90dbd fix(tazjin/tverskoy): Add myself to the 'video' group
This group has access to modifying backlight settings (configured by
the udev rules for `light`).

Change-Id: I1593980757c6265f6822d3d3dce9e19a2473acd8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2626
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-21 13:06:42 +00:00
Vincent Ambo
db20dce4f9 chore(tazjin/tverskoy): Enable SSH agent, Spotify, mullvad, ...
Just a few more missing things.

Change-Id: I54b633296d91c6f8dce72d900d7d38b8af4ae419
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2625
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-21 13:06:42 +00:00
Vincent Ambo
07d99a30e2 feat(tazjin/tverskoy): Enable redshift & geoclue2
... also nuke that Bluetooth headset daemon, it doesn't work anyways.

Change-Id: Iee884046a2bf2718767442ec62b2f731e14e39e8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2624
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-21 13:06:42 +00:00
Vincent Ambo
13a43a6392 feat(tazjin/tverskoy): Configure ephemeral home bind-mounts
Uses the impermanence module to configure the bind-mounts for the few
applications that are allowed to persist stuff between boots.

For now this setup uses ZFS rollbacks to get /home back into a clean
state, where the `tazjin-clean` snapshot is a partition with only the
`/home/tazjin` folder and the correct partitions on it.

This gives me enough scratch space to e.g. download stuff larger than
my RAM without accumulating state.

Change-Id: I7cdb2276f087ea62201690cb8b36ae074203f87c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2623
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-21 13:06:42 +00:00
Vincent Ambo
2b42afa800 chore(3p/gerrit_plugins): Build plugins separately in CI
Change-Id: I76aeaa879e43b1fd08440f60a4f320bb7b48c6ab
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2630
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2021-03-21 13:01:51 +00:00
Vincent Ambo
39c400fa09 chore(3p/gerrit): Update pinned dependency hash
Change-Id: I1807ac1771d23b00e3a78cc36fb2f82a12900993
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2629
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-03-21 13:01:51 +00:00
Griffin Smith
24d74f2ad2 fix(gs/emacs): Drop explicit load of slack
This is getting loaded by use-package now

Change-Id: I591629ed26ffac71a0df04d51c10b9290ebd76ff
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2428
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-03-21 03:03:24 +00:00
Vincent Ambo
1fdf581e97 fix(tazjin/emacs): Ensure company is installed
I don't know where this went.

Change-Id: I82d27e273e38ffeffe683d6ff2236d383c7b1fcf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2622
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-21 00:55:58 +00:00
Vincent Ambo
e653366153 feat(tazjin/tverskoy): Configure impermanence module
This module is responsible for mounting persistent storage into the
ephemeral root disk of this machine.

Currently only very basic configuration and data are retained, and
hopefully that won't change.

Change-Id: If800cbee60b7b3c5b8c457b9b332a0c05c33f20e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2621
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-21 00:55:58 +00:00
Vincent Ambo
6e94b3ca2f feat(tazjin/nixos): Initial check in of new host (tverskoy)
This is my new X13 AMD Thinkpad, on which many fun things will be done.

Change-Id: I4de114a8c5ebb37d2f4844f407d2dc0e7cc9557e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2620
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-21 00:55:58 +00:00
Vincent Ambo
8baa4a9595 fix(tazjin/emacs): Use ace-window from MELPA instead of ELPA
This package definition is broken for ELPA in nixpkgs, but adisbladis
is working on it.

Change-Id: Ibe140a2daf7a3a294dae4c6340be33db05a47a44
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2619
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-21 00:55:58 +00:00
Vincent Ambo
c477311071 feat(3p): Import nix-community/impermanence module
Change-Id: I5b9386b1db74dafe921d7957bc726cfba403c155
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2618
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-03-21 00:55:58 +00:00
Griffin Smith
8d5f3029e5 feat(gs/achilles): Implement very basic monomorphization
Implement very basic monomorphization, by recording type variable
instantiations when typechecking Call nodes and then using those in a
new hir Visitor trait to copy the body of any generic decls for each
possible set of instantiation of the type variables.

Change-Id: Iab54030973e5d66e2b8bcd074b4cb6c001a90123
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2617
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-03-20 22:20:26 +00:00
Griffin Smith
e7033bd8b0 fix(gs/achilles): Get rid of universalization step
The step of "universalizing" function expressions was conflicting with
top-level ascriptions for polymorphic function declarations:
universalization generates universal type variables, and top-level
polymorphic ascription *also* generates universal type variables, and
the two were conflicting with each other when unifying. Let's just get
rid of this now, and we can bring it back in a more principled manner
once we do actual let-generalization (which there's still an ignored
test case for)

Change-Id: Idc08c8cb5ac92d1e6e1e63c9b8729176cab73f44
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2616
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2021-03-20 20:20:20 +00:00
Griffin Smith
e2a3aea451 feat(gs/achilles): Prefix top-level ascriptions with ty
This makes parsing less ambiguous, which is nice (we can continue to not
actually care about indentation!) and aligns nicely with `fn` for the
declaration itself.

Change-Id: Id48f064e2a1e01c5105297be355d0991b312b76d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2615
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2021-03-20 20:20:20 +00:00
Griffin Smith
2c838ab845 feat(gs/achilles): Implement extern decls, for glibc functions
Implement extern decls, which codegen to LLVM as forward-declared
functions, and use these as a hook into calling glibc functions.

We can print to the terminal now! The integration tests can test this
now.

Change-Id: I70af4546b417b888ad9fbb18798db240f77f4e71
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2614
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2021-03-20 20:20:20 +00:00
Griffin Smith
fec6595d21 feat(gs/achilles): Codegen string literals
Codegen string literals to LLVM as (for now) global C string pointers

Change-Id: I6dcd7fa25a7806a2f708a8e9275c9a01174fd0cf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2613
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2021-03-20 20:20:20 +00:00
Griffin Smith
b1c4b84dba chore(gs/achilles): Integrate with the depot build
Get achilles building in Nix as part of the depot's build tree. This
involved making it work with stable rust, since the depot only exposes
stable rust to sub-packages, which turned out to be fairly
straightforward.

Also adds libffi as a new top-level expose, since it's required to build achilles

Change-Id: I5f6dedb26c0b81ec258aedde1973e74903c07ece
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2612
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-20 20:20:20 +00:00
Griffin Smith
d031ec0234 chore(3p/exposed): Add glittershark to OWNERS
Change-Id: I17474fbee75666d825b4c4db1af37fff1e214818
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2611
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-03-20 20:20:20 +00:00
sterni
1799ddf7f0 fix(gs/xanthous): update xanthous.cabal, make CI catch such errors
Since xanthous has a checked-in package.yaml and cabal file, the
haskellPackages build infrastructure will use the package.yaml file for
all builds. The resulting problem is that our CI won't actually catch build
failures that would be observable with cabal or when building from the
sdist.

We fix that by filtering out the package.yaml file in pkg.nix
additionally to the filters specified in .gitignore. For this we need
gitignoreFilter from gitignore.nix which we expose as part of a functor
set from third_party.gitignoreSource to maintain interface
compatibility.

Change-Id: I337185f484d2027341f38031dcd78898706904eb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2609
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: tazjin <mail@tazj.in>
2021-03-19 23:21:54 +00:00
sterni
4cf7dced54 chore(gs/xanthous): fix for hgeometry 0.12.0.1
The breaking removal of triangulationEdges was not that big of a deal
after all: It was just renamed to edgesAsPoints apparently, so the fix
is easy enough and we can save one override.

hgeometry-combinatorial's doctests seem to trigger some kind of GHC
dynamic linking bug (https://github.com/noinia/hgeometry/issues/132) so
we disable the tests.

Change-Id: Iba2a64cade4d1a55fa4b81846e1116f282d4590a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2608
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2021-03-19 23:16:30 +00:00
Vincent Ambo
eb110e9d7c fix(tazjin/emacs): Set notmuch custom variables through :custom
It seems like some of them end up file-local anyways, and the explicit
call to `custom-set-variables` in mail-setup.el had seemingly no effect.

Change-Id: Iad5011b5f8348b1ca5973813995c9644ac85ddf5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2610
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-19 23:07:17 +00:00
sterni
a01fe5c06f fix(gs/xanthous): fix build failures caused by dependency updates
The following changes in dependencies of xanthous broke the build and
have been fixed in this CL. Thus we can reenable CI for xanthous.

* random 1.2.0 removed the Read instance for StdGen, so we need use
  System.Random.Internal to un-newtype StdGen into an SMGen in the
  appropriate places as that type still has a Show and Read instance.
  Requires a new direct dependency on splitmix as well.

* witherable 4.0 renamed Data.Witherable into Witherable and no longer
  exports Filter.

* random 1.2.0 probably also broke the Function instance for GameState
  which contains a StdGen. I'm not exactly sure which change exactly
  triggered this, but the fix is easy enough: We implement a Function
  instance for SMGen using functionShow allowing us to write a Function
  instance for StdGen using functionMap. I've put these instances into
  Xanthous.Orphans.

* hgeometry 0.12.0.0 removes the triangulationEdges function (which is
  also not mentioned in the changelog, so I'm not sure if there's a
  replacement yet). Fix by pinning to 0.11.0.0 for now.

* hedgehog-classes: relax bounds on semirings

Change-Id: I3617d8916d753b386c9fa80062be6bcbdfee0131
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2607
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2021-03-19 16:49:44 +00:00
sterni
531fc2b80b chore(3p/haskell_overlay): remove obsolete overrides
I actually wanted to check up on regex-tdfa-text in owothia, but
realized it was actually in a dependency. When porting the patch for
chatter to nixpkgs, I wondered if we could get rid of other overrides
or if we need to fix anything else in upstream.

* aeson, attoparsec, cassava, psqueues, hedgehog: jailbreaks are
  no longer necessary

* fgl, fgl-arbitrary: upstream has the versions pinned by now

* hgeometry, hgeometry-combinatoral: upstream has moved past the
  pinned versions, but we don't need to keep them downgraded as
  xanthous's build is not broken by them.

* random-source: the upstream compiler shouldn't crash anymore,
  additionally upstream has the version pinned here currently

* semialign: upstream also has 1.1.0.1 by now

* splitmix: splitmix has been fixed upstream and haskellPackages
  has moved past 0.1

* hspec-core: test suite passes or upstream has disabled it as well

* QuickCheck: upstream advanced to the same version

* vinyl: upstream moved past the pinned version, causes no build failures

* comonad-extras: has been fixed upstream

Change-Id: I34eff81ceaac005f2ad90dd9c1d3e623b8da91c0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2606
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2021-03-19 16:49:44 +00:00
sterni
90fdd7f23d chore(3p): bump NixOS channels to 2021-03-18
Making this a monthly service apparently.

Necessary changes:

* 3p: expose emacs27 instead of emacs26 which got removed
  users/tazjin/{camden, frog}: switch from emacs26 to emacs27

* 3p/lieer: google_api_python_client got renamed to
  google-api-python-client

Change-Id: I1011665d10eebc99990addbef6a8a6b000b93896
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2605
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: tazjin <mail@tazj.in>
2021-03-19 14:00:50 +00:00
sterni
c32e8424be refactor(ops/dns): use drvTargets for meta.targets population
Since we have a dedicated util for this, we may as well use it
to reduce code duplication.

Change-Id: Ie52647be8c786d0b6a4dceb2fa6778b94625fafc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2604
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-15 22:16:19 +00:00
sterni
5d8490d2fc feat(users/Profpatsch): build attrset members on CI
Setting meta.targets to include all derivations in the different package
sets in Profpatsch's user folder makes them checked by CI until they do
the readTree refactor as promised.

To reduce code duplication we handle this in a simple function which is
exposed from nix.utils which may be a good place for depot specific bits
and bops we accumulate over time.

To get around the issue of too nested sets we perform the following
renames:

* users.Profpatsch.tests gets moved into its own directory
* users.Profpatsch.arglib.netencode now lives in its own file instead of
  the default.nix
* users.Profpatsch.netstring.tests gets moved into its own directory

Change-Id: Icd039c29d7760a711c1c53554504d6b0cd19e120
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2603
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-03-15 22:16:19 +00:00
Vincent Ambo
5b9229186f feat(ops/dns): Configure tvl.su zone
Change-Id: I6016d92e9c231a257e06644dfcf44a4aaa12ac4d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2601
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: lukegb <lukegb@tvl.fyi>
2021-03-15 21:23:35 +00:00
Vincent Ambo
b4e87f8254 feat(ops/dns): Import tvl.fyi DNS zone into depot
Imports the current state of the tvl.fyi zone and configures simple CI
checks on the file format.

No deployment automation exists for this (yet?).

Change-Id: Ia7d72e02b9f6d3adef994c5dc1898cc0df9dfcfb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2600
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-03-15 21:23:35 +00:00
Vincent Ambo
b6895a5b30 merge(glittershark/achilles): Subtree import at 'b93268085a'
Imported from https://github.com/glittershark/achilles/

git-subtree-dir: users/glittershark/achilles
git-subtree-mainline: 4d193f2395
git-subtree-split: b93268085a
Change-Id: I64a583b454bbe03e20358ad7808939a4cbc212ba
2021-03-15 22:48:27 +02:00
Griffin Smith
b93268085a Implement top-level ascription of declarations 2021-03-14 17:01:25 -04:00
Griffin Smith
ecb4c0f803 Universally quantified type variables
Implement universally quantified type variables, both explicitly given
by the user and inferred by the type inference algorithm.
2021-03-14 16:43:47 -04:00
Griffin Smith
7960c3270e Make string and bool parsing complete 2021-03-14 12:27:28 -04:00
Griffin Smith
39656a3801 Add string support to the frontend 2021-03-14 11:53:13 -04:00
Griffin Smith
32a5c0ff0f Add the start of a hindley-milner typechecker
The beginning of a parse-don't-validate-based hindley-milner
typechecker, which returns on success an IR where every AST node
trivially knows its own type, and using those types to determine LLVM
types in codegen.
2021-03-13 22:07:09 -05:00
Adam H
4d193f2395 feat(users/adisbladis): Add to users
Change-Id: I2a3532605c602dd6ba44a6c723333db219a55907
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2599
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-13 19:55:24 +00:00
Griffin Smith
f8beda81fb Allow exprs+bindings to optionally be ascripted 2021-03-13 13:12:03 -05:00
Griffin Smith
3dff189499 Factor out expr parser into its own module 2021-03-13 12:19:44 -05:00
sterni
b3f686995f feat(users/sterni/htmlman): hyperlink .Xr macro in output
We make use of the -O man=… option of mandoc(1) which allows to convert
cross references via the .Xr macro into actual hyperlinks in the output.
This can be disabled (by passing "none") or done in two modes:

* all: links all .Xr cross references as if they were in
  $out/%N.%S.html. This will lead to broken links of course.
* inManDir: only link to files in $out if the man page is found in
  manDir, use the template defined in linkXrFallback if not.

all is the default, since we don't require all man pages to be in
manDir, so it would be potentially confusing if the path attribute was
used in the pages list.

linkXrFallback uses the debian online man viewer by default currently,
since it can be decently hyperlinked and debian has a lot of packages.
Other options would be:

* https://manpages.ubuntu.com/manpages/latest/en/man%S/%N.%S.html
* https://man.archlinux.org/man/%N.%S.en
* https://man.openbsd.org/%N.%S
* https://www.man7.org/linux/man-pages/man%S/%N.%S.html

Change-Id: I1363b9dfdda25cb7383c7310b8115c335444bd3d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2597
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-03-11 14:31:19 +00:00