Commit graph

274 commits

Author SHA1 Message Date
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