1237 Commits

Author SHA1 Message Date
oqyude 55edbb093a 123123 2026-03-01 18:01:27 +03:00
oqyude 20852f3d52 123 2026-03-01 17:59:13 +03:00
oqyude 02f3989c1f 123 2026-03-01 17:56:58 +03:00
oqyude e219d00995 123 2026-03-01 17:49:34 +03:00
oqyude fb1375a3dd 123 2026-03-01 17:37:10 +03:00
oqyude 62249af1a6 123 2026-03-01 17:07:01 +03:00
oqyude 00fc5bde43 123 2026-03-01 16:56:21 +03:00
oqyude 39fe12f5ab 123 2026-03-01 16:51:36 +03:00
oqyude 7ce10b7dee 123 2026-03-01 16:49:41 +03:00
oqyude 53ec13b245 123 2026-03-01 16:47:39 +03:00
oqyude 2f3ebae2fe 123 2026-03-01 16:47:13 +03:00
oqyude 45027747f3 123 2026-03-01 16:45:38 +03:00
oqyude 8c1be673bf 123 2026-03-01 16:43:41 +03:00
oqyude 63dd521803 123 2026-03-01 16:40:07 +03:00
oqyude 9a70e8e2b1 123 2026-03-01 16:35:48 +03:00
oqyude 79e5f6a8d6 123 2026-03-01 16:30:21 +03:00
oqyude 476e34ddee 123 2026-03-01 16:28:54 +03:00
oqyude f855142a98 123 2026-03-01 16:15:11 +03:00
oqyude d00e298dc5 test 2026-03-01 16:02:34 +03:00
oqyude 4a8abddc82 a 2026-02-26 14:08:07 +03:00
oqyude 5b83eccec2 123 2026-02-25 01:17:29 +03:00
oqyude c4efcd4168 123 2026-02-25 00:39:33 +03:00
oqyude dc97c3403c 123 2026-02-25 00:39:11 +03:00
oqyude 77d6a4e50b 123 2026-02-25 00:25:27 +03:00
oqyude 1cae329e0c 123 2026-02-25 00:02:14 +03:00
oqyude 71a4e7cbb2 123 2026-02-24 21:56:11 +03:00
oqyude 2945f72849 12 2026-02-24 17:51:22 +03:00
oqyude 4390916124 123 2026-02-24 11:19:36 +03:00
oqyude f937ac730f 123 2026-02-21 23:12:20 +03:00
oqyude 0c931eba89 123 2026-02-19 17:48:58 +03:00
oqyude f187375faa 123 2026-02-19 17:47:13 +03:00
oqyude b572f4b817 123 2026-02-19 17:45:00 +03:00
oqyude 3e2e2542da 123123 2026-02-18 13:17:10 +03:00
oqyude 1bc2cd2707 Merge branch 'master' of github.com:oqyude/nixos 2026-02-18 13:16:22 +03:00
oqyude f8b74e8d88 123 2026-02-18 10:32:34 +03:00
oqyude 564458ecb5 1 2026-02-18 09:24:29 +03:00
oqyude 9449dcaf65 123 2026-02-18 09:21:56 +03:00
oqyude 37baca51aa 123 2026-02-18 09:08:02 +03:00
oqyude f22981f877 123 2026-02-17 22:05:53 +03:00
oqyude 2988c9cf56 123 2026-02-17 21:56:26 +03:00
oqyude 1dd0808f8f 123 2026-02-17 21:49:51 +03:00
oqyude 52624479ee Merge branch 'master' of github.com:oqyude/nixos 2026-02-17 21:48:38 +03:00
oqyude 1462419052 123 2026-02-17 21:48:35 +03:00
oqyude d3b8189aa6 123 2026-02-17 21:33:21 +03:00
oqyude d8418c2dd4 123 2026-02-17 21:30:10 +03:00
oqyude 4aa8edecac 123 2026-02-17 21:26:27 +03:00
oqyude 45cbdbff2d 123 2026-02-17 21:17:08 +03:00
oqyude 663820b72f 123 2026-02-17 21:09:19 +03:00
oqyude a842f8b3a1 123 2026-02-17 21:03:29 +03:00
oqyude 37f3b8a764 123 2026-02-17 20:42:48 +03:00
oqyude 36e48e9bf4 123 2026-02-17 20:06:47 +03:00
oqyude 053c4c2582 123 2026-02-17 19:07:13 +03:00
oqyude 0261dd1449 213 2026-02-17 19:05:17 +03:00
oqyude bdc362c29e 123 2026-02-17 19:04:48 +03:00
oqyude 0a8fcda81a 123 2026-02-17 18:52:31 +03:00
oqyude c019a9adb5 123 2026-02-17 18:43:59 +03:00
oqyude 081730a6a5 123 2026-02-17 18:39:57 +03:00
oqyude 2ceef90e4c nix flake update 2026-02-14 11:22:56 +03:00
oqyude 6b84713f56 213 2026-02-14 11:19:14 +03:00
oqyude b9b22774f5 nix flake update 2026-02-11 13:35:48 +03:00
oqyude 2abbc76ea1 213 2026-02-11 13:23:55 +03:00
oqyude a6030f6cdd 123 2026-02-11 13:22:17 +03:00
oqyude 181468182a 123 2026-02-11 00:28:57 +03:00
oqyude d057b69ebd 123 2026-02-09 19:10:49 +03:00
oqyude 82d4d08005 1 2026-02-08 10:48:07 +03:00
oqyude c7434c86a9 nix flake update 2026-02-06 20:48:17 +03:00
oqyude fa1e35b44e 123 2026-02-06 20:46:40 +03:00
oqyude c8bc2e4591 123 2026-02-03 19:30:32 +03:00
oqyude 418dea4a1d 123 2026-02-03 19:24:25 +03:00
oqyude 3c7d28ea63 123 2026-02-03 19:23:32 +03:00
oqyude 553cad4095 123123 2026-02-03 19:20:20 +03:00
oqyude e70d6cfbf1 123 2026-02-03 19:09:41 +03:00
oqyude a6fba87b6f 123 2026-02-03 18:41:52 +03:00
oqyude f97a0ed45c 123 2026-02-03 18:36:16 +03:00
oqyude d8daa48e25 123 2026-02-03 18:11:40 +03:00
oqyude 03b126f7fe 123 2026-02-03 17:47:47 +03:00
oqyude 098d422946 123 2026-02-03 17:44:11 +03:00
oqyude c0c153ab2a 123 2026-02-01 14:43:18 +03:00
oqyude 38512c5ef0 123 2026-02-01 14:04:55 +03:00
oqyude 05de6e567e nix flake update 2026-02-01 13:28:29 +03:00
oqyude 463479d84c Merge branch 'master' of github.com:oqyude/nixos 2026-02-01 13:27:36 +03:00
oqyude 271dfd2374 123 2026-01-30 23:52:11 +03:00
oqyude 5ab8f8d687 123 2026-01-30 22:35:24 +03:00
oqyude 59ad3b788f 123 2026-01-30 21:21:07 +03:00
oqyude ff90e15427 nixpkgs-master update 2026-01-30 18:43:04 +03:00
oqyude 64ec3bc050 123 2026-01-28 18:49:51 +03:00
oqyude bd5f1e0182 123 2026-01-27 16:01:38 +03:00
oqyude 31031ed6e4 123 2026-01-27 15:55:33 +03:00
oqyude 69b4b32841 123 2026-01-26 18:25:53 +03:00
oqyude 4245b45a48 123 2026-01-26 18:22:55 +03:00
oqyude 8c4f716521 123 2026-01-26 18:20:40 +03:00
oqyude 0d37c1fd5a 123 2026-01-26 18:09:23 +03:00
oqyude 87866bcd5a 123 2026-01-26 18:05:24 +03:00
oqyude d9241a31a3 123 2026-01-26 12:57:20 +03:00
oqyude 1a98e3b685 123 2026-01-26 11:47:16 +03:00
oqyude 1cb0bc1334 123 2026-01-26 11:46:53 +03:00
oqyude 1866dae20d 123 2026-01-26 11:45:47 +03:00
oqyude 7b5ee15190 123 2026-01-26 11:44:34 +03:00
oqyude 0f5bbf09ba 123 2026-01-26 11:42:10 +03:00
oqyude 6baae7bbdd 123 2026-01-26 11:41:03 +03:00
oqyude 2b3501e0b6 123 2026-01-26 11:40:22 +03:00
oqyude 609b1604e4 anything 2026-01-26 11:38:51 +03:00
oqyude a87605babe nix flake update 2026-01-26 11:16:44 +03:00
oqyude ee892dcba3 123 2026-01-24 14:03:37 +03:00
oqyude b6c59734ff 123 2026-01-24 13:55:59 +03:00
oqyude 1646da180a 123 2026-01-24 13:54:02 +03:00
oqyude c5a41f4fbe 123 2026-01-24 13:53:44 +03:00
oqyude b0c7f7fc67 123 2026-01-24 13:21:36 +03:00
oqyude f83b2c12e3 123 2026-01-24 13:05:09 +03:00
oqyude 32668fbc16 Merge branch 'master' of github.com:oqyude/nixos 2026-01-24 12:35:29 +03:00
oqyude ff9976907b 12 2026-01-24 12:35:26 +03:00
oqyude 78c3dccb56 nix flake update 2026-01-24 09:56:42 +03:00
oqyude e8b06ae0ed 123 2026-01-19 16:32:41 +03:00
oqyude d9d145bf4e 123 2026-01-19 16:16:23 +03:00
oqyude f0b3d13d3a 123p 2026-01-19 16:12:13 +03:00
oqyude a6f68e0343 nix flake update 2026-01-19 16:04:57 +03:00
oqyude fd2e92a723 123 2026-01-19 16:02:58 +03:00
oqyude 639fa24677 123 2026-01-19 15:58:58 +03:00
oqyude 299f8592c2 123 2026-01-19 15:47:20 +03:00
oqyude c2dd58e9e4 123 2026-01-19 14:02:06 +03:00
oqyude 84f8ee3e39 123 2026-01-19 12:44:21 +03:00
oqyude 7ac1ed3b28 12 2026-01-19 12:28:06 +03:00
oqyude 07fee635a3 123 2026-01-19 12:03:52 +03:00
oqyude ff2f24a25d 213 2026-01-18 17:51:49 +03:00
oqyude 7b91a33b43 123 2026-01-18 17:51:39 +03:00
oqyude d9620297f7 123 2026-01-18 17:48:17 +03:00
oqyude 3a1be13865 213 2026-01-18 17:44:20 +03:00
oqyude a47d2b431c 123 2026-01-18 17:43:45 +03:00
oqyude f42bf0f8ca 123 2026-01-18 17:43:16 +03:00
oqyude 185cf18c0a 123 2026-01-18 17:42:21 +03:00
oqyude f5b71cad27 213 2026-01-18 17:25:06 +03:00
oqyude b0fc42fe1d 123 2026-01-18 17:23:25 +03:00
oqyude 4d88e32109 123 2026-01-18 17:00:26 +03:00
oqyude 85ad169a78 213 2026-01-18 16:59:58 +03:00
oqyude 9a6954ee2b 123 2026-01-18 16:59:49 +03:00
oqyude a5a2bf01b8 123 2026-01-18 16:56:50 +03:00
oqyude 4183f74ff6 123 2026-01-18 16:56:35 +03:00
oqyude 5febe42936 123 2026-01-18 16:47:08 +03:00
oqyude 742b48cc76 123 2026-01-18 16:45:24 +03:00
oqyude 8da5c51f73 123123 2026-01-18 16:42:28 +03:00
oqyude 2e59594f78 123 2026-01-18 16:27:57 +03:00
oqyude e4df6f8091 123 2026-01-18 16:26:07 +03:00
oqyude 215870a0b7 123 2026-01-18 16:18:28 +03:00
oqyude 8a463be2bb 123 2026-01-18 16:14:45 +03:00
oqyude ee6324a668 213 2026-01-18 16:10:16 +03:00
oqyude 4ebf6bf56d 123 2026-01-18 16:08:58 +03:00
oqyude 1b1f462e30 123 2026-01-18 16:08:44 +03:00
oqyude 592266855c Merge branch 'master' of github.com:oqyude/nixos 2026-01-18 15:57:31 +03:00
oqyude ff42430a12 123 2026-01-18 15:57:28 +03:00
oqyude 22f01f9dde 123 2026-01-18 15:56:23 +03:00
oqyude 47333aa53a 123 2026-01-18 15:55:59 +03:00
oqyude 03f98a11cd 123 2026-01-18 15:53:20 +03:00
oqyude a13a41880e 123 2026-01-18 15:47:38 +03:00
oqyude 0ca4aa69c7 123 2026-01-18 15:23:14 +03:00
oqyude 187553042a 123 2026-01-18 15:08:16 +03:00
oqyude d4b0ca936b Merge branch 'master' of github.com:oqyude/nixos 2026-01-17 16:15:00 +03:00
oqyude 730a8a4f42 123 2026-01-17 16:14:20 +03:00
oqyude 95147647bc 123 2026-01-17 15:15:23 +03:00
oqyude 8177d1e4c2 123 2026-01-17 13:48:21 +03:00
oqyude 871c589d48 ewrr 2026-01-17 13:43:14 +03:00
oqyude b06b6b2480 123 2026-01-17 13:41:05 +03:00
oqyude 6c7e29c590 123 2026-01-16 18:52:03 +03:00
oqyude 9537f36082 123 2026-01-16 18:51:22 +03:00
oqyude bb9893800c 123 2026-01-16 14:10:32 +03:00
oqyude 00cdf8f2e8 123 2026-01-16 13:57:23 +03:00
oqyude 137e3cce4b 123 2026-01-16 13:52:04 +03:00
oqyude 2a48a1e2b6 123 2026-01-16 13:46:43 +03:00
oqyude b7d9f60d61 123 2026-01-16 13:42:47 +03:00
oqyude aa98058b41 123 2026-01-16 13:39:19 +03:00
oqyude 0767242ae8 123 2026-01-16 13:34:17 +03:00
oqyude edb1e49456 213 2026-01-16 12:17:48 +03:00
oqyude 0fe90fa456 Merge branch 'master' of github.com:oqyude/nixos 2026-01-16 11:42:11 +03:00
oqyude 1cc567b549 123 2026-01-16 11:42:08 +03:00
oqyude 001f515961 123 2026-01-16 11:41:15 +03:00
oqyude 113efef0bb 123 2026-01-16 11:14:31 +03:00
oqyude fbdec0df9e Merge branch 'master' of github.com:oqyude/nixos 2026-01-16 11:05:14 +03:00
oqyude 152e0fba2f 123 2026-01-16 11:05:11 +03:00
oqyude ad50394a5d nix flake update 2026-01-16 10:55:46 +03:00
oqyude 597a2d225e 123 2026-01-16 10:53:13 +03:00
oqyude ab6bf4a0cc 123 2026-01-15 21:54:31 +03:00
oqyude d53dd8b031 123 2026-01-15 21:51:59 +03:00
oqyude bcc189648f 123 2026-01-15 21:45:24 +03:00
oqyude 852e98a0c4 123 2026-01-15 21:35:57 +03:00
oqyude 87947480c2 123 2026-01-15 21:31:51 +03:00
oqyude c94a7dac81 123 2026-01-15 21:30:40 +03:00
oqyude 3574f9d7e1 123 2026-01-15 21:30:16 +03:00
oqyude f582e70b2b 123 2026-01-15 21:29:24 +03:00
oqyude fb9ff953d2 123 2026-01-15 21:22:57 +03:00
oqyude 6e2cfff174 123 2026-01-15 21:15:36 +03:00
oqyude 1feced56b1 123 2026-01-15 20:54:28 +03:00
oqyude 1e108099f0 123 2026-01-15 20:50:17 +03:00
oqyude 88ae6fa2d2 123 2026-01-15 20:49:28 +03:00
oqyude 8fe0d83bfc Merge branch 'master' of github.com:oqyude/nixos 2026-01-15 20:47:12 +03:00
oqyude 9572cf95be 123 2026-01-15 20:47:09 +03:00
oqyude b90b514340 123 2026-01-15 20:45:10 +03:00
oqyude 4db634e84e 123 2026-01-15 20:44:56 +03:00
oqyude 292840f1fb 123 2026-01-15 20:43:03 +03:00
oqyude e20ffb4fca 123 2026-01-15 20:42:50 +03:00
oqyude 5755610075 1 2026-01-15 20:39:10 +03:00
oqyude b051d3d55f 123 2026-01-15 20:30:03 +03:00
oqyude 93f9513920 123 2026-01-15 20:24:20 +03:00
oqyude 8cb090178a 123 2026-01-15 20:14:35 +03:00
oqyude 85b08b27fb 123 2026-01-15 19:13:03 +03:00
oqyude 7c0539a106 123 2026-01-15 19:12:40 +03:00
oqyude b022fd1e10 123 2026-01-15 18:55:52 +03:00
oqyude 51a8a3bea7 123 2026-01-15 18:21:14 +03:00
oqyude 0f04c35019 123 2026-01-15 18:17:56 +03:00
oqyude 6d875e07ca 123 2026-01-15 18:17:33 +03:00
oqyude 83bcba2b4c 123 2026-01-15 18:16:19 +03:00
oqyude cfc7f3c40d 123 2026-01-15 17:47:44 +03:00
oqyude a1db2538d3 123 2026-01-15 17:47:26 +03:00
oqyude 348f825f62 123 2026-01-15 17:45:55 +03:00
oqyude d3e0f1270f 123 2026-01-15 17:43:41 +03:00
oqyude 02acf6ebcb 123 2026-01-15 17:42:42 +03:00
oqyude e0cc383c1f 123 2026-01-15 17:40:15 +03:00
oqyude c28e72d4e7 123 2026-01-15 17:39:53 +03:00
oqyude 908c7e1723 123 2026-01-15 17:36:19 +03:00
oqyude 96dd2c499f 123 2026-01-15 17:34:27 +03:00
oqyude f8578cb93c 123 2026-01-15 17:32:51 +03:00
oqyude bef5742f8f 123 2026-01-15 17:02:02 +03:00
oqyude df4c7e1012 123 2026-01-15 17:00:32 +03:00
oqyude aeae084df7 123 2026-01-15 16:30:04 +03:00
oqyude 43a743a7e5 213 2026-01-13 11:18:32 +03:00
oqyude 69abe9b606 123 2026-01-13 11:14:07 +03:00
oqyude 15a3c22b84 123 2026-01-13 11:07:34 +03:00
oqyude 625556456e 123 2026-01-13 11:04:40 +03:00
oqyude 275faca844 123 2026-01-13 11:03:14 +03:00
oqyude 68f8be8bc9 123 2026-01-13 11:00:51 +03:00
oqyude edf7ab9fbc 123 2026-01-11 15:41:38 +03:00
oqyude 30ae0e4de3 123 2026-01-11 15:27:03 +03:00
oqyude 1da50a076e 123 2026-01-11 15:26:43 +03:00
oqyude 28f28cf260 123 2026-01-11 14:29:40 +03:00
oqyude 804894a2fc 123 2026-01-11 13:54:36 +03:00
oqyude c402cfa7cf 123 2026-01-11 13:21:13 +03:00
oqyude 067aeec853 123 2026-01-11 13:05:40 +03:00
oqyude 0114694c4f 213 2026-01-11 13:03:54 +03:00
oqyude b7fa6742e1 123 2026-01-11 13:01:33 +03:00
oqyude e16acfd437 123 2026-01-11 13:00:40 +03:00
oqyude 41a9f7e028 123 2026-01-11 12:16:16 +03:00
oqyude a63dd64aa4 nix flake update 2026-01-11 11:58:00 +03:00
oqyude 82d7996270 123 2026-01-10 18:43:48 +03:00
oqyude 44a4eb5a47 123 2026-01-10 18:13:33 +03:00
oqyude abf5c682a0 123 2026-01-10 14:38:30 +03:00
oqyude c5a46606a5 123 2026-01-10 13:29:45 +03:00
oqyude 9a088d6bd5 123 2026-01-10 13:25:42 +03:00
oqyude 44258fabf4 123 2026-01-10 13:24:47 +03:00
oqyude 8be297b781 123 2026-01-09 21:19:02 +03:00
oqyude af1fd8f084 123 2026-01-09 21:11:10 +03:00
oqyude e9195b26ad 123 2026-01-09 20:50:53 +03:00
oqyude 3ab0d5d592 123 2026-01-09 20:50:27 +03:00
oqyude 73b61a8a2c 123 2026-01-09 19:57:13 +03:00
oqyude 9e329e183c 123 2026-01-09 19:56:38 +03:00
oqyude 06bdc9a521 123 2026-01-09 18:26:23 +03:00
oqyude 480da37c83 123 2026-01-09 18:18:50 +03:00
oqyude 443daa1c6c 123 2026-01-09 18:17:04 +03:00
oqyude a7a7dc4806 yazi 2026-01-09 18:10:29 +03:00
oqyude e1af076a94 123 2026-01-08 13:09:14 +03:00
oqyude de833db014 123 2026-01-05 14:14:43 +03:00
oqyude 3a28656a7c 123 2026-01-05 13:15:49 +03:00
oqyude 05291e53bf nix flake update 2026-01-05 12:58:08 +03:00
oqyude ed86b1228a 123 2026-01-05 12:57:56 +03:00
oqyude e4053b5943 123 2026-01-05 12:53:38 +03:00
oqyude b6ea091e38 123 2026-01-05 12:28:29 +03:00
oqyude fd1d318d47 123 2026-01-04 21:26:00 +03:00
oqyude 3af93b3dd9 Merge branch 'master' of github.com:oqyude/nixos 2026-01-04 20:50:06 +03:00
oqyude e2a8b852fe 123 2026-01-04 20:50:03 +03:00
oqyude dc22b0cada 123 2026-01-04 20:45:16 +03:00
oqyude e108a96c32 123 2026-01-04 20:41:39 +03:00
oqyude 54c8df31b6 123 2026-01-04 20:24:25 +03:00
oqyude ebdf90c03b 123 2026-01-04 20:22:06 +03:00
oqyude cbeac7021e 123 2026-01-04 20:13:47 +03:00
oqyude 9fa61da370 123 2026-01-04 19:56:15 +03:00
oqyude b03caa374f 123 2026-01-04 19:53:13 +03:00
oqyude 71c4243849 123 2026-01-04 19:40:20 +03:00
oqyude 221c7d916b 123 2026-01-04 19:16:58 +03:00
oqyude c06130697d 123 2026-01-04 19:16:47 +03:00
oqyude 912df3b7ff 123 2026-01-04 16:12:58 +03:00
oqyude dbf293e267 123 2026-01-04 16:03:44 +03:00
oqyude a83168bc77 123 2026-01-03 14:48:31 +03:00
oqyude b3b379f95f 123 2026-01-03 14:33:21 +03:00
oqyude fba260ce60 123 2026-01-03 12:48:36 +03:00
oqyude a98fd97c3b 123 2026-01-03 12:48:03 +03:00
oqyude 9adc66551e 123 2026-01-03 11:42:45 +03:00
oqyude 9948765bdb nix flake update 2026-01-03 11:32:43 +03:00
oqyude 8d234d8cb4 123 2026-01-02 14:45:16 +03:00
oqyude 46476196fb 123 2026-01-02 14:42:38 +03:00
oqyude fac9f5946c 123 2026-01-02 14:41:10 +03:00
oqyude d745747f1c 123 2026-01-02 14:17:55 +03:00
oqyude c8209a30ef 123 2026-01-02 14:07:50 +03:00
oqyude a1aee0b6db 123 2026-01-02 14:05:29 +03:00
oqyude 64ddecbbce 123 2026-01-01 20:43:47 +03:00
oqyude 56c2b8d505 123 2026-01-01 18:44:35 +03:00
oqyude 7c48159ef9 123 2026-01-01 18:26:24 +03:00
oqyude 3c010d44fa 123 2026-01-01 18:25:11 +03:00
oqyude 941ec5dea1 nix flake update 2026-01-01 18:09:31 +03:00
oqyude 6dd6532d65 123 2025-12-31 11:36:00 +03:00
oqyude c9363ca1db 123 2025-12-31 00:58:57 +03:00
oqyude efbf17284b 123 2025-12-30 16:39:33 +03:00
oqyude de02574fad 123 2025-12-30 16:35:57 +03:00
oqyude 92797c1065 123 2025-12-30 16:34:57 +03:00
oqyude b9f10de4a1 123 2025-12-30 16:31:52 +03:00
oqyude f09ed59b06 123 2025-12-30 16:26:18 +03:00
oqyude 5d8b0f0670 123 2025-12-30 16:12:34 +03:00
oqyude c09485e2be 123 2025-12-30 16:04:23 +03:00
oqyude f94e6a70d8 123 2025-12-30 13:07:48 +03:00
oqyude 7dd92c999c hm refactor 2025-12-30 12:42:54 +03:00
oqyude 6164c8c848 nix flake update 2025-12-30 11:49:05 +03:00
oqyude e8fcdaa8a5 123 2025-12-30 11:47:57 +03:00
oqyude 4389e2bb98 123 2025-12-30 11:47:25 +03:00
oqyude 06a85245b7 123123 2025-12-28 22:43:46 +03:00
oqyude 107ee5d504 nix flake update 2025-12-28 22:41:15 +03:00
oqyude d40582b1dc 123 2025-12-21 12:29:01 +03:00
oqyude 7385010925 123 2025-12-21 12:09:48 +03:00
oqyude debdfd1a2a 123 2025-12-20 13:35:07 +03:00
oqyude 8857c91092 123 2025-12-20 13:28:57 +03:00
oqyude 2ca1b01d6b preload remove 2025-12-12 13:59:40 +03:00
oqyude 3af2762482 nix flake update 2025-12-12 13:54:07 +03:00
oqyude 7a9f4de6c4 123 2025-11-30 15:17:48 +03:00
oqyude eb5847e638 1 2025-11-30 15:12:45 +03:00
oqyude 8b48b6041e 123 2025-11-30 14:14:20 +03:00
oqyude 2928ca7d9d 123 2025-11-30 14:03:12 +03:00
oqyude e379faca94 123 2025-11-30 14:02:52 +03:00
oqyude 8ea5796965 123 2025-11-30 13:53:44 +03:00
oqyude 7713115f88 123 2025-11-30 13:51:02 +03:00
oqyude 7e78e300fd testi 2025-11-30 13:41:09 +03:00
oqyude 108b00ba53 123 2025-11-30 13:34:30 +03:00
oqyude abb013e228 Merge branch 'master' of github.com:oqyude/nixos 2025-11-25 10:43:25 +03:00
oqyude 1ffc20e6fc 123 2025-11-25 10:42:01 +03:00
oqyude 916c9f3252 123 2025-11-25 10:41:05 +03:00
oqyude 3bbd353bfc nix flake update 2025-11-25 10:05:27 +03:00
oqyude a0c14a6e38 123 2025-11-25 10:01:30 +03:00
oqyude f8cd7197f2 master update for immich 2025-11-23 14:50:09 +03:00
oqyude 586874ded4 123 2025-11-23 14:48:19 +03:00
oqyude 721e1dcf94 123 2025-11-23 14:33:27 +03:00
oqyude 2453163f7c 213 2025-11-20 22:43:55 +03:00
oqyude 999e2a1247 123 2025-11-20 22:42:36 +03:00
oqyude a650a01161 12312asdgferg 2025-11-20 22:41:04 +03:00
oqyude 3074364ebb 123 2025-11-20 12:29:27 +03:00
oqyude 51254c91d1 123 2025-11-15 22:25:49 +03:00
oqyude 68c1885754 nix flake update 2025-11-14 22:59:19 +03:00
oqyude 6573b68e34 123 2025-11-14 22:50:59 +03:00
oqyude 3a81788f88 123 2025-11-13 21:26:14 +03:00
oqyude 007bbbb218 123 2025-11-13 21:19:44 +03:00
oqyude 19140df10a 123 2025-11-13 21:19:32 +03:00
oqyude 13f65f573e 123 2025-11-12 13:24:55 +03:00
oqyude 3062e8888e 123 2025-11-12 13:24:19 +03:00
oqyude c9a60fe9e4 213 2025-11-10 19:45:19 +03:00
oqyude fec2582228 123 2025-11-10 19:43:46 +03:00
oqyude db4753cbd3 123 2025-11-10 19:42:52 +03:00
oqyude 899c08e4b6 123 2025-11-09 18:36:23 +03:00
oqyude 7a3caf2923 123 2025-11-09 18:28:57 +03:00
oqyude cb5ae6a770 123 2025-11-09 18:27:46 +03:00
oqyude 542870ca6f 123 2025-11-09 17:48:46 +03:00
oqyude 651431b62a 123 2025-11-09 17:43:26 +03:00
oqyude e2012c3c6a 123 2025-11-09 17:35:53 +03:00
oqyude e27c7aec33 123 2025-11-09 17:28:27 +03:00
oqyude 6fb234f7b0 123 2025-11-09 17:27:54 +03:00
oqyude 889e4a1531 123 2025-11-09 17:25:23 +03:00
oqyude 5270458b17 123 2025-11-09 17:23:25 +03:00
oqyude 977a304b8f 123 2025-11-09 17:18:43 +03:00
oqyude f92b90c2dd 123 2025-11-09 17:02:41 +03:00
oqyude e6f42c312f 123 2025-11-09 16:26:01 +03:00
oqyude 3e1557ceca 123 2025-11-09 16:09:25 +03:00
oqyude 408f3e4284 123 2025-11-09 16:09:10 +03:00
oqyude a09fcd997d 123 2025-11-09 16:00:29 +03:00
oqyude 8b32dab9a8 123 2025-11-09 15:59:31 +03:00
oqyude b8042cd6f0 123 2025-11-09 15:56:26 +03:00
oqyude 17fb37f4b6 123 2025-11-09 15:43:46 +03:00
oqyude 647c2c9ad2 123 2025-11-09 15:43:36 +03:00
oqyude 6b65bb1e0d Merge branch 'master' of github.com:oqyude/nixos 2025-11-09 15:24:45 +03:00
oqyude 35d245ee6d 123 2025-11-09 15:24:42 +03:00
oqyude f9c50b2d60 123 2025-11-09 12:08:09 +03:00
oqyude 65c2ebc1f2 123 2025-11-09 12:07:11 +03:00
oqyude ac5f58832a 123 2025-11-07 20:16:02 +03:00
oqyude 821c5b7a63 123 2025-11-07 20:09:04 +03:00
oqyude 48d1701933 123 2025-11-07 19:58:35 +03:00
oqyude d53dce8123 123 2025-11-07 19:56:33 +03:00
oqyude 8f19345e26 123 2025-11-07 19:55:22 +03:00
oqyude efbec18fd4 123 2025-11-07 19:32:41 +03:00
oqyude 974e910681 123 2025-11-07 19:27:31 +03:00
oqyude f5db8cb7fd 123 2025-11-07 19:21:57 +03:00
oqyude f9eb7e8bdc 123 2025-11-07 19:21:31 +03:00
oqyude 300a519614 123 2025-11-07 18:31:18 +03:00
oqyude ab1140845c 123 2025-11-07 18:30:50 +03:00
oqyude 0b71172606 123 2025-11-07 18:29:45 +03:00
oqyude c4b0cfbb8e 123 2025-11-07 18:16:25 +03:00
oqyude 0d9a00c89e 123 2025-11-07 18:13:23 +03:00
oqyude 8fd7cf7382 nix flake update 2025-11-06 13:23:07 +03:00
oqyude 043827faaf 123 2025-11-02 19:57:11 +03:00
oqyude 36ff09dbed 123 2025-11-02 19:51:19 +03:00
oqyude 08900ddb2f 123 2025-11-02 19:43:11 +03:00
oqyude 2bfa0e4cfd 123 2025-11-02 19:41:49 +03:00
oqyude 3583676dd1 nix flake update 2025-11-02 19:36:41 +03:00
oqyude 8bb4ca6424 123 2025-11-02 13:22:11 +03:00
oqyude 839c028212 123 2025-11-02 13:21:53 +03:00
oqyude b649db807e Merge branch 'master' of github.com:oqyude/nixos 2025-11-02 13:19:15 +03:00
oqyude 7244914120 123 2025-11-02 13:19:13 +03:00
oqyude ae417a0938 123 2025-11-02 12:51:36 +03:00
oqyude 183d4c51d0 Merge branch 'master' of github.com:oqyude/nixos 2025-11-02 12:51:27 +03:00
oqyude 43cc7ee75a 123 2025-11-02 12:51:23 +03:00
oqyude 175d85ddbf 123 2025-11-02 12:50:58 +03:00
oqyude 1d81be4977 213 2025-11-02 12:50:13 +03:00
oqyude 089ff1d1fb 123 2025-11-02 12:32:41 +03:00
oqyude 241ba40269 123 2025-11-02 12:31:36 +03:00
oqyude c15887b2b0 Merge branch 'master' of github.com:oqyude/nixos 2025-11-02 12:30:29 +03:00
oqyude c99f415006 123 2025-11-02 12:30:05 +03:00
oqyude cbcdba9a1b 123 2025-11-02 12:28:57 +03:00
oqyude ee8a6b9d55 123 2025-11-02 12:27:50 +03:00
oqyude f9cfb9b9a1 123 2025-11-01 20:04:00 +03:00
oqyude 833bcd6ff2 213 2025-11-01 20:03:39 +03:00
oqyude f6a6dcbe24 Merge branch 'master' of github.com:oqyude/nixos 2025-11-01 20:02:08 +03:00
oqyude 05bc943198 123 2025-11-01 20:02:04 +03:00
oqyude 1d10d5d78d 123 2025-11-01 19:49:08 +03:00
oqyude 0d99801c50 123 2025-11-01 19:48:52 +03:00
oqyude b99d4f363f 123 2025-11-01 19:45:27 +03:00
oqyude 110090d683 123 2025-11-01 19:41:44 +03:00
oqyude b1d33c9322 123 2025-11-01 19:41:19 +03:00
oqyude 407a9036ff 123 2025-11-01 19:34:57 +03:00
oqyude 585de29fd2 123 2025-11-01 19:33:39 +03:00
oqyude 8eec316eee Merge branch 'master' of github.com:oqyude/nixos 2025-11-01 19:32:53 +03:00
oqyude 99a1dcee19 123 2025-11-01 19:32:49 +03:00
oqyude d954ec4a58 123 2025-11-01 19:32:46 +03:00
oqyude 476d6e081c 123 2025-11-01 19:27:13 +03:00
oqyude d459bd5a2b 123 2025-11-01 11:55:02 +03:00
oqyude 565f92a4d8 123 2025-11-01 11:54:16 +03:00
oqyude 5f295784fb 123 2025-11-01 11:10:44 +03:00
oqyude c9c08a313e nix flake update 2025-10-31 11:53:17 +03:00
oqyude aed2818f04 123 2025-10-31 11:51:16 +03:00
oqyude addaf788ba 123 2025-10-31 11:39:32 +03:00
oqyude ed9594d4e3 123 2025-10-31 11:34:02 +03:00
oqyude be57ed59cd ref2 2025-10-31 11:22:46 +03:00
oqyude 031e7a8013 ref 2025-10-31 11:22:24 +03:00
oqyude 9448249897 123 2025-10-30 20:38:06 +03:00
oqyude 556cef9e65 123 2025-10-29 13:02:06 +03:00
oqyude ac842b2e11 123 2025-10-29 13:01:01 +03:00
oqyude a5aca58ad0 123 2025-10-29 12:57:50 +03:00
oqyude 4bea875604 123 2025-10-29 12:49:35 +03:00
oqyude 5c2240046b 123 2025-10-29 12:47:10 +03:00
oqyude 7f40de78b5 123 2025-10-29 12:43:19 +03:00
oqyude 855c482e19 123 2025-10-29 12:41:56 +03:00
oqyude 2864c06a54 123 2025-10-29 12:40:29 +03:00
oqyude da880b10bf 123 2025-10-29 12:39:11 +03:00
oqyude 8ca8e7e3df 123 2025-10-29 12:37:26 +03:00
oqyude dff3412be4 12 2025-10-29 12:23:08 +03:00
oqyude d03d18631d 123 2025-10-29 12:21:22 +03:00
oqyude 4047ccf9b6 123 2025-10-29 12:20:56 +03:00
oqyude 4109a29eba 123 2025-10-29 12:20:48 +03:00
oqyude 4a5860bd5e 123 2025-10-29 12:19:54 +03:00
oqyude d8f48cb46e 1 2025-10-29 12:19:04 +03:00
oqyude 6f25a056b5 12 2025-10-29 12:18:47 +03:00
oqyude f7c8741cb8 123 2025-10-29 12:17:43 +03:00
oqyude 53d2469ed1 123 2025-10-29 12:16:42 +03:00
oqyude d99e38bf0d 123 2025-10-29 12:14:51 +03:00
oqyude dc6b5f6ba7 Merge branch 'master' of github.com:oqyude/nixos 2025-10-29 12:13:48 +03:00
oqyude 7517d57a50 123 2025-10-29 12:13:46 +03:00
oqyude afb795d2d0 123 2025-10-29 12:11:45 +03:00
oqyude 623ec88019 123 2025-10-29 12:10:57 +03:00
oqyude 8248eec6c4 123 2025-10-29 12:08:57 +03:00
oqyude f136c1d298 1123 2025-10-29 12:08:19 +03:00
oqyude 50e992c848 1 2025-10-29 12:08:01 +03:00
oqyude 0ed398b717 1 2025-10-29 12:07:32 +03:00
oqyude 77d79d3baf 123 2025-10-29 12:06:55 +03:00
oqyude 947a38354f 123 2025-10-29 12:05:50 +03:00
oqyude 99feb38c45 123 2025-10-29 11:32:09 +03:00
oqyude 0a82fb12ac 123 2025-10-29 08:33:18 +03:00
oqyude 12434007df 123 2025-10-29 08:32:21 +03:00
oqyude 00033b741c 123p 2025-10-26 19:47:23 +03:00
oqyude 1d695e67c1 123 2025-10-26 19:42:46 +03:00
oqyude 4a04052e12 123 2025-10-26 19:41:41 +03:00
oqyude bac176e6d1 123 2025-10-26 19:37:19 +03:00
oqyude c288fda489 123 2025-10-26 19:34:40 +03:00
oqyude b8a1852795 123 2025-10-26 19:32:18 +03:00
oqyude 201677c966 123 2025-10-26 19:31:45 +03:00
oqyude b1f5a339e9 123 2025-10-26 19:31:26 +03:00
oqyude 2caa881ebe 123 2025-10-26 19:27:54 +03:00
oqyude 4e80597636 Merge branch 'master' of github.com:oqyude/nixos 2025-10-26 19:24:26 +03:00
oqyude 1fb701aefa 123 2025-10-26 19:24:22 +03:00
oqyude 690daa0323 123 2025-10-26 19:13:44 +03:00
oqyude 1d799400ae 123 2025-10-26 19:13:12 +03:00
oqyude 524b2392f2 cleaning start 2025-10-26 19:11:45 +03:00
oqyude 95283cc26b 123 2025-10-26 17:20:36 +03:00
oqyude 89bbd853c3 123 2025-10-26 17:13:13 +03:00
oqyude 7ceb8d1472 123 2025-10-26 17:05:39 +03:00
oqyude 6666a86584 123 2025-10-26 16:45:15 +03:00
oqyude 7dc67d0498 123 2025-10-26 09:58:42 +03:00
oqyude aa736c7eb1 Merge branch 'master' of github.com:oqyude/nixos 2025-10-26 09:55:38 +03:00
oqyude 41b4ddca8c 123 2025-10-26 09:55:35 +03:00
oqyude 873b1fcd75 123 2025-10-26 09:55:18 +03:00
oqyude cf0a0ab8a8 123 2025-10-26 09:54:52 +03:00
oqyude c64eb452a5 123 2025-10-26 09:52:39 +03:00
oqyude 50a5f63cb0 123 2025-10-26 09:48:56 +03:00
oqyude 95d2212901 123 2025-10-26 09:48:21 +03:00
oqyude 9589d3dd6c 123 2025-10-26 09:47:25 +03:00
oqyude 0ce61a1c0a 123 2025-10-26 09:33:17 +03:00
oqyude bef88d4e49 123 2025-10-26 08:46:40 +03:00
oqyude 9c4b38837b 123 2025-10-26 08:46:09 +03:00
oqyude 4966675982 123 2025-10-26 08:45:09 +03:00
oqyude 6a89474593 123 2025-10-26 08:42:43 +03:00
oqyude ffdb2b6f95 123 2025-10-26 08:25:06 +03:00
oqyude 224baa59cd 123 2025-10-26 08:24:40 +03:00
oqyude de34cfd01c 123 2025-10-25 22:09:03 +03:00
oqyude 401fb10662 123 2025-10-25 21:05:08 +03:00
oqyude ab53e3d1fd 123 2025-10-25 20:40:02 +03:00
oqyude 5d2fc46a85 123 2025-10-25 20:18:48 +03:00
oqyude aef4a32304 123 2025-10-25 20:11:34 +03:00
oqyude c92504577b 12 2025-10-25 20:03:10 +03:00
oqyude 6af69629da Merge branch 'master' of github.com:oqyude/nixos 2025-10-25 19:57:58 +03:00
oqyude 5548e2c8ae 123 2025-10-25 19:57:55 +03:00
oqyude 07054486eb nix flake update 2025-10-25 19:57:24 +03:00
oqyude 8a1a6ab04f 123 2025-10-25 19:50:53 +03:00
oqyude bd2f5b7c13 123 2025-10-25 19:50:26 +03:00
oqyude 9759a18b6e 123 2025-10-25 19:46:14 +03:00
oqyude 11e302373b 123 2025-10-25 18:48:20 +03:00
oqyude 8dbafa1d02 123 2025-10-25 18:37:56 +03:00
oqyude fb845716f7 123 2025-10-25 18:35:18 +03:00
oqyude c5a4a203ba 123 2025-10-25 18:05:26 +03:00
oqyude fbffde8f27 123 2025-10-25 16:34:51 +03:00
oqyude be6d6788eb 123 2025-10-25 16:34:36 +03:00
oqyude 7aee9ff142 123 2025-10-25 16:31:02 +03:00
oqyude 9abfdda5ad 1 2025-10-25 16:30:23 +03:00
oqyude de8c1f16a3 123 2025-10-25 16:27:48 +03:00
oqyude 732a81ed56 123 2025-10-25 16:26:58 +03:00
oqyude be75bfd8fc 123 2025-10-25 16:23:55 +03:00
oqyude be834b0bd3 123 2025-10-25 16:22:02 +03:00
oqyude 32fd02a78e 123 2025-10-25 16:21:49 +03:00
oqyude be47bddcc9 123 2025-10-25 16:17:54 +03:00
oqyude bb76d77bfe 123 2025-10-25 16:17:10 +03:00
oqyude aa5dccb0dc 123 2025-10-25 16:16:33 +03:00
oqyude 850e64a316 123 2025-10-25 16:15:48 +03:00
oqyude 4a96993de9 123 2025-10-25 16:13:41 +03:00
oqyude 104b6d426f 123 2025-10-25 16:13:17 +03:00
oqyude 6ccc4a512b 123 2025-10-25 16:10:56 +03:00
oqyude f0a28fd64e 123 2025-10-25 16:08:07 +03:00
oqyude 823d26be53 123 2025-10-25 15:35:56 +03:00
oqyude a2c39fe3bf 123 2025-10-25 15:28:55 +03:00
oqyude da1b9e65dd 123 2025-10-25 15:23:59 +03:00
oqyude 79d2610631 123 2025-10-25 15:18:23 +03:00
oqyude ead0d12a1b 123 2025-10-25 15:17:22 +03:00
oqyude 542e18ca89 123 2025-10-25 15:16:48 +03:00
oqyude fb53578d73 123 2025-10-25 15:11:30 +03:00
oqyude 6ac9916c79 master update 2025-10-25 15:08:54 +03:00
oqyude df09deb868 123 2025-10-25 15:03:50 +03:00
oqyude 7ce24cbf7f 123 2025-10-25 14:59:45 +03:00
oqyude aa857cb98e 123 2025-10-25 14:08:17 +03:00
oqyude 0edc4091a6 123 2025-10-25 14:07:39 +03:00
oqyude fd7eab2e7c 123 2025-10-25 14:03:16 +03:00
oqyude 050e2366d8 123 2025-10-25 14:01:15 +03:00
oqyude b6b30811c9 Merge branch 'master' of github.com:oqyude/nixos 2025-10-25 14:00:12 +03:00
oqyude 140085cb35 flake regress 2025-10-25 13:59:49 +03:00
oqyude 0ca3d6d629 123 2025-10-25 13:59:42 +03:00
oqyude db97cfe4e9 13 2025-10-25 12:59:25 +03:00
oqyude 6bb4601113 regress update 2025-10-25 12:52:12 +03:00
oqyude b065da06a4 123 2025-10-25 12:51:54 +03:00
oqyude 78c6862c39 123 2025-10-25 12:45:38 +03:00
oqyude aee00d4096 123 2025-10-25 12:44:50 +03:00
oqyude 27e719d39a 123 2025-10-25 12:38:46 +03:00
oqyude f18358e283 123 2025-10-25 12:33:54 +03:00
oqyude 5a68093268 nixos channel 2025-10-25 12:17:10 +03:00
oqyude c88afdef2e 123 2025-10-25 12:03:34 +03:00
oqyude 1c08d29aac nix flake update 2025-10-25 10:22:57 +03:00
oqyude 128ce2a690 123 2025-10-25 10:00:34 +03:00
oqyude 2cb0443daa 123 2025-10-25 09:56:45 +03:00
oqyude 870bdb97c5 master flake update 2025-10-21 18:14:21 +03:00
oqyude 05bcc81ebb Merge branch 'master' of github.com:oqyude/nixos 2025-10-21 18:14:03 +03:00
oqyude fe519dc502 123 2025-10-21 18:14:00 +03:00
oqyude 9ba00b14ee 123 2025-10-21 18:10:52 +03:00
oqyude 7bd4d03707 123 2025-10-21 18:10:36 +03:00
oqyude fb4a8d3487 123 2025-10-21 18:09:54 +03:00
oqyude f128ba7548 123 2025-10-21 18:09:23 +03:00
oqyude 3e6856c2c7 1 2025-10-21 18:08:57 +03:00
oqyude dcd6943757 1 2025-10-21 17:46:03 +03:00
oqyude a9b371ebb8 1 2025-10-21 17:45:36 +03:00
oqyude e66e3c1bd1 123 2025-10-21 17:33:15 +03:00
oqyude 8ad9ca026a 123 2025-10-21 17:30:26 +03:00
oqyude fdd80ae15a 123 2025-10-21 16:28:09 +03:00
oqyude fe94fcf9ea 123 2025-10-21 16:21:32 +03:00
oqyude 417dd6bb39 12 2025-10-21 16:17:34 +03:00
oqyude 6314ac296e 123 2025-10-21 16:13:13 +03:00
oqyude c39394bff4 123 2025-10-21 16:05:07 +03:00
oqyude 76d2fb82c7 123 2025-10-21 15:55:28 +03:00
oqyude 19433439f2 123 2025-10-21 15:53:22 +03:00
oqyude 931e78ffa1 123 2025-10-21 11:55:26 +03:00
oqyude 791ce98634 archivesta fix 2025-10-21 11:36:30 +03:00
oqyude eb65c65190 nix flake update 2025-10-21 10:47:24 +03:00
oqyude e2e8d8b6c9 Merge branch 'master' of github.com:oqyude/nixos 2025-10-18 12:07:49 +03:00
oqyude 9c04291e9b 123 2025-10-18 12:07:45 +03:00
oqyude 5ae0d0edb0 123 2025-10-16 14:23:44 +03:00
oqyude 8d7cc3cdcb 1 2025-10-16 13:49:56 +03:00
oqyude 935cadb47c 123 2025-10-16 13:39:03 +03:00
oqyude 440bdd404a 123 2025-10-16 13:35:02 +03:00
oqyude f71f4adcf7 123 2025-10-16 13:28:29 +03:00
oqyude 2e4321d347 123 2025-10-16 11:02:40 +03:00
oqyude 6340357428 123 2025-10-16 10:58:29 +03:00
oqyude c2fc9141f1 123 2025-10-16 09:44:43 +03:00
oqyude 22dc8b569c 123 2025-10-16 09:42:26 +03:00
oqyude 90446052be nextcloud update 2025-10-16 09:32:15 +03:00
oqyude f14c10c8c8 123 2025-10-16 09:31:20 +03:00
oqyude b0a30770a3 nix flake update 2025-10-16 08:58:20 +03:00
oqyude 67cc08d2fd 123123 2025-10-11 19:17:39 +03:00
oqyude f32895b48b 123 2025-10-10 21:07:42 +03:00
oqyude 27807816cb 123 2025-10-10 21:06:32 +03:00
oqyude e951f8544d 123 2025-10-10 21:05:32 +03:00
oqyude 1af49f58ba 123 2025-10-10 21:03:54 +03:00
oqyude af5042e347 123 2025-10-10 21:02:20 +03:00
oqyude cbc1ead4d2 123 2025-10-10 21:00:47 +03:00
oqyude fc7fff0271 123 2025-10-10 20:59:51 +03:00
oqyude 8d80e49e87 123 2025-10-10 20:58:29 +03:00
oqyude 32248e5cac 132 2025-10-10 20:56:25 +03:00
oqyude 29bebbce06 123 2025-10-10 20:53:03 +03:00
oqyude b34949e442 123 2025-10-10 20:50:48 +03:00
oqyude 24dec6ff63 123 2025-10-10 20:49:42 +03:00
oqyude 7f11d122dd 123 2025-10-10 20:12:00 +03:00
oqyude fced475e86 some clean 2025-10-10 20:08:23 +03:00
oqyude 4c57551ff8 nix flake update 2025-10-10 16:35:32 +03:00
oqyude 24e6d2027b 123 2025-10-10 16:21:38 +03:00
oqyude e071116676 123 2025-10-10 16:18:09 +03:00
oqyude 9c106b46e2 123 2025-10-10 13:51:17 +03:00
oqyude c29b4d11df 123 2025-10-10 13:35:32 +03:00
oqyude 4b43a43129 1 2025-10-10 13:32:40 +03:00
oqyude 2af4ea9ad9 123 2025-10-10 13:21:51 +03:00
oqyude ed27bb72df 123 2025-10-10 13:11:54 +03:00
oqyude 13eab5ef24 123 2025-10-10 13:05:10 +03:00
oqyude 436489cb85 123 2025-10-10 13:04:57 +03:00
oqyude 62cdc110b9 123 2025-10-10 10:56:23 +03:00
oqyude c2038cecc2 123 2025-10-10 10:54:47 +03:00
oqyude f9036cf4ab 123 2025-10-10 02:10:31 +03:00
oqyude 78fbbb1160 123 2025-10-10 02:09:39 +03:00
oqyude e25859ed0a 123 2025-10-10 02:08:07 +03:00
oqyude d2b3cf99c9 123 2025-10-10 01:46:21 +03:00
oqyude 93a4f8c837 123 2025-10-10 01:42:26 +03:00
oqyude b19ca0410e 123 2025-10-10 01:29:34 +03:00
oqyude f01fa76232 123 2025-10-10 01:06:07 +03:00
oqyude 2e0e169295 123 2025-10-10 00:55:59 +03:00
oqyude a2e1276190 123 2025-10-10 00:46:14 +03:00
oqyude c1eba6e1ed 123 2025-10-10 00:27:20 +03:00
oqyude ea49a3f258 123 2025-10-10 00:12:13 +03:00
oqyude 9613c0aa7f 123 2025-10-09 17:10:05 +03:00
oqyude 186fa8781c 123 2025-10-09 17:03:05 +03:00
oqyude 92caad8ffc 123 2025-10-09 17:00:15 +03:00
oqyude e86a055a1d 123 2025-10-09 16:25:40 +03:00
oqyude 812405690e 123 2025-10-09 16:20:00 +03:00
oqyude ffc8528f29 123 2025-10-09 16:07:23 +03:00
oqyude 414ca82c7d sops 2025-10-09 15:37:52 +03:00
oqyude b9f1f3fe08 123 2025-10-09 15:31:31 +03:00
oqyude ba231c6fd1 123 2025-10-09 15:21:38 +03:00
oqyude 01cc674ef3 123 2025-10-09 15:19:10 +03:00
oqyude 78b61aa45c sops st 2025-10-09 15:16:33 +03:00
oqyude 48bd82b30f 123 2025-10-08 21:30:48 +03:00
oqyude 99b35f6045 1 2025-10-08 21:28:47 +03:00
oqyude 03024d0d24 12 2025-10-08 21:24:24 +03:00
oqyude af67cc1ca7 123 2025-10-08 21:22:11 +03:00
oqyude 79854c3dfe 123 2025-10-08 17:55:42 +03:00
oqyude de79cd63ec 123 2025-10-07 23:47:20 +03:00
oqyude 34e46a34d3 123 2025-10-07 16:36:50 +03:00
oqyude 2c865de832 123 2025-10-07 16:27:18 +03:00
oqyude 1d0161e546 123 2025-10-07 11:18:27 +03:00
oqyude 144e40dbe7 123 2025-10-07 10:55:55 +03:00
oqyude c0ff1af738 123 2025-10-07 10:46:58 +03:00
oqyude b2b8d306ca 123 2025-10-07 10:34:54 +03:00
oqyude 786327f6d2 cleaning 2025-10-07 10:28:31 +03:00
oqyude cbb7e9210b 1231 2025-10-07 10:03:48 +03:00
oqyude ec3d9d128d code clean? 2025-10-07 09:47:53 +03:00
oqyude 4909e3fd2c 123 2025-10-06 23:37:06 +03:00
oqyude 9a10db22e9 123 2025-10-06 23:26:33 +03:00
oqyude edc8070767 123 2025-10-06 23:24:05 +03:00
oqyude 6e1d4f46ba 123 2025-10-06 23:19:57 +03:00
oqyude a03acc4c63 123 2025-10-06 23:12:46 +03:00
oqyude dee12112c2 123 2025-10-06 23:04:31 +03:00
oqyude 6c7a4648d2 123 2025-10-06 22:52:30 +03:00
oqyude efacb944ae 123 2025-10-06 22:33:49 +03:00
oqyude fe0beab681 123 2025-10-06 22:33:21 +03:00
oqyude 9008de4f66 123 2025-10-06 22:23:51 +03:00
oqyude c00eb7e6cd 123 2025-10-06 22:19:17 +03:00
oqyude 13ae65c3dc 213 2025-10-06 22:15:52 +03:00
oqyude 9c3de99b51 123 2025-10-06 22:12:22 +03:00
oqyude 425c0361d4 123 2025-10-06 22:00:15 +03:00
oqyude ead3731772 123 2025-10-06 21:53:51 +03:00
oqyude 8855a9cce9 123 2025-10-06 21:47:08 +03:00
oqyude ec16e0418c 123 2025-10-06 21:41:17 +03:00
oqyude c948a43734 123 2025-10-06 21:34:51 +03:00
oqyude 8b66ea4f1b 123 2025-10-06 21:27:34 +03:00
oqyude 2b4987e5ae 123 2025-10-06 21:21:36 +03:00
oqyude ee5b4f96d8 123 2025-10-06 20:31:26 +03:00
oqyude 96ada2e301 123 2025-10-06 20:15:27 +03:00
oqyude bb3efb7143 123 2025-10-06 20:12:01 +03:00
oqyude 866570eb9d collabora try) 2025-10-06 19:55:21 +03:00
oqyude db3fd7c71d 123 2025-10-06 14:27:49 +03:00
oqyude 4ff3e4ba29 123 2025-10-06 14:24:08 +03:00
oqyude 8e79c3630e 123 2025-10-06 14:17:25 +03:00
oqyude 32414bdd10 123 2025-10-04 16:52:50 +03:00
oqyude f3a9b2ef9f 123 2025-10-04 16:42:35 +03:00
oqyude 9469c8c73b 123 2025-10-04 13:05:36 +03:00
oqyude 389964f0f8 123 2025-10-04 12:48:33 +03:00
oqyude 89606ebe67 nix flake update 2025-10-04 12:22:05 +03:00
oqyude 86e70d5fb1 123 2025-10-04 12:19:30 +03:00
oqyude 90748fbe5a 123 2025-10-02 21:29:31 +03:00
oqyude a349acd649 123 2025-10-02 19:05:06 +03:00
oqyude f6c2582971 123 2025-10-02 19:04:24 +03:00
oqyude e228df7a85 123p 2025-10-02 18:57:17 +03:00
oqyude c33171eaa6 123 2025-10-01 13:22:17 +03:00
oqyude a2fbfe3ee9 123 2025-10-01 13:04:25 +03:00
oqyude 6dd31e15cc 123 2025-10-01 13:01:27 +03:00
oqyude a99747dfb2 123 2025-10-01 12:59:18 +03:00
oqyude ae75152924 Merge branch 'master' of github.com:oqyude/nixos 2025-10-01 12:58:18 +03:00
oqyude 7ab3a4b679 123 2025-10-01 12:58:15 +03:00
oqyude 93a7f4992a 123 2025-10-01 12:57:37 +03:00
oqyude 5730a15dbc 123 2025-10-01 12:48:37 +03:00
oqyude ed33edb419 123 2025-10-01 12:09:11 +03:00
oqyude ef257a32c2 123 2025-10-01 12:03:46 +03:00
oqyude 0f2fb9246e 123 2025-10-01 11:58:01 +03:00
oqyude f563ab1216 123 2025-10-01 11:41:27 +03:00
oqyude e2dff4c1d1 123 2025-10-01 11:40:02 +03:00
oqyude 64369d5b66 123 2025-10-01 11:36:29 +03:00
oqyude ab07e026d5 123 2025-09-28 21:13:19 +03:00
oqyude 7b283ed65f 123 2025-09-28 21:04:48 +03:00
oqyude c455cab6b0 123 2025-09-28 19:31:02 +03:00
oqyude 8c305c34d0 123 2025-09-28 19:04:44 +03:00
oqyude 89acdf4f29 123 2025-09-28 18:07:57 +03:00
oqyude 12ef81e032 123 2025-09-28 13:42:56 +03:00
oqyude 8f181318c0 pub add 2025-09-28 13:38:45 +03:00
oqyude 6f78c66740 123 2025-09-28 12:49:32 +03:00
oqyude 795f7e68b7 123 2025-09-24 23:25:29 +03:00
oqyude a3f6f9ad66 123 2025-09-24 23:25:15 +03:00
oqyude 17966dc7b4 123 2025-09-24 23:15:52 +03:00
oqyude 53f0b6cc86 123 2025-09-24 20:29:09 +03:00
oqyude 9eb1b8cc00 123 2025-09-24 20:11:02 +03:00
oqyude 07255eb42e 123 2025-09-24 20:07:56 +03:00
oqyude d179ad4e10 123 2025-09-24 20:02:24 +03:00
oqyude 867f4b15ef 123 2025-09-24 19:53:10 +03:00
oqyude 4f9f77544d 123 2025-09-24 19:45:09 +03:00
oqyude 0396ffef4e 123 2025-09-24 19:31:56 +03:00
oqyude ffc96d19a3 123123 2025-09-24 19:28:15 +03:00
oqyude 6a61c81a5f 123 2025-09-24 19:01:58 +03:00
oqyude f3e3b633dd 123 2025-09-24 19:01:18 +03:00
oqyude b59493a9c9 123 2025-09-24 18:58:25 +03:00
oqyude 4c26501126 13123 2025-09-24 18:51:28 +03:00
oqyude 13b0d96d20 123 2025-09-24 16:44:56 +03:00
oqyude 498207d986 123 2025-09-24 16:35:38 +03:00
oqyude 37ddd0ab6f 123 2025-09-24 16:18:56 +03:00
oqyude b163f27e96 123 2025-09-24 15:43:31 +03:00
oqyude b3b4fb0198 123 2025-09-24 15:37:22 +03:00
oqyude a3e5d52a21 123 2025-09-24 15:36:50 +03:00
oqyude 93844ac7a4 nadjsfnkadnf 2025-09-24 15:00:32 +03:00
oqyude 6d464336d2 123 2025-09-24 14:39:17 +03:00
oqyude 9204f1a290 123 2025-09-24 14:37:50 +03:00
oqyude e7fd107e12 123 2025-09-24 14:30:44 +03:00
oqyude 48acab4c50 123 2025-09-24 14:23:37 +03:00
oqyude 601c2d737f 123 2025-09-24 14:23:25 +03:00
oqyude 2ef5d644e2 123 2025-09-24 14:21:59 +03:00
oqyude 3a3530ac20 123 2025-09-24 14:21:23 +03:00
oqyude 9a95052e4c upd 2025-09-24 14:01:05 +03:00
oqyude 5c62823ae9 123 2025-09-23 23:50:41 +03:00
oqyude c517858e0b 123 2025-09-23 23:39:29 +03:00
oqyude 97fabb65e9 nggg 2025-09-23 23:30:12 +03:00
oqyude 8ff84c3c87 big m 2025-09-23 23:25:56 +03:00
oqyude 097d8c6903 123 2025-09-23 22:50:33 +03:00
oqyude cd0f1baa10 123 2025-09-23 22:42:41 +03:00
oqyude f8775ed8be 123 2025-09-23 22:37:21 +03:00
oqyude f6b25335ec 123 2025-09-23 22:28:16 +03:00
oqyude 7475939293 123 2025-09-23 22:12:38 +03:00
oqyude df659b8a4c 123 2025-09-23 21:50:04 +03:00
oqyude 5dfba2833b 123 2025-09-23 21:37:00 +03:00
oqyude 5180f7fcf1 213 2025-09-23 21:29:05 +03:00
oqyude 258923c4a4 123 2025-09-23 21:21:14 +03:00
oqyude 3e08829d22 123 2025-09-23 21:19:09 +03:00
oqyude 00d9293d53 123 2025-09-23 21:15:51 +03:00
oqyude ba5420755f 123 2025-09-23 20:01:46 +03:00
oqyude 875aea3d90 123 2025-09-23 19:59:35 +03:00
oqyude 254832989c 1`23 2025-09-23 19:52:38 +03:00
oqyude 7e974e2f12 123 2025-09-23 19:44:21 +03:00
oqyude 518e739235 123 2025-09-23 19:31:52 +03:00
oqyude 7a4b2984a4 123 2025-09-23 19:30:29 +03:00
oqyude 292a371ee0 132 2025-09-23 19:27:03 +03:00
oqyude 06211616e1 Merge branch 'master' of github.com:oqyude/nixos 2025-09-23 19:15:20 +03:00
oqyude 625ba2ae6b memos add 2025-09-23 19:14:55 +03:00
oqyude 4f083668b3 123 2025-09-23 19:13:46 +03:00
oqyude 15e1a9295c 123 2025-09-22 19:25:45 +03:00
oqyude 9b8364a875 123 2025-09-22 19:23:31 +03:00
oqyude 4c936d6440 123 2025-09-22 19:15:59 +03:00
oqyude 372781f1af 123 2025-09-22 19:11:10 +03:00
oqyude 9ca8382ff7 123 2025-09-22 19:10:05 +03:00
oqyude 6b48bd1b5a 123 2025-09-22 18:32:43 +03:00
oqyude b51574b7a9 123 2025-09-21 12:01:45 +03:00
oqyude dd6b4e88fb 123 2025-09-21 01:41:58 +03:00
oqyude 1037687fc3 123 2025-09-20 22:06:45 +03:00
oqyude dadaaba7cf 213 2025-09-20 21:56:27 +03:00
oqyude c66efde7b5 123 2025-09-20 21:46:49 +03:00
oqyude 3928f0f96c 123 2025-09-20 21:44:19 +03:00
oqyude ce81d0c1ae 123 2025-09-20 21:31:04 +03:00
oqyude a02326273b 123 2025-09-20 21:14:30 +03:00
oqyude 53ce5867c8 123 2025-09-20 21:13:44 +03:00
oqyude 41343c3b91 123 2025-09-20 20:51:00 +03:00
oqyude 6d0dd41240 123 2025-09-20 20:43:35 +03:00
oqyude d042a27532 123 2025-09-20 20:29:24 +03:00
oqyude 49df52ccfe 213 2025-09-20 20:26:57 +03:00
oqyude 38210d34cd 123 2025-09-20 20:17:25 +03:00
oqyude 5b8559f254 123 2025-09-20 20:04:19 +03:00
oqyude 43d17b845a nice try 2025-09-20 19:32:26 +03:00
oqyude 7206899073 123bdfhubandjsfk 2025-09-20 17:05:47 +03:00
oqyude c804afe51a 213 2025-09-20 16:58:46 +03:00
oqyude 585cf6e488 123 2025-09-20 16:50:25 +03:00
oqyude b5ab4c6c8c 123 2025-09-20 16:48:25 +03:00
oqyude 0e239aae28 123 2025-09-20 16:10:44 +03:00
oqyude 65fd37babf 123 2025-09-20 16:10:25 +03:00
oqyude 259a07de8e 213kdsanmfkld 2025-09-20 16:09:28 +03:00
oqyude 4074b188e9 123 2025-09-20 11:35:12 +03:00
oqyude 6d0e6dd420 123 2025-09-20 11:17:03 +03:00
oqyude cb14814677 haha 2025-09-20 11:13:28 +03:00
oqyude 9b5d393bab 123 2025-09-20 10:59:49 +03:00
oqyude 20845b6db9 123 2025-09-20 00:49:52 +03:00
oqyude 677c9c5e65 nix flake update 2025-09-20 00:22:54 +03:00
oqyude 839c79a080 123 2025-09-19 22:02:23 +03:00
oqyude dde5366d89 123 2025-09-19 21:44:35 +03:00
oqyude 15f64edb29 123 2025-09-19 21:18:55 +03:00
oqyude 46425fb6eb 23232 2025-09-19 20:57:15 +03:00
oqyude 1fb926f5ae 123 2025-09-19 18:31:11 +03:00
oqyude fc24f2c2cb 123 2025-09-19 18:30:23 +03:00
oqyude e9c6503895 123 2025-09-19 18:27:09 +03:00
oqyude e93e311739 123 2025-09-19 18:25:52 +03:00
oqyude 76d5b825f4 nextcloud office 2025-09-19 18:24:06 +03:00
oqyude 8fc3d13eb0 test 2025-09-19 18:16:50 +03:00
oqyude 1314bd6aca 123P 2025-09-19 17:29:01 +03:00
oqyude aa64e1761b Merge branch 'master' of github.com:oqyude/nixos 2025-09-19 17:16:47 +03:00
oqyude 45a60b7bb2 123 2025-09-19 17:16:32 +03:00
oqyude e07c492d9b 123 2025-09-19 17:09:37 +03:00
oqyude a90720dee8 123 2025-09-19 17:09:17 +03:00
oqyude cc41c67fe7 123 2025-09-19 16:59:44 +03:00
oqyude 7ea01288b5 collabora 2025-09-19 16:55:58 +03:00
oqyude 9b88ec5cb2 123 2025-09-19 16:47:48 +03:00
oqyude bb9ddeabaf 123 2025-09-19 16:43:05 +03:00
oqyude d0f146be60 123 2025-09-19 16:35:47 +03:00
oqyude e3357936e4 nextcloud changes 2025-09-19 16:23:54 +03:00
oqyude b7776e404a calibre changes 2025-09-19 15:59:49 +03:00
oqyude 24e2c81cff 123 2025-09-17 20:19:40 +03:00
oqyude 1892055b22 123 2025-09-17 19:15:43 +03:00
oqyude 9cc0e3c2e1 123 2025-09-17 19:06:02 +03:00
oqyude 2f4fa64ce4 123 2025-09-17 18:34:24 +03:00
oqyude e0e86d6b83 3xui start .. 2025-09-17 18:01:05 +03:00
oqyude 7edae13daa cleaning? 2025-09-17 14:15:40 +03:00
oqyude b7ce4a8342 flake update 2025-09-17 12:33:39 +03:00
oqyude 7cac33a84e 123 2025-09-17 12:17:17 +03:00
oqyude 7ebab66b5d x213123 2025-09-17 12:02:35 +03:00
oqyude 28b12ae2ff 123 2025-09-17 11:52:23 +03:00
oqyude 72654657da 123 2025-09-17 11:45:41 +03:00
oqyude 6337d8b3e3 123 2025-09-17 11:44:18 +03:00
oqyude aaadfa6e71 123 2025-09-17 11:41:22 +03:00
oqyude 49762d4f5e 123 2025-09-17 11:35:40 +03:00
oqyude d0a9b5f995 123 2025-09-17 01:53:24 +03:00
oqyude 2647ca1934 123 2025-09-17 01:43:06 +03:00
oqyude 2aa3255b66 123 2025-09-17 00:48:33 +03:00
oqyude d648930053 123 2025-09-16 22:50:01 +03:00
oqyude 6ddde82a11 xray port change 2025-09-16 21:58:41 +03:00
oqyude 6ab6ea96c7 123 2025-09-16 20:42:56 +03:00
oqyude aea3ae3f67 123 2025-09-16 20:40:57 +03:00
oqyude 38e875d9b1 123 2025-09-16 20:27:44 +03:00
oqyude cc874ab34f 123 2025-09-16 20:12:01 +03:00
oqyude 29d975231a 123 2025-09-16 19:49:55 +03:00
oqyude d081716394 123 2025-09-16 19:49:38 +03:00
oqyude b3cf77203c 123 2025-09-16 18:53:09 +03:00
oqyude cbcb5fa211 123 2025-09-16 18:48:04 +03:00
oqyude 9146debc1d 123 2025-09-16 18:45:28 +03:00
oqyude 7bc324fb1e 123 2025-09-16 18:44:18 +03:00
oqyude 3604718849 123 2025-09-16 18:13:31 +03:00
oqyude 24efd8d052 231 2025-09-16 17:21:30 +03:00
oqyude 5c65478182 13 2025-09-16 17:20:27 +03:00
oqyude f2468577a2 rwerwr 2025-09-16 17:15:45 +03:00
oqyude 3690b55241 123123 2025-09-16 16:21:35 +03:00
oqyude 357ea37aed mini-pc ext test 2025-09-16 15:47:11 +03:00
oqyude 291e65f298 123 2025-09-14 15:36:43 +03:00
oqyude 6fa14020bc 123 2025-09-14 02:43:56 +03:00
oqyude 8a324a44d1 123 2025-09-14 02:32:29 +03:00
oqyude 00ef40c201 123 2025-09-13 23:10:49 +03:00
oqyude e62a4db09d 123 2025-09-13 13:59:38 +03:00
oqyude 5757e2830b xz 2025-09-13 13:49:17 +03:00
oqyude 869f85b74e point 2025-09-13 13:45:05 +03:00
oqyude 830d0cbecd nginx xz? 2025-09-12 22:30:45 +03:00
oqyude e1e851cb6f 123 2025-09-11 16:38:19 +03:00
oqyude 5e6198c3ef 123 2025-09-08 23:20:13 +03:00
oqyude 7f6c112cb6 123 2025-09-08 19:27:18 +03:00
oqyude ad33b3cc07 123 2025-09-08 15:07:19 +03:00
oqyude 65271d4006 123 2025-09-08 11:30:47 +03:00
oqyude 9ba50f20e9 flake update 2025-09-07 02:21:27 +03:00
oqyude ca616fa17f immich package delete 2025-09-04 14:14:12 +03:00
oqyude c76aeaf8f6 12 2025-09-03 23:51:51 +03:00
oqyude e314026bb8 123 2025-09-03 23:49:49 +03:00
oqyude 714050513f 123 2025-08-28 19:54:30 +03:00
oqyude 92ab8ea0e1 123 2025-08-28 19:17:45 +03:00
oqyude a029d29049 123 2025-08-28 19:15:02 +03:00
oqyude bc83b18d04 123 2025-08-28 19:08:40 +03:00
oqyude 7a6adb28ee 123 2025-08-28 18:19:50 +03:00
oqyude 002abaafe7 123 2025-08-28 14:22:48 +03:00
oqyude 4e2b47b639 immich fetch upd 2025-08-28 14:19:03 +03:00
oqyude e9205cfc37 flake update 2025-08-28 14:17:35 +03:00
oqyude 3ee4f473c9 123 2025-08-28 14:15:47 +03:00
oqyude 435bc08e62 123 2025-08-28 14:03:46 +03:00
oqyude 563da675c5 123 2025-08-28 14:01:55 +03:00
oqyude 0fb61984b6 123 2025-08-24 13:11:09 +03:00
oqyude ee027a0028 123 2025-08-24 12:54:52 +03:00
oqyude edef83260d 123 2025-08-24 12:53:26 +03:00
oqyude 56763644e3 123 2025-08-22 19:21:00 +03:00
oqyude c995d8baf8 123 2025-08-22 18:55:19 +03:00
oqyude 27261809bf 123 2025-08-22 18:51:08 +03:00
oqyude a48902e402 123 2025-08-19 21:45:50 +03:00
oqyude 84f0073994 123 2025-08-19 21:42:18 +03:00
oqyude 1cf20ffc4a flake update 2025-08-19 21:24:15 +03:00
oqyude e0f22c63cb 123 2025-08-17 16:24:13 +03:00
oqyude aa7ce4e012 123 2025-08-17 16:18:57 +03:00
oqyude bdc3955dc1 123 2025-08-17 16:15:42 +03:00
oqyude 47d3b923d3 123 2025-08-17 16:05:45 +03:00
oqyude 29ced102b1 123 2025-08-17 15:50:06 +03:00
oqyude 0c698859e3 123 2025-08-17 15:19:13 +03:00
oqyude 1781ef85e0 123 2025-08-17 14:47:32 +03:00
oqyude 17a66ab261 123 2025-08-17 14:37:37 +03:00
oqyude ca025b5f40 123 2025-08-17 14:27:33 +03:00
oqyude 2560045563 123 2025-08-15 15:14:08 +03:00
oqyude 87e68d901c hash check 2025-08-15 13:10:14 +03:00
oqyude d7f0270986 123 2025-08-15 13:01:17 +03:00
oqyude c0d7b512cd 123 2025-08-15 12:57:52 +03:00
oqyude 591b9b880e tts + immich update 2025-08-15 12:57:12 +03:00
oqyude c8217f3aaa flake update 2025-08-15 12:51:34 +03:00
oqyude 884fb0ce97 123 2025-08-14 12:34:15 +03:00
oqyude dad44d8f19 flake update 2025-08-10 12:04:20 +03:00
oqyude 816576a2de 123 2025-08-10 11:51:32 +03:00
oqyude dc897b006d 123 2025-08-08 23:06:49 +03:00
oqyude a13f546830 123 2025-08-08 22:59:26 +03:00
oqyude b8370fc311 123 2025-08-08 22:58:59 +03:00
oqyude 9dd654a43f 123 2025-08-08 22:54:15 +03:00
oqyude 90e9707d27 123 2025-08-08 22:33:10 +03:00
oqyude 310f41d9eb 123 2025-08-08 22:25:51 +03:00
oqyude baef10f9b8 123 2025-08-08 22:21:02 +03:00
oqyude 8b0a1e1ba5 123 2025-08-08 22:19:05 +03:00
oqyude 4f730c25ea 123 2025-08-08 22:18:07 +03:00
oqyude 6d5490d9cc 123 2025-08-08 22:13:10 +03:00
oqyude 1a72638911 cleaning 2025-08-08 22:08:48 +03:00
oqyude 5fc35acdca 123 2025-08-08 21:57:39 +03:00
oqyude 1cddab2c50 123 2025-08-08 21:44:01 +03:00
oqyude a7b5c6f466 123 2025-08-08 21:39:01 +03:00
oqyude 8cedf7f691 123 2025-08-08 21:33:01 +03:00
oqyude c4cd1284b3 123 2025-08-07 17:27:10 +03:00
oqyude e4e7d8637d 123 2025-08-07 14:22:32 +03:00
oqyude c1de1b7089 123 2025-08-07 13:51:45 +03:00
oqyude 1140f2239c 123 2025-08-07 13:35:43 +03:00
oqyude 7a8413dbbf 123 2025-08-07 13:33:06 +03:00
oqyude 701b68f46b 123 2025-08-07 13:25:33 +03:00
oqyude d19395a7f6 123 2025-08-07 13:06:18 +03:00
oqyude 53ddd509fb 123 2025-08-07 13:05:38 +03:00
oqyude 54a9b6a328 123 2025-08-07 12:59:31 +03:00
oqyude cfb3f2d2c6 123 2025-08-07 02:37:43 +03:00
oqyude 7b728b4a21 shiz 2025-08-07 02:31:51 +03:00
oqyude 7636a5c4c5 123 2025-08-07 02:14:25 +03:00
oqyude b55b12ff7e i... 2025-08-07 02:02:51 +03:00
oqyude de44801150 so mad 2025-08-07 01:46:58 +03:00
oqyude 185d6e22b4 123 2025-08-07 01:39:26 +03:00
oqyude 09ce473994 123 2025-08-07 01:06:05 +03:00
oqyude b52f06e37a 123 2025-08-07 00:54:22 +03:00
oqyude da242bb982 123 2025-08-07 00:52:35 +03:00
oqyude 5583fb9ff3 mad 2025-08-07 00:48:57 +03:00
oqyude 25345d396e 123 2025-08-06 23:33:03 +03:00
oqyude a9e0c535b1 123 2025-08-06 23:13:58 +03:00
oqyude 0b92e733aa 1 2025-08-06 23:11:59 +03:00
oqyude 6b1bc2ab85 builded immich from sources 2025-08-06 20:31:11 +03:00
oqyude c16bff935f 123 2025-08-06 20:05:21 +03:00
oqyude 1596220c91 123 2025-08-06 19:56:59 +03:00
oqyude f33bb778be 123 2025-08-06 19:55:24 +03:00
oqyude 1dd1848673 123 2025-08-06 18:00:09 +03:00
oqyude 81f1f863d4 123 2025-08-06 17:20:00 +03:00
oqyude 28a952f6c3 some try 2025-08-06 14:34:35 +03:00
oqyude 2dd71c7367 123 2025-08-06 14:26:45 +03:00
oqyude dbe21be8d9 stirling-pdf added 2025-08-06 14:09:13 +03:00
oqyude 8b48a60b6d 123 2025-08-05 18:33:20 +03:00
oqyude f52eb4e005 wsl-apps added 2025-08-05 18:28:54 +03:00
oqyude af49875f2a flake updated 2025-08-05 18:28:54 +03:00
oqyude d2723fac00 123 2025-08-05 14:56:02 +03:00
oqyude 9cb36e5119 123 2025-08-05 14:55:04 +03:00
oqyude 9b950e5cc6 123 2025-08-05 14:03:16 +03:00
oqyude 6a62963bf4 backups int 2025-08-05 14:02:22 +03:00
oqyude 44a4cbc268 123 2025-08-05 01:43:58 +03:00
oqyude b8c8d1f068 123 2025-08-05 01:28:54 +03:00
oqyude 2cc724ed12 small fix 2025-08-05 00:11:31 +03:00
oqyude 9586a727ab 123 2025-08-04 23:35:51 +03:00
oqyude 4a3d17da9e 123 2025-08-04 23:34:54 +03:00
oqyude 6115cd5e68 123 2025-08-04 23:19:45 +03:00
oqyude 903753567f 123 2025-08-04 23:17:15 +03:00
oqyude 309e4198ef 123 2025-08-04 23:13:34 +03:00
oqyude f59bd98568 123 2025-08-04 23:11:47 +03:00
oqyude cc01931c9d 123 2025-08-04 23:08:06 +03:00
oqyude ece16dd202 123 2025-08-04 23:01:31 +03:00
oqyude 3f292a7f4c 123 2025-08-04 22:58:11 +03:00
oqyude 5a6496092b delete old code 2025-08-04 22:44:48 +03:00
oqyude 09910e2fba 123 2025-08-04 22:44:17 +03:00
oqyude 22b0de9ff1 123 2025-08-04 22:32:10 +03:00
oqyude efbb644bf2 123 2025-08-04 22:28:22 +03:00
oqyude 7f450271ab 123 2025-08-04 22:16:21 +03:00
oqyude 56e97b6d5f so many tests 2025-08-04 21:39:24 +03:00
oqyude 704e704b4c 123 2025-08-04 21:06:43 +03:00
oqyude 0a1d711ba1 123 2025-08-04 19:37:08 +03:00
oqyude a7b119f60d 123 2025-08-04 19:29:06 +03:00
oqyude 9fe1be9564 123 2025-08-04 19:06:26 +03:00
oqyude aac4567c02 123 2025-08-04 17:50:57 +03:00
oqyude 889df388f8 123 2025-08-04 17:45:42 +03:00
oqyude a31c1303c9 123 2025-08-04 17:14:31 +03:00
oqyude 86732e91df 123 2025-08-04 17:12:35 +03:00
oqyude 6a3b5c2c92 123 2025-08-04 16:32:29 +03:00
oqyude 690fbedf4c 123 2025-08-04 16:09:06 +03:00
oqyude 20ad33b742 one win 2025-08-04 16:09:06 +03:00
oqyude 52b6290e1c too manya bugs 2025-08-04 15:35:09 +03:00
oqyude eb9ec4f5bd 123 2025-08-04 14:18:30 +03:00
oqyude 56932e8ef0 123 2025-08-04 14:10:21 +03:00
oqyude ac0eb28d0c 123 2025-08-03 23:42:01 +03:00
oqyude aeb43d1a08 123 2025-08-03 23:39:50 +03:00
oqyude 573165796f 123 2025-08-03 23:26:21 +03:00
oqyude 9c9681af67 123 2025-08-03 23:11:19 +03:00
oqyude 7d81e1e6a8 123 2025-08-03 23:01:50 +03:00
oqyude 68dbab0064 123 2025-08-03 22:59:21 +03:00
oqyude d7d1dd2761 123 2025-08-03 22:53:24 +03:00
oqyude cff31bbf4b 123 2025-08-03 22:50:43 +03:00
oqyude c7ec44e873 symlinking to wsl 2025-08-03 22:17:46 +03:00
oqyude 7db9b065a0 123 2025-08-03 22:06:57 +03:00
oqyude 4a8319199e 123 2025-08-03 20:16:14 +03:00
oqyude 30ca9a4413 123 2025-08-03 20:08:47 +03:00
oqyude 1e52daf5d6 micro fixes 2025-08-03 20:05:31 +03:00
oqyude f3abfbd4ca mm 2025-08-03 19:59:31 +03:00
oqyude d91c185245 123 2025-08-03 19:56:40 +03:00
oqyude 986947c71b 123 2025-08-03 19:55:00 +03:00
oqyude 8fdca767a4 123 2025-08-03 19:18:48 +03:00
oqyude 15e3ebe064 refactoring 2025-08-03 19:16:45 +03:00
oqyude 81a69917ac 123 2025-08-03 18:46:10 +03:00
oqyude 42bdea4f8c open-webui for wsl 2025-08-03 18:45:29 +03:00
oqyude f8c613d621 123 2025-08-03 18:40:23 +03:00
oqyude 17de73c7fd 123 2025-08-03 18:39:56 +03:00
oqyude 471ff2bcd4 wsl tailscale off 2025-08-03 18:34:15 +03:00
oqyude b2d8e3e12c flake update 2025-08-03 15:27:36 +03:00
oqyude a2468462d7 123 2025-08-03 15:21:12 +03:00
oqyude d67d6c5831 123 2025-08-03 15:19:36 +03:00
oqyude b3b91497d8 useless inputs 2025-08-03 15:17:54 +03:00
oqyude 2a12543fc2 oldflake remove 2025-08-03 15:11:51 +03:00
oqyude 5acd21938e 123 2025-08-03 15:03:55 +03:00
oqyude a0d639c71b 123 2025-08-03 14:47:27 +03:00
oqyude 79f1f64aa8 123 2025-08-03 14:45:09 +03:00
oqyude 8bd11808e9 zeroq migrate 2025-08-03 11:44:03 +00:00
oqyude c7381723ab 123 2025-08-03 11:23:35 +00:00
oqyude bbe007c0bf 123 2025-08-03 11:21:08 +00:00
oqyude 87a5315858 123 2025-08-02 22:54:56 +03:00
oqyude 28742581c1 123 2025-08-02 22:40:14 +03:00
oqyude b82243d9e8 123 2025-08-02 22:36:09 +03:00
oqyude 0570c31d24 123 2025-08-02 22:33:24 +03:00
oqyude 9d7972a5b3 nginx uuu 2025-08-02 22:24:32 +03:00
oqyude e380852b65 212 2025-08-02 22:18:04 +03:00
oqyude d5c5b93cb0 test 2025-08-02 22:17:11 +03:00
oqyude f3c73603c7 123 2025-08-02 13:22:51 +03:00
oqyude e5925a060f 123 2025-08-01 15:57:02 +03:00
oqyude 57cb3e01fb 123 2025-08-01 14:22:07 +03:00
oqyude 32f2f07307 123 2025-08-01 13:12:54 +03:00
oqyude 542c14ea60 localhost lm studio 2025-08-01 12:20:28 +03:00
oqyude c1a247a186 123 2025-07-31 19:54:36 +03:00
oqyude bb4308f688 123 2025-07-31 18:03:22 +03:00
oqyude 4339fa0e85 123 2025-07-31 17:06:50 +03:00
oqyude 94f2aa35b2 123 2025-07-31 17:02:00 +03:00
oqyude 9f2ba38940 123 2025-07-31 15:28:38 +03:00
oqyude 23a87df964 123 2025-07-31 15:16:14 +03:00
oqyude e556925d8f 123 2025-07-31 14:47:05 +03:00
oqyude 5714b42395 flake back 2025-07-31 14:46:35 +03:00
oqyude 3cc108b4f9 123 2025-07-31 14:44:07 +03:00
oqyude 72eea2ce77 123 2025-07-31 14:43:19 +03:00
oqyude de90e5d767 123 2025-07-31 14:07:26 +03:00
oqyude 7f6e643cc7 end up 2025-07-31 14:05:12 +03:00
oqyude 8cd1c4d276 ai setup 2025-07-31 13:43:10 +03:00
oqyude 38b4f2d634 123 2025-07-31 13:03:24 +03:00
oqyude 55266bd79a flake upd 2025-07-31 12:16:46 +03:00
oqyude 93ef99b14b 123 2025-07-31 12:16:30 +03:00
oqyude 83e7d98aa8 123 2025-07-31 11:50:13 +03:00
oqyude ada3eb2cd7 123 2025-07-31 11:15:22 +03:00
oqyude 823fea14ed 123 2025-07-31 10:43:20 +03:00
oqyude 00a4865150 123 2025-07-31 10:40:30 +03:00
oqyude 9bde890878 123 2025-07-29 00:31:35 +03:00
oqyude df210e56ea 213 2025-07-29 00:21:18 +03:00
oqyude 6fcb85d42c 123 2025-07-28 23:47:26 +03:00
oqyude 0a186d881e 123 2025-07-26 23:49:28 +03:00
oqyude f2f59a15e8 123 2025-07-26 23:42:29 +03:00
oqyude 19ee86c8a2 123 2025-07-26 23:28:13 +03:00
oqyude d28b54d025 123 2025-07-26 22:31:36 +03:00
oqyude 97d406fe7e 123 2025-07-26 21:30:13 +03:00
oqyude d90d5483e1 123 2025-07-26 21:06:39 +03:00
oqyude 082e45bfec 123 2025-07-26 20:50:56 +03:00
oqyude 943531117d 123 2025-07-26 20:45:50 +03:00
oqyude ac66fe6918 123 2025-07-26 18:15:55 +03:00
oqyude aa8cb6da0f 123 2025-07-26 18:15:29 +03:00
oqyude 58d8907d04 123 2025-07-26 17:54:26 +03:00
oqyude 98b5d88077 123 2025-07-26 17:52:00 +03:00
oqyude b030ee1767 123 2025-07-26 17:47:31 +03:00
oqyude 6a5af2abb2 123 2025-07-26 16:48:00 +03:00
oqyude 12a2354522 123 2025-07-26 16:32:42 +03:00
oqyude 5f9853c1fe 123 2025-07-26 16:23:55 +03:00
oqyude 050a0b8c23 123 2025-07-26 15:51:50 +03:00
oqyude fd49bb81f2 123 2025-07-26 15:39:45 +03:00
oqyude 3d1421f38d 123 2025-07-25 20:31:38 +03:00
oqyude e400b5ea8a 123 2025-07-25 19:16:02 +03:00
oqyude ad0fa5bfdd 123 2025-07-25 17:19:22 +03:00
oqyude 80aab38a68 123 2025-07-25 16:45:39 +03:00
oqyude b76bd649c9 123 2025-07-25 16:27:12 +03:00
oqyude 0d248cf2b1 123 2025-07-25 01:18:34 +03:00
oqyude 01ff99a5d7 123 2025-07-24 23:34:57 +03:00
oqyude 1d8398e891 123 2025-07-24 23:29:07 +03:00
oqyude a9c2ab1659 123 2025-07-24 17:28:21 +03:00
oqyude 39110104ab 123 2025-07-24 17:01:04 +03:00
oqyude ffa350eee3 123 2025-07-24 16:36:37 +03:00
oqyude e50fb21aa9 123 2025-07-24 16:05:45 +03:00
oqyude 547ac40f89 123 2025-07-24 16:01:03 +03:00
oqyude d0219a976b 123 2025-07-24 15:46:37 +03:00
oqyude b7268f5f54 123 2025-07-24 14:59:43 +03:00
oqyude 1da6d97ce0 q 2025-07-24 14:59:30 +03:00
oqyude a6e1d9202c 123 2025-07-24 14:46:11 +03:00
oqyude e496935c89 123 2025-07-24 13:11:11 +03:00
oqyude bbf7efc462 123 2025-07-24 12:44:11 +03:00
oqyude ef38dc4e59 123 2025-07-24 12:37:15 +03:00
oqyude 6b0698de26 123 2025-07-24 01:03:00 +03:00
oqyude dcba862613 13 2025-07-24 01:02:38 +03:00
oqyude 2207736fa2 123 2025-07-24 00:53:13 +03:00
oqyude 0bf9fc844a 123 2025-07-24 00:52:09 +03:00
oqyude 333b4f8549 123 2025-07-24 00:31:09 +03:00
oqyude 553ed61e34 123 2025-07-24 00:13:23 +03:00
oqyude d8e30def44 123 2025-07-24 00:02:40 +03:00
oqyude ce95b5904d 1323 2025-07-24 00:00:58 +03:00
oqyude 82d8a3c714 123 2025-07-23 22:55:03 +03:00
oqyude 51cda7557c 123 2025-07-23 22:27:12 +03:00
oqyude 611774b200 123 2025-07-23 21:28:07 +03:00
oqyude b480c94188 123 2025-07-23 20:03:47 +03:00
oqyude 8ee3dd3c85 123 2025-07-23 19:47:18 +03:00
oqyude d5f25316c3 123 2025-07-23 19:37:00 +03:00
oqyude 1415210244 это победа, nixos на hostvds 2025-07-23 19:29:30 +03:00
oqyude 03c452b9ce 123 2025-07-23 18:44:29 +03:00
oqyude db3fa40494 123 2025-07-23 16:08:34 +03:00
oqyude a40d057cb9 123 2025-07-23 15:39:18 +03:00
oqyude 14fc4ba5b3 123 2025-07-23 14:41:30 +03:00
oqyude 45f19be069 123 2025-07-23 14:23:28 +03:00
oqyude d5f0615d2f 123 2025-07-23 14:17:27 +03:00
oqyude 9ed5341100 123 2025-07-23 14:11:59 +03:00
oqyude 78c867fbcb 123 2025-07-23 14:05:16 +03:00
oqyude ad0370a536 123 2025-07-23 14:00:39 +03:00
oqyude 96b08dab64 123 2025-07-23 13:47:54 +03:00
oqyude fad346d5a7 123 2025-07-23 13:43:10 +03:00
oqyude cada2d4878 123 2025-07-23 13:29:07 +03:00
oqyude 40fa9fba58 123 2025-07-23 12:09:14 +03:00
oqyude dabc7647a5 123 2025-07-23 11:42:17 +03:00
oqyude c463f746a4 123 2025-07-23 11:27:35 +03:00
oqyude 928d538bd9 123 2025-07-22 22:16:40 +03:00
oqyude 9de432cb57 123 2025-07-22 21:32:47 +03:00
oqyude d7a78d2fc5 123 2025-07-19 14:43:50 +03:00
oqyude 2aec1bd63e 123 2025-07-19 14:40:04 +03:00
oqyude 021e70570b 123 2025-07-16 13:27:26 +03:00
oqyude 223f3dca85 123 2025-07-16 13:17:43 +03:00
oqyude 900dd626a8 123 2025-07-16 12:31:15 +03:00
oqyude cf76234e8a 213 2025-07-16 12:30:07 +03:00
oqyude 6088f6f701 123 2025-07-15 20:36:35 +03:00
oqyude bf22d1e2bd 123 2025-07-13 22:43:06 +03:00
oqyude 1015fdeab4 123 2025-07-12 12:30:29 +03:00
oqyude 0f301b4269 123 2025-07-12 12:23:01 +03:00
oqyude 7f1480afb2 123 2025-07-12 12:10:36 +03:00
oqyude 0f3630da75 123 2025-07-12 11:56:46 +03:00
oqyude 6e87397e16 123 2025-07-10 15:48:51 +03:00
oqyude 73f23c450b 123 2025-07-10 15:39:07 +03:00
oqyude 1e9b9245cc 123 2025-07-06 16:09:54 +03:00
oqyude ed97db54c2 123 2025-07-04 00:24:42 +03:00
oqyude 0671c10e67 123 2025-07-02 19:07:19 +03:00
oqyude b9b6c52bc2 123 2025-07-02 18:59:44 +03:00
oqyude 4adf180c8c 123 2025-07-01 20:47:03 +03:00
oqyude 59ded4e50b 123 2025-07-01 19:08:50 +03:00
oqyude 495c6c534e 123 2025-07-01 18:37:12 +03:00
oqyude db9f630261 123 2025-07-01 18:31:48 +03:00
oqyude 05f9298825 123 2025-07-01 18:24:54 +03:00
oqyude f9016845d5 123 2025-07-01 16:32:26 +03:00
oqyude 596782e0c3 123 2025-07-01 15:02:30 +03:00
oqyude 25d94976d5 123 2025-07-01 13:46:38 +03:00
oqyude 93ba9bdc70 123 2025-06-28 17:52:33 +03:00
oqyude f78a37bd74 123 2025-06-28 17:41:19 +03:00
oqyude 0e4d975dc2 123 2025-06-28 17:29:05 +03:00
oqyude 2de66a1b49 123 2025-06-26 14:40:50 +03:00
oqyude 4ba05b62cc 123 2025-06-26 14:22:03 +03:00
oqyude 2537aa5710 123 2025-06-23 20:23:00 +03:00
oqyude a6e17dec77 123 2025-06-23 19:13:14 +03:00
oqyude b9f1c8c9ee 123 2025-06-17 12:13:19 +03:00
oqyude 736b33e46e 123 2025-06-17 12:05:46 +03:00
oqyude 7a4b2c6aba 123 2025-06-16 23:02:41 +03:00
oqyude a81e20f8b8 12 2025-06-16 21:58:38 +03:00
oqyude d3154688cb 123 2025-06-16 21:49:47 +03:00
oqyude aec5c7c494 bluetooth server is on 2025-06-15 10:41:54 +03:00
oqyude 6a2f704ff7 remove gui 2025-06-12 08:32:50 +03:00
oqyude 0ff17695aa 123 2025-06-11 22:29:03 +03:00
oqyude 1f005a5385 gui on server lol
i buy monitor and test for defects with server hdmi port
2025-06-11 21:19:30 +03:00
oqyude 26d17a1fd5 123 2025-06-07 12:40:08 +03:00
oqyude 7d8c576151 123 2025-06-07 12:15:13 +03:00
oqyude 59dcd78e32 123 2025-06-07 12:09:27 +03:00
oqyude 0e490aa985 123 2025-06-06 21:20:36 +03:00
oqyude 581ce8a3e6 123 2025-06-05 22:47:48 +03:00
oqyude 73206ccc37 123 2025-06-05 21:43:28 +03:00
oqyude f3b1b6585a 123 2025-06-05 21:17:32 +03:00
oqyude d56f2ace79 123 2025-06-05 21:16:48 +03:00
oqyude c1b49f6975 123 2025-06-05 21:16:06 +03:00
oqyude a02077f5fd 123 2025-06-05 21:08:16 +03:00
oqyude b4db82239e 123 2025-06-04 21:11:05 +03:00
oqyude e13c86f475 123 2025-06-04 17:52:54 +03:00
oqyude bc10386109 123 2025-06-04 17:17:46 +03:00
oqyude 1cb0688a9c 123 2025-06-02 12:42:44 +03:00
oqyude 2a197c249f 123 2025-06-01 18:54:24 +03:00
oqyude aef5aafa1e 123 2025-06-01 18:33:19 +03:00
oqyude 4f3ba52550 123 2025-06-01 17:52:00 +03:00
oqyude 0fcaf6156a 123 2025-06-01 17:48:01 +03:00
oqyude a73ce9cfb0 123 2025-06-01 17:39:55 +03:00
oqyude 7dc205d64a 123 2025-06-01 17:09:45 +03:00
oqyude e684992603 123 2025-05-25 13:50:54 +03:00
oqyude ae3c412a7d ? 2025-05-22 14:09:09 +03:00
oqyude 9e34525b71 123 2025-05-19 11:48:58 +03:00
oqyude 50c1e6daf9 123 2025-05-18 21:03:29 +03:00
oqyude f28cfcb1ec 123 2025-05-18 13:16:16 +03:00
oqyude 6bd6ac0ac0 123 2025-05-18 13:06:01 +03:00
oqyude 0080e37a5a 123 2025-05-18 12:57:37 +03:00
oqyude ad2903df6f 123 2025-05-18 12:52:26 +03:00
oqyude d0a0595f75 123 2025-05-18 12:36:20 +03:00
oqyude a69cd1aa55 123 2025-05-18 12:36:11 +03:00
oqyude bbe32988a0 123 2025-05-18 01:31:25 +03:00
oqyude 3b426c2f73 123 2025-05-18 01:29:08 +03:00
oqyude 746496c1c4 fix drive boot 2025-05-18 01:24:14 +03:00
oqyude a71b8f1780 123 2025-05-18 01:07:08 +03:00
oqyude d2be3651a7 123 2025-05-18 00:34:19 +03:00
oqyude 6ddf0d5d84 123 2025-05-18 00:21:12 +03:00
oqyude 1b32112dc9 123 2025-05-18 00:17:23 +03:00
oqyude 95e94d41f2 123 2025-05-18 00:02:31 +03:00
oqyude 9ec008c76d 123 2025-05-17 23:38:33 +03:00
oqyude a4ae755694 beets module 2025-05-17 23:34:03 +03:00
oqyude 1e4299f10b 123 2025-05-17 21:02:59 +03:00
oqyude 97035e9f93 123 2025-05-17 20:46:30 +03:00
oqyude a6d094d2b4 up 2025-05-17 18:07:28 +03:00
oqyude 4b1323a69d 123 2025-05-17 17:31:53 +03:00
oqyude 5b43ec3e71 123 2025-05-17 14:50:15 +03:00
oqyude 859f15812c Update README.md 2025-05-15 21:30:02 +03:00
oqyude ea0820e26a 123 2025-05-15 21:19:10 +03:00
oqyude b6cee5e832 Init 2025-05-15 21:11:30 +03:00
88 changed files with 1104 additions and 2345 deletions
-1
View File
@@ -1 +0,0 @@
* text=auto eol=lf
-1
View File
@@ -1 +0,0 @@
.vscode
+1 -1
View File
@@ -1 +1 @@
I'm a super newbie who just posted my stuff here. Now maybe about intermediate
I'm a super newbie who just posted my stuff here. Now maybe simple newbie
+1 -1
View File
@@ -18,7 +18,7 @@
};
};
swap = {
size = "6G";
size = "2G";
content = {
type = "swap";
};
+1 -1
View File
@@ -20,7 +20,7 @@
};
};
swap = {
size = "4G";
size = "1G";
content = {
type = "swap";
};
+5 -5
View File
@@ -14,11 +14,11 @@
boot = {
initrd = {
# supportedFilesystems = [
# "nfs"
# "nfsv4"
# "overlay"
# ];
supportedFilesystems = [
"nfs"
"nfsv4"
"overlay"
];
availableKernelModules = [
"nvme"
"xhci_pci"
+3 -7
View File
@@ -51,13 +51,9 @@
};
};
zramSwap = {
enable = true;
};
swapDevices = [
{ device = "/dev/disk/by-partlabel/disk-main-swap"; }
];
# swapDevices = [
# { device = "/dev/disk/by-partlabel/disk-main-swap"; }
# ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
+3 -7
View File
@@ -13,13 +13,9 @@
};
};
swapDevices = [
{ device = "/dev/disk/by-partlabel/disk-main-swap"; }
];
zramSwap = {
enable = true;
};
# swapDevices = [
# { device = "/dev/disk/by-partlabel/disk-main-swap"; }
# ];
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+5 -5
View File
@@ -69,11 +69,11 @@ let
};
services = {
# xserver = {
# videoDrivers = [
# "nomodeset"
# ];
# };
xserver = {
videoDrivers = [
"nomodeset"
];
};
syncthing = {
enable = true;
systemService = true;
+11 -5
View File
@@ -20,7 +20,7 @@ let
];
boot = {
# kernelPackages = pkgs.linuxPackages_xanmod_stable;
kernelPackages = pkgs.linuxPackages_xanmod_stable;
hardwareScan = true;
loader = {
systemd-boot.enable = lib.mkDefault true;
@@ -41,6 +41,10 @@ let
intel-gpu-tools.enable = true;
};
# swapDevices = [
# { device = "/dev/disk/by-partlabel/disk-main-swap"; }
# ];
fileSystems = {
# External drive
"${xlib.dirs.server-home}" = {
@@ -48,7 +52,7 @@ let
fsType = "ext4";
};
# Archive drive
"${xlib.dirs.archive-drive}" = {
"/mnt/archive" = {
device = "/dev/disk/by-label/archive";
fsType = "exfat";
options = [
@@ -58,7 +62,7 @@ let
];
};
# Mobile SD-Card
"${xlib.dirs.mobile-drive}" = {
"/mnt/mobile" = {
device = "/dev/disk/by-uuid/7EB1-DC99";
fsType = "exfat";
options = [
@@ -67,13 +71,15 @@ let
"gid=1000"
];
};
# Services in /mnt folder
"${xlib.dirs.services-mnt-folder}" = {
device = "${xlib.dirs.services-folder}";
fsType = "none";
options = [
"bind"
"nofail"
# "uid=1000"
# "gid=1000"
# "fmask=0000"
# "dmask=0000"
];
};
};
+47
View File
@@ -46,6 +46,53 @@ let
SystemMaxUse=512M
'';
};
samba = {
enable = true;
openFirewall = true;
settings = {
global = {
"invalid users" = [ ];
"passwd program" = "/run/wrappers/bin/passwd %u";
security = "user";
};
nixos = {
"path" = "/etc/nixos";
"browseable" = "yes";
"read only" = "no";
"valid users" = "${xlib.device.username}";
"guest ok" = "no";
"writable" = "yes";
"create mask" = 755;
"directory mask" = 755;
"force user" = "${xlib.device.username}";
"force group" = "users";
};
root = {
"path" = "/";
"browseable" = "yes";
"read only" = "no";
"valid users" = "${xlib.device.username}";
"guest ok" = "no";
"writable" = "yes";
#"create mask" = 0644;
#"directory mask" = 0644;
"force user" = "root";
"force group" = "root";
};
"${xlib.device.username}" = {
"path" = "/home/${xlib.device.username}";
"browseable" = "yes";
"read only" = "no";
"valid users" = "${xlib.device.username}";
"guest ok" = "no";
"writable" = "yes";
"create mask" = 700;
"directory mask" = 700;
"force user" = "${xlib.device.username}";
"force group" = "users";
};
};
};
openssh = {
enable = true;
allowSFTP = true;
+55 -35
View File
@@ -26,7 +26,7 @@ let
];
boot = {
# kernelPackages = pkgs.linuxPackages_xanmod_stable;
kernelPackages = pkgs.linuxPackages_xanmod_stable;
hardwareScan = true;
loader = {
grub = {
@@ -37,12 +37,6 @@ let
};
systemd-boot.enable = lib.mkDefault false;
};
kernel.sysctl = {
"net.ipv4.tcp_syncookies" = 1;
"net.ipv4.tcp_max_syn_backlog" = 4096;
"net.ipv4.tcp_synack_retries" = 3;
"net.ipv4.tcp_syn_retries" = 3;
};
};
services = {
@@ -52,6 +46,53 @@ let
SystemMaxUse=512M
'';
};
samba = {
enable = true;
openFirewall = true;
settings = {
global = {
"invalid users" = [ ];
"passwd program" = "/run/wrappers/bin/passwd %u";
security = "user";
};
nixos = {
"path" = "/etc/nixos";
"browseable" = "yes";
"read only" = "no";
"valid users" = "${xlib.device.username}";
"guest ok" = "no";
"writable" = "yes";
"create mask" = 755;
"directory mask" = 755;
"force user" = "${xlib.device.username}";
"force group" = "users";
};
root = {
"path" = "/";
"browseable" = "yes";
"read only" = "no";
"valid users" = "${xlib.device.username}";
"guest ok" = "no";
"writable" = "yes";
#"create mask" = 0644;
#"directory mask" = 0644;
"force user" = "root";
"force group" = "root";
};
"${xlib.device.username}" = {
"path" = "/home/${xlib.device.username}";
"browseable" = "yes";
"read only" = "no";
"valid users" = "${xlib.device.username}";
"guest ok" = "no";
"writable" = "yes";
"create mask" = 700;
"directory mask" = 700;
"force user" = "${xlib.device.username}";
"force group" = "users";
};
};
};
openssh = {
enable = true;
allowSFTP = true;
@@ -73,49 +114,28 @@ let
openFirewall = true;
};
};
networking = {
nameservers = [
"1.1.1.1"
"8.8.8.8"
# "2001:4860:4860::8844"
# "2001:4860:4860::8888"
# "2606:4700:4700::1111"
# "2606:4700:4700::1001"
"2001:4860:4860::8844"
"2001:4860:4860::8888"
"2606:4700:4700::1111"
"2606:4700:4700::1001"
];
hostName = "${xlib.device.hostname}";
networkmanager.enable = true;
tempAddresses = "disabled";
dhcpcd = {
enable = true;
IPv6rs = false;
IPv6rs = true;
};
firewall = {
enable = true;
allowPing = true;
};
nftables = {
enable = true;
ruleset = ''
table inet filter {
chain input {
type filter hook input priority 0;
# loopback
iif lo accept
# уже установленные
ct state established,related accept
# РЕЖЕМ SYN СРАЗУ
tcp flags syn tcp dport {80,443} limit rate 20/second burst 40 packets accept
tcp flags syn tcp dport {80,443} drop
# остальное по необходимости
}
}
'';
};
enableIPv6 = false;
enableIPv6 = true;
interfaces.ens3 = {
useDHCP = true;
# ipv4.addresses = [
Generated
+169 -74
View File
@@ -1,5 +1,26 @@
{
"nodes": {
"compose2nix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"onchg": "onchg"
},
"locked": {
"lastModified": 1768176895,
"narHash": "sha256-GvcYMsrvQ1yjehcKmnlniBQM8HP9U/v7qSvfnxj3VtA=",
"owner": "aksiksi",
"repo": "compose2nix",
"rev": "e36aecd3649f43d745a5f837bf91c27c4499e203",
"type": "github"
},
"original": {
"owner": "aksiksi",
"repo": "compose2nix",
"type": "github"
}
},
"deploy-rs": {
"inputs": {
"flake-compat": [
@@ -13,11 +34,11 @@
]
},
"locked": {
"lastModified": 1781023725,
"narHash": "sha256-Gt+qFANcrDRjl3xzidLYrAUQCd3808iuAsLwZbYYAEU=",
"lastModified": 1770019181,
"narHash": "sha256-hwsYgDnby50JNVpTRYlF3UR/Rrpt01OrxVuryF40CFY=",
"owner": "serokell",
"repo": "deploy-rs",
"rev": "2ce9051767ee4d1a3c43b52ba327431783bfd463",
"rev": "77c906c0ba56aabdbc72041bf9111b565cdd6171",
"type": "github"
},
"original": {
@@ -33,11 +54,11 @@
]
},
"locked": {
"lastModified": 1781152676,
"narHash": "sha256-RxWs5ND31KzTG7wvMM+PMfUjyNpmIEr999lqNARaM5o=",
"lastModified": 1769524058,
"narHash": "sha256-zygdD6X1PcVNR2PsyK4ptzrVEiAdbMqLos7utrMDEWE=",
"owner": "nix-community",
"repo": "disko",
"rev": "ff8702b4de27f72b4c78573dfb89ec74e36abdf1",
"rev": "71a3fc97d80881e91710fe721f1158d3b96ae14d",
"type": "github"
},
"original": {
@@ -61,6 +82,21 @@
"type": "github"
}
},
"flake-utils": {
"locked": {
"lastModified": 1652776076,
"narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "04c1b180862888302ddfb2e3ad9eaa63afc60cf8",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"grub2-themes": {
"inputs": {
"nixpkgs": [
@@ -88,11 +124,11 @@
]
},
"locked": {
"lastModified": 1781365335,
"narHash": "sha256-zqDBhXMzfbdlO7F2bGHe7MOtB3xngd/+4ieMHDC+ZXo=",
"lastModified": 1771037579,
"narHash": "sha256-NX5XuhGcsmk0oEII2PEtMRgvh2KaAv3/WWQsOpxAgR4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "5b6f5733726a1b2ccafb5dec6ac4ca7299fad66c",
"rev": "05e6dc0f6ed936f918cb6f0f21f1dad1e4c53150",
"type": "github"
},
"original": {
@@ -101,16 +137,56 @@
"type": "github"
}
},
"nixos-hardware": {
"musnix": {
"inputs": {
"nixpkgs": "nixpkgs"
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1781168557,
"narHash": "sha256-LOnLQ2tpYF9gqIDDr3+j3DbpJJr/QCH6zPRT2GzEUOE=",
"lastModified": 1767232402,
"narHash": "sha256-li+h6crnhc5Zqs+M6pn7D7M0W9M63ECNennDjRgzioE=",
"owner": "musnix",
"repo": "musnix",
"rev": "d65f98e0b1f792365f1705653d7b2d266ceeff6e",
"type": "github"
},
"original": {
"owner": "musnix",
"repo": "musnix",
"type": "github"
}
},
"nix-pre-commit": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"compose2nix",
"onchg",
"nixpkgs"
]
},
"locked": {
"lastModified": 1653259102,
"narHash": "sha256-XfCEu4zur/N2Dk4v8wFiQAgJ7bgNqPqwWp1vBXkeczM=",
"owner": "jmgilman",
"repo": "nix-pre-commit",
"rev": "6a99b2711c7eac9960939d8eb91e84322b22d50c",
"type": "github"
},
"original": {
"owner": "jmgilman",
"repo": "nix-pre-commit",
"type": "github"
}
},
"nixos-hardware": {
"locked": {
"lastModified": 1770882871,
"narHash": "sha256-nw5g+xl3veea+maxJ2/81tMEA/rPq9aF1H5XF35X+OE=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "6358ff76821101c178e3ab4919a62799bfe3652e",
"rev": "af04cb78aa85b2a4d1c15fc7270347e0d0eda97b",
"type": "github"
},
"original": {
@@ -130,11 +206,11 @@
]
},
"locked": {
"lastModified": 1781182279,
"narHash": "sha256-V5EQQbDnmdiXGQXrEF1PEL7QYsFqfH8N1E89Z5ONwFk=",
"lastModified": 1770657009,
"narHash": "sha256-v/LA5ZSJ+JQYzMSKB4sySM0wKfsAqddNzzxLLnbsV/E=",
"owner": "nix-community",
"repo": "NixOS-WSL",
"rev": "5675822ba756e6e56f8f6a5a76e90e0da2ece94d",
"rev": "5b50ea1aaa14945d4794c80fcc99c4aa1db84d2d",
"type": "github"
},
"original": {
@@ -146,56 +222,27 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1767892417,
"narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
"type": "tarball",
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz"
},
"original": {
"type": "tarball",
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
}
},
"nixpkgs-beets": {
"locked": {
"lastModified": 1774610258,
"narHash": "sha256-HaThtroVD9wRdx7KQk0B75JmFcXlMUoEdDFNOMOlsOs=",
"lastModified": 1770843696,
"narHash": "sha256-LovWTGDwXhkfCOmbgLVA10bvsi/P8eDDpRudgk68HA8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "832efc09b4caf6b4569fbf9dc01bec3082a00611",
"rev": "2343bbb58f99267223bc2aac4fc9ea301a155a16",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"rev": "832efc09b4caf6b4569fbf9dc01bec3082a00611",
"type": "github"
}
},
"nixpkgs-calibre": {
"locked": {
"lastModified": 1776255774,
"narHash": "sha256-psVTpH6PK3q1htMJpmdz1hLF5pQgEshu7gQWgKO6t6Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "566acc07c54dc807f91625bb286cb9b321b5f42a",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "566acc07c54dc807f91625bb286cb9b321b5f42a",
"type": "github"
}
},
"nixpkgs-master": {
"locked": {
"lastModified": 1781461743,
"narHash": "sha256-gjBRAyMLpEJ+xtfHNLNE+5iFiSREBMmEYp8hFtL0Afs=",
"lastModified": 1771056776,
"narHash": "sha256-0l776LxthDY08ujQ1h83k9z6K5vBg1bGc415AWeFOOI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "94af5fb07bc318fb359ad100ab64457ccbbaf38a",
"rev": "d22fe1660f1f1ccbd52c9d2c09e92fe3861dd691",
"type": "github"
},
"original": {
@@ -207,11 +254,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1780952837,
"narHash": "sha256-Fwd1+spDtQ0hDyBwme6ufG3n4mY0UrjjFdYHv+G/Hds=",
"lastModified": 1770770419,
"narHash": "sha256-iKZMkr6Cm9JzWlRYW/VPoL0A9jVKtZYiU4zSrVeetIs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e820eb4a444b46a19b2e03e8dfd2359439ff30fe",
"rev": "6c5e707c6b5339359a9a9e215c5e66d6d802fd7a",
"type": "github"
},
"original": {
@@ -221,19 +268,65 @@
"type": "github"
}
},
"nixpkgs_2": {
"noctalia": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1781074563,
"narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca",
"lastModified": 1771045170,
"narHash": "sha256-esBQIlClWRgYYvtYW27N79fCbOUkuFj3gxwJrb8WFX4=",
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"rev": "92612c09a9dce53d5dd60e53f066160f1cdf13b4",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"type": "github"
}
},
"nypkgs": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1761401328,
"narHash": "sha256-1Mylp3ZHkft5Sg5VzMpRRvSNsuuO/Oj+cBqjkFoOnRg=",
"owner": "yunfachi",
"repo": "nypkgs",
"rev": "193c13630997d000e72e9ae6f6bfe9b71f5c4b3f",
"type": "github"
},
"original": {
"owner": "yunfachi",
"repo": "nypkgs",
"type": "github"
}
},
"onchg": {
"inputs": {
"nix-pre-commit": "nix-pre-commit",
"nixpkgs": [
"compose2nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1720368454,
"narHash": "sha256-NUSw3G2gsQX8/G64/pDBb1oitM+x13m7nFRvpiI4a+s=",
"owner": "aksiksi",
"repo": "onchg-rs",
"rev": "c42b693d10920874b3644ef1502e33318409d69c",
"type": "github"
},
"original": {
"owner": "aksiksi",
"repo": "onchg-rs",
"type": "github"
}
},
@@ -247,11 +340,11 @@
]
},
"locked": {
"lastModified": 1775856943,
"narHash": "sha256-b7Mp7P+q2Md5AGt4rjHfMcBykzMumFTen10ST++AuTU=",
"lastModified": 1770766818,
"narHash": "sha256-12RCFLyAedyMOdenUi7cN3ioJPEGjA/ZG1BLjugfUVs=",
"owner": "nix-community",
"repo": "plasma-manager",
"rev": "a524a6160e6df89f7673ba293cf7d78b559eb1a5",
"rev": "44b928068359b7d2310a34de39555c63c93a2c90",
"type": "github"
},
"original": {
@@ -262,18 +355,20 @@
},
"root": {
"inputs": {
"compose2nix": "compose2nix",
"deploy-rs": "deploy-rs",
"disko": "disko",
"flake-compat": "flake-compat",
"grub2-themes": "grub2-themes",
"home-manager": "home-manager",
"musnix": "musnix",
"nixos-hardware": "nixos-hardware",
"nixos-wsl": "nixos-wsl",
"nixpkgs": "nixpkgs_2",
"nixpkgs-beets": "nixpkgs-beets",
"nixpkgs-calibre": "nixpkgs-calibre",
"nixpkgs": "nixpkgs",
"nixpkgs-master": "nixpkgs-master",
"nixpkgs-stable": "nixpkgs-stable",
"noctalia": "noctalia",
"nypkgs": "nypkgs",
"plasma-manager": "plasma-manager",
"sops-nix": "sops-nix",
"utils": "utils",
@@ -288,11 +383,11 @@
]
},
"locked": {
"lastModified": 1780547341,
"narHash": "sha256-Gq8KNx5A7hBB3uGJaj6eQfLDIz5YdLu92gqBcvHvoUo=",
"lastModified": 1770683991,
"narHash": "sha256-xVfPvXDf9QN3Eh9dV+Lw6IkWG42KSuQ1u2260HKvpnc=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "9ed65852b6257fbeae4355bc24ecfea307ca759a",
"rev": "8b89f44c2cc4581e402111d928869fe7ba9f7033",
"type": "github"
},
"original": {
+29 -22
View File
@@ -6,12 +6,11 @@
zapret.url = "github:oqyude/zapret-easyflake"; # stupid flake of zapret
# nixpkgs
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
# nixpkgs-last-unstable.url = "github:NixOS/nixpkgs/6b4955211758ba47fac850c040a27f23b9b4008f";
nixpkgs-calibre.url = "github:NixOS/nixpkgs/566acc07c54dc807f91625bb286cb9b321b5f42a";
# nixpkgs-calibre.url = "github:NixOS/nixpkgs/e6f23dc08d3624daab7094b701aa3954923c6bbb";
nixpkgs-master.url = "github:NixOS/nixpkgs/master";
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.11";
nixpkgs-beets.url = "github:NixOS/nixpkgs/832efc09b4caf6b4569fbf9dc01bec3082a00611"; # 2343bbb58f99267223bc2aac4fc9ea301a155a16
#nixpkgs-fingerprint.url = "github:NixOS/nixpkgs/nixos-24.11";
# nix-community
@@ -37,10 +36,14 @@
# nixos-facter-modules.url = "github:numtide/nixos-facter-modules";
# flake-utils.url = "github:numtide/flake-utils";
# flake-parts.url = "github:hercules-ci/flake-parts";
# noctalia = {
# url = "github:noctalia-dev/noctalia-shell";
# nur = {
# url = "github:nix-community/NUR";
# inputs.nixpkgs.follows = "nixpkgs";
# };
noctalia = {
url = "github:noctalia-dev/noctalia-shell";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager"; # flake:home-manager
inputs.nixpkgs.follows = "nixpkgs";
@@ -57,18 +60,14 @@
home-manager.follows = "home-manager";
};
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
grub2-themes = {
url = "github:vinceliuice/grub2-themes";
inputs.nixpkgs.follows = "nixpkgs";
};
# nix-index-database = {
# url = "github:nix-community/nix-index-database";
# inputs.nixpkgs.follows = "nixpkgs";
# };
compose2nix = {
url = "github:aksiksi/compose2nix";
inputs.nixpkgs.follows = "nixpkgs";
};
# extras
# nix-gaming.url = "github:fufexan/nix-gaming";
@@ -79,15 +78,23 @@
# flake-compat.follows = "flake-compat";
# };
# };
# musnix = {
# url = "github:musnix/musnix";
# inputs.nixpkgs.follows = "nixpkgs";
# };
# nypkgs = {
# # https://github.com/yunfachi/nypkgs
# url = "github:yunfachi/nypkgs";
# inputs.nixpkgs.follows = "nixpkgs";
# };
musnix = {
url = "github:musnix/musnix";
inputs.nixpkgs.follows = "nixpkgs";
};
grub2-themes = {
url = "github:vinceliuice/grub2-themes";
inputs.nixpkgs.follows = "nixpkgs";
};
nypkgs = {
# https://github.com/yunfachi/nypkgs
url = "github:yunfachi/nypkgs";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
# stylix = {
# url = "github:danth/stylix";
# inputs = {
+1 -1
View File
@@ -5,7 +5,7 @@
imports = [
./gramps.nix
./streamrip.nix
# ./v2rayn.nix
./v2rayn.nix
./yt-dlp.nix
];
}
+11
View File
@@ -4,7 +4,18 @@
xlib,
...
}:
let
streamripPath = "${xlib.dirs.wsl-storage}/streamrip";
in
{
xdg = {
configFile = {
"streamrip" = {
source = config.lib.file.mkOutOfStoreSymlink streamripPath;
target = "streamrip";
};
};
};
home.packages = [
pkgs.streamrip
];
+3 -3
View File
@@ -15,7 +15,7 @@ let
];
home = {
username = username;
stateVersion = lib.mkDefault "26.05";
stateVersion = lib.mkDefault "25.05";
homeDirectory =
if username == "root" then lib.mkDefault "/${username}" else lib.mkDefault "/home/${username}";
enableNixpkgsReleaseCheck = false;
@@ -24,7 +24,7 @@ let
mkRootModule = username: {
home = {
username = username;
stateVersion = lib.mkDefault "26.05";
stateVersion = lib.mkDefault "25.05";
homeDirectory =
if username == "root" then lib.mkDefault "/${username}" else lib.mkDefault "/home/${username}";
enableNixpkgsReleaseCheck = false;
@@ -36,7 +36,7 @@ let
];
home = {
username = username;
stateVersion = lib.mkDefault "26.05";
stateVersion = lib.mkDefault "25.05";
homeDirectory =
if username == "root" then lib.mkDefault "/${username}" else lib.mkDefault "/home/${username}";
enableNixpkgsReleaseCheck = false;
+1
View File
@@ -75,6 +75,7 @@
# Games
#ludusavi
#prismlauncher
steam
#lutris
# AI
+4
View File
@@ -8,8 +8,12 @@
let
symlinksPaths = {
# cfg
"${xlib.dirs.user-storage}/ssh/config" = ".ssh/config";
"${xlib.dirs.user-storage}/beets" = ".config/beets";
"${xlib.dirs.user-storage}/ludusavi" = ".config/ludusavi";
"${xlib.dirs.user-storage}/solaar" = ".config/solaar";
"${xlib.dirs.user-storage}/easyeffects" = ".config/easyeffects";
"${xlib.dirs.user-storage}/KeePassXC" = ".config/keepassxc";
"${xlib.dirs.user-storage}/v2rayN" = ".local/share/v2rayN";
"/etc/nixos" = "Configuration";
+6 -1
View File
@@ -8,13 +8,18 @@
let
symlinksPaths = {
# cfg
"${xlib.dirs.user-storage}/ssh/config" = ".ssh/config";
"${xlib.dirs.user-storage}/beets" = ".config/beets";
"${xlib.dirs.user-storage}/ludusavi" = ".config/ludusavi";
"${xlib.dirs.user-storage}/solaar" = ".config/solaar";
"${xlib.dirs.user-storage}/easyeffects" = ".config/easyeffects";
"${xlib.dirs.user-storage}/KeePassXC" = ".config/keepassxc";
"${xlib.dirs.user-storage}/v2rayN" = ".local/share/v2rayN";
"/etc/nixos" = "Configuration";
"${config.home.homeDirectory}/Games/PrismLaunchers/${config.home.username}" =
".local/share/PrismLauncher";
"${xlib.dirs.lamet-drive}/Users/oqyude/Music" = "Music";
#"${xlib.dirs.lamet-drive}/Users/oqyude/Music" = "Music";
};
mkLinks = lib.mapAttrs' (sourcePath: targetPath: {
name = targetPath;
+3
View File
@@ -8,6 +8,9 @@
let
symlinksPaths = {
"${config.home.homeDirectory}/External/Music" = "Music";
"${xlib.dirs.storage}/beets" = ".config/beets";
"${xlib.dirs.storage}/ssh/config" = ".ssh/config";
"${xlib.dirs.storage}/ssh/known_hosts" = ".ssh/known_hosts";
};
mkLinks = lib.mapAttrs' (sourcePath: targetPath: {
name = targetPath;
+4 -1
View File
@@ -9,7 +9,10 @@ let
symlinksPaths = {
"${config.home.homeDirectory}/External/Music" = "Music";
"${xlib.dirs.wsl-home}" = "External";
"${xlib.dirs.wsl-storage}" = "Storage";
"${xlib.dirs.wsl-storage}/beets" = ".config/beets";
"${xlib.dirs.wsl-storage}/ssh/config" = ".ssh/config";
"${xlib.dirs.wsl-storage}/ssh/known_hosts" = ".ssh/known_hosts";
"${xlib.dirs.wsl-storage}/flow" = ".config/flow";
};
mkLinks = lib.mapAttrs' (sourcePath: targetPath: {
name = targetPath;
-131
View File
@@ -1,131 +0,0 @@
{
config,
lib,
pkgs,
xlib,
...
}:
{
virtualisation = {
podman = {
enable = true;
autoPrune = {
enable = true;
flags = [ "--all" ];
};
dockerCompat = true;
};
oci-containers = {
backend = "podman";
containers."3xui_app" = {
image = "ghcr.io/mhsanaei/3x-ui:latest";
environment = {
"XRAY_VMESS_AEAD_FORCED" = "false";
"XUI_ENABLE_FAIL2BAN" = "true";
"TZ" = "Europe/Moscow";
};
volumes = [
"${xlib.dirs.services-mnt-folder}/containers/3x-ui/cert/:/root/cert:rw"
"${xlib.dirs.services-mnt-folder}/containers/3x-ui/db/:/etc/x-ui:rw"
];
log-driver = "journald";
extraOptions = [
"--network=host"
];
};
};
};
systemd = {
services = {
"podman-3xui_app" = {
serviceConfig = {
Restart = lib.mkOverride 90 "always";
};
partOf = [
"podman-compose-3x-ui-root.target"
];
wantedBy = [
"podman-compose-3x-ui-root.target"
];
};
# Update
"podman-update-3xui_app" = {
path = [
pkgs.podman
];
serviceConfig = {
Type = "oneshot";
TimeoutSec = 300;
};
script = ''
podman pull ghcr.io/mhsanaei/3x-ui:latest
systemctl restart podman-3xui_app.service
'';
};
# Builds
# "podman-build-3xui_app" = {
# path = [
# pkgs.podman
# pkgs.git
# ];
# serviceConfig = {
# Type = "oneshot";
# TimeoutSec = 300;
# };
# script = ''
# cd /mnt/containers/3x-ui
# podman build -t compose2nix/3xui_app -f ./Dockerfile .
# '';
# };
};
# Root service
# When started, this will automatically create all resources and start
# the containers. When stopped, this will teardown all resources.
targets."podman-compose-3x-ui-root" = {
unitConfig = {
Description = "Root target generated by compose2nix.";
};
wantedBy = [ "multi-user.target" ];
};
timers."podman-update-3xui_app" = {
wantedBy = [ "timers.target" ];
timerConfig = {
OnCalendar = "weekly";
Persistent = true;
};
};
# Folders
tmpfiles.rules = [
"d /mnt 0755 root root -"
"d /mnt/containers 0755 root root -"
"d /mnt/services/containers 0755 root root -"
"d /mnt/services/containers/3x-ui 0755 root root -"
"d /mnt/services/containers/3x-ui/cert 0755 root root -"
"d /mnt/services/containers/3x-ui/db 0755 root root -"
];
};
# Enable container name DNS for all Podman networks.
networking.firewall = {
allowedUDPPortRanges = [
{
from = 14380;
to = 15380;
}
];
allowedTCPPortRanges = [
{
from = 14380;
to = 15380;
}
];
interfaces =
let
matchAll = if !config.networking.nftables.enable then "podman+" else "podman*";
in
{
"${matchAll}".allowedUDPPorts = [ 53 ];
};
};
}
-121
View File
@@ -1,121 +0,0 @@
{
pkgs,
lib,
config,
xlib,
...
}:
{
# Runtime
virtualisation.podman = {
enable = true;
autoPrune.enable = true;
dockerCompat = true;
dockerSocket.enable = true;
defaultNetwork.settings.dns_enabled = true;
};
# Enable container name DNS for all Podman networks.
networking.firewall.interfaces =
let
matchAll = if !config.networking.nftables.enable then "podman+" else "podman*";
in
{
"${matchAll}".allowedUDPPorts = [ 53 ];
};
virtualisation.oci-containers.backend = "podman";
# Containers
virtualisation.oci-containers.containers."openhands-app" = {
image = "ghcr.io/openhands/openhands:latest";
environment = {
"AGENT_SERVER_IMAGE_REPOSITORY" = "ghcr.io/openhands/agent-server";
"AGENT_SERVER_IMAGE_TAG" = "31536c8-python";
"WORKSPACE_MOUNT_PATH" = "${xlib.dirs.services-mnt-folder}/containers/openhands/workspace";
};
volumes = [
"${xlib.dirs.services-mnt-folder}/containers/openhands/userspace:/.openhands:rw"
"${xlib.dirs.services-mnt-folder}/containers/openhands/workspace:/opt/workspace_base:rw"
"/run/podman/podman.sock:/var/run/docker.sock:rw"
];
ports = [
"3000:3000/tcp"
];
log-driver = "journald";
extraOptions = [
# "--network=host"
"--add-host=host.docker.internal:host-gateway"
"--network-alias=openhands"
"--network=openhands_default"
];
};
systemd.services."podman-openhands-app" = {
serviceConfig = {
Restart = lib.mkOverride 90 "no";
};
after = [
"podman-network-openhands_default.service"
];
requires = [
"podman-network-openhands_default.service"
];
partOf = [
"podman-compose-openhands-root.target"
];
wantedBy = [
"podman-compose-openhands-root.target"
];
};
# Networks
systemd.services."podman-network-openhands_default" = {
path = [ pkgs.podman ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
ExecStop = "podman network rm -f openhands_default";
};
script = ''
podman network inspect openhands_default || podman network create openhands_default
'';
partOf = [ "podman-compose-openhands-root.target" ];
wantedBy = [ "podman-compose-openhands-root.target" ];
};
# Builds
# systemd.services."podman-build-openhands-app" = {
# enable = false;
# path = [
# pkgs.podman
# pkgs.git
# ];
# serviceConfig = {
# Type = "oneshot";
# TimeoutSec = 300;
# };
# script = ''
# cd ${xlib.dirs.services-mnt-folder}/containers/openhands/source
# podman build -t openhands:latest -f ./containers/app/Dockerfile .
# '';
# };
# Root service
# When started, this will automatically create all resources and start
# the containers. When stopped, this will teardown all resources.
systemd.targets."podman-compose-openhands-root" = {
unitConfig = {
Description = "Root target generated by compose2nix.";
};
wantedBy = [ "multi-user.target" ];
};
systemd.tmpfiles.rules = [
"d ${xlib.dirs.services-mnt-folder} 0755 root root -"
"d ${xlib.dirs.services-mnt-folder}/containers 0755 root root -"
"d ${xlib.dirs.services-mnt-folder}/containers/openhands 0755 root root -"
"d ${xlib.dirs.services-mnt-folder}/containers/openhands/userspace 0755 root root -"
"d ${xlib.dirs.services-mnt-folder}/containers/openhands/workspace 0755 root root -"
];
}
-15
View File
@@ -1,15 +0,0 @@
{
config,
lib,
pkgs,
inputs,
xlib,
...
}:
{
systemd.tmpfiles.rules = [
"d ${xlib.dirs.services-mnt-folder} 0755 root root -"
"d ${xlib.dirs.services-mnt-folder}/containers 0755 root root -"
"d ${xlib.dirs.services-mnt-folder}/containers/remnanode 0755 root root -"
];
}
@@ -1,115 +0,0 @@
# Auto-generated by compose2nix.
{
pkgs,
lib,
config,
...
}:
{
# Runtime
virtualisation.podman = {
enable = true;
autoPrune.enable = true;
dockerCompat = true;
};
# Enable container name DNS for all Podman networks.
networking.firewall.interfaces =
let
matchAll = if !config.networking.nftables.enable then "podman+" else "podman*";
in
{
"${matchAll}".allowedUDPPorts = [ 53 ];
};
virtualisation.oci-containers.backend = "podman";
# Containers
virtualisation.oci-containers.containers."remnawave-panel-1" = {
image = "localhost/compose2nix/remnawave-panel-1";
environment = {
"API_INSTANCES" = "1";
"APP_PORT" = "3000";
"BANDWIDTH_USAGE_NOTIFICATIONS_ENABLED" = "false";
"BANDWIDTH_USAGE_NOTIFICATIONS_THRESHOLD" = "[60, 80]";
"CLOUDFLARE_TOKEN" = "ey...";
"DATABASE_URL" = "postgresql://remnawave:remnawave@remnawave-db:5432/postgres";
"FRONT_END_DOMAIN" = "*";
"IS_DOCS_ENABLED" = "false";
"IS_TELEGRAM_NOTIFICATIONS_ENABLED" = "false";
"JWT_API_TOKENS_SECRET" =
"787aa44c10130a9fa17ea3ea50c1248dd3e868f74941b96c09d608051399f88b95b67cd68d045aa39658b4b3fe933bf2b2c1437522498976f39f85ae1eab40da";
"JWT_AUTH_SECRET" =
"2bc14bacb6b82ce9e3ef69f8dd7bfb6b8a531f4f516902735d1d8f1bac8ff9b5077398f95b942b1adafc0ca1da4cdfd24a18539fa6eb26bee3f597a45deac94a";
"METRICS_PASS" = "admin";
"METRICS_PORT" = "3001";
"METRICS_USER" = "admin";
"NOT_CONNECTED_USERS_NOTIFICATIONS_AFTER_HOURS" = "[6, 24, 48]";
"NOT_CONNECTED_USERS_NOTIFICATIONS_ENABLED" = "false";
"PANEL_DOMAIN" = "rw.zeroq.ru";
"POSTGRES_DB" = "remnawave";
"POSTGRES_PASSWORD" = "gQLqOm2jK/Z1oBXCD18XSgr76M8ZqkVhHZbNKvZQXnY=";
"POSTGRES_USER" = "remnawave";
"REDIS_SOCKET" = "/var/run/valkey/valkey.sock";
"SCALAR_PATH" = "/scalar";
"SUB_PUBLIC_DOMAIN" = "rw.zeroq.ru/api/sub";
"SWAGGER_PATH" = "/docs";
# "TELEGRAM_BOT_TOKEN" = "change_me";
# "TELEGRAM_NOTIFY_CRM" = "change_me";
# "TELEGRAM_NOTIFY_NODES" = "change_me";
# "TELEGRAM_NOTIFY_SERVICE" = "change_me";
# "TELEGRAM_NOTIFY_TBLOCKER" = "change_me";
# "TELEGRAM_NOTIFY_USERS" = "change_me";
"WEBHOOK_ENABLED" = "false";
"WEBHOOK_SECRET_HEADER" = "vsmu67Kmg6R8FjIOF1WUY8LWBHie4scdEqrfsKmyf4IAf8dY3nFS0wwYHkhh6ZvQ";
"WEBHOOK_URL" = "https://your-webhook-url.com/endpoint";
};
ports = [
"3003:3003/tcp"
];
log-driver = "journald";
extraOptions = [
"--network-alias=remnawave-panel-1"
"--network=remnawavebackend_default"
];
};
systemd.services."podman-remnawave-panel-1" = {
serviceConfig = {
Restart = lib.mkOverride 90 "always";
};
partOf = [
"podman-compose-remnawave-root.target"
];
wantedBy = [
"podman-compose-remnawave-root.target"
];
};
# Builds
systemd.services."podman-build-remnawave-panel-1" = {
path = [
pkgs.podman
pkgs.git
];
serviceConfig = {
Type = "oneshot";
TimeoutSec = 300;
};
script = ''
cd /mnt/s/Deploy/remnawave-backend
podman build -t compose2nix/remnawave-panel-1 .
'';
};
# Root service
# When started, this will automatically create all resources and start
# the containers. When stopped, this will teardown all resources.
systemd.targets."podman-compose-remnawave-root" = {
unitConfig = {
Description = "Root target generated by compose2nix.";
};
wantedBy = [ "multi-user.target" ];
};
}
@@ -1,290 +0,0 @@
# Auto-generated by compose2nix.
{
pkgs,
lib,
config,
...
}:
{
# Runtime
virtualisation.podman = {
enable = true;
autoPrune.enable = true;
dockerCompat = true;
};
# Enable container name DNS for all Podman networks.
networking.firewall.interfaces =
let
matchAll = if !config.networking.nftables.enable then "podman+" else "podman*";
in
{
"${matchAll}".allowedUDPPorts = [ 53 ];
};
virtualisation.oci-containers.backend = "podman";
# Containers
virtualisation.oci-containers.containers."remnawave" = {
image = "remnawave/backend:2";
environment = {
"API_INSTANCES" = "1";
"APP_PORT" = "3000";
"BANDWIDTH_USAGE_NOTIFICATIONS_ENABLED" = "false";
"BANDWIDTH_USAGE_NOTIFICATIONS_THRESHOLD" = "[60, 80]";
"CLOUDFLARE_TOKEN" = "ey...";
"DATABASE_URL" = "postgresql://remnawave:remnawave@remnawave-db:5432/postgres";
"FRONT_END_DOMAIN" = "*";
"IS_DOCS_ENABLED" = "false";
"IS_TELEGRAM_NOTIFICATIONS_ENABLED" = "false";
"JWT_API_TOKENS_SECRET" =
"787aa44c10130a9fa17ea3ea50c1248dd3e868f74941b96c09d608051399f88b95b67cd68d045aa39658b4b3fe933bf2b2c1437522498976f39f85ae1eab40da";
"JWT_AUTH_SECRET" =
"2bc14bacb6b82ce9e3ef69f8dd7bfb6b8a531f4f516902735d1d8f1bac8ff9b5077398f95b942b1adafc0ca1da4cdfd24a18539fa6eb26bee3f597a45deac94a";
"METRICS_PASS" = "admin";
"METRICS_PORT" = "3001";
"METRICS_USER" = "admin";
"NOT_CONNECTED_USERS_NOTIFICATIONS_AFTER_HOURS" = "[6, 24, 48]";
"NOT_CONNECTED_USERS_NOTIFICATIONS_ENABLED" = "false";
"PANEL_DOMAIN" = "rw.zeroq.ru";
"POSTGRES_DB" = "remnawave";
"POSTGRES_PASSWORD" = "gQLqOm2jK/Z1oBXCD18XSgr76M8ZqkVhHZbNKvZQXnY=";
"POSTGRES_USER" = "remnawave";
"REDIS_SOCKET" = "/var/run/valkey/valkey.sock";
"SCALAR_PATH" = "/scalar";
"SUB_PUBLIC_DOMAIN" = "rw.zeroq.ru/api/sub";
"SWAGGER_PATH" = "/docs";
"TELEGRAM_BOT_TOKEN" = "change_me";
"TELEGRAM_NOTIFY_CRM" = "change_me";
"TELEGRAM_NOTIFY_NODES" = "change_me";
"TELEGRAM_NOTIFY_SERVICE" = "change_me";
"TELEGRAM_NOTIFY_TBLOCKER" = "change_me";
"TELEGRAM_NOTIFY_USERS" = "change_me";
"WEBHOOK_ENABLED" = "false";
"WEBHOOK_SECRET_HEADER" = "vsmu67Kmg6R8FjIOF1WUY8LWBHie4scdEqrfsKmyf4IAf8dY3nFS0wwYHkhh6ZvQ";
"WEBHOOK_URL" = "https://your-webhook-url.com/endpoint";
};
volumes = [
"valkey-socket:/var/run/valkey:rw"
];
ports = [
"127.0.0.1:3000:3000/tcp"
"127.0.0.1:3001:3001/tcp"
];
dependsOn = [
"remnawave-db"
"remnawave-redis"
];
log-driver = "journald";
extraOptions = [
"--health-cmd=curl -f http://localhost:3001/health"
"--health-interval=30s"
"--health-retries=3"
"--health-start-period=30s"
"--health-timeout=5s"
"--hostname=remnawave"
"--network-alias=remnawave"
"--network=remnawave-network"
];
};
systemd.services."podman-remnawave" = {
serviceConfig = {
Restart = lib.mkOverride 90 "always";
};
after = [
"podman-network-remnawave-network.service"
"podman-volume-valkey-socket.service"
];
requires = [
"podman-network-remnawave-network.service"
"podman-volume-valkey-socket.service"
];
partOf = [
"podman-compose-remnawave-root.target"
];
wantedBy = [
"podman-compose-remnawave-root.target"
];
};
virtualisation.oci-containers.containers."remnawave-db" = {
image = "postgres:17.6";
environment = {
"API_INSTANCES" = "1";
"APP_PORT" = "3000";
"BANDWIDTH_USAGE_NOTIFICATIONS_ENABLED" = "false";
"BANDWIDTH_USAGE_NOTIFICATIONS_THRESHOLD" = "[60, 80]";
"CLOUDFLARE_TOKEN" = "ey...";
"DATABASE_URL" = "postgresql://remnawave:remnawave@remnawave-db:5432/postgres";
"FRONT_END_DOMAIN" = "*";
"IS_DOCS_ENABLED" = "false";
"IS_TELEGRAM_NOTIFICATIONS_ENABLED" = "false";
"JWT_API_TOKENS_SECRET" =
"787aa44c10130a9fa17ea3ea50c1248dd3e868f74941b96c09d608051399f88b95b67cd68d045aa39658b4b3fe933bf2b2c1437522498976f39f85ae1eab40da";
"JWT_AUTH_SECRET" =
"2bc14bacb6b82ce9e3ef69f8dd7bfb6b8a531f4f516902735d1d8f1bac8ff9b5077398f95b942b1adafc0ca1da4cdfd24a18539fa6eb26bee3f597a45deac94a";
"METRICS_PASS" = "admin";
"METRICS_PORT" = "3001";
"METRICS_USER" = "admin";
"NOT_CONNECTED_USERS_NOTIFICATIONS_AFTER_HOURS" = "[6, 24, 48]";
"NOT_CONNECTED_USERS_NOTIFICATIONS_ENABLED" = "false";
"PANEL_DOMAIN" = "rw.zeroq.ru";
"POSTGRES_DB" = "";
"POSTGRES_PASSWORD" = "";
"POSTGRES_USER" = "";
"REDIS_SOCKET" = "/var/run/valkey/valkey.sock";
"SCALAR_PATH" = "/scalar";
"SUB_PUBLIC_DOMAIN" = "rw.zeroq.ru/api/sub";
"SWAGGER_PATH" = "/docs";
"TELEGRAM_BOT_TOKEN" = "change_me";
"TELEGRAM_NOTIFY_CRM" = "change_me";
"TELEGRAM_NOTIFY_NODES" = "change_me";
"TELEGRAM_NOTIFY_SERVICE" = "change_me";
"TELEGRAM_NOTIFY_TBLOCKER" = "change_me";
"TELEGRAM_NOTIFY_USERS" = "change_me";
"TZ" = "UTC";
"WEBHOOK_ENABLED" = "false";
"WEBHOOK_SECRET_HEADER" = "vsmu67Kmg6R8FjIOF1WUY8LWBHie4scdEqrfsKmyf4IAf8dY3nFS0wwYHkhh6ZvQ";
"WEBHOOK_URL" = "https://your-webhook-url.com/endpoint";
};
volumes = [
"remnawave-db-data:/var/lib/postgresql/data:rw"
];
ports = [
"127.0.0.1:6767:5432/tcp"
];
log-driver = "journald";
extraOptions = [
"--health-cmd=pg_isready -U \${POSTGRES_USER} -d \${POSTGRES_DB}"
"--health-interval=3s"
"--health-retries=3"
"--health-timeout=10s"
"--hostname=remnawave-db"
"--network-alias=remnawave-db"
"--network=remnawave-network"
];
};
systemd.services."podman-remnawave-db" = {
serviceConfig = {
Restart = lib.mkOverride 90 "always";
};
after = [
"podman-network-remnawave-network.service"
"podman-volume-remnawave-db-data.service"
];
requires = [
"podman-network-remnawave-network.service"
"podman-volume-remnawave-db-data.service"
];
partOf = [
"podman-compose-remnawave-root.target"
];
wantedBy = [
"podman-compose-remnawave-root.target"
];
};
virtualisation.oci-containers.containers."remnawave-redis" = {
image = "valkey/valkey:9-alpine";
volumes = [
"valkey-socket:/var/run/valkey:rw"
];
cmd = [
"valkey-server"
"--save"
""
"--appendonly"
"no"
"--maxmemory-policy"
"noeviction"
"--loglevel"
"warning"
"--unixsocket"
"/var/run/valkey/valkey.sock"
"--unixsocketperm"
"777"
"--port"
"0"
];
log-driver = "journald";
extraOptions = [
"--health-cmd=[\"valkey-cli\", \"-s\", \"/var/run/valkey/valkey.sock\", \"ping\"]"
"--health-interval=3s"
"--health-retries=3"
"--health-timeout=3s"
"--hostname=remnawave-redis"
"--network-alias=remnawave-redis"
"--network=remnawave-network"
];
};
systemd.services."podman-remnawave-redis" = {
serviceConfig = {
Restart = lib.mkOverride 90 "always";
};
after = [
"podman-network-remnawave-network.service"
"podman-volume-valkey-socket.service"
];
requires = [
"podman-network-remnawave-network.service"
"podman-volume-valkey-socket.service"
];
partOf = [
"podman-compose-remnawave-root.target"
];
wantedBy = [
"podman-compose-remnawave-root.target"
];
};
# Networks
systemd.services."podman-network-remnawave-network" = {
path = [ pkgs.podman ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
ExecStop = "podman network rm -f remnawave-network";
};
script = ''
podman network inspect remnawave-network || podman network create remnawave-network --driver=bridge
'';
partOf = [ "podman-compose-remnawave-root.target" ];
wantedBy = [ "podman-compose-remnawave-root.target" ];
};
# Volumes
systemd.services."podman-volume-remnawave-db-data" = {
path = [ pkgs.podman ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
script = ''
podman volume inspect remnawave-db-data || podman volume create remnawave-db-data --driver=local
'';
partOf = [ "podman-compose-remnawave-root.target" ];
wantedBy = [ "podman-compose-remnawave-root.target" ];
};
systemd.services."podman-volume-valkey-socket" = {
path = [ pkgs.podman ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
script = ''
podman volume inspect valkey-socket || podman volume create valkey-socket --driver=local
'';
partOf = [ "podman-compose-remnawave-root.target" ];
wantedBy = [ "podman-compose-remnawave-root.target" ];
};
# Root service
# When started, this will automatically create all resources and start
# the containers. When stopped, this will teardown all resources.
systemd.targets."podman-compose-remnawave-root" = {
unitConfig = {
Description = "Root target generated by compose2nix.";
};
wantedBy = [ "multi-user.target" ];
};
}
-198
View File
@@ -1,198 +0,0 @@
{
config,
lib,
pkgs,
inputs,
xlib,
...
}:
{
# Runtime
virtualisation.podman = {
enable = true;
autoPrune.enable = true;
dockerCompat = true;
};
# Enable container name DNS for all Podman networks.
networking.firewall.interfaces =
let
matchAll = if !config.networking.nftables.enable then "podman+" else "podman*";
in
{
"${matchAll}".allowedUDPPorts = [ 53 ];
};
virtualisation.oci-containers.backend = "podman";
# Containers
virtualisation.oci-containers.containers."remnawave-panel-1" = {
image = "ghcr.io/remnawave/backend:latest";
environment = {
"API_INSTANCES" = "1";
"APP_PORT" = "3000";
"BANDWIDTH_USAGE_NOTIFICATIONS_ENABLED" = "false";
"BANDWIDTH_USAGE_NOTIFICATIONS_THRESHOLD" = "[60, 80]";
"FRONT_END_DOMAIN" = "*";
"IS_DOCS_ENABLED" = "false";
"IS_TELEGRAM_NOTIFICATIONS_ENABLED" = "false";
"METRICS_PASS" = "admin";
"METRICS_PORT" = "3001";
"METRICS_USER" = "admin";
"NOT_CONNECTED_USERS_NOTIFICATIONS_AFTER_HOURS" = "[6, 24, 48]";
"NOT_CONNECTED_USERS_NOTIFICATIONS_ENABLED" = "false";
"PANEL_DOMAIN" = "rw.zeroq.su";
"POSTGRES_DB" = "remnawave";
"POSTGRES_USER" = "remnawave";
"REDIS_SOCKET" = "/var/run/valkey/valkey.sock";
"SCALAR_PATH" = "/scalar";
"SUB_PUBLIC_DOMAIN" = "rw.zeroq.su/api/sub";
"SWAGGER_PATH" = "/docs";
# "TELEGRAM_BOT_TOKEN" = "change_me";
# "TELEGRAM_NOTIFY_CRM" = "change_me";
# "TELEGRAM_NOTIFY_NODES" = "change_me";
# "TELEGRAM_NOTIFY_SERVICE" = "change_me";
# "TELEGRAM_NOTIFY_TBLOCKER" = "change_me";
# "TELEGRAM_NOTIFY_USERS" = "change_me";
"WEBHOOK_ENABLED" = "false";
# "WEBHOOK_URL" = "https://your-webhook-url.com/endpoint";
};
environmentFiles = [
"/run/secrets/remnawave-env"
];
ports = [
"3003:3003/tcp"
];
log-driver = "journald";
extraOptions = [
"--network-alias=remnawave-panel-1"
"--network=host" # "--network=remnawavebackend_default"
];
};
systemd.services."podman-remnawave-panel-1" = {
serviceConfig = {
Restart = lib.mkOverride 90 "always";
};
partOf = [
"podman-compose-remnawave-root.target"
];
wantedBy = [
"podman-compose-remnawave-root.target"
];
};
# Builds
# systemd.services."podman-build-remnawave-panel-1" = {
# path = [ pkgs.podman pkgs.git ];
# serviceConfig = {
# Type = "oneshot";
# TimeoutSec = 300;
# };
# script = ''
# cd /mnt/s/Deploy/remnawave-backend
# podman build -t compose2nix/remnawave-panel-1 .
# '';
# };
# Root service
# When started, this will automatically create all resources and start
# the containers. When stopped, this will teardown all resources.
systemd.targets."podman-compose-remnawave-root" = {
unitConfig = {
Description = "Root target generated by compose2nix.";
};
wantedBy = [ "multi-user.target" ];
};
services = {
postgresql = {
ensureDatabases = [ "remnawave" ];
ensureUsers = [
{
name = "remnawave";
ensureDBOwnership = true;
}
];
};
};
systemd.services = {
remnawave-env = {
description = "Generate remnawave env file";
requiredBy = [ "podman-remnawave-panel-1.service" ];
before = [ "podman-remnawave-panel-1.service" ];
serviceConfig = {
Type = "oneshot";
User = "root";
};
script = ''
cat > /run/secrets/remnawave-env <<EOF
DATABASE_URL=$(cat ${config.sops.secrets.DATABASE_URL.path})
DATABASE_PASSWORD=$(cat ${config.sops.secrets.DATABASE_PASSWORD.path})
JWT_AUTH_SECRET=$(cat ${config.sops.secrets.JWT_AUTH_SECRET.path})
JWT_API_TOKENS_SECRET=$(cat ${config.sops.secrets.JWT_API_TOKENS_SECRET.path})
WEBHOOK_SECRET_HEADER=$(cat ${config.sops.secrets.WEBHOOK_SECRET_HEADER.path})
EOF
chmod 600 /run/secrets/remnawave-env
'';
wantedBy = [ "multi-user.target" ];
};
remnawave-db-init = {
description = "Initialize Remnawave DB user";
after = [ "postgresql.service" ];
requires = [ "postgresql.service" ];
serviceConfig = {
Type = "oneshot";
User = "postgres";
};
script = ''
PASSWORD=$(cat ${config.sops.secrets.DATABASE_PASSWORD.path})
${pkgs.postgresql}/bin/psql -v ON_ERROR_STOP=1 <<EOF
DO \$\$
BEGIN
IF EXISTS (SELECT 1 FROM pg_roles WHERE rolname='remnawave') THEN
EXECUTE format('ALTER ROLE remnawave WITH PASSWORD %L', '$PASSWORD');
END IF;
END
\$\$ LANGUAGE plpgsql;
EOF
'';
wantedBy = [ "multi-user.target" ];
};
};
sops.secrets = {
DATABASE_PASSWORD = {
key = "DATABASE_PASSWORD";
sopsFile = ./secrets/remnawave.yaml;
owner = "postgres";
group = "postgres";
mode = "0400";
};
WEBHOOK_SECRET_HEADER = {
key = "WEBHOOK_SECRET_HEADER";
sopsFile = ./secrets/remnawave.yaml;
mode = "0400";
};
DATABASE_URL = {
key = "DATABASE_URL";
sopsFile = ./secrets/remnawave.yaml;
mode = "0400";
};
JWT_AUTH_SECRET = {
key = "JWT_AUTH_SECRET";
sopsFile = ./secrets/remnawave.yaml;
mode = "0400";
};
JWT_API_TOKENS_SECRET = {
key = "JWT_API_TOKENS_SECRET";
sopsFile = ./secrets/remnawave.yaml;
mode = "0400";
};
};
systemd.tmpfiles.rules = [
"d ${xlib.dirs.services-mnt-folder} 0755 root root -"
"d ${xlib.dirs.services-mnt-folder}/containers 0755 root root -"
"d ${xlib.dirs.services-mnt-folder}/containers/remnawave 0755 root root -"
];
}
-20
View File
@@ -1,20 +0,0 @@
DATABASE_PASSWORD: ENC[AES256_GCM,data:DRactR3j13q9zHFO0puGhBv09CX9YJc9KtFSLuOUVV/U7O/Nmh5Hb4ID0+A=,iv:5ErptccuQIVxfZKIcpfO5yVtcM0zE7kPn4v7kHctTP8=,tag:e3w8Rz+wGLTrxDSNftmkLw==,type:str]
WEBHOOK_SECRET_HEADER: ENC[AES256_GCM,data:ZJYKwG1a8JH0ODeRnrv395plPN7PA18+gi3R/ueGd/r8OrtbVGL8UnZ/6HgW9M+/jCGWNclD5mZfyRg3He6hDg==,iv:PIYCD2n5ED5T24JfG6xhrvStd6jySCoBHhA8hUFIEMk=,tag:WWpfI1q9l9R44FRNaqIiaA==,type:str]
DATABASE_URL: ENC[AES256_GCM,data:6plSDBUKyZVAO/djw3bPTthtS11yljwCGfQcIUqQetxROk5hwwVEGNMd1e6nGgS7eTtqJHW6uStkw58=,iv:RDjCVPDgPhMEbCriW0xjrxzcAolmyD55fbkD95LZMlE=,tag:ovH2D3eTXtHFmZba6u+IZg==,type:str]
JWT_AUTH_SECRET: ENC[AES256_GCM,data:rzsOoIwJwwzCd+QbelcWYjfe1Bt7Y1ihrEn9tsxNyZnfmVVIkpFC948ne3YhUZ0CXYEDJYen/SFQgyyWsPwTwZgcy11mIZnROh4vlOJvPWILB1IlVQF/JDDts3fvXfe9HQ7ujBwkw5uR/33Rm+yxeLHMWTsn644DZSyKFi53QqY=,iv:aB3meC8BeEsLmiF0UMjQ60xipjGTJ0Qg1XqRHNujPFE=,tag:s/YcehFUrArknqHlXo3MYw==,type:str]
JWT_API_TOKENS_SECRET: ENC[AES256_GCM,data:m6EtsdMNDRJk99LEYRgTk5rFNUYux4I2UWo/8AWy+2HJI8tRiOrBO284T3W/N+2/3fbty96sVB/SD8bjIIsxHij51sZTYi4+hdU7VxANGPdiMckKAXtvj3FMsVwrtW4MgRbH0j7taiDtnxVp6F3Cl7Sb0GamKFJjgAZnA3weN/8=,iv:rnNB1AzosstyF3c2pUcvYVTyUWcmo8Du+/b09OgcN9w=,tag:O81gnP2nXJ3JvgkivzVgkw==,type:str]
sops:
age:
- recipient: age13l2gtk0nzr484zprp7e0pkrt0ne0j4asyn2pjmlaw73nte7t7d8q4sqtxm
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3dWxEUDdhV2Z4V3JpNzNL
T0ZkYjlLWTNFV2c0Vm5Vb05xK09sQ0RxU0ZVCjhaSVhsSmoyZCtLYlNOVlNnTGFv
TTU1Y3I5U3UrcXhOOGt6U0hoSGw0YlUKLS0tIEJIbnJwNUk4Z0ZGNTRQRVFjWFhv
d0sreEpsMjV5M2JoRHFnVkpqeGhMM1EKX7K3Q2yj8EZuzCIxWIc+6Xeo+0lidPse
wstbeHV8ygWvOjIxjRGPOETQ17GLLl3eNEsk6P2gytZchmLkLYKKsA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2026-04-04T23:08:05Z"
mac: ENC[AES256_GCM,data:vWNFqNiWleqvRItVB0X5W/7e/F+LEWmfIKtnjbV5xwgyZ1jkP2N2wkw8CpzDNN5xwrkTdKfziGt+Psg8p72uMfvqns1lgQzvSbT3W8Di7bbIxgvwyBV8qCCpYn95ra/KRmV+oefhhr/1RlBN8wNb3oZI/m7sH8lv9d0sKw5SrE8=,iv:UAOifm4itrG6M3VKi7zelxL73lcpQkGXLSa/dk/hbvM=,tag:rzCK7Id3zQVF8VSDJV3nhg==,type:str]
unencrypted_suffix: _unencrypted
version: 3.12.2
+4 -3
View File
@@ -3,9 +3,9 @@ let
defaultModule =
{
config,
deviceType,
lib,
xlib,
deviceType,
...
}:
{
@@ -21,9 +21,10 @@ let
sops-nix.nixosModules.sops # sops module
self.homeConfigurations.default.nixosModule # default homeConfigurations
disko.nixosModules.disko # disko module
noctalia.nixosModules.default
];
nixpkgs.overlays = with inputs; [
self.nixosOverlays.default
nixpkgs.overlays = [
inputs.self.nixosOverlays.default
];
_module.args = {
inputs = inputs;
+4 -10
View File
@@ -1,6 +1,5 @@
{
config,
inputs,
lib,
pkgs,
...
@@ -50,7 +49,7 @@
programs = {
dconf.enable = true;
gamemode.enable = true;
steam.enable = true;
# steam.enable = true;
xwayland.enable = true;
};
services = {
@@ -59,7 +58,7 @@
xkb = {
layout = "us,ru";
variant = "";
# options = "grp:alt_shift_toggle";
options = "grp:alt_shift_toggle";
};
};
libinput.enable = true;
@@ -69,12 +68,7 @@
cups-pdf.enable = true;
};
};
# environment = {
# systemPackages = [
# pkgs.pcbu-desktop
# ];
# # sessionVariables = {
# # NIXOS_OZONE_WL = "1";
# # };
# environment.sessionVariables = {
# NIXOS_OZONE_WL = "1";
# };
}
+1 -1
View File
@@ -7,7 +7,7 @@
./packages.nix
./services.nix
./settings.nix
./systemd-routines.nix
# ./systemd-routine.nix
./shell.nix
];
}
+14 -24
View File
@@ -16,7 +16,7 @@ in
btop
broot
bottom
fastfetch
fastfetchMinimal
# Encrypt
age
@@ -38,12 +38,6 @@ in
lazyjournal
systemctl-tui
# IDE
yaml-language-server
nil
fresh-editor
#flow-control
# Base
curl
# efibootmgr
@@ -59,7 +53,7 @@ in
wget
tree
dust
tuckr
flow-control
# Net Diagnostic
mtr
@@ -78,7 +72,7 @@ in
exfatprogs # for gparted exfat support
# Archivers
# rar
rar
unzip
zstd
zip
@@ -92,22 +86,20 @@ in
# To save
tuios
bluetui
speedtest-cli
# jocalsend
fresh-editor
# Test
jocalsend
lazydocker
dtop
tlrc
lazyssh
mcat
framework-tool-tui
bluetui
snitch
whosthere
devenv
# Test
rgx
net-tools
# lazydocker
# dtop
# framework-tool-tui
whosthere
];
};
environment.variables.EDITOR = "fresh";
@@ -126,6 +118,7 @@ in
enable = false;
plugins = {
inherit (pkgs.yaziPlugins)
gitui
git
sudo
ouch
@@ -188,9 +181,6 @@ in
name = "oqyude";
email = "oqyude@gmail.com";
};
pull = {
rebase = true;
};
};
};
lazygit.enable = true;
@@ -202,7 +192,7 @@ in
flake = "/etc/nixos";
clean = {
enable = true;
extraArgs = "--keep 2 --keep-since 2d";
extraArgs = "--keep 3 --keep-since 2d";
dates = "daily";
};
};
-1
View File
@@ -1,6 +1,5 @@
{
config,
inputs,
lib,
pkgs,
xlib,
+14 -16
View File
@@ -1,7 +1,6 @@
{
config,
lib,
pkgs,
...
}:
{
@@ -9,34 +8,33 @@
system.nixos.label = "default";
nix = {
# package = pkgs.lixPackageSets.stable.lix; # maybe unstable
channel.enable = false;
nixPath = [ "nixpkgs=flake:nixpkgs" ];
channel = {
enable = true;
};
# nixPath = [ "nixpkgs=flake:nixpkgs" ];
settings = {
require-sigs = false;
substituters = [
"http://100.64.0.0:5000"
"https://cache.nixos.org"
"https://nix-community.cachix.org"
"https://mirror.yandex.ru/nixos"
"https://cache.nixos.kz"
# "https://cache.xd0.zip"
"https://cache.xd0.zip"
"https://nixos-cache-proxy.cofob.dev"
# "https://nixos-cache-proxy.sweetdogs.ru"
# "https://nixos-cache-proxy.elxreno.com"
# "https://nixos.snix.store" # https://nixos.snix.store/
];
trusted-public-keys = [
"cache.local:be5jFLkiwNyOep/McxSafB3jguBmztxx+oJ46ySyc/s="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
stalled-download-timeout = 8;
connect-timeout = 8;
stalled-download-timeout = 4;
connect-timeout = 4;
auto-optimise-store = true;
fallback = true;
allow-import-from-derivation = true;
keep-derivations = false;
keep-outputs = false;
# allow-import-from-derivation = false;
# keep-derivations = true;
# keep-outputs = true;
experimental-features = [
"flakes"
"nix-command"
@@ -45,10 +43,10 @@
};
nixpkgs = {
flake = {
setFlakeRegistry = false;
setNixPath = false;
};
# flake = {
# setFlakeRegistry = false;
# setNixPath = false;
# };
config.allowUnfree = true;
};
-4
View File
@@ -39,7 +39,6 @@
gp = "git pull";
ns = "nh os switch";
gp-ns = "gp && ns";
gc = "git add . && git commit -m 'dev: автокоммит $(date +'%Y-%m-%d %H:%M:%S')'";
y = "yazi";
nix-shellp = "nix-shell --run $SHELL -p";
z-proxy = "export ALL_PROXY=socks5://localhost:10808";
@@ -67,7 +66,4 @@
json2nix = "nix run github:sempruijs/json2nix";
};
};
environment.sessionVariables = {
TUCKR_HOME = "$HOME/Storage/dotfiles";
};
}
+26
View File
@@ -0,0 +1,26 @@
{
config,
xlib,
...
}:
{
systemd = {
services.nixos-auto-rebuild = {
description = "Auto rebuild NixOS config";
serviceConfig = {
Type = "oneshot";
User = "${xlib.device.username}";
WorkingDirectory = "/etc/nixos";
ExecStart = "gp-ns";
};
};
timers.nixos-auto-rebuild = {
description = "Run NixOS auto rebuild at 4am daily";
wantedBy = [ "timers.target" ];
timerConfig = {
OnCalendar = "*-*-* 04:00:00";
Persistent = true;
};
};
};
}
-39
View File
@@ -1,39 +0,0 @@
{
config,
pkgs,
xlib,
...
}:
{
systemd = {
services = {
nixos-prebuild = {
description = "Prebuild NixOS closure";
serviceConfig = {
CPUQuota = "20%";
User = "oqyude";
Group = "users";
Nice = 10;
Type = "oneshot";
WorkingDirectory = "/tmp";
Environment = [
"HOME=/home/oqyude"
];
ExecStart = ''
${pkgs.nix}/bin/nix build --no-link /etc/nixos#nixosConfigurations.${config.networking.hostName}.config.system.build.toplevel
'';
};
wantedBy = [ "multi-user.target" ];
};
};
timers = {
nixos-prebuild = {
wantedBy = [ "timers.target" ];
timerConfig = {
OnCalendar = "*-*-* 04:00:00";
Persistent = true;
};
};
};
};
}
-16
View File
@@ -1,16 +0,0 @@
{
config,
inputs,
...
}:
# let
# pkgs-stable = import inputs.nixpkgs-stable { system = "x86_64-linux"; };
# in
{
services.bentopdf = {
enable = true;
domain = "bentopdf.local";
nginx.enable = true;
# package = pkgs-stable.bentopdf;
};
}
+4 -19
View File
@@ -1,22 +1,16 @@
{
config,
inputs,
pkgs,
xlib,
inputs,
...
}:
let
stable = import inputs.nixpkgs-calibre {
system = "x86_64-linux";
};
in
{
services.calibre-web = {
package = stable.calibre-web;
enable = true;
# dataDir = "${xlib.dirs.services-mnt-folder}/calibre-web";
group = "users";
user = "${xlib.device.username}";
options = {
calibreLibrary = "${xlib.dirs.services-mnt-folder}/calibre-web-library";
calibreLibrary = "${xlib.dirs.calibre-library}";
enableBookUploading = true;
enableKepubify = true;
enableBookConversion = false;
@@ -25,13 +19,4 @@ in
listen.port = 8083;
openFirewall = true;
};
fileSystems."/var/lib/calibre-web" = {
device = "${xlib.dirs.services-mnt-folder}/calibre-web";
fsType = "none";
options = [
"bind"
"nofail"
];
};
}
@@ -5,12 +5,12 @@
...
}:
{
environment.systemPackages = with pkgs; [
gcc
gdb
cmake
gnumake
imports = [
./remnawave.nix
];
nlohmann_json
environment.systemPackages = with pkgs; [
compose2nix
podman-tui
];
}
+28
View File
@@ -0,0 +1,28 @@
{
config,
lib,
pkgs,
inputs,
xlib,
...
}:
{
# fileSystems."${config.services.immich.mediaLocation}" = {
# device = "${xlib.dirs.services-folder}/immich";
# options = [
# "bind"
# "nofail"
# ];
# };
# systemd.tmpfiles.rules = [
# "z ${config.services.immich.mediaLocation} 0755 immich immich -"
# ];
# environment = {
# systemPackages = with pkgs; [
# immich-cli
# ];
# };
}
-35
View File
@@ -1,35 +0,0 @@
{
config,
pkgs,
...
}:
{
services.coredns = {
enable = true;
config = ''
zeroq.su:53 {
hosts {
192.168.1.20 agent.zeroq.su
192.168.1.20 bentopdf.zeroq.su
192.168.1.20 calibre.zeroq.su
192.168.1.20 dns.zeroq.su
192.168.1.20 flux.zeroq.su
192.168.1.20 gitea.zeroq.su
192.168.1.20 health.zeroq.su
192.168.1.20 immich.zeroq.su
192.168.1.20 kuma.zeroq.su
192.168.1.20 n8n.zeroq.su
192.168.1.20 nextcloud.zeroq.su
192.168.1.20 office.zeroq.su
fallthrough
}
cache 300
log
}
.:53 {
forward . 1.1.1.1 9.9.9.9
cache 300
}
'';
};
}
+1 -10
View File
@@ -5,29 +5,20 @@
{
imports = [
../software/beets
./bentopdf.nix
./calibre-web.nix
./coredns.nix
./gitea.nix
./glances.nix
./containers
./immich.nix
./miniflux.nix
./n8n.nix
./navidrome.nix
./netdata.nix
./nextcloud.nix
./nginx.nix
./nix-serve.nix
./open-webui.nix
./postgresql.nix
./samba.nix
./step-ca.nix
./stirling-pdf.nix
./syncthing.nix
./systemd.nix
./transmission.nix
./uptime-kuma.nix
# ../containers/remnawave.nix
# ./mealie.nix
# ./memos.nix
# ./nfs.nix
-28
View File
@@ -1,28 +0,0 @@
{
config,
inputs,
lib,
pkgs,
xlib,
...
}:
{
services = {
gitea = {
enable = true;
stateDir = "${xlib.dirs.services-mnt-folder}/gitea";
appName = "ZeroQ Gitea Service";
settings = {
server = {
DOMAIN = "gitea.local";
HTTP_PORT = 3000;
};
service.DISABLE_REGISTRATION = true;
};
};
};
systemd.tmpfiles.rules = [
"z ${config.services.gitea.stateDir} 0755 gitea gitea -"
];
}
-15
View File
@@ -1,15 +0,0 @@
{
config,
lib,
pkgs,
...
}:
{
services = {
glances = {
enable = true;
openFirewall = true;
port = 61208;
};
};
}
+13 -1
View File
@@ -1,8 +1,8 @@
{
config,
inputs,
lib,
pkgs,
inputs,
xlib,
...
}:
@@ -22,8 +22,20 @@ in
accelerationDevices = null;
machine-learning.enable = true;
mediaLocation = "${xlib.dirs.services-mnt-folder}/immich";
database = {
enableVectors = false;
enableVectorChord = true;
};
};
};
# fileSystems."${config.services.immich.mediaLocation}" = {
# device = "${xlib.dirs.services-folder}/immich";
# options = [
# "bind"
# "nofail"
# ];
# };
systemd.tmpfiles.rules = [
"z ${config.services.immich.mediaLocation} 0755 immich immich -"
+1 -1
View File
@@ -4,7 +4,7 @@
}:
{
services.mealie = {
enable = false;
enable = true;
listenAddress = "0.0.0.0";
port = 9000;
database.createLocally = true;
+1 -1
View File
@@ -5,7 +5,7 @@
}:
{
services.memos = {
enable = false;
enable = true;
openFirewall = true;
settings = {
MEMOS_MODE = "prod";
-37
View File
@@ -1,37 +0,0 @@
{
config,
lib,
pkgs,
xlib,
inputs,
...
}:
let
configDir = "${xlib.dirs.services-mnt-folder}/n8n";
varDir = "/var/lib/n8n";
in
{
services.n8n = {
enable = false;
environment = {
# N8N_USER_FOLDER = lib.mkForce "${configDir}";
N8N_SECURE_COOKIE = "false";
N8N_PORT = 5678;
};
openFirewall = true;
};
systemd.tmpfiles.rules = [
"d ${configDir} 0755 nobody nogroup -"
"z ${configDir} 0755 nobody nogroup -"
];
fileSystems.${varDir} = {
device = "${configDir}";
fsType = "none";
options = [
"bind"
"nofail"
];
};
}
-22
View File
@@ -1,22 +0,0 @@
{
config,
inputs,
lib,
pkgs,
xlib,
...
}:
{
services = {
navidrome = {
enable = false;
openFirewall = true;
# environmentFile = "";
settings = {
Address = "0.0.0.0";
Port = "4533";
MusicFolder = "/mnt/beets/music";
};
};
};
}
-32
View File
@@ -1,32 +0,0 @@
{
config,
inputs,
lib,
pkgs,
...
}:
{
services = {
netdata = {
enable = false;
package = pkgs.netdata.override {
withCloudUi = true;
};
config = {
web = {
"allow connections from" = "localhost *";
"default port" = "19999";
"bind to" = "0.0.0.0";
};
};
# python = {
# enable = true;
# recommendedPythonPackages = true;
# };
};
};
networking.firewall.allowedTCPPorts = [
19999
];
}
+77 -120
View File
@@ -18,14 +18,14 @@ in
nextcloud-whiteboard-server = {
enable = true;
settings = {
NEXTCLOUD_URL = "http://nextcloud.private";
NEXTCLOUD_URL = "http://nextcloud.local";
};
secrets = [ config.sops.secrets.nextcloud-whiteboard-jwt.path ];
secrets = [ "${inputs.zeroq-credentials}/services/nextcloud/jwt-secret.txt" ];
};
nextcloud = {
enable = true;
package = pkgs.nextcloud33;
hostName = "nextcloud.private";
package = pkgs.nextcloud32;
hostName = "nextcloud.local";
database.createLocally = true;
home = "${xlib.dirs.services-mnt-folder}/nextcloud";
configureRedis = true;
@@ -39,42 +39,30 @@ in
dbuser = "nextcloud";
dbname = "nextcloud";
adminuser = "oqyude";
adminpassFile = config.sops.secrets.nextcloud-adminpass.path;
adminpassFile = "${inputs.zeroq-credentials}/services/nextcloud/admin-pass.txt";
};
settings = {
log_type = "file";
trusted_domains = [
"nextcloud.zeroq.ru"
"100.64.0.0"
"192.168.1.20"
"localhost"
"nextcloud.local"
"nextcloud.private"
"nextcloud.zeroq.su"
"office.local"
"office.zeroq.su"
];
trusted_proxies = [
"100.64.1.0"
"109.248.161.5"
];
overwriteprotocol = ""; # maybe no
overwriteprotocol = "https";
};
extraAppsEnable = true;
appstoreEnable = false;
notify_push = {
enable = false;
bendDomainToLocalhost = true;
};
# phpPackage = pkgs.php85;
extraApps = {
inherit (config.services.nextcloud.package.packages.apps)
# richdocuments
inherit (config.services.nextcloud.package.packages.apps) # (config.services.nextcloud.package.packages.apps)
# gpoddersync
# integration_paperless
# memories
# news
# nextpod
# notify_push
# onlyoffice
# phonetrack
# repod
# sociallogin
@@ -92,91 +80,95 @@ in
impersonate
mail
music
# news
notes
onlyoffice
notify_push
polls
previewgenerator
richdocuments
spreed
tables
tasks
user_oidc
user_saml
whiteboard
;
# inherit (pkgs.nextcloud31Packages.apps)
# # end_to_end_encryption
# # maps
# tasks
# ;
inherit (pkgs.nextcloud31Packages.apps)
# end_to_end_encryption
# maps
tasks
;
};
};
# collabora-online = {
# enable = false;
# port = 9980;
# # package = master.collabora-online;
# settings = {
# server_name = "office.zeroq.su";
# ssl = {
# enable = false;
# termination = true;
# ssl_verification = false;
# };
# net = {
# listen = "0.0.0.0";
# post_allow.host = [
# "0.0.0.0"
# ];
# };
# storage.wopi = {
# "@allow" = true;
# host = [
# "0.0.0.0/0"
# ];
# };
# };
# };
onlyoffice = {
collabora-online = {
enable = true;
hostname = "office.local";
port = 8090;
allowLocalConnections = true;
wopi = true;
jwtSecretFile = config.sops.secrets.onlyoffice-jwt.path;
securityNonceFile = config.sops.secrets.onlyoffice-nonce.path;
port = 9980;
# package = master.collabora-online;
settings = {
server_name = "office.zeroq.ru";
ssl = {
enable = false;
termination = true;
ssl_verification = false;
};
net = {
listen = "0.0.0.0";
post_allow.host = [
"0.0.0.0"
];
};
storage.wopi = {
"@allow" = true;
host = [
"0.0.0.0/0"
];
};
};
};
onlyoffice = {
enable = false;
hostname = "0.0.0.0";
jwtSecretFile = "${inputs.zeroq-credentials}/services/onlyoffice/jwt.txt";
};
};
# fonts.packages = [ work.corefonts ];
# networking.hosts = {
# "localhost" = [ "nextcloud-private.local" ];
# };
# systemd.services.nextcloud-config-collabora =
# let
# inherit (config.services.nextcloud) occ;
# wopi_url = "http://localhost:${toString config.services.collabora-online.port}";
# public_wopi_url = "https://office.zeroq.su";
# wopi_allowlist = lib.concatStringsSep "," [
# "0.0.0.0/0"
systemd.services.nextcloud-config-collabora =
let
inherit (config.services.nextcloud) occ;
wopi_url = "http://localhost:${toString config.services.collabora-online.port}";
public_wopi_url = "https://office.zeroq.ru";
wopi_allowlist = lib.concatStringsSep "," [
"0.0.0.0/0"
];
in
{
wantedBy = [ "multi-user.target" ];
after = [
"nextcloud-setup.service"
"coolwsd.service"
];
requires = [ "coolwsd.service" ];
script = ''
${occ}/bin/nextcloud-occ config:app:set richdocuments wopi_url --value ${lib.escapeShellArg wopi_url}
${occ}/bin/nextcloud-occ config:app:set richdocuments public_wopi_url --value ${lib.escapeShellArg public_wopi_url}
${occ}/bin/nextcloud-occ config:app:set richdocuments wopi_allowlist --value ${lib.escapeShellArg wopi_allowlist}
${occ}/bin/nextcloud-occ richdocuments:setup
'';
serviceConfig = {
Type = "oneshot";
};
};
# fileSystems."${config.services.nextcloud.home}" = {
# device = "${xlib.dirs.services-folder}/nextcloud";
# options = [
# "bind"
# "nofail"
# ];
# in
# {
# wantedBy = [ "multi-user.target" ];
# after = [
# "nextcloud-setup.service"
# "coolwsd.service"
# ];
# requires = [ "coolwsd.service" ];
# script = ''
# ${occ}/bin/nextcloud-occ config:app:set richdocuments wopi_url --value ${lib.escapeShellArg wopi_url}
# ${occ}/bin/nextcloud-occ config:app:set richdocuments public_wopi_url --value ${lib.escapeShellArg public_wopi_url}
# ${occ}/bin/nextcloud-occ config:app:set richdocuments wopi_allowlist --value ${lib.escapeShellArg wopi_allowlist}
# ${occ}/bin/nextcloud-occ richdocuments:setup
# '';
# serviceConfig = {
# Type = "oneshot";
# };
# };
systemd.tmpfiles.rules = [
@@ -186,39 +178,4 @@ in
environment.systemPackages = [
pkgs.nc4nix # Packaging helper for Nextcloud apps
];
sops.secrets = {
nextcloud-adminpass = {
format = "yaml";
key = "adminpass";
sopsFile = ./secrets/nextcloud.yaml;
owner = "nextcloud";
group = "nextcloud";
mode = "0650";
};
nextcloud-whiteboard-jwt = {
format = "yaml";
key = "whiteboard-jwt";
sopsFile = ./secrets/nextcloud.yaml;
owner = "nextcloud";
group = "nextcloud";
mode = "0650";
};
onlyoffice-nonce = {
format = "yaml";
key = "nonce";
sopsFile = ./secrets/onlyoffice.yaml;
owner = "onlyoffice";
group = "onlyoffice";
mode = "0650";
};
onlyoffice-jwt = {
format = "yaml";
key = "jwt";
sopsFile = ./secrets/onlyoffice.yaml;
owner = "onlyoffice";
group = "onlyoffice";
mode = "0650";
};
};
}
+47 -157
View File
@@ -5,9 +5,6 @@
xlib,
...
}:
let
server = "192.168.1.20";
in
{
services = {
nginx = {
@@ -17,177 +14,70 @@ in
recommendedProxySettings = true;
recommendedTlsSettings = true;
virtualHosts = {
"nextcloud.private" = {
forceSSL = false;
enableACME = false;
listen = [
{
addr = "100.64.0.0";
port = 10000;
}
{
addr = "192.168.1.20";
port = 10000;
}
];
};
"office.local" = {
forceSSL = false;
enableACME = false;
};
"bentopdf.local" = {
forceSSL = false;
enableACME = false;
listen = [
{
addr = "0.0.0.0";
port = 80;
}
{
addr = "100.64.0.0";
port = 8446;
}
{
addr = "192.168.1.20";
port = 8446;
}
];
extraConfig = ''
client_max_body_size 5G;
'';
};
"nextcloud.local" = {
forceSSL = false;
enableACME = false;
locations = {
"/" = {
proxyPass = "http://${server}:10000";
proxyWebsockets = true;
listen = [
{
addr = "100.64.0.0";
port = 10000;
}
{
addr = "192.168.1.20";
port = 10000;
}
];
};
"/whiteboard" = {
proxyPass = "http://${server}:3002";
proxyWebsockets = true;
};
};
extraConfig = ''
client_max_body_size 5G;
"zeroq.local" = {
forceSSL = false;
enableACME = false;
root = pkgs.writeTextDir "index.html" ''
<!doctype html>
<html>
<body>
<pre>This server is running in backend.</pre>
</body>
</html>
'';
listen = [
{
addr = "100.64.0.0";
port = 80;
}
{
addr = "192.168.1.20";
port = 80;
}
];
};
"gitea.local" = {
forceSSL = false;
enableACME = false;
locations."/" = {
proxyPass = "http://${server}:3000";
proxyWebsockets = true;
};
extraConfig = ''
client_max_body_size 5G;
'';
};
"nextcloud.zeroq.su" = {
forceSSL = false;
enableACME = false;
locations = {
"/" = {
proxyPass = "http://${server}:10000";
proxyWebsockets = true;
};
"/whiteboard" = {
proxyPass = "http://${server}:3002";
proxyWebsockets = true;
};
};
extraConfig = ''
client_max_body_size 5G;
'';
};
"n8n.local" = {
forceSSL = false;
enableACME = false;
locations."/" = {
proxyPass = "http://${server}:5678";
proxyWebsockets = true;
};
extraConfig = ''
client_max_body_size 5G;
'';
};
"kuma.local" = {
forceSSL = false;
enableACME = false;
locations."/" = {
proxyPass = "http://${server}:4001";
proxyWebsockets = true;
};
};
"health.local" = {
forceSSL = false;
enableACME = false;
locations."/" = {
proxyPass = "http://${server}:19999";
proxyWebsockets = true;
};
};
"agent.local" = {
forceSSL = false;
enableACME = false;
locations."/" = {
proxyPass = "http://${server}:3000";
proxyWebsockets = true;
};
};
"flux.local" = {
forceSSL = false;
enableACME = false;
locations."/" = {
proxyPass = "http://${server}:6061";
proxyWebsockets = true;
};
};
"immich.local" = {
forceSSL = false;
enableACME = false;
locations."/" = {
proxyPass = "http://${server}:2283";
proxyWebsockets = true;
};
extraConfig = ''
client_max_body_size 5G;
'';
};
"calibre.local" = {
forceSSL = false;
enableACME = false;
locations."/" = {
proxyPass = "http://${server}:8083";
proxyWebsockets = true;
};
extraConfig = ''
client_max_body_size 5G;
'';
};
# "zeroq.local" = {
# "localhost:8000" = {
# forceSSL = false;
# enableACME = false;
# root = pkgs.writeTextDir "index.html" ''
# <!doctype html>
# <html>
# <body>
# <pre>This server is running in backend.</pre>
# </body>
# </html>
# '';
# listen = [
# {
# addr = "100.64.0.0";
# port = 80;
# port = 9980;
# }
# {
# addr = "192.168.1.20";
# port = 80;
# port = 9980;
# }
# ];
# };
# "office.zeroq.ru" = {
# forceSSL = false;
# enableACME = false;
# locations."/" = {
# proxyPass = "http://onlyoffice.local:8000";
# proxyWebsockets = true;
# };
# extraConfig = ''
# # Force nginx to return relative redirects. This lets the browser
# # figure out the full URL. This ends up working better because it's in
# # front of the reverse proxy and has the right protocol, hostname & port.
# absolute_redirect off;
# '';
# };
};
};
};
-24
View File
@@ -1,24 +0,0 @@
{
config,
lib,
pkgs,
...
}:
{
services = {
nix-serve = {
enable = true;
openFirewall = true;
port = 5000;
bindAddress = "0.0.0.0";
secretKeyFile = config.sops.secrets.private-key.path;
};
};
sops.secrets = {
private-key = {
key = "private-key";
sopsFile = ./secrets/nix-serve.yaml;
mode = "0600";
};
};
}
-1
View File
@@ -23,7 +23,6 @@ in
fileSystems."/var/lib/postgresql" = {
device = "${xlib.dirs.services-mnt-folder}/postgresql";
fsType = "none";
options = [
"bind"
"nofail"
-3
View File
@@ -6,9 +6,6 @@
{
services.samba = {
enable = true;
nmbd = {
enable = false;
};
settings = {
global = {
"invalid users" = [ ];
-46
View File
@@ -1,46 +0,0 @@
{
"root": "/root/.step/certs/root_ca.crt",
"federatedRoots": null,
"crt": "/root/.step/certs/intermediate_ca.crt",
"key": "/root/.step/secrets/intermediate_ca_key",
"address": "0.0.0.0:9000",
"insecureAddress": "",
"dnsNames": [
"ca.zeroq.su"
],
"logger": {
"format": "text"
},
"db": {
"type": "badgerv2",
"dataSource": "/root/.step/db",
"badgerFileLoadingMode": ""
},
"authority": {
"provisioners": [
{
"type": "JWK",
"name": "oqyude@zeroq.su",
"key": {
"use": "sig",
"kty": "EC",
"kid": "vhOaaOVnwo0MtJVP13ZM60ckirLUqq-5WEbq2PQTQ-w",
"crv": "P-256",
"alg": "ES256",
"x": "0WXy0B9DHwz4POacxrSiml7bbOPFYPKVvyUlm18M5ro",
"y": "AptaeuzpC2TV9_hHAx8s2afDmCa_QJSzke23kCYzKfU"
},
"encryptedKey": "eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjdHkiOiJqd2sranNvbiIsImVuYyI6IkEyNTZHQ00iLCJwMmMiOjYwMDAwMCwicDJzIjoiVTBRS24wUHFJUUZiNTRyRkVYeDVwZyJ9.Xc96u-JxlKELcawpLmyrzqp4_UUY1sAqUo7PX6hBWL8_Ix2RzS8ZwA.fs5K5A9kXmp3KEUu.J1s016RTlqKbfRzQJB1bdz8v93S9PLpU3DqlEvIVnOIEhovL9vG5dzPLAfLApZ_MArHhubVkirHhZHB4fYd3KvbFpCRaYQomB4vP0V188zclL7gyatiQ36R_fTG_oiRiKHeP0nPubVpL-I-ESdtXR05pMQtit5A1luLGm3H78FuTF883Hiz-hc84v8E-nq0Z5l5zQeV-fy4QaCFzg1_5s7MacNlgplDLopzbfJIhp3SDKiwWjsotPjsuKMSQ-blawbBL5skf44t23hDelSaRvASq8-Dq-hkBLsKssMX7SzccHPWpxazZ07Ug8PKc8_o2kxc6k5-K0Xr5tY4h8VI.YSsnw_InABsga1SCjLtq1g"
}
]
},
"tls": {
"cipherSuites": [
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
],
"minVersion": 1.2,
"maxVersion": 1.3,
"renegotiation": false
}
}
-17
View File
@@ -1,17 +0,0 @@
adminpass: ENC[AES256_GCM,data:Fm+Q6YWXxouP5cX2WHU05Jr49FU=,iv:Exf/li6bL6xpR9HQ8XDDSprjx4ltHkJFl99Ga+gXwmQ=,tag:iB9d5O4982tr7lPu1nWccQ==,type:str]
whiteboard-jwt: ENC[AES256_GCM,data:5i+x8VODrBIhGEWS5Ua6lrk7tsfk6xTa/1qm1rXe4A==,iv:2gFEeudip7BxJh553QtZ1CZo9T8jro3Q/Afdo8ouHtw=,tag:HgBM9ta41rhXJlsQJ+asFg==,type:str]
sops:
age:
- recipient: age13l2gtk0nzr484zprp7e0pkrt0ne0j4asyn2pjmlaw73nte7t7d8q4sqtxm
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxNWFiUlZXMEEvNll0aFFk
UldxNitqaDgyenBFeWRhLzUxSVVhQk55Q1FBCkdLU3p4S0NTOVhERkRoaWVwbWVB
cUxwdkJnQ1IyNzFTaVJvVXRwbElYbVkKLS0tIDQ5ejZvRks5U0tPU0w0WXdtM0ht
WGVQYjZtaHhaeC9pMzYxYmxTcVNtYk0KKxXXNA9h0fs+mA6U/Vsyg+q1CPl5hFrI
Ozjqh+dzwajQeqkCPUdCsoeIWsvBY2Cyabvs+f0zj8S00faXb8rVQQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2026-03-30T12:49:45Z"
mac: ENC[AES256_GCM,data:1EkbMGa6nK53GqGWYvXZP+sqy91AldGKy/32CVPshZwvTzJtk/VeK3W9A3fIGwvo7gl+QVWJmSiqrOTql4v+U4Yi3jVLEXsHXA5Bh28aJ7Ng9nkZmI10K7oaYF1xWNxzwss4gcDNIuomK+wG1WNLaiLbxwCBkN6xHugWQ4F+DLs=,iv:UmI6nC7dIHGeas54taf5kTIINvyd8YXyOVdIYghwHmE=,tag:VxdJLXRYin8D07r6CCA00A==,type:str]
unencrypted_suffix: _unencrypted
version: 3.12.2
-16
View File
@@ -1,16 +0,0 @@
private-key: ENC[AES256_GCM,data:VTj1cmhYLbBuUnIgtXI3CZtULaNZ5XOpoheJB0gUwrWrH5B0rmxcvZLlJWX7xhGs4oqcC3Wwmo+TBPhcgGylLVdCuhJG5A94UwOa9ZIV4s3x3IJ4RU3UcHTsA0xdtw7XxBfryw==,iv:8oZCojIU0JXWJgE5t+fNNW9trC109yOJp1UGAV76FbU=,tag:S74cHFy9B8C29npdcoVBeg==,type:str]
sops:
age:
- recipient: age13l2gtk0nzr484zprp7e0pkrt0ne0j4asyn2pjmlaw73nte7t7d8q4sqtxm
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6MHBkYzZneEdhUlN5MEpx
NGxud1BkVU1NUFdyVFE2VDJWb1M2cW9IcUVFCm9QZ3RvNHFaeWpFbnZ3Q1dKSDdn
RHQvUDgrZHRiUHpSR3FrWXRkQUxXWGMKLS0tIERsemNuL1BwR2xYYUpmbVFROWtN
RGI1WlRGMzlkS2tqQ0JPSFJHTUY1TUkKDeaivc+ST8MYtnJEDx07Y+IhtpvblR47
SLZf6WKQ8WNY4Bb5VeMWiCABPP/2L+VwoACqkOdZ01yGUVQSc9X6tw==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2026-05-03T17:05:41Z"
mac: ENC[AES256_GCM,data:6jNp7N7lIvsLez3zQbDKTWPyvkL8u9g34I3q27GudgXzYw8B3Pb26jc9dCYCxCylCZxN5IeWWyHvUt4PadQABI4jrrIKnIfVV1A2c+A90chu+xSyE/B9OhkSC7yYVOnCURJPYku8799RIRkpHAWeKawkydbOiszCiC3qIKZDSTQ=,iv:xXivLDNnTABlNeWOOWsCESDUOnFv+9Lh0o029r7rk+A=,tag:vUoIZjcNtE3xJX/jNCao7Q==,type:str]
unencrypted_suffix: _unencrypted
version: 3.12.2
-17
View File
@@ -1,17 +0,0 @@
jwt: ENC[AES256_GCM,data:Mp+eAh0Nle0QDfo92isNLwvHn/E=,iv:0FLK/8QpmX5Mv7IXMy04AJAgUknp5DATpD0acyPqrUg=,tag:rP9x3G8WIDG6KWSjqPXulQ==,type:str]
nonce: ENC[AES256_GCM,data:IGIo74eaE1vppWmLJt8C1cmpUm8eozumLXU5ecJJIolpKlC85H39l6oGmw==,iv:YwLbgbkOxpChwLTbknCii66LMVwD61sr7gXsbv3t/NI=,tag:YFfLkO5b55/AcJKTpSyslQ==,type:str]
sops:
age:
- recipient: age13l2gtk0nzr484zprp7e0pkrt0ne0j4asyn2pjmlaw73nte7t7d8q4sqtxm
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVSzIwWlBrWFJWVHpIUVJk
eHh1MkYza28yeU54OWczY1ZjYmJHOFI3dXc4ClVKUVpoUWZTR0g5L2FTd0l4NzUr
R0xlYTJVQ1VLQXJuSGZJUE1Bd3Jsa00KLS0tIExPSi9Ob0ErSTRZQlhlTGN5WUV0
dm4xa25tSmN3VjlPaWpBWnhJdklqWEEK+sD+lvwQGjNkOic3ZCo2VGQ/+p2Nhmm+
g846YrGljYOib6hNryEhZWe0KmaDhn24vnEK5NS4WtqqwV+IhCZbmg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2026-03-30T21:55:57Z"
mac: ENC[AES256_GCM,data:Ff8KB0O7sDE4GL8kccuA3s8DSallp5aOsy+T60FLCxsZN1m7m6Cql+3Hb3IS0M/nLRZMoZre8kztnzSbWs8ZK0e5wZoQjb6KMESZaXPOfjjbPWjMKiRCAQZUJNZy5P067qoxOIQ3t25kPNolmHkSyicpLoLRIB4Adn8+M79/RLk=,iv:LfVbDH8JVbgkVk5cFpr/lbvtSu8waLhn9XHwPW/8jBE=,tag:ll5JQbyr84vI8V154ZE/wQ==,type:str]
unencrypted_suffix: _unencrypted
version: 3.12.2
-16
View File
@@ -1,16 +0,0 @@
intermediate-password: ENC[AES256_GCM,data:SvV5uYVXVTuhh/dhzXIDJw69dJ3s33a0ibKCyDWnfyA=,iv:S9VydNWm4PL+quWQ7arCmSFXa6YO1/hL+xrYty/2IPE=,tag:zHJ6/ZNRfs9w9vrt77xdow==,type:str]
sops:
age:
- enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5K3YyYkRkVkxwamMybWRj
WGxEZnc3TGRYRHNtTXRZYlZKQ2hBK0YrQjNZCndVQVhYcTJqRitCdUdmMjduTk1M
azNnMUhHKzB1M25vZGFScjZBcHJOaUEKLS0tIHJBRnZwamhvYU1ybFVFMFZsTmVS
ZmN3NTVnZ1RwRkNzTUxJTjVGMU4yUHMKMEZdpDBm6pdZmrFidkOdivnnd2/b8OO/
IUYmiWPlPd1IDV1NeMtlSYtO8exzB22XL9DqW4x/tJ7DeSZaBsjcOw==
-----END AGE ENCRYPTED FILE-----
recipient: age13l2gtk0nzr484zprp7e0pkrt0ne0j4asyn2pjmlaw73nte7t7d8q4sqtxm
lastmodified: "2026-06-13T22:59:34Z"
mac: ENC[AES256_GCM,data:72E73xauS1Xrfw6tcyN/PHSJZ4ZZnIeKp8JVUPFGPBvIzaD6ZThYZwQ10FDD4JF+YOwn3QhCEh3t0ozcSNNnJFkyBgSqFtRMkym0ede12VAOPu2wQFoNvMdkT7+n14lJ/9OOz6KDyMf0BQDJKlSfDBkt+mLi61zte5iUxPsWsp4=,iv:xuOwFBEnlRgbaVdMq4O6w9T2edpS6uEPh9yhNbYBJIk=,tag:Y+dtcU17Q83o/9Nt1LGCcg==,type:str]
unencrypted_suffix: _unencrypted
version: 3.13.1
-83
View File
@@ -1,83 +0,0 @@
{
config,
inputs,
pkgs,
xlib,
...
}:
let
configDir = "${xlib.dirs.services-mnt-folder}/step-ca";
varDir = "/var/lib/step-ca";
in
{
services.step-ca = {
enable = true;
address = "0.0.0.0";
port = 9000;
openFirewall = true;
intermediatePasswordFile = config.sops.secrets.intermediate-password.path;
settings = {
root = "${varDir}/certs/root_ca.crt";
crt = "${varDir}/certs/intermediate_ca.crt";
key = "${varDir}/secrets/intermediate_ca_key";
# address = "0.0.0.0:9000";
dnsNames = [
"ca.zeroq.su"
];
db = {
type = "badgerv2";
dataSource = "${varDir}/db";
};
authority = {
provisioners = [
{
type = "JWK";
name = "oqyude@zeroq.su";
key = {
use = "sig";
kty = "EC";
kid = "XEpzFJA-sedFf0ANCiEH1UDaSvrHiZabLahQOyoAYmc";
crv = "P-256";
alg = "ES256";
x = "AGHevH0UU7_abhE6d8JhNuNRgXBeVI7qCldZrFfkn5o";
y = "pLKOpAwUiGRv4HRQUyiXFAMqsywTjrjazeEkDOr29Sk";
};
encryptedKey = "eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjdHkiOiJqd2sranNvbiIsImVuYyI6IkEyNTZHQ00iLCJwMmMiOjYwMDAwMCwicDJzIjoibFlONzBwMWJiVzc0MDlGaS1EOEZVUSJ9.zBEsf2hAaj4yyy_Lk1Jss7h5Hn68kz6UMeg3Jz3X_VVeMWLvcoRVaw.tpY50S9CSzmcfWXz.u5ta_Yd3GLMz19RKA2WondVIwTGbGs3is5v7_D0aUOtQ0158d4GcjrOHFD2PexaackbTNuUPtqa2X38ypnFq5wh1uq3udWu-qWRjRSd_YkY4YJt_GWFvUHQ_jldx0NSfMDNGndU2IakR62-9WklEjU3UGmUeaPGP9DTuzmdJa36t2aLuPuNnmV-tEJIH3eQ5huU8nLy1ROZjdkrF-agHh78EG_Ss8P4vHuqOtTAjZW3YCtfSfb57iKAsbrk3nUTo6zhPc0ds8cPB7Rva0K8Rj2Pf3apB7qZnCVF5zBiu1icvhOYIfwVQAiqpdz6qMi42QSBWZ4ROu4Db2q5a6D0.AS7Dr3v_Niiwy7aHIR-0bw";
}
];
};
};
};
fileSystems."${varDir}" = {
device = "${configDir}";
fsType = "none";
options = [
"bind"
"nofail"
];
};
environment = {
systemPackages = with pkgs; [
step-cli
];
};
systemd.tmpfiles.rules = [
"d ${configDir} 0755 nobody nogroup -"
"z ${configDir} 0755 nobody nogroup -"
"Z ${configDir}/ 0700 nobody nogroup -"
];
sops.secrets = {
intermediate-password = {
format = "yaml";
key = "intermediate-password";
sopsFile = ./secrets/step-ca.yaml;
# owner = "nobody";
# group = "nogroup";
mode = "0600";
};
};
}
+7 -23
View File
@@ -11,47 +11,31 @@
rsync-archivesta = {
# Archivesta
description = "Backup data using rsync";
unitConfig.RequiresMountsFor = [
"${xlib.dirs.archive-drive}"
"${xlib.dirs.server-home}"
"${xlib.dirs.services-mnt-folder}"
];
requisite = [ "mnt-archive.mount" ]; # hard-code
script = ''
${pkgs.rsync}/bin/rsync -rtv --delete \
${xlib.dirs.services-mnt-folder}/ \
${xlib.dirs.archive-drive}/Services/
${pkgs.rsync}/bin/rsync -rtv --delete ${xlib.dirs.services-folder}/ ${xlib.dirs.archive-drive}/Services/
'';
serviceConfig = {
Type = "oneshot";
User = "root";
Group = "root";
Nice = 10;
CPUQuota = "5%";
Nice = 19;
IOSchedulingClass = "idle";
};
};
rsync-archivesta-lite = {
# Archivesta Lite
description = "Backup data using rsync";
unitConfig.RequiresMountsFor = [
"${xlib.dirs.server-home}"
"${xlib.dirs.mobile-drive}"
];
requisite = [ "mnt-mobile.mount" ]; # hard-code
script = ''
${pkgs.rsync}/bin/rsync -rtv --delete \
${xlib.dirs.server-home}/Music/ \
${xlib.dirs.mobile-drive}/Music/
${pkgs.rsync}/bin/rsync -rtv --delete \
"${xlib.dirs.server-home}/Hosts/epral/Neo Backup/" \
"${xlib.dirs.mobile-drive}/Neo Backup/"
${pkgs.rsync}/bin/rsync -rtv --delete ${xlib.dirs.server-home}/Music/ ${xlib.dirs.mobile-drive}/Music/
${pkgs.rsync}/bin/rsync -rtv --delete "${xlib.dirs.server-home}/Hosts/epral/Neo Backup/" "${xlib.dirs.mobile-drive}/Neo Backup/"
'';
serviceConfig = {
Type = "oneshot";
User = "root";
Group = "root";
Nice = 10;
CPUQuota = "5%";
Nice = 19;
IOSchedulingClass = "idle";
};
};
+1 -2
View File
@@ -8,7 +8,7 @@
}:
{
services.uptime-kuma = {
enable = false;
enable = true;
settings = {
PORT = "4001";
HOST = "0.0.0.0";
@@ -21,7 +21,6 @@
fileSystems."/var/lib/private/uptime-kuma" = {
device = "${xlib.dirs.services-mnt-folder}/uptime-kuma";
fsType = "none";
options = [
"bind"
"nofail"
+24
View File
@@ -0,0 +1,24 @@
{
config,
lib,
pkgs,
xlib,
...
}:
{
# services = {
# nextjs-ollama-llm-ui.enable = false;
# ollama = {
# enable = false;
# package = pkgs.ollama-rocm;
# environmentVariables = {
# HSA_OVERRIDE_GFX_VERSION = "11.5.0";
# HCC_AMDGPU_TARGET = "gfx1150"; # used to be necessary, but doesn't seem to anymore
# };
# user = "ollama"; # "${xlib.device.username}";
# group = "ollama";
# acceleration = "rocm";
# rocmOverrideGfx = "11.5.0";
# };
# };
}
+26 -81
View File
@@ -1,84 +1,28 @@
{
config,
inputs,
lib,
pkgs,
xlib,
...
}:
let
stable = import inputs.nixpkgs-beets {
system = "x86_64-linux";
depsOverlay = import ./dependencies.nix {
# ./dependencies-full.nix if broken
inherit (pkgs) fetchurl fetchgit fetchhg;
inherit pkgs;
};
in
let
# depsOverlay = import ./dependencies.nix {
# # ./dependencies-full.nix if broken
# inherit (pkgs) fetchurl fetchgit fetchhg;
# inherit pkgs;
# };
# python3 = pkgs.python3.override {
# packageOverrides = depsOverlay;
# };
beetsEnv = pkgs.python314.withPackages (
ps: with ps; [
# et-xmlfile
# exceptiongroup
# markdown-it-py
# mdurl
# munkres
# musicbrainzngs
# openpyxl
# pygments
# rich
# sniffio
anyio
beautifulsoup4
beetcamp
beets
certifi
charset-normalizer
colorama
confuse
discogs-client
filetype
h11
httpcore
httpx
httpx-socks
idna
jellyfish
langdetect
lap
llvmlite
mediafile
mutagen
numba
numpy
oauthlib
packaging
pillow
platformdirs
pycountry
pylast
pyrate-limiter
pysocks
python-dateutil
pyyaml
requests
requests-ratelimiter
scipy
# setuptools
six
socksio
soupsieve
typing-extensions
unidecode
urllib3
]
);
python3 = pkgs.python3.override {
packageOverrides = depsOverlay;
};
beetsEnv = python3.withPackages (ps: [
ps.beets
]);
in
{
systemd.tmpfiles.rules = [
"z /mnt/beets 0700 ${xlib.device.username} users -" # beets absolute paths
];
users = {
users = {
"${xlib.device.username}" = {
@@ -86,20 +30,21 @@ in
beetsEnv
pkgs.mp3gain
pkgs.imagemagick
#ffmpeg
#pkgs.ffmpeg
];
};
};
};
systemd.mounts = [
{
enable = true;
options = "bind,x-systemd.automount,nofail";
requires = [ "local-fs.target" ];
type = "none";
wantedBy = [ "multi-user.target" ];
what = "/home/${xlib.device.username}/Music";
where = "/home/${xlib.device.username}/.config/beets";
}
fileSystems."/mnt/beets/music" = {
device = "/home/${xlib.device.username}/Music"; # "${xlib.dirs.vetymae-drive}/Users/User/Music"
options = [
"bind"
"uid=1000"
"gid=1000"
"fmask=0077"
"dmask=0077"
"nofail"
#"x-systemd.device-timeout=0"
];
};
}
+1 -1
View File
@@ -117,7 +117,7 @@ self: super: {
self."requests" # For spotify, deezer, embedart, fetchart, lyrics
self."python3-discogs-client" # For discogs
self."pylast" # For lastgenre
# self."beetcamp" # Another
self."beetcamp" # Another
];
};
"certifi" = super.buildPythonPackage rec {
-17
View File
@@ -13,7 +13,6 @@
xlib.device.username = "oqyude";
users = {
mutableUsers = false;
users = {
"${xlib.device.username}" = {
name = "${xlib.device.username}";
@@ -81,22 +80,6 @@
group = config.users.users."${xlib.device.username}".group;
mode = "0655";
};
ssh_key_private_root = {
format = "yaml";
key = "ssh_key_private";
path = "/root/.ssh/id_ed25519";
owner = "root";
group = "root";
mode = "0600";
};
ssh_key_public_root = {
format = "yaml";
key = "ssh_key_public";
path = "/root/.ssh/id_ed25519";
owner = "root";
group = "root";
mode = "0655";
};
ssh_key_public_host = {
format = "yaml";
key = "ssh_key_public";
@@ -58,7 +58,6 @@
environment = {
"XRAY_VMESS_AEAD_FORCED" = "false";
"XUI_ENABLE_FAIL2BAN" = "true";
"TZ" = "Europe/Moscow";
};
volumes = [
"/mnt/containers/3x-ui/cert/:/root/cert:rw"
+16
View File
@@ -0,0 +1,16 @@
{
config,
pkgs,
inputs,
...
}:
{
imports = [
./3x-ui.nix
];
environment.systemPackages = with pkgs; [
compose2nix
podman-tui
];
}
+2 -1
View File
@@ -4,6 +4,7 @@
}:
{
imports = [
../vds
./containers
./nginx.nix
];
}
+40
View File
@@ -0,0 +1,40 @@
{
config,
pkgs,
...
}:
{
services.netbird.server = {
enable = false;
enableNginx = true;
domain = "netbird.zeroq.ru";
dashboard = {
enable = false;
domain = "netbird.zeroq.ru";
settings = {
#AUTH_AUTHORITY = "nbp_ufe0v5mbb5H1lQWL8eJfuzJ5ItPmlM46Mik0";
};
};
management = {
enable = false;
domain = "netbird.zeroq.ru";
};
};
# networking.firewall = {
# allowedTCPPorts = [
# 80
# 443
# 33073
# 10000
# 33080
# ];
# allowedUDPPorts = [ 3478 ];
# allowedUDPPortRanges = [
# {
# from = 49152;
# to = 65535;
# }
# ];
# };
}
+202
View File
@@ -0,0 +1,202 @@
{
config,
inputs,
pkgs,
...
}:
let
server = "100.64.0.0";
in
{
environment.etc."nginx/pubray".text = inputs.zeroq-credentials.services.xray.auth;
users.users.nginx.extraGroups = [ "acme" ];
services = {
nginx = {
enable = true;
recommendedGzipSettings = true;
recommendedOptimisation = true;
recommendedProxySettings = true;
recommendedTlsSettings = true;
appendHttpConfig = inputs.zeroq-credentials.services.xray.maps;
virtualHosts = {
# "pubray.zeroq.ru" = {
# enableACME = true;
# forceSSL = true;
# root = "${inputs.zeroq-credentials.services.xray.subs}";
# locations."/" = {
# extraConfig = ''
# auth_basic "Restricted";
# auth_basic_user_file /etc/nginx/pubray;
# if ($subfile = "") { return 403; }
# rewrite ^/$ $subfile break;
# '';
# };
# };
"x.new.zeroq.ru" = {
forceSSL = true;
enableACME = true;
locations = {
"/" = {
proxyPass = "http://localhost:2049";
proxyWebsockets = true;
};
"/default" = {
proxyPass = "http://localhost:2053";
proxyWebsockets = true;
};
"/subs/" = {
proxyPass = "http://localhost:2096";
proxyWebsockets = true;
};
};
};
# "kuma.new.zeroq.ru" = {
# forceSSL = true;
# enableACME = true;
# locations."/" = {
# proxyPass = "http://${server}:4001";
# proxyWebsockets = true;
# };
# extraConfig = ''
# client_max_body_size 5G;
# '';
# };
# "node-red.zeroq.ru" = {
# forceSSL = true;
# enableACME = true;
# kTLS = true;
# locations."/" = {
# proxyPass = "http://${server}:1880";
# proxyWebsockets = true;
# };
# extraConfig = ''
# client_max_body_size 5G;
# '';
# };
# "new.zeroq.ru" = {
# forceSSL = true;
# enableACME = true;
# root = pkgs.writeTextDir "index.html" ''
# <!doctype html>
# <html>
# <body>
# <pre>What are you doing here?</pre>
# </body>
# </html>
# '';
# locations = {
# "/guest/" = {
# proxyPass = "http://${server}:80";
# proxyWebsockets = true;
# };
# # "/.well-known/discord" = {
# # extraConfig = ''
# # default_type text/plain;
# # return 200 "dh=c2d103553a4cfdaa1b7952a87a7d8120a1e167cc";
# # '';
# # };
# };
# };
# "flux.new.zeroq.ru" = {
# forceSSL = true;
# enableACME = true;
# locations."/" = {
# proxyPass = "http://${server}:6061";
# proxyWebsockets = true;
# };
# extraConfig = ''
# client_max_body_size 5G;
# '';
# };
# "office.new.zeroq.ru" = {
# enableACME = true;
# forceSSL = true;
# locations = {
# "/" = {
# proxyPass = "http://${server}:9980"; # API и coauthoring
# proxyWebsockets = true;
# };
# };
# extraConfig = ''
# client_max_body_size 5G;
# proxy_set_header X-Forwarded-Proto $scheme;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# ''; # absolute_redirect off;
# };
# "immich.new.zeroq.ru" = {
# forceSSL = true;
# enableACME = true;
# locations."/" = {
# proxyPass = "http://${server}:2283";
# proxyWebsockets = true;
# };
# extraConfig = ''
# client_max_body_size 5G;
# '';
# };
# "nextcloud.new.zeroq.ru" = {
# forceSSL = true;
# enableACME = true;
# locations = {
# "/" = {
# proxyPass = "http://${server}:10000";
# proxyWebsockets = true;
# };
# "/whiteboard" = {
# proxyPass = "http://${server}:3002";
# proxyWebsockets = true;
# };
# };
# extraConfig = ''
# client_max_body_size 5G;
# '';
# };
# "calibre.new.zeroq.ru" = {
# forceSSL = true;
# enableACME = true;
# locations."/" = {
# proxyPass = "http://${server}:8083";
# proxyWebsockets = true;
# };
# extraConfig = ''
# client_max_body_size 5G;
# '';
# };
# "pdf.new.zeroq.ru" = {
# forceSSL = true;
# enableACME = true;
# locations."/" = {
# proxyPass = "http://${server}:6060";
# proxyWebsockets = true;
# };
# extraConfig = ''
# client_max_body_size 5G;
# '';
# };
# "ai.zeroq.ru" = {
# forceSSL = true;
# enableACME = true;
# locations."/" = {
# proxyPass = "http://${server}:11112";
# proxyWebsockets = true;
# };
# extraConfig = ''
# client_max_body_size 5G;
# '';
# };
};
};
};
security.acme = {
acceptTerms = true;
defaults = {
email = "go.bin043120@gmail.com";
};
};
networking.firewall.allowedTCPPorts = [
80
443
];
}
+108
View File
@@ -0,0 +1,108 @@
# Auto-generated using compose2nix v0.3.3-pre.
{
pkgs,
lib,
config,
...
}:
{
# Runtime
virtualisation.podman = {
enable = true;
autoPrune = {
enable = true;
flags = [ "--all" ];
};
dockerCompat = true;
};
# Enable container name DNS for all Podman networks.
networking.firewall.interfaces =
let
matchAll = if !config.networking.nftables.enable then "podman+" else "podman*";
in
{
"${matchAll}".allowedUDPPorts = [ 53 ];
};
networking.firewall = {
allowedUDPPortRanges = [
{
from = 14380;
to = 15380;
}
];
allowedTCPPortRanges = [
{
from = 14380;
to = 15380;
}
];
allowedTCPPorts = [
8443
9443
13380
];
allowedUDPPorts = [
8443
9443
13380
];
};
virtualisation.oci-containers.backend = "podman";
# Containers
virtualisation.oci-containers.containers."3xui_app" = {
image = "ghcr.io/mhsanaei/3x-ui:latest";
environment = {
"XRAY_VMESS_AEAD_FORCED" = "false";
"XUI_ENABLE_FAIL2BAN" = "true";
};
volumes = [
"/mnt/containers/3x-ui/cert/:/root/cert:rw"
"/mnt/containers/3x-ui/db/:/etc/x-ui:rw"
];
log-driver = "journald";
extraOptions = [
"--network=host"
];
};
systemd.services."podman-3xui_app" = {
serviceConfig = {
Restart = lib.mkOverride 90 "always";
};
partOf = [
"podman-compose-3x-ui-root.target"
];
wantedBy = [
"podman-compose-3x-ui-root.target"
];
};
# Builds
systemd.services."podman-build-3xui_app" = {
path = [
pkgs.podman
pkgs.git
];
serviceConfig = {
Type = "oneshot";
TimeoutSec = 300;
};
script = ''
cd /mnt/containers/3x-ui
podman build -t compose2nix/3xui_app -f ./Dockerfile .
'';
};
# Root service
# When started, this will automatically create all resources and start
# the containers. When stopped, this will teardown all resources.
systemd.targets."podman-compose-3x-ui-root" = {
unitConfig = {
Description = "Root target generated by compose2nix.";
};
wantedBy = [ "multi-user.target" ];
};
}
+16
View File
@@ -0,0 +1,16 @@
{
config,
pkgs,
inputs,
...
}:
{
imports = [
./3x-ui.nix
];
environment.systemPackages = with pkgs; [
compose2nix
podman-tui
];
}
+3 -4
View File
@@ -4,11 +4,10 @@
}:
{
imports = [
../containers/3x-ui.nix
./containers
./nginx.nix
./samba.nix
# ./glances.nix
./xray.nix
# ../services/uptime-kuma.nix
# ./netbird.nix
# ./xray.nix
];
}
-15
View File
@@ -1,15 +0,0 @@
{
config,
lib,
pkgs,
...
}:
{
services = {
glances = {
enable = true;
openFirewall = true;
port = 61208;
};
};
}
+3 -3
View File
@@ -7,17 +7,17 @@
services.netbird.server = {
enable = false;
enableNginx = true;
domain = "netbird.zeroq.su";
domain = "netbird.zeroq.ru";
dashboard = {
enable = false;
domain = "netbird.zeroq.su";
domain = "netbird.zeroq.ru";
settings = {
#AUTH_AUTHORITY = "nbp_ufe0v5mbb5H1lQWL8eJfuzJ5ItPmlM46Mik0";
};
};
management = {
enable = false;
domain = "netbird.zeroq.su";
domain = "netbird.zeroq.ru";
};
};
+37 -78
View File
@@ -8,7 +8,7 @@ let
server = "100.64.0.0";
in
{
# environment.etc."nginx/pubray".text = inputs.zeroq-credentials.services.xray.auth;
environment.etc."nginx/pubray".text = inputs.zeroq-credentials.services.xray.auth;
users.users.nginx.extraGroups = [ "acme" ];
services = {
nginx = {
@@ -17,9 +17,9 @@ in
recommendedOptimisation = true;
recommendedProxySettings = true;
recommendedTlsSettings = true;
# appendHttpConfig = inputs.zeroq-credentials.services.xray.maps;
appendHttpConfig = inputs.zeroq-credentials.services.xray.maps;
virtualHosts = {
# "pubray.zeroq.su" = {
# "pubray.zeroq.ru" = {
# enableACME = true;
# forceSSL = true;
# root = "${inputs.zeroq-credentials.services.xray.subs}";
@@ -33,7 +33,7 @@ in
# '';
# };
# };
"x.zeroq.su" = {
"x.zeroq.ru" = {
forceSSL = true;
enableACME = true;
locations = {
@@ -45,45 +45,20 @@ in
proxyPass = "http://localhost:2096";
proxyWebsockets = true;
};
"/subsjs/" = {
proxyPass = "http://localhost:2096";
proxyWebsockets = true;
};
};
};
"kuma.zeroq.su" = {
"kuma.zeroq.ru" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://${server}:4001";
proxyWebsockets = true;
};
extraConfig = ''
client_max_body_size 5G;
'';
};
"health.zeroq.su" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://${server}:19999";
proxyWebsockets = true;
};
};
"git.zeroq.su" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://${server}:3000";
proxyWebsockets = true;
};
};
# "agent.zeroq.su" = {
# forceSSL = true;
# enableACME = true;
# locations."/" = {
# proxyPass = "http://${server}:3000";
# proxyWebsockets = true;
# };
# };
# "node-red.zeroq.su" = {
# "node-red.zeroq.ru" = {
# forceSSL = true;
# enableACME = true;
# kTLS = true;
@@ -95,7 +70,7 @@ in
# client_max_body_size 5G;
# '';
# };
"zeroq.su" = {
"zeroq.ru" = {
forceSSL = true;
enableACME = true;
root = pkgs.writeTextDir "index.html" ''
@@ -119,50 +94,34 @@ in
# };
};
};
"flux.zeroq.su" = {
"flux.zeroq.ru" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://${server}:6061";
proxyWebsockets = true;
};
extraConfig = ''
client_max_body_size 5G;
'';
};
"n8n.zeroq.su" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://${server}:5678";
proxyWebsockets = true;
};
};
"office.zeroq.su" = {
"office.zeroq.ru" = {
enableACME = true;
forceSSL = true;
locations = {
"/" = {
proxyPass = "http://${server}:8090";
proxyPass = "http://${server}:9980"; # API и coauthoring
proxyWebsockets = true;
};
};
# extraConfig = ''
# client_max_body_size 5G;
# proxy_http_version 1.1;
# proxy_buffering off;
# proxy_set_header Host $host;
# proxy_set_header X-Forwarded-Host $host;
# proxy_set_header X-Forwarded-Proto $scheme;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header Authorization $http_authorization;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection "upgrade";
# ''; # absolute_redirect off;
extraConfig = ''
client_max_body_size 5G;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
''; # absolute_redirect off;
};
"immich.zeroq.su" = {
"immich.zeroq.ru" = {
forceSSL = true;
enableACME = true;
locations."/" = {
@@ -173,7 +132,7 @@ in
client_max_body_size 5G;
'';
};
"nextcloud.zeroq.su" = {
"nextcloud.zeroq.ru" = {
forceSSL = true;
enableACME = true;
locations = {
@@ -190,7 +149,7 @@ in
client_max_body_size 5G;
'';
};
"calibre.zeroq.su" = {
"calibre.zeroq.ru" = {
forceSSL = true;
enableACME = true;
locations."/" = {
@@ -201,18 +160,18 @@ in
client_max_body_size 5G;
'';
};
"pdf.zeroq.su" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://${server}:8446";
proxyWebsockets = true;
};
extraConfig = ''
client_max_body_size 5G;
'';
};
# "ai.zeroq.su" = {
# "pdf.zeroq.ru" = {
# forceSSL = true;
# enableACME = true;
# locations."/" = {
# proxyPass = "http://${server}:6060";
# proxyWebsockets = true;
# };
# extraConfig = ''
# client_max_body_size 5G;
# '';
# };
# "ai.zeroq.ru" = {
# forceSSL = true;
# enableACME = true;
# locations."/" = {
-56
View File
@@ -1,56 +0,0 @@
{
config,
xlib,
...
}:
{
services.samba = {
enable = true;
nmbd = {
enable = false;
};
settings = {
global = {
"invalid users" = [ ];
"passwd program" = "/run/wrappers/bin/passwd %u";
security = "user";
};
nixos = {
"path" = "/etc/nixos";
"browseable" = "yes";
"read only" = "no";
"valid users" = "${xlib.device.username}";
"guest ok" = "no";
"writable" = "yes";
"create mask" = 755;
"directory mask" = 755;
"force user" = "${xlib.device.username}";
"force group" = "users";
};
root = {
"path" = "/";
"browseable" = "yes";
"read only" = "no";
"valid users" = "${xlib.device.username}";
"guest ok" = "no";
"writable" = "yes";
#"create mask" = 0644;
#"directory mask" = 0644;
"force user" = "root";
"force group" = "root";
};
"${xlib.device.username}" = {
"path" = "/home/${xlib.device.username}";
"browseable" = "yes";
"read only" = "no";
"valid users" = "${xlib.device.username}";
"guest ok" = "no";
"writable" = "yes";
"create mask" = 700;
"directory mask" = 700;
"force user" = "${xlib.device.username}";
"force group" = "users";
};
};
};
}
-4
View File
@@ -5,10 +5,6 @@
...
}:
{
imports = [
# ./3x-ui.nix
];
environment.systemPackages = with pkgs; [
compose2nix
podman-tui
+3 -5
View File
@@ -1,17 +1,15 @@
{
inputs,
lib,
pkgs,
...
}:
{
imports = [
../software/aichat.nix
../software/beets
../software/whisper.nix
./containers
./tools
#../server/open-webui.nix
../software/aichat.nix
#../vds/docker.nix
#../services/tts.nix
#../server/open-webui.nix
];
}
+1 -6
View File
@@ -1,8 +1,3 @@
{
inputs,
...
}:
{ inputs, ... }:
self: super: {
rovr = inputs.self.packages.x86_64-linux.rovr;
pcbu-desktop = inputs.self.packages.x86_64-linux.pcbu-desktop;
}
+4 -12
View File
@@ -1,17 +1,9 @@
{ inputs, ... }@flakeContext:
let
system = "x86_64-linux";
pkgs = import inputs.nixpkgs {
inherit system;
config = {
allowUnfree = true;
};
};
pkgs = import inputs.nixpkgs { system = "x86_64-linux"; };
in
{
packages.${system} = {
rovr = pkgs.callPackage ./rovr { };
pcbu-desktop = pkgs.callPackage ./pcbu-desktop { };
# immich = pkgs.callPackage ./immich { };
};
# packages."x86_64-linux" = {
# immich = pkgs.callPackage ./immich/package.nix { };
# };
}
-54
View File
@@ -1,54 +0,0 @@
{ pkgs }:
let
pname = "pcbu-desktop";
version = "3.2.3";
src = pkgs.fetchurl {
url = "https://github.com/MeisApps/pcbu-desktop/releases/download/v${version}/PCBioUnlock-x64.AppImage";
sha256 = "sha256-+NxAm6vhMH51z6BscuFvaMidHN/3tNBR1g+i0q9hjWE=";
};
in
pkgs.appimageTools.wrapType2 {
inherit pname version src;
extraPkgs =
pkgs: with pkgs; [
glib
nss
nspr
libdrm
libGL
libxkbcommon
libX11
libXcursor
libXrandr
libXi
libXext
libXfixes
libXrender
libXtst
libxcrypt-legacy
gtk3
alsa-lib
at-spi2-atk
at-spi2-core
cups
dbus
expat
pango
cairo
];
extraInstallCommands = ''
mkdir -p $out/share/applications
cat > $out/share/applications/${pname}.desktop <<EOF
[Desktop Entry]
Name=PCBU Desktop
Exec=${pname}
Type=Application
Categories=Utility;
EOF
'';
}
-20
View File
@@ -1,20 +0,0 @@
Для сервиса пригодится:
```
hardware.bluetooth.enable = true;
services.dbus.enable = true;
networking.firewall.allowedUDPPorts = [ ... ];
networking.firewall.allowedTCPPorts = [ ... ];
```
---
pcbu-desktop-3.2.3-fhsenv-rootfs> building '/nix/store/8q029crhzkqw1vqvjbnxvmpgpwfr9sk1-pcbu-desktop-3.2.3-fhsenv-rootfs.drv'
pcbu-desktop-3.2.3-fhsenv-rootfs> structuredAttrs is enabled
pcbu-desktop-3.2.3-fhsenv-rootfs> Warning: Schema ?org.gnome.system.locale? has path ?/system/locale/?. Paths starting with ?/apps/?, ?/desktop/? or ?/system/? are deprecated.
pcbu-desktop-3.2.3-fhsenv-rootfs> Warning: Schema ?org.gnome.system.proxy? has path ?/system/proxy/?. Paths starting with ?/apps/?, ?/desktop/? or ?/system/? are deprecated.
pcbu-desktop-3.2.3-fhsenv-rootfs> Warning: Schema ?org.gnome.system.proxy.http? has path ?/system/proxy/http/?. Paths starting with ?/apps/?, ?/desktop/? or ?/system/? are deprecated.
pcbu-desktop-3.2.3-fhsenv-rootfs> Warning: Schema ?org.gnome.system.proxy.https? has path ?/system/proxy/https/?. Paths starting with ?/apps/?, ?/desktop/? or ?/system/? are deprecated.
pcbu-desktop-3.2.3-fhsenv-rootfs> Warning: Schema ?org.gnome.system.proxy.ftp? has path ?/system/proxy/ftp/?. Paths starting with ?/apps/?, ?/desktop/? or ?/system/? are deprecated.
pcbu-desktop-3.2.3-fhsenv-rootfs> Warning: Schema ?org.gnome.system.proxy.socks? has path ?/system/proxy/socks/?. Paths starting with ?/apps/?, ?/desktop/? or ?/system/? are deprecated.
pcbu-desktop-3.2.3-bwrap> building '/nix/store/6pzpm3vzia2jjfjizh8yx8v1n8l9apnr-pcbu-desktop-3.2.3-bwrap.drv'
pcbu-desktop> building '/nix/store/9jrq44m27r427rfxvbn3ym7b4y6hnnha-pcbu-desktop-3.2.3.drv'
-74
View File
@@ -1,74 +0,0 @@
{ pkgs }:
let
python = pkgs.python314.override {
packageOverrides = self: super: {
textual = super.textual.overridePythonAttrs (old: rec {
version = "7.1.0";
src = super.fetchPypi {
pname = "textual";
inherit version;
sha256 = "sha256-PHFI7wCpJ3tF/Xihpq3HxBnEUdPtcUoLAVsW6qKopzs=";
};
});
};
};
py = python.pkgs;
textualDeps = with py; [
textual
textual-autocomplete
textual-image
textual-speedups
];
pythonDeps = with py; [
ujson
prompt-toolkit
rich
fastjsonschema
humanize
natsort
pathvalidate
pdf2image
pillow
platformdirs
psutil
puremagic
rarfile
rich-click
send2trash
tomli
];
in
py.buildPythonApplication rec {
pname = "rovr";
version = "0.7.0";
src = py.fetchPypi {
inherit pname version;
format = "wheel";
dist = "py3";
python = "py3";
abi = "none";
platform = "any";
sha256 = "sha256-CMj3jepLSA2bMcl2r89HY/ghPXEIpF5RohkBkLj6iNw=";
};
format = "wheel";
propagatedBuildInputs = pythonDeps ++ textualDeps;
nativeBuildInputs = [ pkgs.stdenv.cc.cc.lib ];
doCheck = false;
meta = with pkgs.lib; {
description = "Terminal file manager rovr";
homepage = "https://pypi.org/project/rovr/";
license = licenses.mit;
};
}