Commit graph

20914 commits

Author SHA1 Message Date
Vincent Ambo
1f5a20736a chore(3p/sources): bump channels & overlays (2024-09-17)
* users/aspen: disable readyset overlay

  sysbench + postgresql is broken, which breaks the overlay, but I suspect the
  overlay is no longer needed

Change-Id: I1845370c88f5fab35fd700535e6fb0972a4ca556
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12494
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: aspen <root@gws.fyi>
2024-09-17 21:16:21 +00:00
Vincent Ambo
e2aa81c0b2 chore(tazjin/dotfiles): reduce gaps
Change-Id: Ia73627328c8ebb6e3e4decf9236f4c155f1c4669
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12496
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-17 16:23:50 +00:00
Vincent Ambo
29f160963e chore(tazjin/niri-reap): bump to niri 0.1.9
This is a stable release that has the IPC features this crate depends on.

Change-Id: I4aaba076a53d7a95a00dd2d59a02c69af6c4d63a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12495
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
2024-09-17 16:23:50 +00:00
Vincent Ambo
e04bbe92a0 fix(tazjin/koptevo): fix yggdrasil listening configuration
Change-Id: Ic7b89fc61f7d5b74e420ae633b2ced26c20909c3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12492
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-09-16 08:20:45 +00:00
Vincent Ambo
684a06ac3c fix(tazjin/dotfiles): ensure EDITOR=emacsclient is set
Change-Id: I5ab162545493367c0e92c7737800c0c5e23f221e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12491
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-09-15 00:42:12 +00:00
Vincent Ambo
9b6ebb947b fix(3p/radicle-explorer): remove dependency on plausible
This is some sort of calling home analytics thing. Lets not have that.

Change-Id: I59fcf747c8269052dd3d346bb0873adc38834803
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12490
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-15 00:25:02 +00:00
Vincent Ambo
10c2866ccd fix(tazjin/nixos): set rad.tazj.in as preferred seed in explorer
This requires overriding build-time configuration, so I've added a little fixed
point that takes care of that.

Change-Id: Ie990e362c6e00aa6e3be66b04af4b62034b03515
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12489
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
2024-09-15 00:18:28 +00:00
Vincent Ambo
767bc726ef feat(tazjin/nixos): serve radicle explorer UI on koptevo
Change-Id: Ie5075ee8d2663bfffb3f90388a46f9bc19f6e462
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12488
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-09-14 23:47:29 +00:00
Vincent Ambo
e737488d92 feat(3p/radicle-explorer): package radicle web interface
For some reason this is not included. The build is based on their experimental
Nix code upstream which I copy&pasted and modified a bit.

Change-Id: I523f9e90a3f5feca0deb317eec1d5283e2a3ca98
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12487
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-09-14 23:47:29 +00:00
Vincent Ambo
af6dc48971 feat(tazjin/nixos): run Radicle seed node & httpd on koptevo
Change-Id: Icd433f433c0abe8f54735ab45a636b4561fe8d3e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12486
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-09-14 23:47:29 +00:00
Vincent Ambo
0022285600 feat(tazjin/nixos): set up yggdrasil on all physical machines
Change-Id: I1d722c6d2e6192c445e77cb9b186a5320c2a60ec
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12485
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-14 23:47:29 +00:00
Vincent Ambo
c9eeb7da70 feat(tazjin/nixos): serve homepage on yggdrasil
First test of running an Yggdrasil service, lets see how that goes!

Change-Id: Iac10b72f7314a45df13ea539c5c1cef6c994154f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12484
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-14 23:47:29 +00:00
Vincent Ambo
7593592241 chore(users/tazjin): move my homepage module into //users
This was in //ops for legacy reasons, but this is really not necessary.

Change-Id: I758b257838993ef0f7d55809c137118826e2ba85
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12483
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-09-14 23:47:29 +00:00
Vincent Ambo
7f5956b2be feat(tazjin/koptevo): configure yggdrasil network
I'm looking to replace tailscale with this for some use-cases.

Change-Id: I00f765a403879ef048e635a6fedcfdde3f685159
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12482
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-14 23:47:29 +00:00
Vincent Ambo
adf8a7da87 feat(tazjin/nixos): issue wildcard cert for yggdrasil services
Issue a wildcard certificate using the Yandex Cloud DNS plugin (which is where
DNS for tazj.in is hosted).

Change-Id: I44fa48add660f4f4324ec4b056a81d78c45ff4f4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12481
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-14 23:47:29 +00:00
Profpatsch
e5edb3b192 feat(users/Profpatsch/lyrics): fall back to plain lyrics
if there are not synced lyrics.

Change-Id: I3e8d452fc63847505886ea0bb01d29dd5dcb56d1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12477
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-09-13 13:44:03 +00:00
Profpatsch
e826ffb19c feat(users/Profpatsch): add lyric
Change-Id: I3171d19f1cd550ef22a3a7e851f9d27d3bf34949
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12476
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2024-09-13 13:44:03 +00:00
Profpatsch
5c57529675 feat(users/Profpatsch): add xdg-cache-home
Change-Id: I0f4efa16426f590cee9332d11c13dd07569b4acb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12475
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2024-09-13 13:44:03 +00:00
Profpatsch
af5ce5489f chore(users/Profpatsch): remove git-db & rust deps
This never went anywhere.

We had problems with `git2` breaking, so let’s remove everything that
this pulled in.

Change-Id: Ia29d827cd6fc7b97aedca36a37f8418384579c38
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12474
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-09-13 12:06:12 +00:00
Profpatsch
fcd4bfccdf fix(users/Profpatsch/README): typo
Change-Id: I7176289cd7884e795cfe283fc1ec3fcc674acae6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12473
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2024-09-13 11:13:59 +00:00
Profpatsch
1bddd9a001 fix(users/Profpatsch/.gitignore): add nix results
Change-Id: I44322b61b0653220173c3b5008ffa0ff727cfd35
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12472
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2024-09-13 11:13:59 +00:00
Profpatsch
9d02fc4ff1 feat(users/Profpatsch/MonadPostgres): add unzipPGArray fns
Change-Id: I47ae3520998c1da7a8ad34231fd5af39240a771d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12471
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-09-13 11:13:59 +00:00
Profpatsch
f49e047588 fix(users/Profpatsch/whatcd-resolver): refresh table on delete
Instead of serving a stale table when a torrent gets deleted, fetch
the whole view again. This is a little wasteful, but torrents
shouldn’t get deleted very often, so it’s fine.

Change-Id: If33d517270421881852158f27dbc3e7d24880d3b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12333
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2024-09-13 11:13:59 +00:00
Profpatsch
f6dc1f1819 fix(users/Profpatsch/whatcd-resolver): also delete db torrent file
If transmission does not know about a torrent file anymore, we should
not only delete our local transmission torrent hash, but also the
torrent file.

Before, it would always display the old weighted torrent, even after
removing it from transmission. Now, it will automatically clear and
switch to the new top-weighted mp3 version.

Small bug: since we only clean the torrents after already fetching the
table data, we get a stale result right after clean-up. Maybe we
should re-do the fetch instead.

Also logs what gets deleted and only ever deletes if there is
something to delete, leading to more obvious traces.

Change-Id: I0f6c1dc3669d0f549efaba2c46c34b77c1eb7e33
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12332
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2024-09-13 11:13:59 +00:00
Profpatsch
861b7caa06 feat(users/Profpatsch/whatcd-resolver): add format to table
Change-Id: I6ca18ad9f73a8e75e4bfb77156d19604ab27b284
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12331
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-09-13 11:13:59 +00:00
Profpatsch
95640e7be4 fix(users/Profpatsch/whatcd-resolver): prefer downloaded torrents
I changed the seeding weight, so now it would not show already
downloaded torrents, prompting me to fetch stuff that I already have
in new qualities. Obviously, that’s not the best idea.

Kinda surprised it’s this easy to fix heh.

Change-Id: I6bbf325672a91d794d144c006ccf3d702a581bce
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12330
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-09-13 11:13:59 +00:00
Profpatsch
9e2ecf9101 chore(users/Profpatsch/whatcd-resolver): ignore .ninja
Change-Id: I1b89161c9b4b763abcf74bd19f03275f987924ca
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12329
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2024-09-13 11:13:59 +00:00
Profpatsch
2edafd0a5a fix(users/Profpatsch/whatcd-resolver): set empty favicon
Change-Id: Id1fbcb39579f2d3c68989e4395cdadaa04790cec
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12328
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2024-09-13 11:13:59 +00:00
Profpatsch
b800bf2bd4 fix(users/Profpatsch/whatcd-resolver): pretty AppException
AppException would be a console-pretty-printed version for http
errors, which would print all the escape codes in the jaeger traces of
the exception, making it more-or-less unreadable.

So instead, let’s make AppException two cases, an ErrorTree case which
is printed as-is (no color), and a “Pretty” case which is printed
using the pretty module (colors on console, no colors in otel).

Somewhat involved, I guess this is temporary until I figure out what
is really needed.

Change-Id: Iff4a8651c5f5368a5b798541efc19cc7ab9de34b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12232
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2024-09-13 11:13:59 +00:00
Profpatsch
e9f1bb9917 fix(users/Profpatsch/whatcd-resolver/services): dont unset builders
Change-Id: I3fdf15d7a3a8e04fd73f22ad9c33a2c011609e3e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12231
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-09-13 11:13:59 +00:00
Profpatsch
5e8729188b feat(users/Profpatsch/whatcd-resolver): adjust seeding_weight
* Prefer MP3 versions to save on ratio
* Definitely never download 24bit flacs, they are not worth it at all

One needs to remove the `seeding_weight` column and restart
for it to have any effect (no real migrations yet, but eh)

bump

Change-Id: I30cc3ea05c4352316e3929f93d90fc27ce833682
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12222
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-09-13 11:13:59 +00:00
Vincent Ambo
158ba0d607 feat(tazjin/niri-reap): add a workspace compacting tool
I don't use workspaces and don't have them bound to anything in my Niri
configuration. However, when an external screen is unplugged, its workspace
(and windows) move to one of the remaining outputs.

This adds a tool that makes the windows available again by "reaping" them from
the other workspaces and moving them to the current one.

For starters I'll bind this to a key and see how it works in practice.

Change-Id: I18b2d60e93c8397dd637cdc426b4e46af5725558
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12451
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-13 10:52:38 +00:00
Vincent Ambo
8206f68aea refactor(eaglemode/avif): use build input parameter from buildPlugin
This somewhat condenses the derivation, which is always nice.

Change-Id: I4e2dd81620b54ab000898337007ffcea509a054b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12468
Reviewed-by: emery <emery@dmz.rs>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-13 10:36:15 +00:00
Vincent Ambo
773ddcb209 feat(tazjin/nixos): install radicle-node on all machines
Change-Id: I67ce259d890bd508cd9c9516702d51d5e70f4065
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12470
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-09-13 09:48:50 +00:00
Vincent Ambo
485fb81edf fix(tazjin/nixos): fix font name collision
Change-Id: I8780f5906855d2ce39ec78530ede84bbcfb5fbf2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12469
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
2024-09-13 09:23:36 +00:00
Vincent Ambo
374cde20f2 chore(3p/sources): bump channels & overlays (2024-09-10)
Includes the following fixes:

* users/wpcarro: disable pulseaudio option (can't have pipewire _and_ PA)
* users/aspen: disable pipewire (there's PA config here, so whatever)
* bump wasm-bindgen in Rust frontend projects
* users/tazjin: disable builds for frog (it's in storage)

Change-Id: Ia508b14b84619d06c1d98f7245e84d66bc791592
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12466
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: aspen <root@gws.fyi>
2024-09-12 12:42:44 +00:00
Vincent Ambo
7fa52f5933 refactor(tazjin/niri): configure seamless monitor/column movements
Makes it possible to just keep switching focus or moving a column in the
direction of the target screen. This is MUCH easier to think about.

Change-Id: I0488b8d338261b83327dc476e0173b222de9221a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12467
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-09-11 21:34:35 +00:00
edef
e573f8389c docs(tvix/nix-compat/wire/bytes/reader): None case doesn't exist
We always read the length before returning a BytesReader, so len()
cannot be called before the length is read.

Change-Id: Ifa1cbc2c0923dd24d59e0af5e135ab8ed7314aa9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12453
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-09-08 02:32:57 +00:00
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
Yureka
863146295b feat(tvix/nix-compat/nar/writer/sync): trait objects -> generics
This will later be used to allow the user to access the original writer.

Change-Id: I1734600c5d580d18b16727f892cd2f6335cc9459
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12442
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-09-07 12:23:06 +00:00
Yureka
cec28377d8 feat(tvix/castore): expose ValidatedDirectoryGraph type
Change-Id: Id994258e74f75df8790159ed3180ce360874d0de
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12438
Reviewed-by: benjaminedwardwebb <benjaminedwardwebb@gmail.com>
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-09-07 12:22:58 +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
Vincent Ambo
732b46c6fa feat(3p/chicago95): package chicago95 theme for GTK/Qt/etc.
Change-Id: Ib72ac7e4490b793940f25b0e6b8fac8c62686092
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12445
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