Commit graph

2658 commits

Author SHA1 Message Date
Vincent Ambo
bdf1162d47 fix(tazjin/home): fix cursor sizes on hidpi/non-hidpi machines
Change-Id: If2e2c7ffeadcd920e518c107b30156a62ea7c5c4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12449
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-07 17:18:58 +00:00
Vincent Ambo
7903d26054 refactor(tazjin/dotfiles): move waybar configuration into Nix
Change-Id: Ia031fd755ecf451b0ef1f9e63f3aec8b56fe2d57
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12448
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-07 15:58:40 +00:00
Vincent Ambo
0a38618675 feat(tazjin/eaglemode): install new eaglemode plugins
Change-Id: Ic5044ada0a3e07f3982cabb8e16c5dd9b2a38472
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12447
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
2024-09-07 12:17:48 +00:00
Vincent Ambo
c352306491 feat(tazjin/home): configure chicago95 theme in home-manager
Finally no more setting this up manually!

Change-Id: I75d7a53623cc05a0a88f70e20e881a944b6ed818
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12446
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-07 11:40:09 +00:00
sterni
f51d27acb2 refactor(sterni/backup-minecraft-fabric): use systemd-creds
The bundled tool is sort of convenient, I first tried it when debugging
an issue (that doesn't affect this module) and it seems a bit nicer.

Change-Id: Ief948f8e46e51f05b04fe7628ab9298284f780e9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12444
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
2024-09-06 21:43:55 +00:00
Vincent Ambo
31f55d7ce7 fix(tazjin/khamovnik): clean /tmp on boot
Change-Id: I5d71319be952f6524d5804d50e3178858371b4cf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12443
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-06 16:25:09 +00:00
Vincent Ambo
72bdb15958 feat(tazjin/dotfiles): add waybar configuration
This configuration is not automatically placed anywhere yet, because I'm also
still actively iterating on it.

Change-Id: I0a13fcbc2b9a5587480f6a69a73ab99b36d209e6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12435
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
2024-09-05 22:11:42 +00:00
Vincent Ambo
730d1cc77b feat(tazjin/dotfiles): check in Niri configuration
Adds the current (fairly simple) Niri configuration, which is annealed from
a few days of being poked constantly.

This isn't yet deployed through home-manager or anything as I'm still doing
stuff with it manually.

Change-Id: I3dfcafb55d98d9655585d3128e1088fc13e60cc7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12434
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
2024-09-05 22:10:40 +00:00
Vincent Ambo
317962fbed fix(tazjin/nixos): add fonts for waybar configuration
These don't actually really work the way I want, but I have no idea how font
configuration works.

Change-Id: I228ab234f37d8ae0847cbdc6a3431fc29a2585e6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12433
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
2024-09-05 22:10:09 +00:00
Vincent Ambo
609b68031b chore(3p/sources): bump channels & overlays (2024-09-01)
Included changes:

* users/aspen: explicitly use open-source nvidia driver

  This now has to be specified explicitly, otherwise evaluation fails with an
  error.
* users/aspen: nixfmt -> nixfmt-classic
* users/aspen: fixes for renamed packages & options
* users/tazjin: fixes for renamed packages & options
* 3p/overlays: remove cbtemulator patch (merged upstream)
* tvix/shell: remove unnecessary patches (merged upstream)
* 3p/rust-crates: mark libgit2_sys as broken
* users/Profpatsch: mark git-db as broken
* 3p/overlays: pick `mypaint` from stable channel
* tvix: fix comments that clippy doesn't like anymore
* tvix/glue: disable a misfiring clippy lint (applying its suggestion breaks
  code below)

Change-Id: I6d3fc027694bbe7425a2d25dc53d65467a44f3b0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12403
Tested-by: BuildkiteCI
Reviewed-by: aspen <root@gws.fyi>
Reviewed-by: Profpatsch <mail@profpatsch.de>
Autosubmit: tazjin <tazjin@tvl.su>
2024-09-05 20:56:31 +00:00
Vincent Ambo
200d49a0e1 feat(tazjin/home): configure screen locking with swayidle
Change-Id: I73e42071710f481c0f1acf965e18446c18e7c94b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12430
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-05 11:58:30 +00:00
Vincent Ambo
33f30573f9 fix(tazjin/nixos): fix wayland screen sharing
Apparently something called a "desktop portal" needs to provide a magic
"service" and blabla; the TL;DR is that adding all this Gnome stuff makes screen
sharing work.

Tested using the Mozilla WebRTC test page:
https://mozilla.github.io/webrtc-landing/gum_test.html

Seems like our Chromium/Firefox are new enough not to require magic settings for
Wayland.

Change-Id: I250d857a0e941ef63fffca17a9c9feed14ec1bd9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12432
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-03 22:34:13 +00:00
Vincent Ambo
a9403664e1 fix(tazjin/nixos): always start pipewire before niri
According to discussions in the Niri issue tracker, pipewire must be started
before niri in order for screen sharing to work. Why? No idea.

Change-Id: Id4ff890dd2536b3cc98b14992cd799d257eec9be
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12431
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-03 22:34:13 +00:00
Vincent Ambo
632e74e435 fix(tazjin/khamovnik): try to force suspend on all lid close events
logind doesn't like reliably suspending, and apparently it has a bunch of bugs
around dock detection (I don't even use docks), but maybe this helps

Change-Id: Ia822799cde838d8d41a67f9d39d59d1fa0306116
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12429
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-09-03 22:26:31 +00:00
Emery Hemingway
1c898f7ddc feat(tools/eaglemode/plugins/avif): AVIF image plugin
Animation not implemented.
https: //en.wikipedia.org/wiki/AVIF

Change-Id: I80f8c4132c4335b2e60ce7b70eb424457e50c73f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12428
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-09-03 19:44:05 +00:00
Emery Hemingway
e4714db2d5 feat(tools/eaglemode/plugins): QOI image plugin
https://qoiformat.org/

Change-Id: I0c11095c1ac0e65075d032f7c29649cbba9f213f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12427
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-03 19:44:05 +00:00
Vincent Ambo
7f1ecff989 refactor(tazjin/emacs): change key bindings for telega/term-switcher
Change-Id: Ia083a337f69aa258b9d4487affc594f5c4f1096d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12426
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-03 13:45:24 +00:00
Vincent Ambo
69dcd8e92c feat(tazjin/nixos): install waybar on desktop machines
Change-Id: I3b60b12175168e67df55d4eff28d2cac4f30aff1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12425
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-03 13:45:24 +00:00
Vincent Ambo
9ea1862750 fix(tazjin/nixos): replace wezterm with alacritty again
wezterm has very strange rendering bugs which I have no interest in debugging

Change-Id: I59a068df9b4474830ba4706bf8e626b45cd015f0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12424
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-09-03 13:45:24 +00:00
Vincent Ambo
6cfae6c423 feat(tazjin/nixos): enable Qt theming with qt5ct
Change-Id: I1ce0ab9085951d48021f2034a32bcf91c0a675df
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12423
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-09-03 13:45:24 +00:00
Emery Hemingway
0f519a6f13 feat(tools/eaglemode/commands): add Sam/Acme plumb command
Change-Id: I80443e88180e87c7f7b7c8ae322c5076d1ce0a02
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12422
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-09-03 12:51:48 +00:00
Vincent Ambo
a115238f1b feat(tazjin/eaglemode): add example plugin to config
Change-Id: I5993c429dfa066295823d5666763ca0120cc209c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12391
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: emery <emery@dmz.rs>
Tested-by: BuildkiteCI
2024-09-02 21:26:16 +00:00
Vincent Ambo
1c73c1c703 style(tazjin/wallpapers): add some new Stålenhag content
Change-Id: I693378ae6904f2658b4cf3477aff37d54b3c41f3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12405
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-08-31 23:55:03 +00:00
Vincent Ambo
a2eb46e3d8 feat(tazjin/home): configure wpaperd
Change-Id: Ic4eecdff48f947a44d2a06039573274a9edb35c8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12404
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-08-31 23:47:57 +00:00
Vincent Ambo
11aacd7857 feat(tazjin/nixos): setup niri (scrolling window manager)
This commit is experimental for now.

The backstory is this: There are use-cases where tiling windows (as in EXWM,
which I normally use) annoy me. There are also use-cases where stacking
windows (as in e.g. XFCE, which I tried for a bit) are annoying.

Scrolling WMs are a new thing which is sort of similar to tiling, but as it adds
more screen real estate doesn't require shuffling around or resizing of existing
windows basically ever.

I'm going to trial this (assuming I can get everything that's relevant for me
set up) and see how it goes.

Change-Id: I603c87b8ebd7fbde763d9d4708e098e9079889c5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12402
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
2024-08-31 23:47:57 +00:00
Vincent Ambo
b3c790a81e fix(tazjin/khamovnik): ensure networkmanager is always enabled
Got into weird states more than once while the private configuration wasn't
available ...

Change-Id: I75b1a242d9cf10f5e4ac27ad7fce3e40a79898cc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12401
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-08-31 23:46:55 +00:00
Vincent Ambo
a28c495c38 feat(tazjin/nixos): ensure eaglemode is always installed
Change-Id: I6084e041b760d90929f7e9b3d6f7cd6ca12370ba
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12400
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-08-31 23:46:55 +00:00
Vincent Ambo
a60998c234 chore(tazjin/emacs): use emacs-pgtk
I'm doing a wayland experiment, this is necessary for now. This disables some
parts of the configuration which are not going to work with wayland.

Change-Id: I61d0042fd52f2c7cade2794c0d5b5849ecaf5229
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12399
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-08-31 23:45:23 +00:00
Vincent Ambo
55b0726571 feat(tazjin/eaglemode): add my eaglemode config
Very barebones for now.

Change-Id: I05b89f5f392eda221d0a61999d47d83f9bf3354a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12370
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-08-30 13:30:07 +00:00
Florian Klink
fef2fdcf8e feat(users/flokli/nixos): add awscli to shell
Change-Id: I665ba215de12fad58b91604700c09a87444ac3ac
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12381
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: flokli <flokli@flokli.de>
2024-08-28 16:02:41 +00:00
Alexander Kiselyov
2bca043c33 feat(users/yl3dy): test gpg-signed commit
Change-Id: I71f34d7ef9c9db106bf6994ee8fdb3047769817a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12363
Reviewed-by: yl3dy <aleksandr.kiselyov@gmail•com>
Tested-by: BuildkiteCI
2024-08-27 13:28:33 +00:00
Alexander Kiselyov
ca695a6f7c chore(users/yl3dy): add OWNERS file
Change-Id: I6618fb8de137c5887d3bd9e1cb0507cc818cb525
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12360
Reviewed-by: yl3dy <aleksandr.kiselyov@gmail•com>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-08-27 13:00:52 +00:00
azahi
c3645b590e feat(users/azahi/pkgs): add bruh
Just testing out depot workflow by adding random stuff.

Change-Id: I8acafe73b86d1936b64f8a4dd084c21c04e305bf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12358
Tested-by: BuildkiteCI
Autosubmit: azahi <azat@bahawi.net>
Reviewed-by: azahi <azat@bahawi.net>
2024-08-27 12:58:56 +00:00
azahi
3e4b9e56a5 chore(users/azahi): add OWNERS file
Change-Id: Ic192e12b8858cc321a91c9ff545bdaaee75503c5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12354
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-08-27 10:58:48 +00:00
Vincent Ambo
d292203235 feat(tazjin/cursed): add bubblegum demo from VolgaSprint talk
Change-Id: I4d9bd21e3dd6dbc24d46907e6270d49b97f50b99
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12352
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-08-27 10:02:59 +00:00
Florian Klink
248f46e7fc chore(users/aspen): use cargo-* packages from nixpkgs
These started throwing eval warnings due to usage of cargoSha256, and
are both available in nixpkgs.

Change-Id: Ice636bebc0a839410125bc19b2252158add2b96e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12337
Tested-by: BuildkiteCI
Reviewed-by: aspen <root@gws.fyi>
Autosubmit: flokli <flokli@flokli.de>
2024-08-25 21:44:41 +00:00
Florian Klink
7a85fb4c64 chore(users/aspen): hardware.opengl -> hardware.graphics
Change-Id: I388a26221b805bc2aa7563d464888cc8b9ea9c92
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12336
Tested-by: BuildkiteCI
Reviewed-by: aspen <root@gws.fyi>
Autosubmit: flokli <flokli@flokli.de>
2024-08-25 21:44:40 +00:00
Brian Olsen
9af6920478 feat(nix-compat): Add NixDeserialize and NixRead traits
Add a trait for deserializing a type from a daemon worker connection.
This adds the NixDeserialize trait which is kind of like the serde
Deserialize trait in that individual types are meant to implement it
and it can potentially be derived in the future.

The NixDeserialize trait takes something that implements NixRead as
input so that you can among other things mock the reader.

Change-Id: Ibb59e3562dfc822652f7d18039f00a1c0d422997
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11990
Autosubmit: Brian Olsen <me@griff.name>
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-08-25 15:05:50 +00:00
Vincent Ambo
6167e63e07 feat(tazjin/german-string): impl Clone for GermanString
Small strings are always copied fully, without allocations.

Large transient strings copy the data and allocate.

Large persistent strings are also a trivial copy.

Change-Id: I319c0b800fa7a4a62e634176b959bb2fa766a4eb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12342
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-08-25 10:07:03 +00:00
Florian Klink
6dff303c5f chore(users/tazjin): hardware.opengl -> hardware.graphics
Change-Id: I649a6de6eef0b9b8c9cb658fdb6e4e46f5c8be1c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12335
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-08-25 09:19:25 +00:00
Ilan Joselevich
8b624f93bf feat(users/picnoir/tvix-daemon): Add crate2nix-check
Change-Id: I92a2fd6369e1f45c8afa25f778ac424782699b55
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12304
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: Ilan Joselevich <personal@ilanjoselevich.com>
Tested-by: BuildkiteCI
2024-08-23 19:55:10 +00:00
Emery Hemingway
4157fbad43 feat(users/emery/pkgs): add syndicate-server
Change-Id: I3cd358e55a7f0208af8fe8aa990b9f2ee7ffe865
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12299
Reviewed-by: emery <emery@dmz.rs>
Tested-by: BuildkiteCI
2024-08-23 17:23:06 +00:00
Emery Hemingway
6c31d72000 feat(users/emery): add custom Cyrillic keyboard layout
Change-Id: I37f95c904e8a05cf8d8e437c41b9710c2ebf0300
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12294
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-08-23 16:07:08 +00:00
Vincent Ambo
8f6f45097e feat(tazjin/german-string): add constructor that leaks a Vec<u8>
Change-Id: Id0b6b4794128573ddb62e82fd77d080e564978be
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12264
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
2024-08-22 14:02:15 +00:00
Vincent Ambo
012da7d0e1 feat(tazjin/german-string): add persistent construction from statics
Makes it possible to construct persistent German Strings from data with 'static
lifetime. This doesn't leak any additional data.

Change-Id: Ifb3a36ff72b106724883302e4c2195ac54acd352
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12263
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
2024-08-22 14:02:15 +00:00
Vincent Ambo
95ebcc24b0 refactor(tazjin/german-string): add type for encoding storage class
Adds a StorageClassPtr type that is set up to be able to steal bits from an
aligned pointer to encode the storage class of a German String.

Change-Id: I64591174eac1ebcb73e624a59bd107ba1e02c69d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12262
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-08-22 14:02:15 +00:00
Florian Klink
e03ea11bad feat(nix-compat/nix_http): init parse_nar[info]_str
This moves the URL component parsing code we had in nar-bridge to
nix-compat.

We change the function signature to return an Option, not a
Result<_, StatusCode>.

This allows returning more appropriate error codes, as we can
ok_or(…) at the callsite, which we now do: on an upload to an
invalid path, we now return "unauthorized", while on a GET/HEAD, we
return "not found".

This also adds support to parse compression suffixes. While not
supported in nar-bridge, other users of nix-compat might very well want
to parse these paths.

Also fix the error message when parsing NAR urls, it mentioned 32, not
52, which is a copypasta error from the narinfo URL parsing code.

Change-Id: Id1be9a8044814b54ce68b125c52dfe933c9c4f74
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12260
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-08-21 09:40:32 +00:00
Aspen Smith
01af37c532 chore(aspen/system): Turn off disableWhileTyping for libinput
I... actually really hate this, it turns out. Plus it breaks video
games, lol.

Change-Id: I4b86e38ee78f5f3b6ffec5e7cc4f1dc054d91c56
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12256
Reviewed-by: aspen <root@gws.fyi>
Autosubmit: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-08-20 02:27:13 +00:00
Vincent Ambo
ed4f68b1d3 feat(tazjin/german-string): add constructor method from owned data
Makes it possible to construct a GermanString from an owned byte vector, without
having to clone the data.

This is done by "disowning" the vector using ManuallyDrop to access its internal
pointer. For transient strings, this memory is then owned (and freed) by the
GermanString instance.

Small strings are copied out of the heap and stored inline as before, to avoid
any dereferencing operations.

Change-Id: I754736099f71d646d430aed73e558a5a7626c394
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12249
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-08-19 13:19:40 +00:00
Vincent Ambo
0d6d31bc66 feat(tazjin/german-string): add pointer equality check in Eq
This can short-circuit two large string comparisons.

Change-Id: If45e7cf33921fe571482dc710c27ef8cc7c70885
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12245
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-08-19 13:19:40 +00:00