about summary refs log tree commit diff
path: root/users/tazjin/nixos/modules
AgeCommit message (Collapse)AuthorFilesLines
2024-08-31 r/8627 feat(tazjin/home): configure wpaperdVincent Ambo1-1/+0
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 r/8626 feat(tazjin/nixos): setup niri (scrolling window manager)Vincent Ambo1-21/+25
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 r/8624 feat(tazjin/nixos): ensure eaglemode is always installedVincent Ambo1-2/+3
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-06-10 r/8244 chore(third_party/geesefs): move to expression in nixpkgsFlorian Klink1-1/+1
This now exists in nixpkgs, and a more recent version of it. Change-Id: I51fe038ba9459587952028f77e97b48212d13e74 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11762 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-06-10 r/8237 chore(tazjin/arbat): some more attempted fixesVincent Ambo1-0/+1
* Try to convince libinput (seemingly futile) to change the trackpad behaviour. * Make XFCE available to debug the EXWM hangs on this CPU. Change-Id: Iff7189127c849beaf7ded3927abd14b90cf6b9fc Reviewed-on: https://cl.tvl.fyi/c/depot/+/11775 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2024-06-10 r/8236 fix(tazjin/arbat): disable powertop auto-tuningVincent Ambo1-1/+0
It breaks USB devices. Change-Id: I92fb024da4361537c8b6873fae2fcc1bf8572abc Reviewed-on: https://cl.tvl.fyi/c/depot/+/11774 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2024-06-09 r/8231 fix(tazjin/nixos): let home-manager overwrite filesVincent Ambo1-0/+1
Chromium or something keeps barfing conflicting mime-types files, which causes the entire home-manager activation to fail. I'd be fine with it just overwriting those files, but couldn't be bothered to figure out how to configure that, hence just use the fix from its error message. Change-Id: I2e4e0807339dd426b3d99578d0d004529403a882 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11769 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-06-09 r/8230 fix(tazjin/nixos): use renamed libinput optionVincent Ambo1-2/+1
Change-Id: Iceb746abc037b898aa08912b37ef76d531247fa6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11767 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-06-09 r/8229 feat(tazjin/nixos): bootstrap arbat (Zhaoxin CPU notebook)Vincent Ambo1-0/+1
Prepares the pre-installation config (before actually running the installer on the notebook and dumping out a hardware config etc.). Change-Id: Ia74c4bfa298738cbf8c4034c22d9f8b51c7e67e0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11765 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-06-09 r/8228 fix(tazjin/nixos): default to shared home configVincent Ambo1-1/+2
If a system doesn't have an overridden home config, just use the shared one. Change-Id: I6a61f02ec49bfbf0057be7e6481847ee053e7fda Reviewed-on: https://cl.tvl.fyi/c/depot/+/11766 Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su>
2024-06-08 r/8226 feat(tazjin/nixos): move go-related tooling to moduleVincent Ambo1-0/+3
One of these things that I manually install on all machines, that might as well be in a module. Change-Id: I2b3005157ce48a144262cd38df22cbe513039021 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11764 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-05-08 r/8091 feat(tazjin/nixos): install `when` everywhereVincent Ambo1-0/+1
Change-Id: I49f201250cbcbba98e0641c2868e1cb2230d6b3b Reviewed-on: https://cl.tvl.fyi/c/depot/+/11599 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2024-04-28 r/8023 refactor(3p): use josh from nixpkgssterni1-1/+1
The change we need has been released and propagated to nixos channels. Change-Id: Ib10a1d42d7ef6deaf5665a13b72ece345e83d7dc Reviewed-on: https://cl.tvl.fyi/c/depot/+/11457 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2024-02-26 r/7611 fix(users/tazjin): fix warnings for renamed NixOS optionsVincent Ambo1-2/+2
Change-Id: I1bb9c1bdcf61d0216177bf3454467c6c80649893 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11032 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: sterni <sternenseemann@systemli.org>
2024-02-25 r/7604 fix(tazjin/nixos): fix feed reader base URLVincent Ambo1-0/+1
Change-Id: Ieab824873c602a8b56637f69f61736864fcbb558 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11024 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-02-25 r/7603 feat(tazjin/koptevo): experimental miniflux setupVincent Ambo1-0/+21
Change-Id: I2020a6bf2262966d41d3b47a17b122df121d661d
2024-02-25 r/7602 chore(tazjin/nixos): remove monica setupVincent Ambo1-26/+0
I never ended up actually using this for anything. Change-Id: I2bd9a46f6284d8283453d34eab6134efc92ea684 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11023 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2024-02-22 r/7592 chore(tazjin/nixos/laptop): timezone Bangkok->MoscowVincent Ambo1-1/+1
Change-Id: Ia1db8e8aa15128e7ec18fffe773377bce3192ea4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11011 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-02-15 r/7521 chore(tazjin/nixos/laptop): timezone Moscow->BangkokVincent Ambo1-1/+1
Change-Id: Id3fdc1e9fc7ca04921453a9ddbe6a1f09dfec82f Reviewed-on: https://cl.tvl.fyi/c/depot/+/10865 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2024-01-17 r/7402 fix(tazjin/nixos): disable internal borders in emacsVincent Ambo1-1/+1
They can apparently lead to frame geography calculation issues. Change-Id: I0a01b9980b30580be6fb356d1c797d551731332c Reviewed-on: https://cl.tvl.fyi/c/depot/+/10656 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2023-12-30 r/7287 fix(tazjin/nixos): disable stub-ldVincent Ambo1-0/+4
This thing has been introduced recently and prints annoying warnings when running manually patchelfed binaries with the default loader path (which used to work fine!). This doesn't actually fix running the binaries, which now segfault, but at least it doesn't print a paragraph of annoying text in the terminal instead. Change-Id: Ie0d8c3cc124b71d244e10f3755431fb3401ff81b Reviewed-on: https://cl.tvl.fyi/c/depot/+/10479 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-12-01 r/7102 feat(tazjin/nixos): annual attempt to use FirefoxVincent Ambo1-0/+1
Lets see if it's good now. Chrom(e|ium) (and by extension (pun intended) derivatives) are getting rid of ad blockers, so need to do *something*. Change-Id: Id7c69d38ddb0ad929aed9e6fbae4d9919ed0731f Reviewed-on: https://cl.tvl.fyi/c/depot/+/10177 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-11-03 r/6934 chore(users/tazjin): fonts.fonts -> fonts.packagesFlorian Klink1-1/+1
Change-Id: I762f1cb72b9a87850bb2afb9a129a13428fe22e9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9914 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su>
2023-11-02 r/6924 chore(tazjin/nixos): remove some unused softwareVincent Ambo1-4/+0
Change-Id: I87e4b709906333ff9316792effb1082973dc918c Reviewed-on: https://cl.tvl.fyi/c/depot/+/9896 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2023-10-01 r/6683 fix(tazjin/koptevo): minor reliability fixes for music setupVincent Ambo1-0/+1
* zramSwap: during reindexing, geesefs can be pushed to the boundaries of what the new overaggressive OOM killer accepts, and I don't want to bother configuring that thing instead. * umount: geesefs dying unexpectedly leaves broken mounts around, clean these up before proceeding This bakes in the assumption that there's only ever one geesefs service, but that assumption is baked in anyways. Change-Id: Id85c2f5bc2312a7246ea20229eb36d2cc1bd82c0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9500 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-10-01 r/6682 feat(tazjin/koptevo): deploy airsonic at player.tazj.inVincent Ambo1-0/+32
Change-Id: I9f0dec6491906319550c97d4cc15b2cdda4a5ebe Reviewed-on: https://cl.tvl.fyi/c/depot/+/9499 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2023-09-30 r/6679 feat(tazjin/nixos): add geesefs mount unit for koptevo ...Vincent Ambo1-0/+37
... this will make sense soon! Change-Id: I1f8f32d655afdf868fff4bd09e1fea2943fd7558 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9496 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-09-30 r/6676 feat(tazjin/nixos): helper script for mounting GeeseFSVincent Ambo1-0/+1
Can't be bothered to make something more automated for now. Change-Id: Ie245af90c1a62a5988b97d16f86b6567e1ffafd0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9493 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-15 r/6590 chore(users/tazjin): drop 'exa' from my systemsVincent Ambo1-1/+0
I don't use it, and it's deprecated. Change-Id: I8e8c505ba309d5228b54f155463af4ed007f5452 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9331 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-11 r/6578 chore(tazjin/nixos): ensure expect is always installedVincent Ambo1-0/+1
Change-Id: I2beff7484e869fcf2771e7e1c9ba5f73d0daea25 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9295 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2023-08-29 r/6537 refactor(tazjin/nixos): pick correct Emacs from a NixOS optionVincent Ambo2-81/+93
This gives me the ability to override the Emacs per-machine easily. Change-Id: Id480889c108833b0a11c377a9b1e946900c5aba1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9166 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-07-23 r/6441 fix(tazjin/nixos): fix Java applications under EXWMVincent Ambo1-0/+1
I keep setting this manually to launch Java applications, might as well just set it system-wide. Change-Id: I3a3477cd4364b4c170b98320e2cab1359dd399fe Reviewed-on: https://cl.tvl.fyi/c/depot/+/8982 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-07-14 r/6427 feat(tazjin/nixos): put `aspell` on physical machinesVincent Ambo1-0/+1
Change-Id: I98421d13f64fa402a44d3ae78eb0eb941fb70d40 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8967 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-30 r/6363 chore(tazjin/nixos): disable mullvad-vpn serviceVincent Ambo1-4/+1
Change-Id: Ie5005f5485b77bbafcfaf353db0e8f53caed00f8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8877 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-29 r/6361 chore(3p/sources): Bump channels & overlayssterni1-1/+1
* //3p/sources: switch stable channel from 21.11 (!) to 23.05 * //users: adapt to emacsUnstable to emacs-unstable rename * //users/grfn: use default Linux kernel version everywhere, as 5.15 has broken in this version of nixos-unstable. * //3p/cgit: adapt to git 2.41.0 The committed changes are the same as the [patch1] I've submitted to cgit-pink which is in turn based on Christian Hesse's [patch2]. patch1: https://causal.agency/list/thread/20230624144033.802270-1-sternenseemann%40systemli.org.html#20230624144033.802270-2-sternenseemann@systemli.org> patch2: https://lists.zx2c4.com/pipermail/cgit/2023-June/004843.html Co-authored-by: Christian Hesse <mail@eworm.de> Change-Id: I549a62e7c85c66d772edda997819a40f2d5835d7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8855 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Reviewed-by: grfn <grfn@gws.fyi>
2023-06-29 r/6360 feat(tazjin/nixos): deploy monica on koptevoVincent Ambo1-0/+26
Change-Id: Iaa74d995f3b2556673095a32ec2b718dcb2d82a4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8849 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-18 r/6328 feat(tazjin/koptevo): deploy tgsaVincent Ambo1-2/+6
The main instance is still running on polyanka, but things are moving in this direction. Change-Id: Idfa9e508023c05148003ac4621ae01dceb284c66 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8827 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-14 r/6293 fix(tazjin/nixos): fix 32-bit support for gamesVincent Ambo1-0/+1
Change-Id: I04cb7c448228771536f9f87155183bdaa8faf4e8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8768 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-05-24 r/6195 feat(tazjin/nixos): pass api key to tgsa in a hacky wayVincent Ambo1-0/+1
Change-Id: I45824b65689a659ba25629f3565b9d5cb77b61c3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8626 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-04-17 r/6097 refactor(tazjin/nixos): zerotier out, tailscale in (again)Vincent Ambo1-14/+0
Tailscale just works better out of the box than Zerotier, and its clients aren't unfree. Change-Id: Ie35ef1adde0edbe923992b02e6b636269a96a81e Reviewed-on: https://cl.tvl.fyi/c/depot/+/8482 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-04-07 r/6072 chore(3p/sources): Bump channels & overlayssterni1-1/+3
* Satisfy new assert that the corresponding shell needs to be enabled via programs.* if it is as the login shell of at least one user. * //users/tazjin: “Address” removal of hardware.video.hidpi option. * //3p/gerrit: update fetch sha256 Change-Id: Id0988a0ea7f393d6b7848a7104fc3526ee1177f4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8407 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-04-01 r/6070 fix(tazjin/nixos): scrot is out, maim is inVincent Ambo1-1/+1
Scrot doesn't work very well anyways, it keeps producing crazy artifacts. Maim seems more sane. Change-Id: I0823b1755b7810c8b35a9c53f232d2e7f1722943 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8414 Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su>
2023-03-09 r/5905 feat(tazjin/nixos): manage some chromium settings in NixVincent Ambo2-1/+30
Change-Id: Idec699f2c52385dbb4cceb9aece1e1f246d2f619 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8233 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-03-09 r/5903 chore(tazjin/nixos): reduce number of browsersVincent Ambo1-2/+1
One normal chromium is enough. google-chrome is not needed because Chromecasts usually don't work anymore anyways. Change-Id: I48bed05c56bd6f450be393cf727930eaad5cd6b9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8231 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2023-01-17 r/5678 chore(tazjin/predlozhnik): move to //corpVincent Ambo1-1/+1
This is currently hosted by the company, and I'm assigning my copyright to the company, which also runs an ad placement on the page. Note that the NixOS module for hosting it has not been moved yet. Change-Id: Iba9e1cab9370faa79e43c3344fbfbbbabead50b3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7857 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-01-04 r/5578 feat(tazjin/nixos): install ungoogled-chromiumVincent Ambo1-0/+1
Change-Id: I664dc09cf92b98ab7cccb785b1e5f00c00b3305e Reviewed-on: https://cl.tvl.fyi/c/depot/+/7743 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2022-12-27 r/5499 fix(tazjin/nixos): delete firefox from machinesVincent Ambo1-1/+0
Quassel sometimes thinks it's a reasonable thing to do to start firefox instead of my default browser. Why? I've got no clue. But since I don't use Firefox anyways unless there's a special situation going on, lets just delete it. Change-Id: Ib7ad4cc53c44ac47f3a0c3922600c3915f90219c Reviewed-on: https://cl.tvl.fyi/c/depot/+/7646 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-12-19 r/5426 chore(3p/sources): Bump channels & overlayssterni1-1/+1
* //users/grfn/modules/games: StoneSense requires DFHack to be enabled * //users/grfn/system/iso: gtk needs cairo with xlibs * //users: deal with emacs-overlay attribute renames * //3p/overlays: downgrade sbcl to workaround lisp-binary compilation failure Change-Id: I1573280a923e5021ef399734cb5519b37e72c670 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7563 Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2022-11-29 r/5353 chore(tazjin/nixos): set laptop timezone to Europe/MoscowVincent Ambo1-1/+1
Change-Id: I966e48a846a101f01a78ed9245f4bb45bc905695 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7455 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2022-11-04 r/5239 chore(tazjin/nixos): set laptop timezones to Europe/StockholmVincent Ambo1-1/+1
Change-Id: I9ae66d54cc557e0f4dec7bd3b38022274b16263f Reviewed-on: https://cl.tvl.fyi/c/depot/+/7169 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>