about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2024-09-13 r/8686 feat(users/Profpatsch): add xdg-cache-homeProfpatsch1-0/+14
Change-Id: I0f4efa16426f590cee9332d11c13dd07569b4acb Reviewed-on: https://cl.tvl.fyi/c/depot/+/12475 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2024-09-13 r/8685 chore(users/Profpatsch): remove git-db & rust depsProfpatsch3-230/+0
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 r/8684 fix(users/Profpatsch/README): typoProfpatsch1-1/+1
Change-Id: I7176289cd7884e795cfe283fc1ec3fcc674acae6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12473 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2024-09-13 r/8683 fix(users/Profpatsch/.gitignore): add nix resultsProfpatsch1-0/+1
Change-Id: I44322b61b0653220173c3b5008ffa0ff727cfd35 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12472 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2024-09-13 r/8682 feat(users/Profpatsch/MonadPostgres): add unzipPGArray fnsProfpatsch2-8/+75
Change-Id: I47ae3520998c1da7a8ad34231fd5af39240a771d Reviewed-on: https://cl.tvl.fyi/c/depot/+/12471 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-09-13 r/8681 fix(users/Profpatsch/whatcd-resolver): refresh table on deleteProfpatsch2-7/+19
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 r/8680 fix(users/Profpatsch/whatcd-resolver): also delete db torrent fileProfpatsch2-15/+38
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 r/8679 feat(users/Profpatsch/whatcd-resolver): add format to tableProfpatsch2-5/+15
Change-Id: I6ca18ad9f73a8e75e4bfb77156d19604ab27b284 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12331 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-09-13 r/8678 fix(users/Profpatsch/whatcd-resolver): prefer downloaded torrentsProfpatsch1-1/+5
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 r/8677 chore(users/Profpatsch/whatcd-resolver): ignore .ninjaProfpatsch1-0/+1
Change-Id: I1b89161c9b4b763abcf74bd19f03275f987924ca Reviewed-on: https://cl.tvl.fyi/c/depot/+/12329 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2024-09-13 r/8676 fix(users/Profpatsch/whatcd-resolver): set empty faviconProfpatsch1-0/+6
Change-Id: Id1fbcb39579f2d3c68989e4395cdadaa04790cec Reviewed-on: https://cl.tvl.fyi/c/depot/+/12328 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2024-09-13 r/8675 fix(users/Profpatsch/whatcd-resolver): pretty AppExceptionProfpatsch7-70/+84
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 r/8674 fix(users/Profpatsch/whatcd-resolver/services): dont unset buildersProfpatsch1-1/+1
Change-Id: I3fdf15d7a3a8e04fd73f22ad9c33a2c011609e3e Reviewed-on: https://cl.tvl.fyi/c/depot/+/12231 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-09-13 r/8673 feat(users/Profpatsch/whatcd-resolver): adjust seeding_weightProfpatsch1-2/+22
* 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 r/8672 feat(tazjin/niri-reap): add a workspace compacting toolVincent Ambo5-0/+201
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 r/8671 refactor(eaglemode/avif): use build input parameter from buildPluginVincent Ambo1-10/+4
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 r/8670 feat(tazjin/nixos): install radicle-node on all machinesVincent Ambo2-4/+6
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 r/8669 fix(tazjin/nixos): fix font name collisionVincent Ambo1-1/+0
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-12 r/8668 chore(3p/sources): bump channels & overlays (2024-09-10)Vincent Ambo17-377/+198
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-11 r/8667 refactor(tazjin/niri): configure seamless monitor/column movementsVincent Ambo1-32/+14
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-08 r/8666 docs(tvix/nix-compat/wire/bytes/reader): None case doesn't existedef1-2/+0
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-07 r/8665 fix(tazjin/home): fix cursor sizes on hidpi/non-hidpi machinesVincent Ambo2-1/+3
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 r/8664 refactor(tazjin/dotfiles): move waybar configuration into NixVincent Ambo7-33/+82
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 r/8663 feat(tvix/nix-compat/nar/writer/sync): trait objects -> genericsYureka1-13/+10
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 r/8662 feat(tvix/castore): expose ValidatedDirectoryGraph typeYureka1-1/+1
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 r/8661 feat(tazjin/eaglemode): install new eaglemode pluginsVincent Ambo1-0/+3
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 r/8660 feat(tazjin/home): configure chicago95 theme in home-managerVincent Ambo2-1/+16
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 r/8659 feat(3p/chicago95): package chicago95 theme for GTK/Qt/etc.Vincent Ambo1-0/+47
Change-Id: Ib72ac7e4490b793940f25b0e6b8fac8c62686092 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12445 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-09-06 r/8658 refactor(sterni/backup-minecraft-fabric): use systemd-credssterni1-2/+3
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 r/8657 fix(tazjin/khamovnik): clean /tmp on bootVincent Ambo1-0/+2
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-05 r/8656 feat(tazjin/dotfiles): add waybar configurationVincent Ambo4-1/+177
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 r/8655 feat(tazjin/dotfiles): check in Niri configurationVincent Ambo2-0/+151
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 r/8654 fix(tazjin/nixos): add fonts for waybar configurationVincent Ambo1-1/+3
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 r/8653 chore(3p/sources): bump channels & overlays (2024-09-01)Vincent Ambo19-198/+56
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 r/8652 feat(tazjin/home): configure screen locking with swayidleVincent Ambo1-0/+8
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 r/8651 feat(depot-deps): add git-review CLIVincent Ambo1-0/+1
This is a CLI for uploading changes to Gerrit. Change-Id: I45fe592934174ab86af267c54b1f6a190617be62 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12392 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: Yury Shvedov <yury.shvedov@kaspersky.com> Tested-by: BuildkiteCI
2024-09-03 r/8650 fix(tazjin/nixos): fix wayland screen sharingVincent Ambo1-0/+10
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 r/8649 fix(tazjin/nixos): always start pipewire before niriVincent Ambo1-0/+4
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 r/8648 fix(tazjin/khamovnik): try to force suspend on all lid close eventsVincent Ambo1-0/+7
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 r/8647 feat(tools/eaglemode/plugins/avif): AVIF image pluginEmery Hemingway5-0/+277
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 r/8646 feat(tools/eaglemode/plugins): QOI image pluginEmery Hemingway5-4/+343
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 r/8645 docs(tvix/contributing): remove reference to b/201Florian Klink1-6/+3
This should be fixed with the switch to a "GitHub App" for authentication. Change-Id: I0bd8b4b9c9f53a754a12ce07f193d19f61f56014 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12414 Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de>
2024-09-03 r/8644 refactor(tazjin/emacs): change key bindings for telega/term-switcherVincent Ambo1-2/+3
Change-Id: Ia083a337f69aa258b9d4487affc594f5c4f1096d Reviewed-on: https://cl.tvl.fyi/c/depot/+/12426 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-09-03 r/8643 feat(tazjin/nixos): install waybar on desktop machinesVincent Ambo1-0/+1
Change-Id: I3b60b12175168e67df55d4eff28d2cac4f30aff1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12425 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-09-03 r/8642 fix(tazjin/nixos): replace wezterm with alacritty againVincent Ambo1-1/+1
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 r/8641 feat(tazjin/nixos): enable Qt theming with qt5ctVincent Ambo1-0/+4
Change-Id: I1ce0ab9085951d48021f2034a32bcf91c0a675df Reviewed-on: https://cl.tvl.fyi/c/depot/+/12423 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-09-03 r/8640 feat(tools/eaglemode/commands): add Sam/Acme plumb commandEmery Hemingway3-0/+34
Change-Id: I80443e88180e87c7f7b7c8ae322c5076d1ce0a02 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12422 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-09-02 r/8639 feat(tazjin/eaglemode): add example plugin to configVincent Ambo1-6/+8
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 r/8638 feat(eaglemode/plugins): bootstrap Yandex Tracker pluginVincent Ambo5-0/+129
Bootstraps a plugin (that doesn't do anything yet) for accessing Yandex Tracker through Eagle Mode. This commit only initialises the plugin files, it doesn't actually do anything other than print the word "Loaded". API docs for future development: https://yandex.cloud/ru/docs/tracker/about-api The next steps will be to figure out the emModel classes and the threading model for fetching the remote data. Change-Id: Ifce8bc2a61c4fd0c4a591013acbf428a9f5803f8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12398 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-09-02 r/8637 feat(tools/eaglemode): add plugin builder for eagle modeVincent Ambo2-1/+69
Adds a buildPlugin function which can build Eagle Mode plugins that can ultimately be linked into Eagle Mode using the existing etcDir function. Change-Id: I338171779d3547faecbfb708fbaa78cd1cfd59ac Reviewed-on: https://cl.tvl.fyi/c/depot/+/12387 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: emery <emery@dmz.rs> Reviewed-by: azahi <azat@bahawi.net>