Commit graph

352 commits

Author SHA1 Message Date
Vincent Ambo
a4c8e8da92 chore(tazjin/emacs): Remove dash-functional
This has been folded into dash itself.

Change-Id: I19e7a9fbc4d6206e3624b7c226de2225153689c6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3407
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-08-24 17:11:49 +00:00
Vincent Ambo
42074da865 refactor(tazjin/emacs): Simplify package selection
Lets trust that the Emacs overlay is using the right packages from the
right sources by default. I'm not overly attached to any specific
versions.

Change-Id: Id53a4587f680965f13b5cd329a10f0384ff97c13
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3406
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-08-24 17:11:49 +00:00
Vincent Ambo
592aab54b2 fix(tazjin/emacs): Reenable shortcut for telega
Change-Id: I96dd768b89273d748c3a865cf8605877716c26be
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3405
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-08-24 17:11:49 +00:00
Vincent Ambo
94e8e06c6c fix(tazjin/emacs): Remove temporary override for telega
The channel has caught up with this fix.

Change-Id: I86287a6808e6936e50e5d43cbafc74b9362e0bd8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3404
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-08-24 17:11:49 +00:00
Vincent Ambo
206f96fbed fix(tazjin/emacs): Temporarily unbind key for telega
Telega keeps getting loaded with old sources, the origin of which I
can not figure out, and which are not compatible with my Emacs
anymore. This means that opening Telega essentially breaks the active
Emacs until the telega process is killed.

Until I have time to properly sit down and debug where Nix decides to
get an old version of telega from (building the package directly from
a Nix REPL yields the expected one), I'll disable it to avoid
accidentally breaking my Emacs via muscle-memory.

Change-Id: I937ac3a2b208c08fa0ef0b6e3e201526baa3a522
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3367
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-08-16 15:27:52 +00:00
Vincent Ambo
56c9fa9722 fix(tazjin/emacs): Temporary fixes to use unstable telega
The latest Emacs versions removed some (private) functions that telega
depends on, and this is fixed in HEAD of telega.el.

However, without these fixes, the unstable version of telega doesn't
build because the patch Nix tries to apply doesn't match the source
anymore.

The patch itself doesn't seem to do anything relevant for me.

Change-Id: Ib9a042c636cb438b2b15d231a07afd5c02be72ee
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3294
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-08-08 13:18:17 +00:00
Vincent Ambo
242f63fdd6 feat(tazjin/emacs): Add another window title pattern
Change-Id: Ia14fa72e896a9cfc9fab828bead9f7f33763c89b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3276
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-08-06 11:32:41 +00:00
Vincent Ambo
35ce86d4a8 feat(tverskoy): Install picom compositor
... for the rare cases where I am watching a movie on this laptop.

Change-Id: I9f6a5a4079b32a67d46e744c024c2accf09b3d6d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3273
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-08-04 14:49:55 +00:00
Vincent Ambo
3e14a78e8c fix(tverskoy): Ensure gtk-launch is installed
This is required for launching desktop applications from XDG shortcuts
via counsel.

Change-Id: I147fb0d6568e359c23655230b2a56214715827f6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3267
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-08-04 14:41:12 +00:00
Vincent Ambo
04ecf9cbbb fix(tverskoy): Set timezone to Europe/Moscow
Change-Id: Ibcf9322086d96847aa9c629c5535965db32ba4fe
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3266
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-08-01 22:14:58 +00:00
Vincent Ambo
f693f935a7 fix(tverskoy): Persist Mullvad VPN settings
Change-Id: Icd33a613e613b48038c193c85721d9dd061549c1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3254
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-07-20 12:34:18 +00:00
sterni
02aaed54f6 chore(3p): bump unstable channel to 2021-07-03
Didn't bother to update the stable channel as it is unused currently.

Changes required:

* tazjin/frog, grfn/modules/obs:
  Remove obs-v4l2sink as it has been integrated into upstream OBS and
  the package removed from nixpkgs subsequently (at least according to
  the `builtins.throw`-message).

Change-Id: I4335ed060eef2c4ff8ac55a68d894bcc3d8ef4a3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3243
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: tazjin <mail@tazj.in>
2021-07-16 13:57:04 +00:00
Vincent Ambo
8e33ae4ad7 feat(tazjin/emacs): Add layout for external TV on tverskoy
Change-Id: I6ac9b7180b940ca3018d999500f035245a358079
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3246
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-07-14 17:03:59 +00:00
Vincent Ambo
60dfa3a971 fix(tazjin/emacs): Enable key bindings for Russian layout
Change-Id: I26d0d437c00d927b9244c4aa4a8705681cd212c8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3245
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-07-14 17:03:59 +00:00
Vincent Ambo
155ac87e5a fix(tverskoy): Ensure rink is installed
Yes, this is a fix.

Change-Id: Ie80dc0f60c6343388388fba3327816d8a1b0fbe0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3244
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-07-14 17:03:59 +00:00
Vincent Ambo
ee6590dea1 chore(tazjin/tverskoy): Enable fwupd
Very worried about this, Lenovo has a knack for bricking devices with
firmware updates ...

Change-Id: Idc111fe9d4bd7edf1e6c633040cf35e82f858724
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3224
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-07-14 17:03:59 +00:00
Vincent Ambo
b4ae6893e4 chore(3p/nixpkgs): Bump channels to 2021-06-05
Includes the following depot changes & fixes:

* stable moves to NixOS 21.05
* stable isn't used anymore (but we'll keep the mechanism)
* haskell overlay's `random` override is removed (YAY!)
* grfn/iso: Switch to regular kernel rather than
  latest kernel, as latest kernel is currently marked as broken due to zfs
* grfn/home: Use julia_16-bin temporarily
  julia 1.5 (current julia-stable, source built release in nixpkgs)
  doesn't pass its own test suite. Julia 1.6 doesn't have a source built
  package in nixpkgs yet, so julia_16-bin appears to be the only working
  julia derivation currently.
* tazjin/tverskoy: Use zfs unstable, as stable zfs doesn't work with the
  latest kernel

Co-Authored-By: Griffin Smith <grfn@gws.fyi>
Co-Authored-By: sterni <sternenseemann@systemli.org>
Change-Id: I6f2e3d9f75077e4755de6bde9104d44b584cbe4c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3174
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: grfn <grfn@gws.fyi>
2021-06-05 16:54:18 +00:00
Vincent Ambo
a69ec33aca fix(tazjin/emacs): Install rust-mode explicitly
... rather than dragging it in as some transitive dep, which actually
stopped happening.

Change-Id: I2331721839d5e53c38236f64487be0e6f1be352e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3170
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-06-01 21:30:07 +00:00
Vincent Ambo
65be8f20e0 chore(nixpkgs): Bump channels to 2021-05-25
* users/grfn/system/home/yeren: remove obsolete awscli2 overrides

* ops: make new isSystemUser || isNormalUser assertion happy

* users/grfn/system/system/mugwump: make buildkite agents system users

* users/tazjin/nixos/camden: set isSystemUser = true for git

* users/tazjin/emacs: Remove missing & broken packages

* third_party/openldap: remove, as the argon2 module is now enabled upstream

* third_party/gerrit_plugins: Pinned new unstable hashes

* third_party/nix, third_party/grpc: Disabled CI as these are broken

* third_party/overlays/emacs: Bumped version to stay in sync with channel

* third_party/buzz: Update LIBCLANG_PATH to reference libclang.lib,
  since libclang's default output no longer contains libclang.so

* users/grfn/system/home: Install julia-stable instead of julia (which
  aliases to julia-lts), as the latter depends on an insecure version of
  libgit

Change-Id: Iff33b0ecb0ef07a82d1de35e23c40d2f4bf0f8ed
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3001
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: grfn <grfn@gws.fyi>
2021-05-25 17:09:28 +00:00
Vincent Ambo
3c7d4c74be chore(3p/overlays): Remove LLVM11 bump from overlay
* This was mostly for //third_party/nix and its dependencies which now
  have been set to use llvmPackages_11 manually.

* For //users/grfn/achilles we also manually select the newer LLVM version.

* //tools/cheddar doesn't seem to need llvm anymore.

* //third_party/buzz also compiles with clang 7.1.0

* replace clang-tools everywhere with new attribute clang-tools_11

For the future we may want to have something similar again, but it may
not be necessary to invest too much time into it: nixpkgs is set to
upgrade their default llvmPackages to LLVM 11 as well at some point in
the near future.

Co-Authored-By: sterni <sternenseemann@systemli.org>
Change-Id: Id83868dbc476a6c776b59518b856c933f30ea79d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3135
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: grfn <grfn@gws.fyi>
2021-05-24 18:15:05 +00:00
Vincent Ambo
224c9ca0bb chore: Replace remaining mentions of ##tvl[-dev] with #tvl
... and fix the capitalisation of hackint

Change-Id: I800aef75152d2dc77a33876888e36530143e9d3e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3148
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-05-23 19:46:46 +00:00
Vincent Ambo
780bb86eff chore: Replace Freenode mentions with HackInt
This doesn't replace all of them in the repo, but at least the ones
that are relevant to our move.

Change-Id: I842e7594b4c16af30d880272417874f6b29afd22
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3134
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: grfn <grfn@gws.fyi>
2021-05-22 21:37:13 +00:00
Vincent Ambo
1fa76e7719 feat(tverskoy): Add mail fetching timer for lieer
Change-Id: I60b09d2c81c3c69f744a12adc41fbdc43d0fb488
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3133
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-05-22 20:58:47 +00:00
Vincent Ambo
4a807040a2 refactor(tazjin/emacs): Switch to sending mail via lieer
This drops the msmtp requirement from my configuration; there's still
some cleanup to be done but I need to double-check this in a few
environments first.

Change-Id: I298f4ff77b45cb214fbccee84e9bbd861508d11a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3132
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-05-22 20:58:47 +00:00
Vincent Ambo
a989a91f9f chore(tazjin/emacs): Ignore messages from blocked senders in telega
telega actually supports this for group chats, too, which is very
pleasant.

https://zevlg.github.io/telega.el/#client-side-messages-ignoring

Change-Id: I510207c2de19f748359168d460a25aa9c4e45975
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3111
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-05-12 13:25:42 +00:00
Vincent Ambo
9528a7139b fix(tazjin/blog): Fix minor typos in WatchGuard post
Change-Id: Iaeb9fab5a80597469e5efdf24655ae07dca48fe1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3058
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-04-27 10:46:21 +00:00
Vincent Ambo
5f19e8e6a7 refactor(ops/nixos): Ensure that pkgs == depot.third_party.nixpkgs
This is currently done ad-hoc in a bunch of our systems, but we should
just do it centrally.

The commit message is a bit of a lie, as this doesn't yet update
grfn's systems.

Change-Id: Ic771c1a1da78ec5de9cffbf94c296dce5e11fd84
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3047
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-20 10:43:19 +00:00
Florian Klink
c4c23a0715 feat(tverskoy): enable eink tooling
Provide ddcutil and paperlike-go in $PATH. Provide the necessary udev
and kernel module plumbing so they work as non-root.

Icecream-Required-From: Vincent Ambo <mail@tazj.in>
Change-Id: Ic9323a45cdbb75571e8f8b3aca4b9a763c271968
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3029
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-04-17 19:35:14 +00:00
Vincent Ambo
5276eb15a6 feat(tazjin/tverskoy): Enable TLP daemon
Change-Id: Ie6d7a6fe07ffccf8dc18257eed54bb990e22e064
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3019
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-04-16 10:58:54 +00:00
Vincent Ambo
914b7eb2e2 chore(tazjin/tverskoy): Persist Firefox configuration
Change-Id: If5ab38459106efdb978a21365a0f26ae82702679
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3018
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-04-16 10:58:54 +00:00
Vincent Ambo
605302091d refactor(tazjin/dns): Add zone validity checks in CI
Same as //ops/dns

Change-Id: I0399efd2e48956ec91833386adff27d94d08ef1e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3013
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-04-14 15:23:55 +00:00
Vincent Ambo
b2c0b74744 chore(tazjin/cloud-dns): Remove oslo.pub zone
I don't have/use this domain anymore.

Change-Id: I94181076d8f055ff4baaaa5fbc72eb9e86a25df2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3012
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-04-14 15:23:55 +00:00
Vincent Ambo
365a9b40bc feat(tazjin/emacs): Use native compilation by default
Change-Id: I3804cabe9be95121beb5c3f31d4d2d7f84460b7b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3011
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-04-14 11:20:07 +00:00
Vincent Ambo
dd42891ab0 refactor(tazjin/emacs): Install google-c-style by default
It is easier to do the inverse of this solution: Filter out the
package on the machines that get it from elsewhere.

Change-Id: I2abe112e4e38822d0fc7a47ea0bcedec1e0a96e3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3010
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-04-14 11:20:07 +00:00
Vincent Ambo
8f59300ae8 feat(tazjin/emacs): Make my Emacs binary overridable
... but keep defaulting to standard Emacs27, for $reasons

Change-Id: Ife243ab18a03e6b0270a39c639cc493d71240362
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3007
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-04-13 22:56:38 +00:00
Vincent Ambo
f6e59dc09a refactor(tazjin/emacs): Use Emacs packages exclusively from fixpoint
In preparation for native comp ...

Change-Id: I4386ec195673aa664a353236b85d13c3258629e5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3006
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-04-13 22:56:38 +00:00
Vincent Ambo
f520bd40ca refactor: Replace 'depotPath' with 'depot.path'
Instead of having two ways of accessing the path to the depot (one of
which was stuttering, depot.depotPath) we settle on only one:
depot.path.

This was mostly used for NixOS module imports.

Co-Authored-By: Florian Klink <flokli@flokli.de>
Change-Id: I2c0db23383fc34f6ca76baaad4cc4af2d9dfae15
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2962
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-12 21:55:07 +00:00
Vincent Ambo
90281c4eac refactor(ops): Split //ops/nixos into different locations
Splits //ops/nixos into:

* //ops/nixos.nix - utility functions for building systems
* //ops/machines - shared machine definitions (read by readTree)
* //ops/modules - shared NixOS modules (skipped by readTree)

This simplifies working with the configuration fixpoint in whitby, and
is overall a bit more in line with how NixOS systems in user folders
currently work.

Change-Id: I1322ec5cc76c0207c099c05d44828a3df0b3ffc1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2931
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: glittershark <grfn@gws.fyi>
2021-04-11 22:18:22 +00:00
Vincent Ambo
7deabb8c8d chore(3p): Bump channels to 2021-04-09
Fixes included:

* exposed gtest in the package set, required for protobuf
* pinned SBCL to version 2.0.8: The channel moved it to >2.1, and a
  bunch of warnings seemed to be killing our builds - we should
  investigate this later.
* removed kernel patches from //users/tazjin/frog: this machine is
  currently out of service anyways, not worth fixing while it's offline
* removed steam & lutris from frog (they're currently broken)
* removed Haskell overrides for hedgehog-classes & hgeometry-combinatorial
* use gRPC sources from upstream and inject Abseil via Nix instead
* fix for renamed grpc import in //third_party/nix
* use libfprint-tod from upstream nixpkgs in glittershark/yeren and
  delete glittershark/pkgs/fprintd entirely, since all of the patches used
  there are available and working from upstream now (and stopped working
  here after the bump)

Change-Id: Ia90e6f774f7b88bc9e60d28351b900ca43ee2695
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2901
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: lukegb <lukegb@tvl.fyi>
Tested-by: BuildkiteCI
2021-04-11 22:13:32 +00:00
Vincent Ambo
473604f567 refactor: Move nixpkgs attribute to third_party.nixpkgs
Please read b/108 to make sense of this.

This gets rid of the explicit list of exposed packages from nixpkgs,
and instead makes the entire package set available at
`third_party.nixpkgs`.

To accommodate this, a LOT of things have to be very slightly shuffled
around. Some of this was done in already submitted CLs, but this
change is unfortunately still quite noisy.

Pay extra attention to:

* overlay-like functionality that was partially moved to actual
  overlays (partially as in, the minimum required to get a green
  build)

* modified uses of the package set path, esp. in NixOS systems

Special notes:

* xanthous has been disabled in CI because of issues with the Haskell
  overlay
* //third_party/nix has been disabled because of other unclear
  dependency issues

Both of these will be tackled in a followup CL.

Change-Id: I2f9c60a4d275fdb5209264be0addfd7e06c53118
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2910
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2021-04-10 21:18:55 +00:00
Vincent Ambo
a83abc9024 chore(tazjin/emacs): Use telega from nixpkgs
adisbladis fixed the tdlib/telega versioning issues in nixpkgs at some
point, so this isn't required anymore.

Change-Id: Ib98e73d0e4394765f08f5f3741f70adab459c22f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2909
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-04-10 20:04:40 +00:00
Vincent Ambo
ce4476360f feat(tazjin/tverskoy): Set search domain to 'tvl.su'
Change-Id: I33ae590481abae9e20ed1ac7db5de66187f26925
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2907
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-04-09 21:18:26 +00:00
Vincent Ambo
cbd6f5bbae feat(tverskoy): Configure whitby binary cache
Change-Id: I51d4b42998d6005da15e4d0bed82062cd4e36fe9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2848
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-04-04 18:54:19 +00:00
Vincent Ambo
aae387456a chore(tazjin/tverskoy): Mount SD card on boot
Change-Id: Ifab7ec411f8dbd932aeee15d45ebd53e24917d04
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2846
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-04-04 18:25:58 +00:00
Vincent Ambo
9a1480d314 feat(tazjin/nix.svg): Add a manually cleaned up SVG Nix logo
Instead of ~500 lines, it's about ~50 and you can actually
individually address the lambdas and their colours.

I don't exactly know why I made this rather than going to bed, but it
might come in handy sometime.

Change-Id: I7aa25777ebac4a83fd3febb553fcad773836119b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2815
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-04-03 22:38:54 +00:00
Luke Granger-Brown
999f98436c refactor(camden): remove explicit depot.nix import
The depot.nix module is automatically brought in by systemFor, and
shouldn't be included in user configs, since it's going away.

Change-Id: Ib5b60203978b51dbff1f7bcc287f2ac9eb278823
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2762
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-04-02 18:00:14 +00:00
Vincent Ambo
dc9a1754d5 fix(tazjin/homepage): Use most recent entry update time for feed
This drops the annoying usage of builtins.currenTime, which means that
my website stops constantly rebuilding.

Change-Id: I44294b06588673846f473beb6533a5fa3410a1bd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2767
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-04-02 13:44:10 +00:00
Vincent Ambo
4450003bd7 feat(tazjin/blog): Add distinction between published & updated times
Fixes a long-standing todo by adding an additional field for the time
at which a post was updated, and handling this in both site
generation (to note the update date after the publish date) and in
Atom feed generation (by populating both the updated and published
fields).

Change-Id: If80db43459b2a0c77eea4dde7255651b5d6cd64b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2766
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-04-02 13:44:10 +00:00
Vincent Ambo
7907319a11 refactor(tazjin/nixos): Use setup scripts from //ops/nixos
Change-Id: I8baf2404f0f6e9c4fad767911646cdc55051dd2e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2753
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-04-01 18:00:52 +00:00
Vincent Ambo
d2376e24d1 fix(tazjin/blog): Make redirects from old links permanent
Change-Id: I41d71f9aae7e64bdfef8f2b7142d13009b216eaa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2752
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-04-01 18:00:52 +00:00
Vincent Ambo
6749267805 chore(tverskoy): Disable networking.firewall
I'm only connected to my own tethering nets anyways and I can't be
bothered to figure out all the things I need to open for Chromecasts,
maybe later.

Change-Id: Id1715b205191d4494a5a7001e1fb0f41a89d3de6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2705
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-30 10:54:38 +00:00
Vincent Ambo
9256c5ead4 chore(tverskoy): Add some more missing programs and persisted paths
Change-Id: I3fbdbdc177471429d80ed50b4424e5f0b96e6272
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2694
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-28 15:38:01 +00:00
Vincent Ambo
e851cd1f38 feat(tverskoy): Enable mosh
Change-Id: I18fa98aa6ba5892729ab130336f6a5d597865bf4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2667
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-26 18:25:38 +00:00
Vincent Ambo
d34c527372 refactor: Replace some uses of builtins.toFile with pkgs.writeText
I'm looking at removing some of these because they can cause
unnecessary build steps during CI pipeline generation.

Change-Id: I84742968918090c050d2eedab8a1b42692632a42
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2655
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2021-03-25 19:14:36 +00:00
Vincent Ambo
77141525ad chore(tazjin/tverskoy): Set git.init.defaultBranch = "canon"
Change-Id: Ic03668c152e6d306a47ccc222d2c98901e12dfda
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2648
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-23 23:51:58 +00:00
Vincent Ambo
580d8fc37c feat(tazjin/emacs): Configurable screen lock & brightness adjustment
Change-Id: I749ce827c7d53ecf8dec66c1f62481e6ef44791d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2645
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-23 21:00:19 +00:00
Vincent Ambo
4057634a7a feat(tazjin/tverskoy): Enable automatic screen locking
Defines a small helper script that resets the keyboard layout (to
avoid getting stuck in Russian layout) and locks the screen via
xsecurelock, and configures home-manager to launch this automatically.

Fascinatingly this actually seems to be capable of locking the
screen *on suspend*, not *after suspend*.

Change-Id: Ib6279a445aba18c2fb5bc073b675e6e2598fa228
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2644
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-23 21:00:19 +00:00
Vincent Ambo
4daa4c1923 fix(tazjin/tverskoy): Forcefully set nix.nixPath
The out-of-sync channel was previously causing OpenGL applications in
nix-shells to fail.

Change-Id: Ie527ef70b49468dfb62091abfa878ba1b361fc6d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2643
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: lukegb <lukegb@tvl.fyi>
Tested-by: BuildkiteCI
2021-03-23 21:00:19 +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
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
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
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
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
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
Vincent Ambo
e41bd6a82d fix(tazjin/emacs): Always show newest emails first
The default for this seems to have changed in a recent notmuch
release.

Change-Id: I1542b20c2e3edf72a3472c5277bce313c6df12b8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2595
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-06 11:53:16 +00:00
Vincent Ambo
4162186a19 feat(tazjin/rlox): Implement global variable access
This also includes a fix for an issue where the identifiers of
variables were pushed onto the stack, which is incorrect.

Change-Id: Id89b388268efad295f29978d767aa4b33c4ded14
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2594
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-06 11:52:00 +00:00
Vincent Ambo
29b2a54705 feat(tazjin/rlox): Implement global variable definition
identifier_str might look a bit overengineered, but we want to reuse
this bit of code and it needs a reference to the token from which to
pick the identifier.

The problem with this is that the token would be owned by self, but
the function needs to mutate (the interner), so this implementation is
the most straightforward way of acquiring and working with an
immutable reference to the token before interning the identifier.

Change-Id: I618ce8f789cb59b3a9c5b79a13111ea6d00b2424
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2592
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-06 11:52:00 +00:00
Vincent Ambo
b7b94335cc refactor(tazjin/rlox): Refactor Compiler::consume into a macro
Making this function a macro instead makes it possible to match
arbitrary token kinds, even the ones that carry data, without changing
the syntax too much.

Change-Id: I5cda9e36d6833bd9c259f7d4d8340db6e783b4e8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2593
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-06 11:52:00 +00:00
Vincent Ambo
822e5ae57f fix(tazjin/rlox): Resynchronise after panicking
Change-Id: I60939f7a2c523b6ca1e9782e58c97959da38cfff
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2591
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-06 11:52:00 +00:00
Vincent Ambo
ed3fce2b19 feat(tazjin/rlox): Implement expression statements
These aren't particularly useful without side effects, but one step at
a time.

This diverges slightly from the book, in that OpPop retains the last
value it "forgot" from the stack in a special field on the
interpreter.

This makes it possible to return values from expression statements,
which helps in cases where Lox is embedded as a scripting
language (please don't do this ever) or in tests.

Change-Id: Ided0bc04c6e80ddb23ba4693d61ac9e08b002d58
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2584
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-03 10:51:05 +00:00
Vincent Ambo
2cd77ea26d feat(tazjin/rlox): Add support for print statement
Change-Id: Ic3e7e722325c8784b848c0bcd573c2e51e123c40
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2583
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-03 10:50:39 +00:00
Vincent Ambo
432e7a7ddd feat(tazjin/rlox): Intern all string constants
This is again a step closer to the book, but there are some notable
differences:

* Only constants encountered by the compiler are interned, all other
  string operations (well, concatenation) happen with heap objects.

* OpReturn will always ensure that a returned string value is newly
  heap allocated and does not reference the interner.

Change-Id: If4f04309446e01b8ff2db51094e9710d465dbc50
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2582
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-02 19:48:46 +00:00
Vincent Ambo
bcea8e0d16 test(tazjin/rlox): Add simple string assertions
Change-Id: I6c60934d57170157d877e71cc87a97ab773342b5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2581
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-02 19:48:46 +00:00
Vincent Ambo
ef7a0da8cb feat(tazjin/rlox): Add a simple string interner
This is based on this matklad post:

https://matklad.github.io/2020/03/22/fast-simple-rust-interner.html

It's modified slightly to provide a safer interface and slightly more
readable implementation:

* interned string IDs are wrapped in a newtype that is not publicly
  constructible

* unsafe block is reduced to only the small scope in which it is
  needed

* lookup lifetime is pinned explicitly to make the intent clearer when
  reading this code

Change-Id: Ia3dae988f33f8e5e7d8dc0c1a9216914a945b036
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2578
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-01 21:09:37 +00:00
Vincent Ambo
6f600c8300 feat(tazjin/rlox): Add initial support for strings
... including concatenation.

This diverges significantly from the book, as I'm using std::String
instead of implementing the book's whole heap object management
system.

It's possible that Lox in Rust actually doesn't need a GC and the
ownership model works just fine.

Change-Id: I374a0461d627cfafc26b2b54bfefac8b7c574d00
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2577
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-01 21:09:37 +00:00
Vincent Ambo
369f504250 feat(tazjin/rlox): Implement comparison operators
Change-Id: I03b751db52a3bd502fb4fbda6e89cad087ccad74
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2575
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-02-28 14:36:40 +00:00
Vincent Ambo
c58fe2093e feat(tazjin/rlox): Implement equality operator
Change-Id: I5587a11646e228c5af4dc7ca6da026bb4a2592a6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2574
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-02-28 14:36:40 +00:00
Vincent Ambo
93c30b339c refactor(tazjin/rlox): Let binary_op! work on different types
This makes it possible to specify the input & output types of the
binary_op macro. If only one type is specified, it is assumed that the
input and output types are the same.

Change-Id: Idfcc9ba462db3976b69379b6693d091e1a525a3b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2573
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-02-28 14:36:40 +00:00
Vincent Ambo
2d9456d247 feat(tazjin/rlox): Implement unary negation operator
Change-Id: I9a5bd3581d4ed05371651697ec496341eb7971ae
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2572
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-02-28 14:36:40 +00:00
Vincent Ambo
47ffa80711 feat(tazjin/rlox): Support trivial literals in bytecode compiler
Adds support for true, false & nil. These each come with a new
separate opcode and are pushed directly on the stack.

Change-Id: I405b5b09496dcf99d514d3411c083e0834377167
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2571
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-02-28 14:36:40 +00:00
Vincent Ambo
127ef98486 refactor(tazjin/rlox): Represent VM values as enums
Introduces a new enum which represents the different types of possible
values, and modifies the rest of the existing code to wrap/unwrap
these enum variants correctly.

Notably in the vm module, a new macro has been introduced that makes
it possible to encode a type expectation and return a runtime error in
case of a type mismatch.

Change-Id: I325b5e31e395c62d8819ab2af6d398e1277333c0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2570
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-02-28 12:54:29 +00:00
Vincent Ambo
6b990a7571 test(tazjin/rlox): Add some tests for numerical operations
If I was adding any dependencies, this might be a good one for a
property-based test thing, but I'm not going to.

Change-Id: Ia801d041479d1a88c59ef9e0fe1460b3640382e3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2569
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-02-28 11:14:03 +00:00
Vincent Ambo
fd2139ce31 chore(tazjin/rlox): Add stack printing when 'disassemble' is on
Change-Id: I71ae83101002f8fead3fa6cbd4cb229a2d6e3902
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2568
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-02-28 11:14:03 +00:00
Vincent Ambo
47c1a9a280 fix(tazjin/rlox): Fix selection of next parser precedence rule
Without this fix we would keep parsing in the same precedence level
and get weird things like:

    10 - -10 + 10
    => 10

Change-Id: If2bed4569fbf566027011037165a9b3c09b7427c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2567
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-02-28 11:14:03 +00:00
Vincent Ambo
995d024f03 feat(tazjin/rlox): Wire up bytecode interpreter & print results
This makes the bytecode interpreter actually usable.

Change-Id: I24afc7ce461c6673dc42581378f6e14da7aece5c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2566
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-02-28 11:14:03 +00:00
Vincent Ambo
0c9a7de5be fix(tazjin/rlox): Fix identifier order in binary_op macro
Change-Id: I92253e875436bcb42732a157979a9d1e7ca0cd06
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2565
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-02-28 11:14:03 +00:00
Vincent Ambo
f3d00b84bb chore(tazjin/rlox): Fill in minor missing implementations
This should clean up everything in the way of actually running this
end-to-end.

Change-Id: Ie89d82472a458256a251a4fddc1c36d88d21f5f2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2563
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-02-27 20:19:14 +00:00
Vincent Ambo
758730d25d feat(tazjin/rlox): Print compiled bytecode with disassemble feature
Change-Id: I42293b334248b5228dd90f13b9a400ccdca20a84
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2562
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-02-27 20:19:14 +00:00
Vincent Ambo
56f6a6e9f2 feat(tazjin/rlox): Implement parser precedence rules
Change-Id: Idcf3c84126603086bbf7e8d54773bccb3ae3b5ab
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2561
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-02-27 20:19:14 +00:00