about summary refs log tree commit diff
path: root/users/tazjin
AgeCommit message (Collapse)AuthorFilesLines
2021-04-02 r/2406 refactor(camden): remove explicit depot.nix importLuke Granger-Brown1-3/+0
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 r/2403 fix(tazjin/homepage): Use most recent entry update time for feedVincent Ambo1-4/+5
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 r/2402 feat(tazjin/blog): Add distinction between published & updated timesVincent Ambo4-1/+13
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-01 r/2392 refactor(tazjin/nixos): Use setup scripts from //ops/nixosVincent Ambo1-41/+4
Change-Id: I8baf2404f0f6e9c4fad767911646cdc55051dd2e Reviewed-on: https://cl.tvl.fyi/c/depot/+/2753 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-04-01 r/2391 fix(tazjin/blog): Make redirects from old links permanentVincent Ambo1-2/+1
Change-Id: I41d71f9aae7e64bdfef8f2b7142d13009b216eaa Reviewed-on: https://cl.tvl.fyi/c/depot/+/2752 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-03-30 r/2365 chore(tverskoy): Disable networking.firewallVincent Ambo1-0/+1
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-28 r/2353 chore(tverskoy): Add some more missing programs and persisted pathsVincent Ambo1-0/+5
Change-Id: I3fbdbdc177471429d80ed50b4424e5f0b96e6272 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2694 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-03-26 r/2340 feat(tverskoy): Enable moshVincent Ambo1-0/+1
Change-Id: I18fa98aa6ba5892729ab130336f6a5d597865bf4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2667 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-03-25 r/2329 refactor: Replace some uses of builtins.toFile with pkgs.writeTextVincent Ambo1-5/+5
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-23 r/2324 chore(tazjin/tverskoy): Set git.init.defaultBranch = "canon"Vincent Ambo1-0/+1
Change-Id: Ic03668c152e6d306a47ccc222d2c98901e12dfda Reviewed-on: https://cl.tvl.fyi/c/depot/+/2648 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-03-23 r/2322 feat(tazjin/emacs): Configurable screen lock & brightness adjustmentVincent Ambo1-10/+15
Change-Id: I749ce827c7d53ecf8dec66c1f62481e6ef44791d Reviewed-on: https://cl.tvl.fyi/c/depot/+/2645 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-03-23 r/2321 feat(tazjin/tverskoy): Enable automatic screen lockingVincent Ambo1-0/+19
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 r/2320 fix(tazjin/tverskoy): Forcefully set nix.nixPathVincent Ambo1-0/+6
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-22 r/2317 chore(tazjin/tverskoy): Install dnsutils and moshVincent Ambo1-0/+2
Change-Id: I3d3a7543dbd09f68890d9daa6ac38c9afa49d35d Reviewed-on: https://cl.tvl.fyi/c/depot/+/2639 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-03-21 r/2315 chore(tazjin/keys): Add tverskoy, comment out frogVincent Ambo1-4/+4
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 r/2313 fix(tazjin/tverskoy): Persist Mullvad settings & rustup downloadsVincent Ambo1-2/+4
Change-Id: I6ce75bff1d2e6ed318af9edc878cc59604b7a597 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2635 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-03-21 r/2312 fix(tazjin/tverskoy): Ensure 'pactl' command is availableVincent Ambo1-0/+1
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 r/2311 fix(tazjin/tverskoy): Persist ~/.config/mimeapps.listVincent Ambo1-0/+1
Change-Id: Ifd14d4eb0bdfaee6713219f46bac4257d3d72f51 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2633 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-03-21 r/2310 chore(tazjin/emacs): Use `light` instead of `xbacklight`Vincent Ambo1-2/+2
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 r/2309 fix(tazjin/tverskoy): Configure git to always rebaseVincent Ambo1-0/+3
Change-Id: I2682e350c74a830682ebca12102d00b7e85093f8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2627 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-03-21 r/2308 fix(tazjin/tverskoy): Add myself to the 'video' groupVincent Ambo1-1/+1
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 r/2307 chore(tazjin/tverskoy): Enable SSH agent, Spotify, mullvad, ...Vincent Ambo1-0/+6
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 r/2306 feat(tazjin/tverskoy): Enable redshift & geoclue2Vincent Ambo1-3/+4
... 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 r/2305 feat(tazjin/tverskoy): Configure ephemeral home bind-mountsVincent Ambo1-1/+44
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 r/2301 fix(tazjin/emacs): Ensure company is installedVincent Ambo1-0/+1
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 r/2300 feat(tazjin/tverskoy): Configure impermanence moduleVincent Ambo1-0/+17
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 r/2299 feat(tazjin/nixos): Initial check in of new host (tverskoy)Vincent Ambo2-1/+205
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 r/2298 fix(tazjin/emacs): Use ace-window from MELPA instead of ELPAVincent Ambo1-1/+1
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-19 r/2287 fix(tazjin/emacs): Set notmuch custom variables through :customVincent Ambo2-5/+4
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 r/2284 chore(3p): bump NixOS channels to 2021-03-18sterni2-2/+2
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-06 r/2275 fix(tazjin/emacs): Always show newest emails firstVincent Ambo1-0/+1
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 r/2274 feat(tazjin/rlox): Implement global variable accessVincent Ambo4-6/+48
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 r/2273 feat(tazjin/rlox): Implement global variable definitionVincent Ambo5-15/+80
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 r/2272 refactor(tazjin/rlox): Refactor Compiler::consume into a macroVincent Ambo1-18/+21
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 r/2271 fix(tazjin/rlox): Resynchronise after panickingVincent Ambo1-1/+32
Change-Id: I60939f7a2c523b6ca1e9782e58c97959da38cfff Reviewed-on: https://cl.tvl.fyi/c/depot/+/2591 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-03-03 r/2265 feat(tazjin/rlox): Implement expression statementsVincent Ambo4-53/+78
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 r/2264 feat(tazjin/rlox): Add support for print statementVincent Ambo3-5/+61
Change-Id: Ic3e7e722325c8784b848c0bcd573c2e51e123c40 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2583 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-03-02 r/2263 feat(tazjin/rlox): Intern all string constantsVincent Ambo4-19/+65
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 r/2262 test(tazjin/rlox): Add simple string assertionsVincent Ambo1-0/+10
Change-Id: I6c60934d57170157d877e71cc87a97ab773342b5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2581 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-03-01 r/2259 feat(tazjin/rlox): Add a simple string internerVincent Ambo3-0/+112
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 r/2258 feat(tazjin/rlox): Add initial support for stringsVincent Ambo3-1/+40
... 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-02-28 r/2256 feat(tazjin/rlox): Implement comparison operatorsVincent Ambo4-0/+43
Change-Id: I03b751db52a3bd502fb4fbda6e89cad087ccad74 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2575 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-02-28 r/2255 feat(tazjin/rlox): Implement equality operatorVincent Ambo4-6/+50
Change-Id: I5587a11646e228c5af4dc7ca6da026bb4a2592a6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2574 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-02-28 r/2254 refactor(tazjin/rlox): Let binary_op! work on different typesVincent Ambo1-9/+13
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 r/2253 feat(tazjin/rlox): Implement unary negation operatorVincent Ambo5-0/+32
Change-Id: I9a5bd3581d4ed05371651697ec496341eb7971ae Reviewed-on: https://cl.tvl.fyi/c/depot/+/2572 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-02-28 r/2252 feat(tazjin/rlox): Support trivial literals in bytecode compilerVincent Ambo5-6/+52
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 r/2251 refactor(tazjin/rlox): Represent VM values as enumsVincent Ambo6-25/+59
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 r/2250 test(tazjin/rlox): Add some tests for numerical operationsVincent Ambo2-0/+51
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 r/2249 chore(tazjin/rlox): Add stack printing when 'disassemble' is onVincent Ambo1-0/+3
Change-Id: I71ae83101002f8fead3fa6cbd4cb229a2d6e3902 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2568 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-02-28 r/2248 fix(tazjin/rlox): Fix selection of next parser precedence ruleVincent Ambo1-1/+1
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