Compare commits
1333 commits
Author | SHA1 | Date | |
---|---|---|---|
c519728530 | |||
cdd232ab9e | |||
ac06fd90f5 | |||
246c755eac | |||
c0a307ef19 | |||
13d32f0da2 | |||
b040d847f8 | |||
661c03efda | |||
fe65265dff | |||
1e1f1299d1 | |||
168db20ffb | |||
e87bdf60a3 | |||
9f2ed13fc9 | |||
bc186e343d | |||
dac15275f4 | |||
11b5a0347b | |||
460edb3593 | |||
7f07fb2d2b | |||
d6f271a09a | |||
9e251961c9 | |||
d95766012d | |||
3d99beff23 | |||
2b647d527e | |||
e59444ae77 | |||
81a21984d8 | |||
a5336bac61 | |||
9fe7f5895b | |||
b78814d8a7 | |||
4c574a746d | |||
ce475402bc | |||
a7d3c0a6ee | |||
3aa4f18abf | |||
2dd4ec52b9 | |||
aea4e45d2a | |||
939be9f2f7 | |||
fe6564102e | |||
f715f906ff | |||
e8dc63509a | |||
4c912987f8 | |||
c311737265 | |||
55db339b67 | |||
7987e3a48e | |||
195c4651a3 | |||
e66af1d7ce | |||
393ceb36a9 | |||
037967efd7 | |||
9014f87dfd | |||
e4c77d22d8 | |||
c809231c67 | |||
04fce77606 | |||
9c92e2305b | |||
4f49666198 | |||
95ebca0aca | |||
79046dbd5a | |||
40c18bbdb9 | |||
0c2d089da2 | |||
f137e5e872 | |||
1db002a9cb | |||
f1b28a9b2d | |||
267e7c36d5 | |||
e5f677793d | |||
436526ffb9 | |||
da9cd3f89a | |||
0d75a24278 | |||
316dfa5137 | |||
1dc452b66d | |||
96a51205d3 | |||
4ec9a9ada6 | |||
b8b3c2106b | |||
8d2b06f27b | |||
caf00593bf | |||
6006c9b81f | |||
d9b1dbf512 | |||
7f1e3dcd34 | |||
e4c0bed1a8 | |||
fa99efa077 | |||
c530a0d099 | |||
812423a3cd | |||
ac19a47faf | |||
e34a84810a | |||
f71985d621 | |||
44345df4a9 | |||
165c1ee9ca | |||
762e504a89 | |||
b3ac1d5852 | |||
45373b57fa | |||
930321bd3e | |||
29fc562c12 | |||
48910eb2c6 | |||
b712091b1b | |||
f8329b1b78 | |||
ff5fd33f7b | |||
4d451a1007 | |||
14920550cd | |||
6409e97788 | |||
ec7f932e39 | |||
08559475cf | |||
765cb0ce2b | |||
32a7a42218 | |||
b6af136f0b | |||
e82459e2f8 | |||
dc62164e19 | |||
dc52aa3852 | |||
53c84a3200 | |||
65203b480b | |||
8de560c410 | |||
46cfc9deb1 | |||
a14104a3b9 | |||
fad25a8127 | |||
4275c7705e | |||
5f586411bc | |||
52e3e5f37d | |||
15c03997e0 | |||
2c550dae67 | |||
b52287e25a | |||
e4b8977f6b | |||
aadfb243a0 | |||
c195635235 | |||
8920dd7657 | |||
66748571b8 | |||
aaa9cc67b9 | |||
8e1723e3e1 | |||
39d9a34378 | |||
9809d5cd32 | |||
123104740e | |||
0c8284badc | |||
483cca5359 | |||
3ba31fa6e7 | |||
f74ec7c4c4 | |||
5e6e8d5f54 | |||
8963a40485 | |||
3e698a0edf | |||
9165c47750 | |||
598ed7b7b3 | |||
659f4337c7 | |||
4de757b465 | |||
227624d097 | |||
a4db9345c9 | |||
6ff6de2dc4 | |||
669365befd | |||
152e05db11 | |||
3a059aff2f | |||
b86c9ba8d0 | |||
989fe4b507 | |||
9e83832681 | |||
9fd6ff013e | |||
9e14c21524 | |||
d74947de33 | |||
046fb6f7e8 | |||
3b486b15d9 | |||
03b262f714 | |||
96cfeadd7d | |||
e987265041 | |||
6da6d02aa1 | |||
a31b8a77b1 | |||
b682fe72aa | |||
0102e10ef3 | |||
90053ea7a4 | |||
7ba056c462 | |||
f7fb8685dd | |||
ec9d9e373b | |||
ae2bfbbe31 | |||
4ac7546202 | |||
40a8b3b9f1 | |||
bcfc37b2db | |||
5339a3f7ba | |||
8d2612203f | |||
4f2f794072 | |||
fc27e459a2 | |||
61b2e7aff2 | |||
443da724f6 | |||
5775a8a3ba | |||
032a7614ee | |||
f47ae0ddee | |||
d76a6d292b | |||
6c86c4a87e | |||
2b6a1b6faf | |||
68ac24e29f | |||
eae8a1dfe1 | |||
37366f5652 | |||
8b39e5912b | |||
b7f54f8dc0 | |||
3b7133a997 | |||
41d821d086 | |||
91b071865a | |||
3795a49109 | |||
2cf82bbec9 | |||
c8e751a775 | |||
9e11157642 | |||
abed8becf4 | |||
f935e4583d | |||
86e1cacead | |||
06b5e11bb5 | |||
ea273128c6 | |||
7136b447f9 | |||
df45dea143 | |||
63abd4e9cd | |||
1d34f21288 | |||
3000d8bbfb | |||
126b72166f | |||
91e2671ddd | |||
4e4975039f | |||
48d0871aca | |||
e4a20edda9 | |||
90ff510799 | |||
9e23c13bc4 | |||
4aabd574ff | |||
24ac9700ea | |||
1cac49f5aa | |||
48f8b06521 | |||
f85a6425d1 | |||
26bcca97ba | |||
5654fd6bee | |||
8912fed29c | |||
bb75584fa2 | |||
6997121c4e | |||
bbfd741c95 | |||
c8ff860c42 | |||
4994c68d83 | |||
3c7ff8b7fb | |||
d36fd68030 | |||
bbf9d29e21 | |||
fb152b40c8 | |||
a39971efe0 | |||
ed0abc6dbe | |||
24a65922dd | |||
81dcb8771b | |||
e67dfedbe5 | |||
f8f8687fb5 | |||
4f63196ec0 | |||
29c8f2dbd4 | |||
2c96ee40eb | |||
d23c84d2f7 | |||
a3c027d3f1 | |||
2185575293 | |||
91339aacf1 | |||
0e86371aa6 | |||
01289bfca1 | |||
2da1aaa423 | |||
7c9c49a223 | |||
e746ffb686 | |||
a1f02beaab | |||
aa9160047e | |||
e2cc5c3094 | |||
6afe158c36 | |||
d2f19f1cff | |||
efcdb566b8 | |||
7bd4c6e93e | |||
fac0494df8 | |||
aedf897255 | |||
527ee2093f | |||
a88e6d2a8a | |||
448a565752 | |||
6d53b13851 | |||
abf58e5fbb | |||
81f95c7231 | |||
c41260c675 | |||
5a6cdb43d6 | |||
825b49ad06 | |||
7b4f647d0a | |||
7f30c278c6 | |||
d89cc0c053 | |||
03ffc98988 | |||
b5498c671d | |||
26d0dae2fc | |||
2a0d701746 | |||
6fbba8bf3d | |||
53a52fb737 | |||
f5e3385291 | |||
bbce000bcd | |||
5ef4529512 | |||
36a9af78dc | |||
0207ba1064 | |||
2277d4d170 | |||
43d1cf31d8 | |||
0df316b4fb | |||
ad580cc29f | |||
b1461d75e0 | |||
e810234430 | |||
f44e0b3274 | |||
94244ca95c | |||
c6391d5557 | |||
69174838ad | |||
e18faebc50 | |||
e7829af03c | |||
0a9d36d111 | |||
8d2e52ec5e | |||
8336ec5048 | |||
aa1af14bfd | |||
42c81d20dd | |||
5326fe37b3 | |||
b740475b58 | |||
016f11b42d | |||
690deb51c0 | |||
39ff6b0eb6 | |||
a13b7829ea | |||
ed43d0f48f | |||
2bf1f47b2f | |||
48a1f9901f | |||
f387868de1 | |||
858a3cd154 | |||
5c65dd9cb9 | |||
8a7c780bf3 | |||
4b6f9b19d9 | |||
3a3869dd77 | |||
91eca4d282 | |||
718070963a | |||
88bb9f6412 | |||
be766e97bc | |||
12535c2ae0 | |||
82e23cd6b2 | |||
557fba419b | |||
bbb67058e7 | |||
67d4a408e2 | |||
aef2e0a750 | |||
5d9708d535 | |||
976b2d04fb | |||
7d07bbfaa6 | |||
0997a179d4 | |||
33258e3bf3 | |||
97bbcfd517 | |||
b170d0182a | |||
68ca9c6ab6 | |||
9b4a1e1598 | |||
44b04cd35b | |||
b8f62fd19b | |||
67f4a173d9 | |||
488b3e5bf4 | |||
aa42d6ab39 | |||
82eab3ff94 | |||
8a924d17c5 | |||
58736a27d4 | |||
dd2e8c1db2 | |||
72a86c007a | |||
7330cf920b | |||
7895e73ce6 | |||
c255a9ea7f | |||
949319f1a9 | |||
78bff95587 | |||
370ae38846 | |||
27e7e2458e | |||
4f3234d98a | |||
ae5fd10a44 | |||
be68ab02c1 | |||
a8eed9e985 | |||
c06876a990 | |||
b1da4472cd | |||
a6e95a4719 | |||
09b1a3a47a | |||
b8818d5439 | |||
525031bd0a | |||
2df8cd8148 | |||
fd625a1d8f | |||
33ce1106e7 | |||
28b9999f39 | |||
4d5a0b8f6e | |||
c56c2473a6 | |||
37b5dd3bd5 | |||
4b3fde70d7 | |||
e141efbbe4 | |||
89d4ea3737 | |||
c0f87b2b42 | |||
764f2ea7f0 | |||
3e1d80c56c | |||
718ecfa54e | |||
a7eb1024e1 | |||
96db564b83 | |||
80b724faf9 | |||
fae5908673 | |||
aac4c7b266 | |||
747a44d61e | |||
d5973ea4e3 | |||
677b16789c | |||
788e3b6e40 | |||
639a58a437 | |||
310f8aa45c | |||
955020d9f4 | |||
0a21e02625 | |||
7c2e4a67a7 | |||
83996be539 | |||
9d7f734d50 | |||
6c65550c69 | |||
d747f64d63 | |||
afe64f98bc | |||
ac221a9f9f | |||
d19e5a8b6a | |||
b151067a21 | |||
0e1ae7608a | |||
ed15c8fcb7 | |||
c15ec5ec3e | |||
e147459f1e | |||
348ab63f99 | |||
70bf63b61a | |||
a9c8c5c775 | |||
9730ee75c2 | |||
1702543f0f | |||
45c13be6b0 | |||
feeb513f21 | |||
e101ea9de6 | |||
73f430bea2 | |||
1df1c2c970 | |||
7290ecac2e | |||
f4a2f1bb36 | |||
acc7aa6848 | |||
3b1dcf4709 | |||
f469555599 | |||
aa00c1d36e | |||
ae2ea3f9a6 | |||
c0da6c96f4 | |||
20e48f14d1 | |||
87ff7ed523 | |||
785990b755 | |||
98846fc48b | |||
9169ee5b8c | |||
a500dd37b7 | |||
f197eccac3 | |||
395e18df52 | |||
848186de59 | |||
f3aff4c4e8 | |||
bed90cc635 | |||
0f6382bfc8 | |||
690743f6d0 | |||
432328a8b4 | |||
64f63eb156 | |||
9256c0352c | |||
1529ae20c7 | |||
8bb500ac4b | |||
94b70310e4 | |||
8065b2dab0 | |||
3da0c39014 | |||
9ec2a8eb9b | |||
702fdec584 | |||
c47a85b539 | |||
40612774c0 | |||
fc0493d99e | |||
e653ee7d18 | |||
5a11d0c79e | |||
b75bbba493 | |||
81e7d2631d | |||
e642a294c5 | |||
6a7cf99da8 | |||
6e466cae8d | |||
5e04976aba | |||
ced2b22fb4 | |||
49d5c6c92b | |||
13c59cab47 | |||
f0750a1ad8 | |||
12564939a7 | |||
a8211ed1d8 | |||
8f74a04d5d | |||
13ad1b7e88 | |||
47233b088f | |||
08bb0e0296 | |||
b8d84d1e4b | |||
80c970ae7c | |||
8ec669e136 | |||
31cb691feb | |||
a1542cd5e2 | |||
7c8aba1a06 | |||
924c957472 | |||
3a0e431457 | |||
6a7afb20d2 | |||
cd4096e3c0 | |||
23ede601ef | |||
5f0fd57cb3 | |||
d4796ef581 | |||
8f739a907c | |||
7f54f26daa | |||
565b730bf1 | |||
5c622bed80 | |||
41cf3a5735 | |||
dba9554069 | |||
c1c1b425ec | |||
305666192f | |||
0ecf1e8479 | |||
717c562eec | |||
35a2a782f0 | |||
46400e2801 | |||
9cfc894c86 | |||
147731f693 | |||
19a35842ce | |||
ee1f973c41 | |||
ed2b649164 | |||
842e6b1c9f | |||
41751154a9 | |||
6fea7df990 | |||
429010d85a | |||
6182b1b2b8 | |||
491577d1a1 | |||
93ce353b00 | |||
d332eaa6f5 | |||
40e2908af4 | |||
7c9c9f0f22 | |||
1d8142dae2 | |||
82227b7dee | |||
775ea90211 | |||
4b4707a84e | |||
aaec8e6067 | |||
72ab88d55d | |||
4c9593bcb6 | |||
dcc4b2b06d | |||
14ea0031d6 | |||
6d092a001a | |||
204c4542b4 | |||
fa37e929ea | |||
ca12d94a3e | |||
393c619e2b | |||
0ad3a4eb1e | |||
|
1206df05cc | ||
5430b88cad | |||
4bdff7d07c | |||
a1c475da50 | |||
b04b5665e2 | |||
b73c8f07a6 | |||
9498a29f0a | |||
5c952d7c8c | |||
b1bd55f0a6 | |||
c5437fcfbd | |||
50399dfd64 | |||
8f2acf184f | |||
cc3e47611a | |||
2856c8f1ce | |||
6c72a36773 | |||
12c6ce7ef0 | |||
|
e6aa45333b | ||
|
b114f1851e | ||
|
16e59402c7 | ||
|
2fb9297281 | ||
|
58eb844306 | ||
|
4093651f86 | ||
|
1acfbf40ca | ||
|
c9c0f55d31 | ||
|
0aa8b5dd46 | ||
|
a5e1613b07 | ||
7e6a410b86 | |||
ef4d6d4650 | |||
ceb50baf83 | |||
923a1c7340 | |||
|
23d23a27c9 | ||
|
2388de891f | ||
|
ccdd60a353 | ||
447c7e1119 | |||
5e9d4d65e6 | |||
4faffcaa73 | |||
e83a031b1b | |||
|
b3283de502 | ||
|
62558887c1 | ||
|
f3da5785d6 | ||
|
dc18277b4d | ||
|
79656e86ef | ||
7a4bf336e8 | |||
6afdc9564c | |||
498a63aef4 | |||
4c5b190584 | |||
1f8221ff5b | |||
60303b0049 | |||
1635e9fc36 | |||
caa7848cb3 | |||
f24dfb6f2d | |||
|
a6db0941d3 | ||
381e0af92d | |||
f390a33dd8 | |||
d3f661c579 | |||
|
f3f2931d57 | ||
59adfdd89e | |||
7954897152 | |||
5b847d75ee | |||
0f468a7af8 | |||
d9e491c382 | |||
185260c0b8 | |||
cd5e783ccf | |||
2743c68c72 | |||
6cc2fa1152 | |||
14da0fcf23 | |||
d11e82217c | |||
2c7dd4af6f | |||
729a914fbd | |||
9fd82c7fbf | |||
527dace26c | |||
49593b02b0 | |||
b77d2e2a67 | |||
0105b275ed | |||
b2ee402d04 | |||
eee41cbbcd | |||
31e61e3689 | |||
15ade99b4a | |||
5c2f6821f9 | |||
1911c40427 | |||
1105f2fab0 | |||
48a51d9756 | |||
bb4d469162 | |||
085523998b | |||
20421fa466 | |||
f18dba6fa6 | |||
8d6ee01d96 | |||
973fe13743 | |||
0bedb49cf6 | |||
72fd110834 | |||
12f36722c4 | |||
4d323544d7 | |||
e45086afae | |||
cc06f5743d | |||
97b3866db2 | |||
018b96f03a | |||
e0e8c5ccaf | |||
8ab864c383 | |||
a97f68aeb5 | |||
ba28bba03a | |||
1398574bb2 | |||
573236400f | |||
b436745bf1 | |||
1e54c2dd73 | |||
3f487ee0f3 | |||
968ce1b170 | |||
489e8dcfe2 | |||
33b9d9930f | |||
116621e4cc | |||
3f2c889985 | |||
b29bf53fa1 | |||
68b3fefc67 | |||
b853a89635 | |||
b7051903a2 | |||
1a54986d53 | |||
c47d4ea4da | |||
40ba366403 | |||
f2251e87da | |||
7ae2f50149 | |||
389c24e939 | |||
17032b95d0 | |||
3cd3b232a1 | |||
939c0c14da | |||
0deb2e37e0 | |||
ac829e286a | |||
6eee824bdd | |||
a96a438dda | |||
19fbc933df | |||
5c6d81c7ff | |||
ca2412143f | |||
fe679061ba | |||
2d7890154e | |||
8b9aa920a6 | |||
1151b87fad | |||
f3953befe3 | |||
fe2ee02bad | |||
65f2fd46a2 | |||
884c678e43 | |||
08c6d7694f | |||
cc98aec0f7 | |||
71a0d125cc | |||
1ae2219d8a | |||
c134cdce6c | |||
1b394b23f7 | |||
ffba40b027 | |||
76b50dbe6f | |||
f781e4b0c9 | |||
ac0cdcf839 | |||
09bdc5b94b | |||
ebed5b1f99 | |||
9ded153861 | |||
3d64f03d95 | |||
3d74bd9a2a | |||
78c8196daa | |||
38c985ebfa | |||
2d5fb0d4dc | |||
dab1d82be2 | |||
db2ef6e434 | |||
a313835509 | |||
2aeb6e5bc0 | |||
46cc7da21b | |||
0ed3009e7a | |||
e6bd26af9c | |||
929e4a0bfc | |||
e3f197456b | |||
95bb42aa72 | |||
d9f852bed8 | |||
6bf637f964 | |||
fcf8969b01 | |||
ae89052aef | |||
c473cb5d9a | |||
1d22f518da | |||
a0fd25e200 | |||
7bc1240454 | |||
5d8b849ee2 | |||
3e8a76600d | |||
20bc67ba4f | |||
a21f410dcd | |||
9897f2c331 | |||
797755d323 | |||
302d6ba920 | |||
96d05236ed | |||
bb0aab93ba | |||
8d9d84eb7f | |||
09e109164a | |||
493660374d | |||
c2d846dd29 | |||
322128cc83 | |||
a3fab5a6bb | |||
315f2a817f | |||
df03e639b7 | |||
9c69c01f36 | |||
1f5ebafcb3 | |||
4ff89f6825 | |||
f4036b818d | |||
f4216ae0ba | |||
413a8fb1fb | |||
b945ce338e | |||
58b1563a8b | |||
d366574989 | |||
64d984edb8 | |||
6e52e8a4fb | |||
9e5df50795 | |||
1b277bf887 | |||
3138316af8 | |||
23d573ea6d | |||
fa625e50c9 | |||
0e39efb2cf | |||
95af231210 | |||
d4a8a624e8 | |||
481f32d82e | |||
8daff27305 | |||
31ab7306c0 | |||
d4b172e203 | |||
6523521f48 | |||
914df5f436 | |||
eb93f02f66 | |||
13a6ab2293 | |||
0a14b90d3d | |||
27fb6f64a3 | |||
2a6196c2f7 | |||
e89683ff77 | |||
c578871998 | |||
dcd00e7b98 | |||
8163931183 | |||
0d1d7dc09d | |||
cac76497fe | |||
a15643e686 | |||
b5e3c80975 | |||
5e277ce560 | |||
2a0b4dd306 | |||
8fe76f19c0 | |||
60375ed18a | |||
c0d8b72f0e | |||
69cabe05e5 | |||
99adba52d3 | |||
0dd8c5c44d | |||
b8a89ed59e | |||
053f4bb39a | |||
9264b9c3ef | |||
4275764c80 | |||
12215b5c0f | |||
7e8e8d4a4d | |||
a1bbcd7da1 | |||
a8a86778c4 | |||
dc353672e4 | |||
b42171c2c2 | |||
772b9510cc | |||
a9ae559115 | |||
9cdd87fbd3 | |||
4f67d03bee | |||
3b6c015a0d | |||
06cb90d613 | |||
2fa242c8b1 | |||
fb9bb347da | |||
ca56b6d9a1 | |||
875f1cae6a | |||
b8460b5ae4 | |||
fcbeb8b7cf | |||
df65e0b783 | |||
785ab635d0 | |||
ff359ffee9 | |||
bf0c005444 | |||
bcbd819cdb | |||
ca059fcb8c | |||
77c5a93d60 | |||
bcbda7ec98 | |||
cf60df7ddd | |||
756041b63f | |||
f629ee960f | |||
c96240e269 | |||
294032a79a | |||
af64a8b08d | |||
f9798c3dae | |||
175d906fe1 | |||
65f8f5f1dc | |||
b6c3651c8c | |||
55ca4721fb | |||
db0c4ac401 | |||
e87aabba1d | |||
af41ce5fc9 | |||
c141a867a9 | |||
d7bb322417 | |||
fc3ca78d89 | |||
9bc5c5c70f | |||
59399c376e | |||
bd6baa9813 | |||
d9201743d9 | |||
cf6f338737 | |||
d5d5aeb846 | |||
cfc9ac3abe | |||
2229cf8cf2 | |||
d79a88870a | |||
687199810c | |||
b8e593b466 | |||
2e58dde610 | |||
befa0180f9 | |||
b00c5cb725 | |||
3f6dfe393d | |||
6e1b1e6e1b | |||
0929a5d356 | |||
662491e11a | |||
c19fab21b3 | |||
b3841fec56 | |||
ea1a4a130a | |||
c7ea081db8 | |||
8f10c4cf0c | |||
687e994266 | |||
05fb156293 | |||
894ee7c2dd | |||
277f6c0120 | |||
5795589416 | |||
7b13a37d2b | |||
901bccab0d | |||
034580ebda | |||
1745422371 | |||
853dbf724a | |||
d793734621 | |||
8aaa911e19 | |||
e93b6a99fd | |||
7ad76e5ba7 | |||
c8c3cf3949 | |||
347b6c1f50 | |||
9e0399fbed | |||
d695658146 | |||
c14bf488c4 | |||
de518419ce | |||
4f2c3b5e7e | |||
efbc653977 | |||
ee401aacb9 | |||
848d3899d9 | |||
64de63a92a | |||
de043c126a | |||
ca071c11d1 | |||
0e97eb8fbd | |||
495f8dd919 | |||
8b0bc829a2 | |||
b1007062be | |||
fe04b45973 | |||
6b79ec86f8 | |||
02f546deb5 | |||
8427208a2a | |||
34e9c50de8 | |||
5411c2f5e7 | |||
0052ea28f8 | |||
c7bdd8a740 | |||
2b20c0e4f7 | |||
71582b9bdf | |||
eead44d29e | |||
432ee57180 | |||
4aeaf540b7 | |||
f0b03ebd13 | |||
bf1c9234e2 | |||
6573316fba | |||
67610fa7e8 | |||
f6c715be63 | |||
0931c0b2e4 | |||
1b669c06fc | |||
62e3e6d858 | |||
c2ff13e6f7 | |||
8b7a8f13e9 | |||
70c2f68318 | |||
f44300cb33 | |||
453efbd4ec | |||
68393225ee | |||
91b671057e | |||
65c6c66dc8 | |||
5f84ac78a3 | |||
3702e12986 | |||
308b43adcd | |||
e5ae761829 | |||
8a92f7da5f | |||
82aff6d99c | |||
f1719ac87a | |||
32a7755325 | |||
bb12b93d09 | |||
1a8fbdccf7 | |||
855b95e542 | |||
662e63dfb3 | |||
69b09d2604 | |||
c2f4868930 | |||
81a21eab77 | |||
574807279a | |||
42abc35be5 | |||
8782924ac5 | |||
143a3c0e85 | |||
3b085c6187 | |||
945c76548a | |||
cad211b2f8 | |||
36d7871256 | |||
77c42375ca | |||
027049aced | |||
cff0adb487 | |||
fe6dbaaa60 | |||
fcc5cc64de | |||
c6639a9491 | |||
85b6500c19 | |||
00df564e77 | |||
33460617b7 | |||
f8b538e275 | |||
d7ce6319b4 | |||
d2e54b7ef5 | |||
d0d51f9ea6 | |||
e94a2ed26b | |||
1afe0f59cf | |||
bb848dc70f | |||
6b2755f1ae | |||
c67776feb9 | |||
f750d718fa | |||
21a89943de | |||
859e9b6698 | |||
d1b217a506 | |||
0370e045b9 | |||
e32190aa30 | |||
34ec627172 | |||
e18f384d41 | |||
cd62b162b8 | |||
58a7a64346 | |||
bdf01fdae1 | |||
21c0c53c95 | |||
80fb138fc1 | |||
c3dd70706c | |||
a824b29e71 | |||
b6b878e461 | |||
da9abb7282 | |||
0250876649 | |||
0f653f785f | |||
270a580e8e | |||
9d3972a54a | |||
e5d07324a5 | |||
b301ede52a | |||
b55b6468d1 | |||
f6cf8443e4 | |||
ff7e505a60 | |||
cb3ef36515 | |||
3ea614cc21 | |||
bbad1c4253 | |||
55187f9675 | |||
95a99aa1bf | |||
b4f2b57060 | |||
9d4cea56a4 | |||
9cdd992f20 | |||
924cc4f807 | |||
ec490c0d32 | |||
24f4d3fc42 | |||
3bd0ce5af7 | |||
18074cde8b | |||
5764bcc6cb | |||
80728aa90f | |||
881c8afadc | |||
6d1ed94046 | |||
e67f95431e | |||
aa7280dac2 | |||
f404f5c758 | |||
08e1e09111 | |||
e778278a72 | |||
a64d1345ee | |||
64fc8d9c0d | |||
af2950badc | |||
2befb18c64 | |||
d3c14c0ef7 | |||
19c7cb93ca | |||
570435b227 | |||
5d13d202c0 | |||
a2b19f120a | |||
2f1317359c | |||
30a2ef11ff | |||
8fd0c78fe0 | |||
240f18b25a | |||
57f60ce7e2 | |||
30ffb809cd | |||
326941dcf8 | |||
87d442cf26 | |||
02afcbc241 | |||
a7fd9883e3 | |||
afa761e3df | |||
f00b0d9a37 | |||
9e0adbc3c5 | |||
87fd6fed1a | |||
7cc75c912d | |||
c0044a88e3 | |||
798d849e6e | |||
9b68f61d88 | |||
828b889625 | |||
b32eb40b73 | |||
233c316019 | |||
f96ce754bc | |||
49ad3bb40c | |||
bc3e555074 | |||
1c345857bf | |||
c31598ccb0 | |||
2775d41830 | |||
24dd62e0aa | |||
6fe89e1016 | |||
13f7c3dd4d | |||
977bf2de1d | |||
0632f9e75e | |||
776945ac70 | |||
1ea8ff0cdd | |||
7bd5b0b9e7 | |||
26e0976453 | |||
c9674bc9ad | |||
6f64e8296c | |||
fdadd3671f | |||
aa3ab82769 | |||
b055113c39 | |||
8978b8c328 | |||
0107d1c4de | |||
2254c618c4 | |||
479c072fc5 | |||
a1cf3d8943 | |||
dfd5b5082c | |||
31edb64dbb | |||
c1762007fc | |||
e7bdd28ffe | |||
4ca00a8068 | |||
60188ea0d3 | |||
10aff5d999 | |||
8268daeb9b | |||
78d5eddfc1 | |||
5a04ce912a | |||
8500294bf7 | |||
5148815f42 | |||
8754b128db | |||
48c865b706 | |||
a7b48d6b9c | |||
52d85bc160 | |||
f8252e4401 | |||
e8fddc9938 | |||
b7e1f224d3 | |||
cf1359f6ba | |||
f7fe7f9240 | |||
9cf2640706 | |||
6cba0b727d | |||
3a451f7538 | |||
996436c1cd | |||
f0a539efab | |||
9fef0b7ded | |||
9115ab83d5 | |||
b29400e519 | |||
0a138f5c61 | |||
62fb238425 | |||
23365905c8 | |||
36ba768944 | |||
576e6a255b | |||
0c11135ed9 | |||
266bb5e575 | |||
8b3c279ee2 | |||
d5b3c28e8d | |||
5749b6bc59 | |||
e25601f71e | |||
a850facbe2 | |||
da8bc2153f | |||
6fe85ac768 | |||
c06e1f1550 | |||
784ee8526e | |||
cf6d03573b | |||
106d651980 | |||
979861cd6b | |||
bf10ef8645 | |||
91836193e7 | |||
cdcdad9e33 | |||
34f56ecda5 | |||
fc01fdc583 | |||
4bdd1ca610 | |||
4f1b4b54d3 | |||
a636b35727 | |||
d78c648118 | |||
6df6755198 | |||
c8afa83400 | |||
f81ffb4480 | |||
9f44d02ed6 | |||
7bf992b409 | |||
a48f147dae | |||
cfc0dfdfbd | |||
6c7a10e1f0 | |||
8381065d02 | |||
5dee3fd36b | |||
18bb002436 | |||
ce2bfc821d | |||
377e745ca7 | |||
954c08f2d0 | |||
14968517ce | |||
6da8cff4ca | |||
5ad2dff065 | |||
d7cc370c5b | |||
1108939904 | |||
bf52dbe408 | |||
8ab3e18ac6 | |||
b2f5ca123c | |||
1249e2731f | |||
52a3ff6fda | |||
eafb70c69e | |||
1abd2a40a3 | |||
eb0505c848 | |||
0666124f40 | |||
b2afc34ea3 | |||
bfa7a1b99b | |||
d14f802f39 | |||
ee5b40ac9d | |||
b9517b4c02 | |||
3a8dc03148 | |||
8ebf1663e3 | |||
1a1a829ddf | |||
7fe16d3365 | |||
908cce8a3a | |||
f348349405 | |||
6bde663d03 | |||
82fa54bbed | |||
8109d3f9ea | |||
b7cd414a41 | |||
466cf7f15d | |||
24b192907e | |||
6d4f737314 | |||
543bf3be0c | |||
4a65305b00 | |||
731ce88fa6 | |||
486cc4a975 | |||
c0981d5781 | |||
8daae1002f | |||
7a27b957fa | |||
f3ee112016 | |||
8816d19522 | |||
94bfc8da66 | |||
00ef02f104 | |||
4821ee8e01 | |||
e55e17b669 | |||
794250db3b | |||
c7de6ce5c5 | |||
acd7873899 | |||
9d74f42f96 | |||
27a940264b | |||
2fe179099f | |||
a761409cef | |||
bf870de435 | |||
af93bdf660 | |||
6dd6d660df | |||
283b7539aa | |||
564af1ac5d | |||
1666275218 | |||
c7eb1ecf76 | |||
038b834738 | |||
5077ff09c6 | |||
9915958ccc | |||
d266fd979e | |||
b5de5b73f6 | |||
1dd24e6dde | |||
10a961dfe6 | |||
285a1512cc | |||
5d58b35f67 | |||
a4edad2a04 | |||
139da63a82 | |||
fea318ad89 | |||
1dd15d1484 | |||
99b5d215c2 | |||
59a80c8b2f | |||
5b1c6c49f5 | |||
d04e13e6dd | |||
58708c1e83 | |||
3318d7504e | |||
880145c186 | |||
3958470ab9 | |||
d107cf44ec | |||
8310e6943c | |||
f402f21cd2 | |||
3b418809dd | |||
b15d213ff5 | |||
02642f9dc6 | |||
d003263cb6 | |||
ab5f5f7899 | |||
cf1128622f | |||
c62b2c98bc | |||
76cad1cb1c | |||
0e80996300 | |||
3d6aaee81d | |||
93b7a41cc6 | |||
cfd8e0e933 | |||
13d5c54012 | |||
d0264df887 | |||
2f33384046 | |||
aa9dfd0998 | |||
e7656b50bd | |||
cf48709744 | |||
ecd25a0d44 | |||
6db33545c3 | |||
d83921a29b | |||
9a1e2a35de | |||
5e35d9e8f4 | |||
a5ae6ab883 | |||
5586cbc9ef | |||
f089b14ec6 | |||
9f5b20897c | |||
29a4de93dc | |||
fdfb45921f | |||
8b06f68da7 | |||
2b15ddf18e | |||
77952b0622 | |||
404a25c690 | |||
ed38479bef | |||
124ac1dce8 | |||
be4be91cd4 | |||
6d81ef9d8b | |||
afd34f8411 | |||
d95f12900f | |||
05b9ccfaa2 | |||
d222003be7 | |||
1df6812cf1 | |||
cb16407646 | |||
a2a9b9d1f9 | |||
c914156534 | |||
34ad966e12 | |||
3dabf533df | |||
b7ff6de76e | |||
1d60c6cc55 | |||
223205856d | |||
4b5494821b | |||
12ec0215b7 | |||
c7e86884ae | |||
57bd8a6636 | |||
65a60d5cae | |||
5de85b9174 | |||
09dd181a01 | |||
05cc525b97 | |||
0fca4f1342 | |||
35fa6f4d9c | |||
b93f052019 | |||
cb91717837 | |||
e1eb5a38d1 | |||
253cea2418 | |||
a2cc1c585e | |||
fde871f410 | |||
26069003d8 | |||
5d031ac249 | |||
a275c099b6 | |||
6e324e4c6b | |||
f88680995d | |||
ed3ef91c56 | |||
a453cf5948 | |||
e72e2e45df | |||
86fb836bb2 | |||
9eb2379017 | |||
db06e4e081 | |||
917911cf77 | |||
8a0f94f8cc | |||
5e247a343a | |||
a3de0e2713 | |||
3b09dda0a5 | |||
4df82f90c2 | |||
5a219b0949 | |||
cd57e22c98 | |||
4990dd9645 | |||
eccaabea57 | |||
07c7f7ce7c | |||
44c060ed43 | |||
bc80c516a9 | |||
476a684319 | |||
c78f77e290 | |||
90fc7f56ec | |||
1d7b00931c | |||
fa6fa78418 | |||
cab85033bb | |||
6d6fd98060 | |||
07efd74874 | |||
5ee48f1ecb | |||
7e2ada839d | |||
6c11af2f2c | |||
0b27ec5d29 | |||
76fe9f2e6b | |||
0965d9a259 | |||
20e5f252fa | |||
5ebe2facce | |||
90dcc0b6ee | |||
1ef8f794ea | |||
6649ff205c | |||
eed7aabf01 | |||
ecaf14ecb8 | |||
a27e4a1fc9 | |||
dae594005d | |||
2da55dc5bd | |||
4014bd7671 | |||
e2977cea92 | |||
5d876bce72 | |||
ee39c7da31 | |||
52666e5248 | |||
9e03c1989f | |||
cfd6385c7a | |||
efd7a318fb | |||
f6bba18a8b | |||
37e2aad2cb | |||
cc44e0654a | |||
57ceac9dbc | |||
cf0a4ca9c9 | |||
83f1de447d | |||
60c7b48c59 | |||
3d2a507daa | |||
ae226bca73 | |||
2afba83f04 | |||
78dc41b64a | |||
1627d59a24 | |||
2d843fa429 | |||
16ad69644e | |||
7fb89281ee | |||
029eceb92e | |||
a19656cb59 | |||
2ffe5b1cdc | |||
5b31eff960 | |||
49b8c9df07 | |||
85b6ae7093 | |||
345af1bd4a | |||
7c1efbd74c | |||
fb4d4b2ab9 | |||
a1c04bbb78 | |||
fa36bb058c | |||
9954836be0 | |||
fbdb0b7a11 | |||
124325abbf | |||
6a086f709e | |||
0e08dea809 | |||
3b374a70d5 | |||
5273fd2432 | |||
25813f6680 | |||
9de39fde97 | |||
c3c0a1c4db | |||
99a23c459e | |||
d6d7e528a6 |
316 changed files with 6907 additions and 5280 deletions
9
.editorconfig
Normal file
9
.editorconfig
Normal file
|
@ -0,0 +1,9 @@
|
|||
root = true
|
||||
|
||||
[*]
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
indent_style = space
|
||||
indent_size = 2
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
node_modules/
|
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,3 +0,0 @@
|
|||
[submodule "dotdrop"]
|
||||
path = dotdrop
|
||||
url = https://github.com/deadc0de6/dotdrop.git
|
50
.husky/pre-commit
Executable file
50
.husky/pre-commit
Executable file
|
@ -0,0 +1,50 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Source husky
|
||||
# shellcheck disable=SC1091
|
||||
. "$(dirname -- "$0")/_/husky.sh"
|
||||
|
||||
echo "FunctionalHacker's dotfile pre-commit hook start"
|
||||
printf "Using shell: %s \n" "$(readlink /proc/$$/exe)"
|
||||
|
||||
# All staged files
|
||||
staged_files=$(git diff --name-only --cached --diff-filter=d)
|
||||
|
||||
# Run taplo on staged TOML files
|
||||
staged_toml=$(echo "$staged_files" | grep '.toml$' || true)
|
||||
num_staged_toml=$(echo "$staged_toml" | grep -vce '^$' || true)
|
||||
if [ "$num_staged_toml" -gt 0 ]; then
|
||||
printf '\nFormatting %s staged TOML files with taplo\n' "$num_staged_toml"
|
||||
taplo format "$staged_toml"
|
||||
printf "Re-staging\n"
|
||||
git add $staged_toml
|
||||
fi
|
||||
|
||||
# Run lua-format on staged Lua files
|
||||
staged_lua=$(echo "$staged_files" | grep '.lua$' || true)
|
||||
num_staged_lua=$(echo "$staged_lua" | grep -vce '^$' || true)
|
||||
if [ "$num_staged_lua" -gt 0 ]; then
|
||||
printf '\nFormatting %s staged Lua files with stylua\n' "$num_staged_lua"
|
||||
|
||||
for file in $staged_lua; do
|
||||
stylua "$file"
|
||||
done
|
||||
|
||||
printf "Re-staging\n\n"
|
||||
git add $staged_lua
|
||||
fi
|
||||
|
||||
# Run shfmt on staged shell scripts
|
||||
staged_sh=$(echo "$staged_files" | grep -E '(.sh$|pre-commit)' || true)
|
||||
num_staged_sh=$(echo "$staged_sh" | grep -vce '^$' || true)
|
||||
if [ "$num_staged_sh" -gt 0 ]; then
|
||||
printf '\nFormatting %s staged shell scripts with shfmt\n' "$num_staged_sh"
|
||||
shfmt -w $staged_sh
|
||||
printf "Re-staging\n\n"
|
||||
git add $staged_sh
|
||||
fi
|
||||
|
||||
# Run prettier on all other staged files
|
||||
# that are supported
|
||||
printf "\nRunning prettier on all supported files\n"
|
||||
npx pretty-quick --staged
|
1
.ignore
Normal file
1
.ignore
Normal file
|
@ -0,0 +1 @@
|
|||
dotdrop/
|
3
.prettierignore
Normal file
3
.prettierignore
Normal file
|
@ -0,0 +1,3 @@
|
|||
package-lock.json
|
||||
lazy-lock.json
|
||||
dotdrop/
|
4
.prettierrc.toml
Normal file
4
.prettierrc.toml
Normal file
|
@ -0,0 +1,4 @@
|
|||
"$schema" = "https://json.schemastore.org/prettierrc.json"
|
||||
trailingComma = "es5"
|
||||
singleQuote = true
|
||||
tabWidth = 2
|
21
LICENSE
21
LICENSE
|
@ -1,21 +0,0 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2019 Marko Korhonen
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
14
LICENSE.adoc
Normal file
14
LICENSE.adoc
Normal file
|
@ -0,0 +1,14 @@
|
|||
== The MIT License (MIT)
|
||||
|
||||
Copyright (c) {localyear} Marko Korhonen
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”),
|
||||
to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
23
README.adoc
Normal file
23
README.adoc
Normal file
|
@ -0,0 +1,23 @@
|
|||
= FunctionalHacker's dotfiles
|
||||
|
||||
image:https://i.imgur.com/lz1Q4Zz.png?raw=true%22[screenshot of my
|
||||
setup]
|
||||
|
||||
My personal dotfiles for my workstations, mostly for easy access for
|
||||
myself but feel free to steal them for yourself!
|
||||
|
||||
I’m using https://github.com/deadc0de6/dotdrop[dotdrop] to manage and
|
||||
ease deployment of my dotfiles.
|
||||
|
||||
== Mirrors
|
||||
|
||||
This repository lives at https://git.korhonen.cc/FunctionalHacker/dotfiles[my git server],
|
||||
but it is also mirrored to:
|
||||
|
||||
* https://gitlab.com/FunctionalHacker/dotfiles[GitLab]
|
||||
* https://github.com/FunctionalHacker/dotfiles[GitHub]
|
||||
* https://bitbucket.org/FunctionalHacker/dotfiles[Bitbucket]
|
||||
* https://codeberg.org/FunctionalHacker/dotfiles[codeberg]
|
||||
|
||||
If you have any ideas for improvements, questions or anything of this
|
||||
sort, you can open an issue or a pull request at any of the mirrors.
|
16
README.md
16
README.md
|
@ -1,16 +0,0 @@
|
|||
# ReekyMarko's dotfiles
|
||||

|
||||
|
||||
My personal dotfiles for my workstations, mostly for easy access for myself
|
||||
but feel free to steal them for yourself!
|
||||
|
||||
I'm using [dotdrop](https://github.com/deadc0de6/dotdrop) to manage and ease deployment of my dotfiles.
|
||||
|
||||
## Mirrors
|
||||
This repository lives at [ReekyNET Git](https://git.reekynet.com/ReekyMarko/dotfiles), but it is also mirrored to:
|
||||
- [GitLab](https://gitlab.com/ReekyMarko/dotfiles)
|
||||
- [GitHub](https://github.com/ReekyMarko/dotfiles)
|
||||
- [Bitbucket](https://bitbucket.org/ReekyMarko/dotfiles)
|
||||
- [codeberg](https://codeberg.org/ReekyMarko/dotfiles)
|
||||
|
||||
If you have any ideas for improvements, questions or anything of this sort, you can open an issue or a pull request in either ReekyNET Git (registrations open for anyone), or any of the mirrors.
|
248
config-home.yaml
248
config-home.yaml
|
@ -1,248 +0,0 @@
|
|||
actions:
|
||||
vim-plug: nvim +PlugInstall +qall
|
||||
zplug: zplug install
|
||||
waybar: systemctl --user restart waybar
|
||||
mako: systemctl --user restart mako
|
||||
config:
|
||||
backup: true
|
||||
banner: true
|
||||
create: true
|
||||
dotpath: home
|
||||
ignoreempty: false
|
||||
keepdot: true
|
||||
link_dotfile_default: nolink
|
||||
link_on_import: nolink
|
||||
longkey: false
|
||||
showdiff: false
|
||||
workdir: ~/.config/dotdrop
|
||||
dotfiles:
|
||||
d_systemd:
|
||||
dst: ~/.config/systemd/user
|
||||
src: .config/systemd/user
|
||||
d_mpv:
|
||||
dst: ~/.config/mpv
|
||||
src: .config/mpv
|
||||
d_nvim_config:
|
||||
actions:
|
||||
- vim-plug
|
||||
dst: ~/.config/nvim/conf.d
|
||||
src: .config/nvim/conf.d
|
||||
d_scripts:
|
||||
dst: ~/Scripts
|
||||
src: Scripts
|
||||
d_sway:
|
||||
dst: ~/.config/sway
|
||||
src: .config/sway
|
||||
d_ticons:
|
||||
dst: ~/.local/share/TelegramDesktop/tdata/ticons
|
||||
src: .local/share/TelegramDesktop/tdata/ticons
|
||||
d_waybar:
|
||||
actions:
|
||||
- waybar
|
||||
dst: ~/.config/waybar
|
||||
src: .config/waybar
|
||||
f_abcde.conf:
|
||||
dst: ~/.abcde.conf
|
||||
src: .abcde.conf
|
||||
f_alacritty.yml:
|
||||
dst: ~/.config/alacritty/alacritty.yml
|
||||
src: .config/alacritty/alacritty.yml
|
||||
f_authorized_keys:
|
||||
dst: ~/.ssh/authorized_keys
|
||||
src: .ssh/authorized_keys
|
||||
f_beets_config:
|
||||
dst: ~/.config/beets/config.yaml
|
||||
src: .config/beets/config.yaml
|
||||
f_beets_whitelist:
|
||||
dst: ~/.config/beets/whitelist
|
||||
src: .config/beets/whitelist
|
||||
f_bspwmrc:
|
||||
dst: ~/.config/bspwm/bspwmrc
|
||||
src: .config/bspwm/bspwmrc
|
||||
f_coc-settings.json:
|
||||
dst: ~/.config/nvim/coc-settings.json
|
||||
src: .config/nvim/coc-settings.json
|
||||
f_gitconfig:
|
||||
dst: ~/.gitconfig
|
||||
src: .gitconfig
|
||||
f_init.vim:
|
||||
dst: ~/.config/nvim/init.vim
|
||||
src: .config/nvim/init.vim
|
||||
f_libra_config:
|
||||
dst: ~/.config/libra/config.toml
|
||||
src: .config/libra/config.toml
|
||||
f_mailcap:
|
||||
dst: ~/.mailcap
|
||||
src: .mailcap
|
||||
f_makepkg.conf:
|
||||
dst: ~/.config/pacman/makepkg.conf
|
||||
src: .config/pacman/makepkg.conf
|
||||
f_mako_config:
|
||||
dst: ~/.config/mako/config
|
||||
src: .config/mako/config
|
||||
actions:
|
||||
- mako
|
||||
f_mimeo_associations.txt:
|
||||
dst: ~/.config/mimeo/associations.txt
|
||||
src: .config/mimeo/associations.txt
|
||||
f_mpd.conf:
|
||||
dst: ~/.config/mpd/mpd.conf
|
||||
src: .config/mpd/mpd.conf
|
||||
f_mpdris2.conf:
|
||||
dst: ~/.config/mpDris2/mpDris2.conf
|
||||
src: .config/mpDris2/mpDris2.conf
|
||||
f_mpdscribble.conf:
|
||||
dst: ~/.mpdscribble/mpdscribble.conf
|
||||
src: .mpdscribble/mpdscribble.conf
|
||||
f_ncmpcpp_bindings:
|
||||
dst: ~/.config/ncmpcpp/bindings
|
||||
src: .config/ncmpcpp/bindings
|
||||
f_ranger.conf:
|
||||
dst: ~/.config/ranger/rc.conf
|
||||
src: .config/ranger/rc.conf
|
||||
f_ranger_commands.py:
|
||||
dst: ~/.config/ranger/commands.py
|
||||
src: .config/ranger/commands.py
|
||||
f_redshift.conf:
|
||||
dst: ~/.config/redshift/redshift.conf
|
||||
src: .config/redshift/redshift.conf
|
||||
f_rofi-pass.conf:
|
||||
dst: ~/.config/rofi-pass/config
|
||||
src: .config/rofi-pass/config
|
||||
f_rtv.cfg:
|
||||
dst: ~/.config/rtv/rtv.cfg
|
||||
src: .config/rtv/rtv.cfg
|
||||
f_ssh.conf:
|
||||
dst: ~/.ssh/config
|
||||
src: .ssh/config
|
||||
f_steam-native.desktop:
|
||||
dst: ~/.local/share/applications/steam-native.desktop
|
||||
src: .local/share/applications/steam-native.desktop
|
||||
f_tdesktop_lang.strings:
|
||||
dst: ~/.config/telegram-desktop/lang.strings
|
||||
src: .config/telegram-desktop/lang.strings
|
||||
f_tmux.conf:
|
||||
dst: ~/.tmux.conf
|
||||
src: .tmux.conf
|
||||
f_yay_config.json:
|
||||
dst: ~/.config/yay/config.json
|
||||
src: .config/yay/config.json
|
||||
f_youtube-dl_config:
|
||||
dst: ~/.config/youtube-dl/config
|
||||
src: .config/youtube-dl/config
|
||||
f_youtube-viewer.conf:
|
||||
dst: ~/.config/youtube-viewer/youtube-viewer.conf
|
||||
src: .config/youtube-viewer/youtube-viewer.conf
|
||||
f_zathurarc:
|
||||
dst: ~/.config/zathura/zathurarc
|
||||
src: .config/zathura/zathurarc
|
||||
f_zprofile:
|
||||
dst: ~/.zprofile
|
||||
src: .zprofile
|
||||
f_zshrc:
|
||||
dst: ~/.zshrc
|
||||
src: .zshrc
|
||||
d_rofi:
|
||||
src: .config/rofi
|
||||
dst: ~/.config/rofi
|
||||
d_zsh:
|
||||
src: .config/zsh
|
||||
dst: ~/.config/zsh
|
||||
f_fonts.conf:
|
||||
src: .config/fontconfig/fonts.conf
|
||||
dst: ~/.config/fontconfig/fonts.conf
|
||||
f_ignore:
|
||||
src: .ignore
|
||||
dst: ~/.ignore
|
||||
f_nvimpager_init.vim:
|
||||
src: .config/nvimpager/init.vim
|
||||
dst: ~/.config/nvimpager/init.vim
|
||||
f_ncmpcpp.conf:
|
||||
src: .config/ncmpcpp/config
|
||||
dst: ~/.config/ncmpcpp/config
|
||||
d_efistub:
|
||||
src: .EFISTUB
|
||||
dst: ~/.EFISTUB
|
||||
f_hushlogin:
|
||||
src: .hushlogin
|
||||
dst: ~/.hushlogin
|
||||
profiles:
|
||||
Base:
|
||||
dotfiles:
|
||||
- d_systemd
|
||||
Media:
|
||||
dotfiles:
|
||||
- f_beets_config
|
||||
- f_beets_whitelist
|
||||
- f_abcde.conf
|
||||
- d_mpv
|
||||
- f_youtube-dl_config
|
||||
- f_mpd.conf
|
||||
- f_ncmpcpp_bindings
|
||||
- f_ncmpcpp.conf
|
||||
- f_libra_config
|
||||
- f_mpdscribble.conf
|
||||
- f_mpdris2.conf
|
||||
- f_youtube-viewer.conf
|
||||
Sway:
|
||||
dotfiles:
|
||||
- d_sway
|
||||
- d_waybar
|
||||
- d_rofi
|
||||
- f_mako_config
|
||||
- f_redshift.conf
|
||||
- f_rofi-pass.conf
|
||||
- f_zathurarc
|
||||
- f_mimeo_associations.txt
|
||||
- f_tdesktop_lang.strings
|
||||
- f_fonts.conf
|
||||
Pacman:
|
||||
dotfiles:
|
||||
- f_yay_config.json
|
||||
- f_makepkg.conf
|
||||
Mirkwood:
|
||||
dotfiles:
|
||||
- d_efistub
|
||||
include:
|
||||
- Base
|
||||
- Terminal
|
||||
- Media
|
||||
- Sway
|
||||
- Pacman
|
||||
ReekyRaspberry:
|
||||
include:
|
||||
- Terminal
|
||||
Rivendell:
|
||||
include:
|
||||
- Terminal
|
||||
- Media
|
||||
- Pacman
|
||||
Terminal:
|
||||
dotfiles:
|
||||
- f_nvimpager_init.vim
|
||||
- f_hushlogin
|
||||
- f_ignore
|
||||
- f_ranger_commands.py
|
||||
- f_rtv.cfg
|
||||
- f_mailcap
|
||||
- d_zsh
|
||||
- f_zshrc
|
||||
- f_tmux.conf
|
||||
- f_gitconfig
|
||||
- f_ranger.conf
|
||||
- f_ssh.conf
|
||||
- f_authorized_keys
|
||||
- d_scripts
|
||||
- d_nvim_config
|
||||
- f_init.vim
|
||||
- f_coc-settings.json
|
||||
- f_gitconfig
|
||||
- f_alacritty.yml
|
||||
AnittaPC:
|
||||
include:
|
||||
- Terminal
|
||||
- Pacman
|
||||
TakamakiPC:
|
||||
include:
|
||||
- Terminal
|
||||
- Pacman
|
282
config-root.toml
Normal file
282
config-root.toml
Normal file
|
@ -0,0 +1,282 @@
|
|||
[actions]
|
||||
mkinitcpio = "mkinitcpio -P"
|
||||
|
||||
[config]
|
||||
backup = true
|
||||
banner = true
|
||||
create = true
|
||||
dotpath = "root"
|
||||
ignoreempty = false
|
||||
keepdot = true
|
||||
link_dotfile_default = "nolink"
|
||||
link_on_import = "nolink"
|
||||
longkey = false
|
||||
showdiff = false
|
||||
workdir = "~/.config/sdotdrop"
|
||||
|
||||
[dotfiles."f_60-uinput-permissions.rules"]
|
||||
dst = "/etc/udev/rules.d/60-uinput-permissions.rules"
|
||||
src = "etc/udev/rules.d/60-uinput-permissions.rules"
|
||||
|
||||
[dotfiles."f_yubikey_udev.rules"]
|
||||
dst = "/etc/udev/rules.d/20-yubikey.rules"
|
||||
src = "etc/udev/rules.d/20-yubikey.rules"
|
||||
|
||||
[dotfiles.d_bin]
|
||||
dst = "/usr/local/bin"
|
||||
src = "usr/local/bin"
|
||||
|
||||
[dotfiles.d_network]
|
||||
src = "etc/systemd/network"
|
||||
dst = "/etc/systemd/network"
|
||||
|
||||
[dotfiles."f_networkd.conf"]
|
||||
src = "etc/systemd/networkd.conf"
|
||||
dst = "/etc/systemd/networkd.conf"
|
||||
|
||||
[dotfiles."f_99-sysctl.conf"]
|
||||
dst = "/etc/sysctl.d/99-sysctl.conf"
|
||||
src = "etc/sysctl.d/99-sysctl.conf"
|
||||
|
||||
[dotfiles."f_adb.service"]
|
||||
dst = "/etc/systemd/system/adb.service"
|
||||
src = "etc/systemd/system/adb.service"
|
||||
|
||||
[dotfiles."f_clamd.conf"]
|
||||
dst = "/etc/clamav/clamd.conf"
|
||||
src = "etc/clamav/clamd.conf"
|
||||
|
||||
[dotfiles.f_cryptissue]
|
||||
dst = "/etc/cryptissue"
|
||||
src = "etc/cryptissue"
|
||||
|
||||
[dotfiles."f_detected.sh"]
|
||||
dst = "/etc/clamav/detected.sh"
|
||||
src = "etc/clamav/detected.sh"
|
||||
|
||||
[dotfiles."f_freetype2.sh"]
|
||||
dst = "/etc/profile.d/freetype2.sh"
|
||||
src = "etc/profile.d/freetype2.sh"
|
||||
|
||||
[dotfiles."f_fonts.conf"]
|
||||
dst = "/etc/fonts/local.conf"
|
||||
src = "etc/fonts/local.conf"
|
||||
|
||||
[dotfiles."f_locale.conf"]
|
||||
dst = "/etc/locale.conf"
|
||||
src = "etc/locale.conf"
|
||||
|
||||
[dotfiles."f_locale.gen"]
|
||||
dst = "/etc/locale.gen"
|
||||
src = "etc/locale.gen"
|
||||
|
||||
[dotfiles."f_logind.conf"]
|
||||
dst = "/etc/systemd/logind.conf"
|
||||
src = "etc/systemd/logind.conf"
|
||||
|
||||
[dotfiles."f_bluetooth.conf"]
|
||||
dst = "/etc/bluetooth/main.conf"
|
||||
src = "etc/bluetooth/main.conf"
|
||||
|
||||
[dotfiles."f_pacman.conf"]
|
||||
dst = "/etc/pacman.conf"
|
||||
src = "etc/pacman.conf"
|
||||
|
||||
[dotfiles.f_pacman_zsh_hook]
|
||||
dst = "/etc/pacman.d/hooks/zsh.hook"
|
||||
src = "etc/pacman.d/hooks/zsh.hook"
|
||||
|
||||
[dotfiles."f_plymouthd.conf"]
|
||||
src = "etc/plymouth/plymouthd.conf"
|
||||
dst = "/etc/plymouth/plymouthd.conf"
|
||||
|
||||
[dotfiles.f_sshd_config]
|
||||
dst = "/etc/ssh/sshd_config"
|
||||
src = "etc/ssh/sshd_config"
|
||||
|
||||
[dotfiles."f_welcomemessage.conf"]
|
||||
dst = "/etc/welcomemessage.conf"
|
||||
src = "etc/welcomemessage.conf"
|
||||
|
||||
[dotfiles."f_99-conbee-usb-serial.rules"]
|
||||
src = "etc/udev/rules.d/99-conbee-usb-serial.rules"
|
||||
dst = "/etc/udev/rules.d/99-conbee-usb-serial.rules"
|
||||
|
||||
[dotfiles."f_99-lowbat.rules"]
|
||||
src = "etc/udev/rules.d/99-lowbat.rules"
|
||||
dst = "/etc/udev/rules.d/99-lowbat.rules"
|
||||
|
||||
[dotfiles."f_sleep.conf"]
|
||||
src = "etc/systemd/sleep.conf"
|
||||
dst = "/etc/systemd/sleep.conf"
|
||||
|
||||
[dotfiles.f_fstab]
|
||||
src = "etc/fstab"
|
||||
dst = "/etc/fstab"
|
||||
|
||||
[dotfiles.f_ignore]
|
||||
src = ".ignore"
|
||||
dst = "/.ignore"
|
||||
|
||||
[dotfiles."f_mkinitcpio.conf"]
|
||||
src = "etc/mkinitcpio.conf"
|
||||
dst = "/etc/mkinitcpio.conf"
|
||||
actions = ["mkinitcpio"]
|
||||
|
||||
[dotfiles."f_vconsole.conf"]
|
||||
src = "etc/vconsole.conf"
|
||||
dst = "/etc/vconsole.conf"
|
||||
|
||||
[dotfiles."f_20-quiet-printk.conf"]
|
||||
src = "etc/sysctl.d/20-quiet-printk.conf"
|
||||
dst = "/etc/sysctl.d/20-quiet-printk.conf"
|
||||
|
||||
[dotfiles."f_system.conf"]
|
||||
src = "etc/systemd/system.conf"
|
||||
dst = "/etc/systemd/system.conf"
|
||||
|
||||
[dotfiles.f_cpupower]
|
||||
src = "etc/default/cpupower"
|
||||
dst = "/etc/default/cpupower"
|
||||
|
||||
[dotfiles."f_pacserve.service.conf"]
|
||||
src = "etc/pacserve/pacserve.service.conf"
|
||||
dst = "/etc/pacserve/pacserve.service.conf"
|
||||
|
||||
[dotfiles."f_mkinitcpio_linux.preset"]
|
||||
src = "etc/mkinitcpio.d/linux.preset"
|
||||
dst = "/etc/mkinitcpio.d/linux.preset"
|
||||
|
||||
[dotfiles.f_cmdline]
|
||||
src = "etc/kernel/cmdline"
|
||||
dst = "/etc/kernel/cmdline"
|
||||
actions = ["mkinitcpio"]
|
||||
|
||||
[dotfiles."f_timesyncd.conf"]
|
||||
src = "etc/systemd/timesyncd.conf"
|
||||
dst = "/etc/systemd/timesyncd.conf"
|
||||
|
||||
[dotfiles.f_sudoers_pacman]
|
||||
src = "etc/sudoers.d/pacman"
|
||||
dst = "/etc/sudoers.d/pacman"
|
||||
|
||||
[dotfiles."f_doas.conf"]
|
||||
src = "etc/doas.conf"
|
||||
dst = "/etc/doas.conf"
|
||||
|
||||
[dotfiles."f_flexo.toml"]
|
||||
src = "etc/flexo/flexo.toml"
|
||||
dst = "/etc/flexo/flexo.toml"
|
||||
|
||||
[profiles.locale]
|
||||
dotfiles = ["f_locale.conf", "f_locale.gen"]
|
||||
|
||||
[profiles.pacman]
|
||||
dotfiles = [
|
||||
"f_pacman.conf",
|
||||
"f_pacman_zsh_hook",
|
||||
"f_pacserve.service.conf",
|
||||
"f_sudoers_pacman",
|
||||
]
|
||||
|
||||
[profiles.Mirkwood]
|
||||
dotfiles = [
|
||||
"d_bin",
|
||||
"f_20-quiet-printk.conf",
|
||||
"f_60-uinput-permissions.rules",
|
||||
"f_99-lowbat.rules",
|
||||
"f_adb.service",
|
||||
"f_bluetooth.conf",
|
||||
"f_cmdline",
|
||||
"f_cpupower",
|
||||
"f_cryptissue",
|
||||
"f_doas.conf",
|
||||
"f_fonts.conf",
|
||||
"f_freetype2.sh",
|
||||
"f_ignore",
|
||||
"f_logind.conf",
|
||||
"f_mkinitcpio.conf",
|
||||
"f_mkinitcpio_linux.preset",
|
||||
"f_plymouthd.conf",
|
||||
"f_sshd_config",
|
||||
"f_system.conf",
|
||||
"f_timesyncd.conf",
|
||||
"f_welcomemessage.conf",
|
||||
"f_flexo.toml",
|
||||
]
|
||||
include = ["locale", "pacman"]
|
||||
|
||||
[profiles.VentoyArch]
|
||||
dotfiles = [
|
||||
"d_bin",
|
||||
"f_cmdline",
|
||||
"f_doas.conf",
|
||||
"f_fonts.conf",
|
||||
"f_freetype2.sh",
|
||||
"f_ignore",
|
||||
"f_logind.conf",
|
||||
"f_mkinitcpio.conf",
|
||||
"f_mkinitcpio_linux.preset",
|
||||
"f_plymouthd.conf",
|
||||
"f_system.conf",
|
||||
"f_timesyncd.conf",
|
||||
]
|
||||
include = ["locale", "pacman"]
|
||||
|
||||
[profiles.Shire]
|
||||
dotfiles = [
|
||||
"d_bin",
|
||||
"f_20-quiet-printk.conf",
|
||||
"f_60-uinput-permissions.rules",
|
||||
"f_99-lowbat.rules",
|
||||
"f_adb.service",
|
||||
"f_bluetooth.conf",
|
||||
"f_cmdline",
|
||||
"f_cpupower",
|
||||
"f_doas.conf",
|
||||
"f_fonts.conf",
|
||||
"f_freetype2.sh",
|
||||
"f_ignore",
|
||||
"f_logind.conf",
|
||||
"f_mkinitcpio.conf",
|
||||
"f_mkinitcpio_linux.preset",
|
||||
"f_plymouthd.conf",
|
||||
"f_sshd_config",
|
||||
"f_system.conf",
|
||||
]
|
||||
include = ["locale", "pacman"]
|
||||
|
||||
[profiles.Moria]
|
||||
include = ["locale", "pacman"]
|
||||
dotfiles = [
|
||||
"f_99-sysctl.conf",
|
||||
"f_cmdline",
|
||||
"f_cpupower",
|
||||
"f_doas.conf",
|
||||
"f_adb.service",
|
||||
"f_mkinitcpio.conf",
|
||||
"f_mkinitcpio_linux.preset",
|
||||
"f_plymouthd.conf",
|
||||
"f_sshd_config",
|
||||
"f_flexo.toml",
|
||||
]
|
||||
|
||||
[profiles.Tirion]
|
||||
dotfiles = ["f_doas.conf", "f_ignore", "f_sshd_config"]
|
||||
|
||||
[profiles.Gondor]
|
||||
include = ["locale", "pacman"]
|
||||
dotfiles = ["f_doas.conf", "f_sshd_config"]
|
||||
|
||||
[profiles.localhost]
|
||||
include = ["locale"]
|
||||
|
||||
[profiles.Edoras]
|
||||
include = ["pacman"]
|
||||
|
||||
[profiles.mko-laptop]
|
||||
dotfiles = ["f_cpupower", "f_doas.conf", "f_timesyncd.conf"]
|
||||
|
||||
[profiles.Evendim]
|
||||
include = ["locale", "pacman"]
|
||||
dotfiles = ["f_doas.conf", "f_sshd_config"]
|
170
config-root.yaml
170
config-root.yaml
|
@ -1,170 +0,0 @@
|
|||
config:
|
||||
backup: true
|
||||
banner: true
|
||||
create: true
|
||||
dotpath: root
|
||||
ignoreempty: false
|
||||
keepdot: true
|
||||
link_dotfile_default: nolink
|
||||
link_on_import: nolink
|
||||
longkey: false
|
||||
showdiff: false
|
||||
workdir: ~/.config/sdotdrop
|
||||
dotfiles:
|
||||
f_60-uinput-permissions.rules:
|
||||
dst: /etc/udev/rules.d/60-uinput-permissions.rules
|
||||
src: etc/udev/rules.d/60-uinput-permissions.rules
|
||||
d_bin:
|
||||
dst: /usr/local/bin
|
||||
src: usr/local/bin
|
||||
f_99-sysctl.conf:
|
||||
dst: /etc/sysctl.d/99-sysctl.conf
|
||||
src: etc/sysctl.d/99-sysctl.conf
|
||||
f_adb.service:
|
||||
dst: /etc/systemd/system/adb.service
|
||||
src: etc/systemd/system/adb.service
|
||||
f_clamd.conf:
|
||||
dst: /etc/clamav/clamd.conf
|
||||
src: etc/clamav/clamd.conf
|
||||
f_cryptissue:
|
||||
dst: /etc/cryptissue
|
||||
src: etc/cryptissue
|
||||
f_detected.sh:
|
||||
dst: /etc/clamav/detected.sh
|
||||
src: etc/clamav/detected.sh
|
||||
f_environment:
|
||||
dst: /etc/environment
|
||||
src: etc/environment
|
||||
f_freetype2.sh:
|
||||
dst: /etc/profile.d/freetype2.sh
|
||||
src: etc/profile.d/freetype2.sh
|
||||
f_iwd@.service:
|
||||
dst: /etc/systemd/system/iwd@.service
|
||||
src: etc/systemd/system/iwd@.service
|
||||
f_loader.conf:
|
||||
dst: /boot/loader/loader.conf
|
||||
src: boot/loader/loader.conf
|
||||
f_fonts.conf:
|
||||
dst: /etc/fonts/local.conf
|
||||
src: etc/fonts/local.conf
|
||||
f_locale.conf:
|
||||
dst: /etc/locale.conf
|
||||
src: etc/locale.conf
|
||||
f_locale.gen:
|
||||
dst: /etc/locale.gen
|
||||
src: etc/locale.gen
|
||||
f_logind.conf:
|
||||
dst: /etc/systemd/logind.conf
|
||||
src: etc/systemd/logind.conf
|
||||
f_bluetooth.conf:
|
||||
dst: /etc/bluetooth/main.conf
|
||||
src: etc/bluetooth/main.conf
|
||||
f_pacman.conf:
|
||||
dst: /etc/pacman.conf
|
||||
src: etc/pacman.conf
|
||||
f_pacserve.service.conf:
|
||||
dst: /etc/pacserve/pacserve.service.conf
|
||||
src: etc/pacserve/pacserve.service.conf
|
||||
f_sshd_config:
|
||||
dst: /etc/ssh/sshd_config
|
||||
src: etc/ssh/sshd_config
|
||||
f_timesyncd.conf:
|
||||
dst: /etc/systemd/timesyncd.conf
|
||||
src: etc/systemd/timesyncd.conf
|
||||
f_welcomemessage.conf:
|
||||
dst: /etc/welcomemessage.conf
|
||||
src: etc/welcomemessage.conf
|
||||
f_getty.conf:
|
||||
src: etc/systemd/system/getty@tty1.service.d/override.conf
|
||||
dst: /etc/systemd/system/getty@tty1.service.d/override.conf
|
||||
f_99-conbee-usb-serial.rules:
|
||||
src: etc/udev/rules.d/99-conbee-usb-serial.rules
|
||||
dst: /etc/udev/rules.d/99-conbee-usb-serial.rules
|
||||
f_99-lowbat.rules:
|
||||
src: etc/udev/rules.d/99-lowbat.rules
|
||||
dst: /etc/udev/rules.d/99-lowbat.rules
|
||||
f_sleep.conf:
|
||||
src: etc/systemd/sleep.conf
|
||||
dst: /etc/systemd/sleep.conf
|
||||
f_fstab:
|
||||
src: etc/fstab
|
||||
dst: /etc/fstab
|
||||
f_ignore:
|
||||
src: .ignore
|
||||
dst: /.ignore
|
||||
f_pacman-dl.service:
|
||||
src: etc/systemd/system/pacman-dl.service
|
||||
dst: /etc/systemd/system/pacman-dl.service
|
||||
f_pacman-dl.timer:
|
||||
src: etc/systemd/system/pacman-dl.timer
|
||||
dst: /etc/systemd/system/pacman-dl.timer
|
||||
f_zsh.hook:
|
||||
src: etc/pacman.d/hooks/zsh.hook
|
||||
dst: /etc/pacman.d/hooks/zsh.hook
|
||||
f_nightly-reboot.service:
|
||||
src: etc/systemd/system/nightly-reboot.service
|
||||
dst: /etc/systemd/system/nightly-reboot.service
|
||||
f_nightly-reboot.timer:
|
||||
src: etc/systemd/system/nightly-reboot.timer
|
||||
dst: /etc/systemd/system/nightly-reboot.timer
|
||||
f_mkinitcpio.conf:
|
||||
src: etc/mkinitcpio.conf
|
||||
dst: /etc/mkinitcpio.conf
|
||||
f_vconsole.conf:
|
||||
src: etc/vconsole.conf
|
||||
dst: /etc/vconsole.conf
|
||||
f_20-quiet-printk.conf:
|
||||
src: etc/sysctl.d/20-quiet-printk.conf
|
||||
dst: /etc/sysctl.d/20-quiet-printk.conf
|
||||
profiles:
|
||||
Locale:
|
||||
dotfiles:
|
||||
- f_locale.conf
|
||||
- f_locale.gen
|
||||
Pacman:
|
||||
dotfiles:
|
||||
- f_pacman.conf
|
||||
- f_pacserve.service.conf
|
||||
- f_pacman-dl.service
|
||||
- f_pacman-dl.timer
|
||||
Mirkwood:
|
||||
dotfiles:
|
||||
- f_getty.conf
|
||||
- f_environment
|
||||
- f_cryptissue
|
||||
- f_welcomemessage.conf
|
||||
- d_bin
|
||||
- f_adb.service
|
||||
- f_bluetooth.conf
|
||||
- f_iwd@.service
|
||||
- f_loader.conf
|
||||
- f_sshd_config
|
||||
- f_logind.conf
|
||||
- f_60-uinput-permissions.rules
|
||||
- f_freetype2.sh
|
||||
- f_fonts.conf
|
||||
- f_timesyncd.conf
|
||||
- f_99-sysctl.conf
|
||||
- f_99-lowbat.rules
|
||||
- f_ignore
|
||||
- f_zsh.hook
|
||||
- f_mkinitcpio.conf
|
||||
- f_vconsole.conf
|
||||
- f_20-quiet-printk.conf
|
||||
include:
|
||||
- Locale
|
||||
- Pacman
|
||||
Rivendell:
|
||||
include:
|
||||
- Locale
|
||||
- Pacman
|
||||
dotfiles:
|
||||
- f_getty.conf
|
||||
- f_vconsole.conf
|
||||
- f_mkinitcpio.conf
|
||||
- f_bluetooth.conf
|
||||
- f_60-uinput-permissions.rules
|
||||
- f_timesyncd.conf
|
||||
- f_sshd_config
|
||||
- f_nightly-reboot.service
|
||||
- f_nightly-reboot.timer
|
285
config.toml
Normal file
285
config.toml
Normal file
|
@ -0,0 +1,285 @@
|
|||
#:schema ../../dotdrop-config-schema.json
|
||||
|
||||
[actions]
|
||||
dconf-load = "dconf load / < ~/.config/dconf.ini"
|
||||
kanagawa-compile = "vim +KanagawaCompile +qa"
|
||||
|
||||
[config]
|
||||
backup = true
|
||||
banner = true
|
||||
create = true
|
||||
dotpath = "home"
|
||||
ignoreempty = false
|
||||
keepdot = true
|
||||
link_dotfile_default = "nolink"
|
||||
link_on_import = "nolink"
|
||||
longkey = false
|
||||
showdiff = false
|
||||
workdir = "~/.config/dotdrop"
|
||||
|
||||
[dotfiles.d_systemd]
|
||||
dst = "~/.config/systemd/user"
|
||||
src = ".config/systemd/user"
|
||||
|
||||
[dotfiles.d_mpv]
|
||||
dst = "~/.config/mpv"
|
||||
src = ".config/mpv"
|
||||
|
||||
[dotfiles.d_nvim]
|
||||
dst = "~/.config/nvim"
|
||||
src = ".config/nvim"
|
||||
actions = ["kanagawa-compile"]
|
||||
instignore = ["*-lock.json"]
|
||||
|
||||
[dotfiles."f_abcde.conf"]
|
||||
dst = "~/.abcde.conf"
|
||||
src = ".abcde.conf"
|
||||
|
||||
[dotfiles.d_ssh]
|
||||
dst = "~/.ssh"
|
||||
src = ".ssh"
|
||||
|
||||
[dotfiles.f_beets_config]
|
||||
dst = "~/.config/beets/config.yaml"
|
||||
src = ".config/beets/config.yaml"
|
||||
|
||||
[dotfiles.f_beets_whitelist]
|
||||
dst = "~/.config/beets/whitelist"
|
||||
src = ".config/beets/whitelist"
|
||||
|
||||
[dotfiles.f_gitconfig]
|
||||
dst = "~/.config/git/config"
|
||||
src = ".config/git/config"
|
||||
|
||||
[dotfiles.f_librewolf_overrides]
|
||||
dst = "~/.librewolf/librewolf.overrides.cfg"
|
||||
src = ".librewolf/librewolf.overrides.cfg"
|
||||
|
||||
[dotfiles."f_makepkg.conf"]
|
||||
dst = "~/.config/pacman/makepkg.conf"
|
||||
src = ".config/pacman/makepkg.conf"
|
||||
|
||||
[dotfiles."f_mpd.conf"]
|
||||
dst = "~/.config/mpd/mpd.conf"
|
||||
src = ".config/mpd/mpd.conf"
|
||||
|
||||
[dotfiles."f_mpdris2.conf"]
|
||||
dst = "~/.config/mpDris2/mpDris2.conf"
|
||||
src = ".config/mpDris2/mpDris2.conf"
|
||||
|
||||
[dotfiles.f_ncmpcpp_bindings]
|
||||
dst = "~/.config/ncmpcpp/bindings"
|
||||
src = ".config/ncmpcpp/bindings"
|
||||
|
||||
[dotfiles."f_ranger.conf"]
|
||||
dst = "~/.config/ranger/rc.conf"
|
||||
src = ".config/ranger/rc.conf"
|
||||
|
||||
[dotfiles."f_ranger_commands.py"]
|
||||
dst = "~/.config/ranger/commands.py"
|
||||
src = ".config/ranger/commands.py"
|
||||
|
||||
[dotfiles."f_ssh.conf"]
|
||||
dst = "~/.ssh/config"
|
||||
src = ".ssh/config"
|
||||
|
||||
[dotfiles.f_zprofile]
|
||||
dst = "~/.zprofile"
|
||||
src = ".zprofile"
|
||||
|
||||
[dotfiles.f_zshrc]
|
||||
dst = "~/.zshrc"
|
||||
src = ".zshrc"
|
||||
|
||||
[dotfiles.d_zsh]
|
||||
src = ".config/zsh"
|
||||
dst = "~/.config/zsh"
|
||||
|
||||
[dotfiles."f_fonts.conf"]
|
||||
src = ".config/fontconfig/fonts.conf"
|
||||
dst = "~/.config/fontconfig/fonts.conf"
|
||||
|
||||
[dotfiles.f_ignore]
|
||||
src = ".ignore"
|
||||
dst = "~/.ignore"
|
||||
|
||||
[dotfiles."f_ncmpcpp.conf"]
|
||||
src = ".config/ncmpcpp/config"
|
||||
dst = "~/.config/ncmpcpp/config"
|
||||
|
||||
[dotfiles.f_hushlogin]
|
||||
src = ".hushlogin"
|
||||
dst = "~/.hushlogin"
|
||||
|
||||
[dotfiles."f_paru.conf"]
|
||||
src = ".config/paru/paru.conf"
|
||||
dst = "~/.config/paru/paru.conf"
|
||||
|
||||
[dotfiles."f_foot.ini"]
|
||||
src = ".config/foot/foot.ini"
|
||||
dst = "~/.config/foot/foot.ini"
|
||||
|
||||
[dotfiles."f_gpg-agent.conf"]
|
||||
src = ".gnupg/gpg-agent.conf"
|
||||
dst = "~/.gnupg/gpg-agent.conf"
|
||||
chmod = "600"
|
||||
|
||||
[dotfiles."f_gpg.conf"]
|
||||
src = ".gnupg/gpg.conf"
|
||||
dst = "~/.gnupg/gpg.conf"
|
||||
|
||||
[dotfiles."f_gpg_scdaemon.conf"]
|
||||
src = ".gnupg/scdaemon.conf"
|
||||
dst = "~/.gnupg/scdaemon.conf"
|
||||
|
||||
[dotfiles."f_electron-flags.conf"]
|
||||
src = ".config/electron-flags.conf"
|
||||
dst = "~/.config/electron-flags.conf"
|
||||
|
||||
[dotfiles."f_electron12-flags.conf"]
|
||||
src = ".config/electron12-flags.conf"
|
||||
dst = "~/.config/electron12-flags.conf"
|
||||
|
||||
[dotfiles.f_pam_environment]
|
||||
src = ".pam_environment"
|
||||
dst = "~/.pam_environment"
|
||||
|
||||
[dotfiles."f_dconf.ini"]
|
||||
src = ".config/dconf.ini"
|
||||
dst = "~/.config/dconf.ini"
|
||||
actions = ["dconf-load"]
|
||||
|
||||
[dotfiles."f_docker-config.json"]
|
||||
src = ".docker/config.json"
|
||||
dst = "~/.docker/config.json"
|
||||
chmod = "600"
|
||||
|
||||
[dotfiles.f_npmrc]
|
||||
src = ".npmrc"
|
||||
dst = "~/.npmrc"
|
||||
chmod = "600"
|
||||
|
||||
[dotfiles.f_zellij]
|
||||
src = ".config/zellij/config.kdl"
|
||||
dst = "~/.config/zellij/config.kdl"
|
||||
|
||||
[profiles.pacman]
|
||||
dotfiles = ["f_makepkg.conf", "f_paru.conf"]
|
||||
|
||||
[profiles.terminal]
|
||||
dotfiles = [
|
||||
"d_nvim",
|
||||
"d_ssh",
|
||||
"d_zsh",
|
||||
"f_gitconfig",
|
||||
"f_hushlogin",
|
||||
"f_ignore",
|
||||
"f_ranger.conf",
|
||||
"f_ranger_commands.py",
|
||||
"f_zellij",
|
||||
"f_zshrc",
|
||||
"f_npmrc",
|
||||
]
|
||||
|
||||
[profiles.media]
|
||||
dotfiles = [
|
||||
"d_mpv",
|
||||
"f_abcde.conf",
|
||||
"f_beets_config",
|
||||
"f_beets_whitelist",
|
||||
"f_mpd.conf",
|
||||
"f_mpdris2.conf",
|
||||
"f_ncmpcpp.conf",
|
||||
"f_ncmpcpp_bindings",
|
||||
]
|
||||
|
||||
[profiles.gpg]
|
||||
dotfiles = [
|
||||
"f_gpg-agent.conf",
|
||||
"f_gpg.conf",
|
||||
"f_gpg_scdaemon.conf",
|
||||
"f_pam_environment",
|
||||
]
|
||||
|
||||
[profiles.Mirkwood]
|
||||
include = ["pacman", "terminal", "media", "gpg"]
|
||||
dotfiles = [
|
||||
"f_librewolf_overrides",
|
||||
"f_dconf.ini",
|
||||
"f_docker-config.json",
|
||||
"f_fonts.conf",
|
||||
"f_foot.ini",
|
||||
]
|
||||
|
||||
[profiles.Mirkwood.variables]
|
||||
wayland = true
|
||||
|
||||
[profiles.VentoyArch]
|
||||
include = ["pacman", "terminal", "media", "gpg"]
|
||||
dotfiles = [
|
||||
"f_dconf.ini",
|
||||
"f_fonts.conf",
|
||||
]
|
||||
|
||||
[profiles.VentoyArch.variables]
|
||||
wayland = true
|
||||
|
||||
[profiles.Shire]
|
||||
include = ["pacman", "terminal", "media", "gpg"]
|
||||
dotfiles = [
|
||||
"f_dconf.ini",
|
||||
"f_fonts.conf",
|
||||
]
|
||||
|
||||
[profiles.Shire.variables]
|
||||
wayland = true
|
||||
|
||||
[profiles.Moria]
|
||||
include = ["pacman", "terminal", "media", "gpg"]
|
||||
dotfiles = [
|
||||
"f_librewolf_overrides",
|
||||
"f_dconf.ini",
|
||||
"f_zprofile",
|
||||
"f_fonts.conf",
|
||||
"d_systemd",
|
||||
]
|
||||
|
||||
[profiles.Moria.variables]
|
||||
wayland = true
|
||||
|
||||
[profiles.Tirion]
|
||||
include = ["terminal", "gpg"]
|
||||
|
||||
[profiles.Gondor]
|
||||
include = ["pacman", "terminal"]
|
||||
|
||||
[profiles.mko-laptop]
|
||||
include = ["terminal", "gpg"]
|
||||
dotfiles = ["f_librewolf_overrides", "f_dconf.ini", "d_systemd"]
|
||||
|
||||
[profiles.mko-laptop.variables]
|
||||
wayland = true
|
||||
|
||||
[profiles.Isengard]
|
||||
include = ["terminal"]
|
||||
|
||||
[profiles.Isengard.variables]
|
||||
distro_id = "termux"
|
||||
|
||||
[profiles.Edoras]
|
||||
include = ["terminal"]
|
||||
|
||||
[profiles.TakamakiPC]
|
||||
include = ["terminal"]
|
||||
|
||||
[profiles.TakamakiPC.variables]
|
||||
wayland = false
|
||||
|
||||
[profiles.localhost]
|
||||
include = ["terminal"]
|
||||
|
||||
[profiles.ViiruJaTeippi]
|
||||
include = ["terminal"]
|
||||
|
||||
[profiles.Evendim]
|
||||
include = ["terminal", "pacman"]
|
52
deploy.sh
52
deploy.sh
|
@ -1,52 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# to run this, execute
|
||||
# bash <(curl -sL git.reekynet.com/ReekyMarko/dotfiles/raw/branch/master/deploy.sh)
|
||||
|
||||
# Run this to install my dotfiles on a fresh Arch Linux installation.
|
||||
# This should work on any Arch Linux install with an internet connection
|
||||
# and sudo rights
|
||||
|
||||
# When asked a hostname, make sure it's already in the dotrop config,
|
||||
# otherwise dotdrop won't install anything
|
||||
|
||||
export DOTREPO="$HOME/Git/dotfiles"
|
||||
export HOSTNAME="$(hostnamectl | head -n 1 | sed 's/ //g' | cut -d':' -f2-)"
|
||||
export DISTRO="$(lsb_release -ds | sed 's/"//g')"
|
||||
|
||||
if [ "$DISTRO" -ne "Arch Linux" ]; then
|
||||
print "Not running on Arch Linux"
|
||||
print "Other distros not supported, exiting..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
read -p "Hostname [$HOSTNAME]: " -i $HOSTNAME NEWHOSTNAME
|
||||
if [ "$HOSTNAME -ne $NEWHOSTNAME" ]; then
|
||||
sudo hostnamectl set-hostname $NEWHOSTNAME
|
||||
fi
|
||||
HOSTNAME=$NEWHOSTNAME
|
||||
|
||||
# install yay
|
||||
if ! [ -x "$(command -v yay)" ]; then
|
||||
read -p "Install yay? [Y/n] " -i "y" IYAY
|
||||
if [ "$(tr '[:upper:]' ':lower:' $IYAY)" -eq "y" ]; then
|
||||
print "Installing yay"
|
||||
fi
|
||||
sudo pacman -Syu --needed --noconfirm git wget base-devel
|
||||
cd
|
||||
wget https://aur.archlinux.org/cgit/aur.git/snapshot/yay.tar.gz
|
||||
tar xfv yay.tar.gz
|
||||
cd yay
|
||||
makepkg -si --noconfirm
|
||||
cd ..
|
||||
rm -r yay*
|
||||
fi
|
||||
|
||||
mkdir ~/Git
|
||||
git clone https://git.reekynet.com/ReekyMarko/dotfiles.git $DOTREPO
|
||||
cd ~/Git/dotfiles
|
||||
git submodule init
|
||||
git submodule update
|
||||
$DOTREPO/dotdrop.sh --cfg=$DOTREPO/config-home.yaml install
|
||||
chsh -s /bin/zsh
|
||||
zsh -c "source ~/.zshrc; sdotdrop install"
|
1
docker/.gitignore
vendored
Normal file
1
docker/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
*/.env
|
75
docker/authentik/docker-compose.yaml
Normal file
75
docker/authentik/docker-compose.yaml
Normal file
|
@ -0,0 +1,75 @@
|
|||
volumes:
|
||||
redis: {}
|
||||
media: {}
|
||||
custom_templates: {}
|
||||
geoip: {}
|
||||
backups: {}
|
||||
services:
|
||||
redis:
|
||||
image: redis:alpine
|
||||
container_name: authentik-redis
|
||||
networks:
|
||||
- authentik
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- redis:/data
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- redis-cli ping | grep PONG
|
||||
start_period: 20s
|
||||
interval: 30s
|
||||
retries: 5
|
||||
timeout: 3s
|
||||
server:
|
||||
image: ghcr.io/goauthentik/server
|
||||
container_name: authentik
|
||||
restart: unless-stopped
|
||||
command: server
|
||||
volumes:
|
||||
- media:/media
|
||||
- custom_templates:/templates
|
||||
- geoip:/geoip
|
||||
env_file:
|
||||
- .env
|
||||
networks:
|
||||
- authentik
|
||||
- postgres
|
||||
- proxy
|
||||
worker:
|
||||
image: ghcr.io/goauthentik/server
|
||||
container_name: authentik-worker
|
||||
restart: unless-stopped
|
||||
command: worker
|
||||
user: root
|
||||
volumes:
|
||||
- backups:/backups
|
||||
- custom_templates:/templates
|
||||
- geoip:/geoip
|
||||
- media:/media
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
env_file:
|
||||
- .env
|
||||
networks:
|
||||
- authentik
|
||||
- postgres
|
||||
geoipupdate:
|
||||
image: maxmindinc/geoipupdate
|
||||
container_name: authentik-geoipupdate
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- authentik
|
||||
volumes:
|
||||
- geoip:/usr/share/GeoIP
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
GEOIPUPDATE_EDITION_IDS: GeoLite2-City
|
||||
GEOIPUPDATE_FREQUENCY: '8'
|
||||
networks:
|
||||
authentik:
|
||||
external: true
|
||||
postgres:
|
||||
external: true
|
||||
proxy:
|
||||
external: true
|
0
docker/backup/DISABLED
Normal file
0
docker/backup/DISABLED
Normal file
33
docker/backup/docker-compose.yaml
Normal file
33
docker/backup/docker-compose.yaml
Normal file
|
@ -0,0 +1,33 @@
|
|||
volumes:
|
||||
caddy_data:
|
||||
external: true
|
||||
caddy_config:
|
||||
external: true
|
||||
caddy_wkd:
|
||||
external: true
|
||||
homeautomation_hass:
|
||||
external: true
|
||||
services:
|
||||
backup:
|
||||
image: offen/docker-volume-backup:v2
|
||||
container_name: volume-backup
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- AWS_ENDPOINT
|
||||
- AWS_S3_BUCKET_NAME
|
||||
- AWS_ACCESS_KEY_ID
|
||||
- AWS_SECRET_ACCESS_KEY
|
||||
- GPG_PASSPHRASE
|
||||
- EMAIL_SMTP_HOST
|
||||
- EMAIL_SMTP_PASSWORD
|
||||
- EMAIL_SMTP_USERNAME
|
||||
- EMAIL_SMTP_PORT
|
||||
- BACKUP_COMPRESSION=zst
|
||||
- BACKUP_RETENTION_DAYS=7
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- caddy_data:/backup/caddy_data:ro
|
||||
- caddy_config:/backup/caddy_config:ro
|
||||
- caddy_wkd:/backup/caddy_wkd:ro
|
||||
- homeautomation_hass:/backup/homeautomation_hass:ro
|
177
docker/caddy/Caddyfile
Normal file
177
docker/caddy/Caddyfile
Normal file
|
@ -0,0 +1,177 @@
|
|||
{
|
||||
order umami first
|
||||
}
|
||||
|
||||
korhonen.cc, *.korhonen.cc {
|
||||
encode zstd gzip
|
||||
|
||||
tls {
|
||||
dns cloudflare {$CF_API_TOKEN}
|
||||
resolvers 1.1.1.1
|
||||
}
|
||||
|
||||
header {
|
||||
Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
|
||||
}
|
||||
|
||||
@static {
|
||||
file
|
||||
path *.ico *.css *.js *.gif *.webp *.avif *.jpg *.jpeg *.png *.svg *.woff *.woff2 *.pdf *.webmanifest
|
||||
}
|
||||
|
||||
@homepage-www-redir host www.korhonen.cc
|
||||
handle @homepage-www-redir {
|
||||
redir https://korhonen.cc
|
||||
}
|
||||
|
||||
@homepage host korhonen.cc
|
||||
handle @homepage {
|
||||
# Redirect finnish WIP
|
||||
# @redirFinnish {
|
||||
# header Accept-Language *fi-FI*
|
||||
# not path *.js *.css *.png *.jpg *.jpeg *.svg
|
||||
# not path /en* /fi*
|
||||
# }
|
||||
# redir @redirFinnish /fi{uri}
|
||||
#
|
||||
# uri strip_prefix /en
|
||||
|
||||
header @static Cache-Control max-age=5184000
|
||||
root * /var/www/korhonen.cc
|
||||
file_server
|
||||
}
|
||||
|
||||
@wkd host openpgpkey.korhonen.cc
|
||||
handle @wkd {
|
||||
root * /var/www/wkd
|
||||
file_server browse
|
||||
header Access-Control-Allow-Origin "*"
|
||||
}
|
||||
|
||||
@index host index.korhonen.cc
|
||||
handle @index {
|
||||
umami {
|
||||
event_endpoint "https://umami.korhonen.cc/api/send"
|
||||
website_uuid "9fe4f5c0-8e63-4479-a58d-d399cdbc0a3a"
|
||||
client_ip_header X-Real-IP
|
||||
device_detection
|
||||
allowed_extensions "" .tar.zst .json .html
|
||||
}
|
||||
root * /var/www/index.korhonen.cc
|
||||
file_server browse
|
||||
}
|
||||
|
||||
@home-assistant host home.korhonen.cc
|
||||
handle @home-assistant {
|
||||
reverse_proxy home-assistant:8123
|
||||
}
|
||||
|
||||
@authentik host sso.korhonen.cc
|
||||
handle @authentik {
|
||||
reverse_proxy authentik:9000
|
||||
}
|
||||
|
||||
@forgejo host git.korhonen.cc
|
||||
handle @forgejo {
|
||||
rewrite /user/login /user/oauth2/Korhonen%20SSO
|
||||
reverse_proxy forgejo:3000
|
||||
}
|
||||
|
||||
@woodpecker host ci.korhonen.cc
|
||||
handle @woodpecker {
|
||||
reverse_proxy woodpecker:8000
|
||||
}
|
||||
|
||||
@searx host dsearch.korhonen.cc
|
||||
handle @searx {
|
||||
reverse_proxy searx:8080
|
||||
}
|
||||
|
||||
@freshrss host rss.korhonen.cc
|
||||
handle @freshrss {
|
||||
reverse_proxy freshrss
|
||||
}
|
||||
|
||||
@jellyfin host jellyfin.korhonen.cc
|
||||
handle @jellyfin {
|
||||
reverse_proxy jellyfin:8096
|
||||
}
|
||||
|
||||
@pihole host pihole.korhonen.cc
|
||||
handle @pihole {
|
||||
reverse_proxy pihole
|
||||
}
|
||||
|
||||
@umami host umami.korhonen.cc
|
||||
handle @umami {
|
||||
reverse_proxy umami:3000
|
||||
}
|
||||
|
||||
@nextcloud host cloud.korhonen.cc
|
||||
handle @nextcloud {
|
||||
# Redirect login page to Authentik
|
||||
redir /login /apps/sociallogin/custom_oidc/korhonen-sso 301
|
||||
|
||||
# .htaccess / data / config / ... shouldn't be accessible from outside
|
||||
@forbidden {
|
||||
path /.htaccess
|
||||
path /data/*
|
||||
path /config/*
|
||||
path /db_structure
|
||||
path /.xml
|
||||
path /README
|
||||
path /3rdparty/*
|
||||
path /lib/*
|
||||
path /templates/*
|
||||
path /occ
|
||||
path /console.php
|
||||
}
|
||||
handle @forbidden {
|
||||
respond 404
|
||||
}
|
||||
|
||||
redir /.well-known/carddav /remote.php/dav 301
|
||||
redir /.well-known/caldav /remote.php/dav 301
|
||||
|
||||
root * /var/www/nextcloud
|
||||
php_fastcgi nextcloud:9000 {
|
||||
root /var/www/html
|
||||
# Tells nextcloud to remove /index.php from URLs in links
|
||||
env front_controller_active true
|
||||
}
|
||||
file_server
|
||||
}
|
||||
|
||||
@collabora host collabora.korhonen.cc
|
||||
handle @collabora {
|
||||
reverse_proxy collabora:9980
|
||||
}
|
||||
|
||||
@drop host drop.korhonen.cc
|
||||
handle @drop {
|
||||
reverse_proxy drop:3000
|
||||
}
|
||||
|
||||
@ipvX host ipv6.korhonen.cc ipv4.korhonen.cc
|
||||
handle @ipvX {
|
||||
respond {remote_host}
|
||||
}
|
||||
|
||||
handle {
|
||||
respond "404 Not Found" 404
|
||||
}
|
||||
|
||||
handle_errors {
|
||||
@homepage_404 {
|
||||
expression {http.error.status_code} == 404
|
||||
host korhonen.cc
|
||||
}
|
||||
handle @homepage_404 {
|
||||
root * /var/www/korhonen.cc
|
||||
rewrite * /404.html
|
||||
file_server
|
||||
}
|
||||
|
||||
respond "{err.status_code} {err.status_text}"
|
||||
}
|
||||
}
|
35
docker/caddy/docker-compose.yaml
Normal file
35
docker/caddy/docker-compose.yaml
Normal file
|
@ -0,0 +1,35 @@
|
|||
volumes:
|
||||
data: {}
|
||||
config: {}
|
||||
wkd: {}
|
||||
korhonen_cc: {}
|
||||
nextcloud_config:
|
||||
external: true
|
||||
services:
|
||||
caddy:
|
||||
image: git.korhonen.cc/functionalhacker/caddy
|
||||
container_name: caddy
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443/tcp
|
||||
- 443:443/udp
|
||||
- 127.0.0.1:2019:2019
|
||||
networks:
|
||||
- proxy
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- ./Caddyfile:/etc/caddy/Caddyfile
|
||||
- data:/data
|
||||
- config:/config
|
||||
- wkd:/var/www/wkd
|
||||
- korhonen_cc:/var/www/korhonen.cc
|
||||
- nextcloud_config:/var/www/nextcloud
|
||||
- /var/www/index.korhonen.cc:/var/www/index.korhonen.cc
|
||||
env_file:
|
||||
- .env
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
19
docker/cloudflared/docker-compose.yaml
Normal file
19
docker/cloudflared/docker-compose.yaml
Normal file
|
@ -0,0 +1,19 @@
|
|||
services:
|
||||
cloudflared:
|
||||
image: cloudflare/cloudflared
|
||||
container_name: cloudflared
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- proxy
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
entrypoint:
|
||||
command: tunnel --no-autoupdate run
|
||||
env_file:
|
||||
- .env
|
||||
extra_hosts:
|
||||
- 'host.docker.internal:host-gateway'
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
0
docker/ddns/DISABLED
Normal file
0
docker/ddns/DISABLED
Normal file
13
docker/ddns/docker-compose.yaml
Normal file
13
docker/ddns/docker-compose.yaml
Normal file
|
@ -0,0 +1,13 @@
|
|||
services:
|
||||
cloudflare-ddns:
|
||||
image: timothyjmiller/cloudflare-ddns
|
||||
container_name: cloudflare-ddns
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
network_mode: host
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
volumes:
|
||||
- /mnt/Storage/docker/ddns/config.json:/config.json
|
||||
restart: unless-stopped
|
0
docker/drop/DISABLED
Normal file
0
docker/drop/DISABLED
Normal file
13
docker/drop/docker-compose.yaml
Normal file
13
docker/drop/docker-compose.yaml
Normal file
|
@ -0,0 +1,13 @@
|
|||
services:
|
||||
drop:
|
||||
image: lscr.io/linuxserver/pairdrop
|
||||
container_name: drop
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- proxy
|
||||
- IPV6_LOCALIZE=4
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
0
docker/firefish/DISABLED
Normal file
0
docker/firefish/DISABLED
Normal file
48
docker/firefish/docker-compose.yaml
Normal file
48
docker/firefish/docker-compose.yaml
Normal file
|
@ -0,0 +1,48 @@
|
|||
volumes:
|
||||
files: {}
|
||||
config: {}
|
||||
redis: {}
|
||||
db: {}
|
||||
services:
|
||||
firefish:
|
||||
image: registry.firefish.dev/firefish/firefish
|
||||
container_name: firefish
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- redis
|
||||
ports:
|
||||
- 3084:3000
|
||||
networks:
|
||||
- firefish
|
||||
- proxy
|
||||
environment:
|
||||
NODE_ENV: production
|
||||
volumes:
|
||||
- files:/firefish/files
|
||||
- config:/firefish/.config:ro
|
||||
redis:
|
||||
image: redis
|
||||
container_name: redis-firefish
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- firefish
|
||||
volumes:
|
||||
- redis:/data
|
||||
db:
|
||||
image: groonga/pgroonga:3.1.8-alpine-16-slim
|
||||
container_name: firefish-db
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- firefish
|
||||
volumes:
|
||||
- db:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: pg_isready --user="firefish" --dbname="firefish"
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
networks:
|
||||
firefish:
|
||||
internal: true
|
||||
proxy:
|
||||
external: true
|
37
docker/forgejo/docker-compose.yaml
Normal file
37
docker/forgejo/docker-compose.yaml
Normal file
|
@ -0,0 +1,37 @@
|
|||
volumes:
|
||||
data: {}
|
||||
runner: {}
|
||||
services:
|
||||
forgejo:
|
||||
image: git.korhonen.cc/functionalhacker/forgejo-asciidoc
|
||||
container_name: forgejo
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- postgres
|
||||
- proxy
|
||||
ports:
|
||||
- '2882:22'
|
||||
volumes:
|
||||
- data:/data
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
runner:
|
||||
image: code.forgejo.org/forgejo/runner:6
|
||||
container_name: forgejo-runner
|
||||
user: root:root
|
||||
volumes:
|
||||
- runner:/data
|
||||
- ./runner.yaml:/data/config.yaml
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
environment:
|
||||
- SOCKFILE=/var/run/docker.sock
|
||||
restart: unless-stopped
|
||||
command: forgejo-runner daemon -c /data/config.yaml
|
||||
networks:
|
||||
postgres:
|
||||
external: true
|
||||
proxy:
|
||||
external: true
|
34
docker/forgejo/runner.yaml
Normal file
34
docker/forgejo/runner.yaml
Normal file
|
@ -0,0 +1,34 @@
|
|||
log:
|
||||
level: info
|
||||
|
||||
runner:
|
||||
file: .runner
|
||||
capacity: 2
|
||||
env_file: .env
|
||||
timeout: 3h
|
||||
insecure: false
|
||||
fetch_timeout: 5s
|
||||
fetch_interval: 2s
|
||||
labels:
|
||||
- 'docker:docker://git.korhonen.cc/functionalhacker/ubuntu-act:22.04'
|
||||
|
||||
cache:
|
||||
enabled: true
|
||||
dir: ''
|
||||
host: ''
|
||||
port: 0
|
||||
external_server: ''
|
||||
|
||||
container:
|
||||
network: ''
|
||||
enable_ipv6: false
|
||||
privileged: false
|
||||
options:
|
||||
workdir_parent:
|
||||
valid_volumes:
|
||||
- 'caddy_korhonen_cc'
|
||||
docker_host: 'automount'
|
||||
force_pull: false
|
||||
|
||||
host:
|
||||
workdir_parent:
|
|
@ -1,31 +0,0 @@
|
|||
version: '2'
|
||||
|
||||
services:
|
||||
freepbx:
|
||||
container_name: freepbx
|
||||
image: tiredofit/freepbx
|
||||
ports:
|
||||
- 8012:80
|
||||
- 5060:5060
|
||||
- 5160:5160
|
||||
- 18000-18100:18000-18100/udp
|
||||
#### Flash Operator Panel
|
||||
- 4445:4445
|
||||
volumes:
|
||||
- /docker/freepbx/certs:/certs
|
||||
- /docker/freepbx/data:/data
|
||||
- /docker/freepbx/logs:/var/log
|
||||
- /docker/freepbx/www:/var/www/html
|
||||
- /docker/freepbx/db:/var/lib/mysql
|
||||
|
||||
environment:
|
||||
- RTP_START=18000
|
||||
- RTP_FINISH=18100
|
||||
- DB_EMBEDDED=TRUE
|
||||
|
||||
restart: always
|
||||
|
||||
### These final lines are for Fail2ban. If you don't want, comment and also add ENABLE_FAIL2BAN=FALSE to your environment
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
privileged: true
|
1
docker/freshrss/.gitignore
vendored
Normal file
1
docker/freshrss/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.env
|
0
docker/freshrss/DISABLED
Normal file
0
docker/freshrss/DISABLED
Normal file
24
docker/freshrss/docker-compose.yaml
Normal file
24
docker/freshrss/docker-compose.yaml
Normal file
|
@ -0,0 +1,24 @@
|
|||
volumes:
|
||||
config: {}
|
||||
services:
|
||||
freshrss:
|
||||
image: linuxserver/freshrss
|
||||
container_name: freshrss
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- freshrss
|
||||
- postgres
|
||||
- proxy
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=985
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- config:/config
|
||||
networks:
|
||||
freshrss:
|
||||
external: false
|
||||
postgres:
|
||||
external: true
|
||||
proxy:
|
||||
external: true
|
|
@ -1,41 +0,0 @@
|
|||
version: '2'
|
||||
|
||||
networks:
|
||||
gitea:
|
||||
external: false
|
||||
|
||||
services:
|
||||
gitea:
|
||||
container_name: gitea
|
||||
image: gitea/gitea:latest
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
- DB_TYPE=mysql
|
||||
- DB_HOST=db:3306
|
||||
- DB_NAME=gitea
|
||||
- DB_USER=gitea
|
||||
- DB_PASSWD=gitea
|
||||
restart: always
|
||||
networks:
|
||||
- gitea
|
||||
volumes:
|
||||
- /docker/gitea/gitea:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- '3000:3000'
|
||||
- '222:22'
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
mariadb:
|
||||
container_name: mariadb-gitea
|
||||
image: mariadb
|
||||
restart: always
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
ports:
|
||||
- '3308:3306'
|
||||
volumes:
|
||||
- /docker/gitea/mariadb:/var/lib/mysql
|
0
docker/headscale/DISABLED
Normal file
0
docker/headscale/DISABLED
Normal file
23
docker/headscale/docker-compose.yaml
Normal file
23
docker/headscale/docker-compose.yaml
Normal file
|
@ -0,0 +1,23 @@
|
|||
volumes:
|
||||
config: {}
|
||||
data: {}
|
||||
services:
|
||||
headscale:
|
||||
image: headscale/headscale:0
|
||||
container_name: headscale
|
||||
volumes:
|
||||
- config:/etc/headscale
|
||||
- data:/var/lib/headscale
|
||||
ports:
|
||||
- 3478:3478/udp
|
||||
command: headscale serve
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- postgres
|
||||
headscale-ui:
|
||||
image: ghcr.io/gurucomputing/headscale-ui
|
||||
container_name: headscale-ui
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
postgres:
|
||||
external: true
|
80
docker/homeautomation/docker-compose.yaml
Normal file
80
docker/homeautomation/docker-compose.yaml
Normal file
|
@ -0,0 +1,80 @@
|
|||
volumes:
|
||||
hass: {}
|
||||
mosquitto: {}
|
||||
piper_english: {}
|
||||
whisper_english: {}
|
||||
openwakeword_english: {}
|
||||
services:
|
||||
home-assistant:
|
||||
container_name: home-assistant
|
||||
image: homeassistant/home-assistant
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- hass:/config
|
||||
networks:
|
||||
- homeautomation
|
||||
- postgres
|
||||
- proxy
|
||||
ports:
|
||||
- 8123:8123
|
||||
- 8300:8300
|
||||
extra_hosts:
|
||||
- host.docker.internal:host-gateway
|
||||
# mosquitto:
|
||||
# container_name: mosquitto
|
||||
# image: eclipse-mosquitto
|
||||
# restart: unless-stopped
|
||||
# environment:
|
||||
# - TZ=Europe/Helsinki
|
||||
# networks:
|
||||
# - homeautomation
|
||||
# ports:
|
||||
# - 1883:1883
|
||||
# - 8866:8866
|
||||
# volumes:
|
||||
# - mosquitto:/mosquitto
|
||||
# - /etc/localtime:/etc/localtime:ro
|
||||
piper_english:
|
||||
container_name: piper_english
|
||||
image: rhasspy/wyoming-piper
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TZ=Europe/Helsinki
|
||||
ports:
|
||||
- 10200:10200
|
||||
networks:
|
||||
- homeautomation
|
||||
command:
|
||||
- --voice
|
||||
- en_US-hfc_male-medium
|
||||
volumes:
|
||||
- piper_english:/data
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
whisper_english:
|
||||
container_name: whisper_english
|
||||
image: rhasspy/wyoming-whisper
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TZ=Europe/Helsinki
|
||||
ports:
|
||||
- 10300:10300
|
||||
networks:
|
||||
- homeautomation
|
||||
depends_on:
|
||||
- home-assistant
|
||||
command:
|
||||
- --model
|
||||
- tiny-int8
|
||||
- --language
|
||||
- en
|
||||
volumes:
|
||||
- whisper_english:/data
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
networks:
|
||||
homeautomation:
|
||||
external: false
|
||||
postgres:
|
||||
external: true
|
||||
proxy:
|
||||
external: true
|
|
@ -1,72 +0,0 @@
|
|||
version: '3'
|
||||
services:
|
||||
home-assistant:
|
||||
environment:
|
||||
TZ: 'Europe/Helsinki'
|
||||
container_name: home-assistant
|
||||
restart: always
|
||||
image: homeassistant/home-assistant
|
||||
volumes:
|
||||
- /docker/homeautomation/home-assistant:/config
|
||||
network_mode: host
|
||||
depends_on:
|
||||
- deconz
|
||||
- mosquitto
|
||||
|
||||
deconz:
|
||||
container_name: deconz
|
||||
image: marthoc/deconz
|
||||
restart: always
|
||||
environment:
|
||||
DECONZ_WEB_PORT: 8083
|
||||
DECONZ_WS_PORT: 8084
|
||||
DECONZ_VNC_PORT: 5901
|
||||
DECONZ_VNC_MODE: 1
|
||||
DECONZ_VNC_PASSWORD: '${DECONZ_VNC_PASSWORD}'
|
||||
DEBUG_OTAU: 1
|
||||
network_mode: host
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /docker/homeautomation/deconz:/root/.local/share/dresden-elektronik/deCONZ
|
||||
devices:
|
||||
- /dev/ttyACM0
|
||||
|
||||
node-red:
|
||||
container_name: node-red
|
||||
image: nodered/node-red
|
||||
restart: always
|
||||
environment:
|
||||
TZ: 'Europe/Helsinki'
|
||||
ports:
|
||||
- '1880:1880'
|
||||
volumes:
|
||||
- /docker/homeautomation/node-red:/data
|
||||
depends_on:
|
||||
- home-assistant
|
||||
|
||||
portainer:
|
||||
container_name: portainer
|
||||
image: portainer/portainer
|
||||
restart: always
|
||||
ports:
|
||||
- '9000:9000'
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /docker/homeautomation/portainer:/data
|
||||
|
||||
mosquitto:
|
||||
container_name: mosquitto
|
||||
image: eclipse-mosquitto
|
||||
restart: always
|
||||
network_mode: host
|
||||
volumes:
|
||||
- /docker/homeautomation/mosquitto:/mosquitto
|
||||
|
||||
mariadb:
|
||||
container_name: mariadb-hass
|
||||
image: mariadb
|
||||
restart: always
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
volumes:
|
||||
- /docker/homeautomation/mariadb:/var/lib/mysql
|
|
@ -1,8 +0,0 @@
|
|||
#!/bin/bash
|
||||
cat <<ENV > .env
|
||||
MYSQL_ROOT_PASSWORD=$(pass reekynet/docker-home-automation | rg 'MYSQL_ROOT_PASSWORD' | cut -d' ' -f2-)
|
||||
HA_MYSQL_PASSWORD="$(pass reekynet/docker-home-automation | rg 'HA_MYSQL_PASSWORD' | cut -d' ' -f2-)
|
||||
DECONZ_VNC_PASSWORD=$(pass reekynet/docker-home-automation | rg 'DECONZ_VNC_PASSWORD' | cut -d' ' -f2-)
|
||||
ENV
|
||||
|
||||
docker-compose up -d
|
0
docker/jellyfin/DISABLED
Normal file
0
docker/jellyfin/DISABLED
Normal file
|
@ -1,12 +1,31 @@
|
|||
version: '3'
|
||||
volumes:
|
||||
config: {}
|
||||
cache: {}
|
||||
media:
|
||||
external: true
|
||||
nextcloud_data:
|
||||
external: true
|
||||
services:
|
||||
jellyfin:
|
||||
image: jellyfin/jellyfin
|
||||
container_name: jellyfin
|
||||
user: 1001:985
|
||||
network_mode: 'host'
|
||||
restart: always
|
||||
ports:
|
||||
- 8096:8096
|
||||
networks:
|
||||
- proxy
|
||||
- authentik
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /docker/jellyfin/config:/config
|
||||
- /docker/jellyfin/cache:/cache
|
||||
- /mnt/Storage/Media:/media
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- config:/config
|
||||
- cache:/cache
|
||||
- media:/media
|
||||
- nextcloud_data:/nextcloud_data
|
||||
devices:
|
||||
- /dev/dri/renderD128:/dev/dri/renderD128
|
||||
- /dev/dri/card1:/dev/dri/card0
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
authentik:
|
||||
external: true
|
||||
|
|
0
docker/mumble/DISABLED
Normal file
0
docker/mumble/DISABLED
Normal file
11
docker/mumble/docker-compose.yaml
Normal file
11
docker/mumble/docker-compose.yaml
Normal file
|
@ -0,0 +1,11 @@
|
|||
volumes:
|
||||
config: {}
|
||||
services:
|
||||
mumble:
|
||||
container_name: mumble
|
||||
image: phlak/mumble
|
||||
network_mode: host
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- config:/etc/mumble
|
||||
restart: unless-stopped
|
0
docker/netbootxyz/DISABLED
Normal file
0
docker/netbootxyz/DISABLED
Normal file
24
docker/netbootxyz/docker-compose.yaml
Normal file
24
docker/netbootxyz/docker-compose.yaml
Normal file
|
@ -0,0 +1,24 @@
|
|||
volumes:
|
||||
config: {}
|
||||
assets: {}
|
||||
services:
|
||||
netbootxyz:
|
||||
image: lscr.io/linuxserver/netbootxyz
|
||||
container_name: netbootxyz
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Etc/UTC
|
||||
- MENU_VERSION=1.9.9
|
||||
- PORT_RANGE=30000:30010
|
||||
- SUBFOLDER=/
|
||||
- NGINX_PORT=80
|
||||
- WEB_APP_PORT=3000
|
||||
ports:
|
||||
- 3000:3000
|
||||
- 69:69/udp
|
||||
- 8081:80
|
||||
volumes:
|
||||
- config:/config
|
||||
- assets:/assets
|
1
docker/nextcloud/.gitignore
vendored
Normal file
1
docker/nextcloud/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.env
|
84
docker/nextcloud/docker-compose.yaml
Normal file
84
docker/nextcloud/docker-compose.yaml
Normal file
|
@ -0,0 +1,84 @@
|
|||
volumes:
|
||||
nextcloud_config:
|
||||
external: true
|
||||
nextcloud_data:
|
||||
external: true
|
||||
services:
|
||||
nextcloud:
|
||||
image: nextcloud:fpm-alpine
|
||||
container_name: nextcloud
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud
|
||||
- postgres
|
||||
- proxy
|
||||
volumes:
|
||||
- nextcloud_config:/var/www/html
|
||||
- nextcloud_data:/var/www/html/data
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
environment:
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_HOST_PASSWORD=123
|
||||
- TRUSTED_PROXIES=caddy
|
||||
- NEXTCLOUD_TRUSTED_DOMAINS=cloud.korhonen.cc
|
||||
- OVERWRITEHOST=cloud.korhonen.cc
|
||||
- OVERWRITEPROTOCOL=https
|
||||
depends_on:
|
||||
- redis
|
||||
labels:
|
||||
ofelia.enabled: true
|
||||
ofelia.job-exec.nextcloud.schedule: 0 */5 * * * *
|
||||
ofelia.job-exec.nextcloud.command: php /var/www/html/cron.php
|
||||
ofelia.job-exec.nextcloud.user: www-data
|
||||
ofelia.smtp-host: ${SMTP_HOST}
|
||||
ofelia.smtp-port: ${SMTP_PORT}
|
||||
ofelia.smtp-user: ${SMTP_USER}
|
||||
ofelia.smtp-password: ${SMTP_PASSWORD}
|
||||
ofelia.email-to: ${EMAIL_TO}
|
||||
ofelia.email-from: ${EMAIL_FROM}
|
||||
ofelia.mail-only-on-error: true
|
||||
redis:
|
||||
image: redis:alpine
|
||||
container_name: redis-nextcloud
|
||||
networks:
|
||||
- nextcloud
|
||||
restart: unless-stopped
|
||||
command: redis-server --requirepass 123
|
||||
coturn:
|
||||
image: instrumentisto/coturn
|
||||
container_name: coturn
|
||||
restart: unless-stopped
|
||||
env_file: .env
|
||||
ports:
|
||||
- 3478:3478/tcp
|
||||
- 3478:3478/udp
|
||||
- 49160-49200:49160-49200/udp
|
||||
networks:
|
||||
- nextcloud
|
||||
command:
|
||||
- -n
|
||||
- --log-file=stdout
|
||||
- --min-port=49160
|
||||
- --max-port=49200
|
||||
- --realm=cloud.korhonen.cc
|
||||
- --use-auth-secret
|
||||
- --static-auth-secret=${STATIC_AUTH_SECRET}
|
||||
collabora:
|
||||
image: collabora/code
|
||||
container_name: collabora
|
||||
restart: unless-stopped
|
||||
env_file: .env
|
||||
environment:
|
||||
- username=${COLLABORA_USERNAME}
|
||||
- password=${COLLABORA_PASSWORD}
|
||||
- domain=cloud.korhonen.cc
|
||||
- extra_params=--o:ssl.enable=false --o:ssl.termination=true
|
||||
networks:
|
||||
- proxy
|
||||
networks:
|
||||
nextcloud:
|
||||
external: false
|
||||
postgres:
|
||||
external: true
|
||||
proxy:
|
||||
external: true
|
9
docker/ofelia/docker-compose.yaml
Normal file
9
docker/ofelia/docker-compose.yaml
Normal file
|
@ -0,0 +1,9 @@
|
|||
services:
|
||||
ofelia:
|
||||
image: mcuadros/ofelia
|
||||
container_name: ofelia
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
command: daemon --docker
|
0
docker/opentogethertube/DISABLED
Normal file
0
docker/opentogethertube/DISABLED
Normal file
42
docker/opentogethertube/docker-compose.yaml
Normal file
42
docker/opentogethertube/docker-compose.yaml
Normal file
|
@ -0,0 +1,42 @@
|
|||
services:
|
||||
opentogethertube:
|
||||
image: dyc3/opentogethertube
|
||||
container_name: opentogethertube
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PORT=8080
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
- FFPROBE_PATH=/usr/bin/ffprobe
|
||||
- DB_MODE=postgres
|
||||
- POSTGRES_USER=opentogethertube
|
||||
- POSTGRES_DB=opentogethertube
|
||||
- POSTGRES_HOST=postgres
|
||||
- POSTGRES_PASSWORD
|
||||
- DOCKER=1
|
||||
- OTT_HOSTNAME=ott.korhonen.cc
|
||||
- YOUTUBE_API_KEY
|
||||
- OPENTOGETHERTUBE_API_KEY
|
||||
- SESSION_SECRET
|
||||
ports:
|
||||
- 8080:8080
|
||||
- 3002:3002
|
||||
networks:
|
||||
- default
|
||||
- postgres
|
||||
- proxy
|
||||
depends_on:
|
||||
- redis
|
||||
volumes:
|
||||
- ./production.toml:/app/env/production.toml
|
||||
redis:
|
||||
container_name: redis-opentogethertube
|
||||
image: redis:alpine
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: redis-cli ping
|
||||
networks:
|
||||
postgres:
|
||||
external: true
|
||||
proxy:
|
||||
external: true
|
5
docker/opentogethertube/production.toml
Normal file
5
docker/opentogethertube/production.toml
Normal file
|
@ -0,0 +1,5 @@
|
|||
log = { level = "info" }
|
||||
|
||||
[room]
|
||||
enable_create_temporary = false
|
||||
enable_create_permanent = false
|
0
docker/pihole/DISABLED
Normal file
0
docker/pihole/DISABLED
Normal file
29
docker/pihole/docker-compose.yaml
Normal file
29
docker/pihole/docker-compose.yaml
Normal file
|
@ -0,0 +1,29 @@
|
|||
volumes:
|
||||
config: {}
|
||||
dnsmasq: {}
|
||||
services:
|
||||
pihole:
|
||||
container_name: pihole
|
||||
image: pihole/pihole
|
||||
ports:
|
||||
- 53:53/tcp
|
||||
- 53:53/udp
|
||||
- 67:67/udp
|
||||
- 8069:80/tcp
|
||||
networks:
|
||||
- proxy
|
||||
volumes:
|
||||
- config:/etc/pihole/
|
||||
- dnsmasq:/etc/dnsmasq.d/
|
||||
dns:
|
||||
- 127.0.0.1
|
||||
- 1.1.1.1
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
TZ: Europe/Helsinki
|
||||
WEBPASSWORD: ${WEBPASSWORD}
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
17
docker/postgres/docker-compose.yaml
Normal file
17
docker/postgres/docker-compose.yaml
Normal file
|
@ -0,0 +1,17 @@
|
|||
volumes:
|
||||
data: {}
|
||||
services:
|
||||
postgres:
|
||||
container_name: postgres
|
||||
image: postgres:16
|
||||
ports:
|
||||
- 127.0.0.1:5432:5432
|
||||
networks:
|
||||
- postgres
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- data:/var/lib/postgresql/data
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
postgres:
|
||||
external: true
|
0
docker/searx/DISABLED
Normal file
0
docker/searx/DISABLED
Normal file
46
docker/searx/docker-compose.yaml
Normal file
46
docker/searx/docker-compose.yaml
Normal file
|
@ -0,0 +1,46 @@
|
|||
volumes:
|
||||
config: {}
|
||||
services:
|
||||
searx:
|
||||
container_name: searx
|
||||
image: searxng/searxng
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- searx
|
||||
- proxy
|
||||
volumes:
|
||||
- config:/etc/searxng
|
||||
environment:
|
||||
- SEARXNG_BASE_URL=https://search.korhonen.cc/
|
||||
cap_drop:
|
||||
- ALL
|
||||
cap_add:
|
||||
- CHOWN
|
||||
- SETGID
|
||||
- SETUID
|
||||
- DAC_OVERRIDE
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: 1m
|
||||
max-file: '1'
|
||||
redis:
|
||||
container_name: redis-searx
|
||||
image: redis:alpine
|
||||
command: redis-server --save "" --appendonly "no"
|
||||
networks:
|
||||
- searx
|
||||
tmpfs:
|
||||
- /var/lib/redis
|
||||
cap_drop:
|
||||
- ALL
|
||||
cap_add:
|
||||
- SETGID
|
||||
- SETUID
|
||||
- DAC_OVERRIDE
|
||||
networks:
|
||||
searx:
|
||||
ipam:
|
||||
driver: default
|
||||
proxy:
|
||||
external: true
|
0
docker/stats/DISABLED
Normal file
0
docker/stats/DISABLED
Normal file
30
docker/stats/docker-compose.yaml
Normal file
30
docker/stats/docker-compose.yaml
Normal file
|
@ -0,0 +1,30 @@
|
|||
services:
|
||||
grafana:
|
||||
image: grafana/grafana
|
||||
container_name: grafana
|
||||
volumes:
|
||||
- grafana:/var/lib/grafana
|
||||
networks:
|
||||
- stats
|
||||
- proxy
|
||||
user: 1000:984
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
- GF_AUTH_GENERIC_OAUTH_CLIENT_ID
|
||||
- GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET
|
||||
- GF_AUTH_GENERIC_OAUTH_ENABLED=true
|
||||
- GF_AUTH_GENERIC_OAUTH_NAME=authentik
|
||||
- GF_AUTH_GENERIC_OAUTH_SCOPES=openid profile email
|
||||
- GF_AUTH_GENERIC_OAUTH_AUTH_URL=https://sso.korhonen.cc/application/o/authorize/
|
||||
- GF_AUTH_GENERIC_OAUTH_TOKEN_URL=https://sso.korhonen.cc/application/o/token/
|
||||
- GF_AUTH_GENERIC_OAUTH_API_URL=https://sso.korhonen.cc/application/o/userinfo/
|
||||
- GF_AUTH_SIGNOUT_REDIRECT_URL=https://sso.korhonen.cc/application/o/grafana/end-session/
|
||||
- GF_AUTH_OAUTH_AUTO_LOGIN=true
|
||||
- GF_SERVER_ROOT_URL=https://grafana.korhonen.cc
|
||||
- GF_AUTH_GENERIC_OAUTH_ROLE_ATTRIBUTE_PATH=contains(groups[*], 'Administrators') && 'Admin' || 'Viewer'
|
||||
networks:
|
||||
stats:
|
||||
external: false
|
||||
proxy:
|
||||
external: true
|
0
docker/tftp/DISABLED
Normal file
0
docker/tftp/DISABLED
Normal file
10
docker/tftp/docker-compose.yaml
Normal file
10
docker/tftp/docker-compose.yaml
Normal file
|
@ -0,0 +1,10 @@
|
|||
services:
|
||||
tftp:
|
||||
container_name: tftp
|
||||
image: pghalliday/tftp
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 69:69/udp
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /docker/tftp:/var/tftpboot
|
0
docker/tvheadend/DISABLED
Normal file
0
docker/tvheadend/DISABLED
Normal file
26
docker/tvheadend/docker-compose.yaml
Normal file
26
docker/tvheadend/docker-compose.yaml
Normal file
|
@ -0,0 +1,26 @@
|
|||
volumes:
|
||||
config: {}
|
||||
picons: {}
|
||||
services:
|
||||
tvheadend:
|
||||
image: linuxserver/tvheadend
|
||||
container_name: tvheadend
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=985
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- config:/config
|
||||
- picons:/picons
|
||||
- /mnt/Storage/Media/PVR:/recordings
|
||||
ports:
|
||||
- 9981:9981
|
||||
- 9982:9982
|
||||
devices:
|
||||
- /dev/dvb:/dev/dvb
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- proxy
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
0
docker/umami/DISABLED
Normal file
0
docker/umami/DISABLED
Normal file
21
docker/umami/docker-compose.yaml
Normal file
21
docker/umami/docker-compose.yaml
Normal file
|
@ -0,0 +1,21 @@
|
|||
services:
|
||||
umami:
|
||||
image: ghcr.io/umami-software/umami:postgresql-latest
|
||||
container_name: umami
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- postgres
|
||||
- proxy
|
||||
env_file: .env
|
||||
environment:
|
||||
DATABASE_URL: postgresql://umami:${POSTGRES_PASS}@postgres:5432/umami
|
||||
HASH_SALT: ${HASH_SALT}
|
||||
logging:
|
||||
options:
|
||||
max-size: 10m
|
||||
max-file: '10'
|
||||
networks:
|
||||
postgres:
|
||||
external: true
|
||||
proxy:
|
||||
external: true
|
0
docker/watchtower/DISABLED
Normal file
0
docker/watchtower/DISABLED
Normal file
18
docker/watchtower/docker-compose.yaml
Normal file
18
docker/watchtower/docker-compose.yaml
Normal file
|
@ -0,0 +1,18 @@
|
|||
services:
|
||||
watchtower:
|
||||
image: containrrr/watchtower
|
||||
container_name: watchtower
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- WATCHTOWER_CLEANUP=true
|
||||
- WATCHTOWER_NOTIFICATION_EMAIL_FROM=watchtower@korhonen.cc
|
||||
- WATCHTOWER_NOTIFICATION_EMAIL_TO=admin@korhonen.cc
|
||||
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.migadu.com
|
||||
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587
|
||||
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=${WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER}
|
||||
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=${WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD}
|
||||
- WATCHTOWER_NOTIFICATION_EMAIL_DELAY=30
|
||||
- WATCHTOWER_NOTIFICATIONS=email
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /etc/localtime:/etc/localtime:ro
|
0
docker/wud/DISABLED
Normal file
0
docker/wud/DISABLED
Normal file
12
docker/wud/docker-compose.yaml
Normal file
12
docker/wud/docker-compose.yaml
Normal file
|
@ -0,0 +1,12 @@
|
|||
services:
|
||||
whatsupdocker:
|
||||
image: getwud/wud
|
||||
container_name: wud
|
||||
env_file: .env
|
||||
environment:
|
||||
- WUD_TRIGGER_SMTP_EMAIL_SIMPLETITLE=Container $${container.name} can be updated
|
||||
- WUD_TRIGGER_SMTP_EMAIL_SIMPLEBODY=Container $${name} can be updated from $${local.substring(0, 15)} to $${remote.substring(0, 15)}
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
ports:
|
||||
- 3000:3000
|
1
dotdrop
1
dotdrop
|
@ -1 +0,0 @@
|
|||
Subproject commit 2d64e2ee59281e358253fadb04432a040f9392ee
|
|
@ -1,12 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim:ft=sh
|
||||
|
||||
sudo efibootmgr \
|
||||
--disk /dev/sda \
|
||||
--part 1 \
|
||||
--create \
|
||||
--quiet \
|
||||
--remove-dups \
|
||||
--label "Arch Linux" \
|
||||
--loader /vmlinuz-linux \
|
||||
--unicode 'cryptdevice=UUID=19fa8fab-c5fe-454a-9a17-b7185ce975ea:cryptroot:allow-discards root=/dev/mapper/cryptroot rootflags=subvol=root resume=/dev/mapper/cryptroot resume_offset=7345408 rw quiet loglevel=3 vga=current vt.global_cursor_default=0 processor.max_cstate=5 rcu_nocbs=0-11 initrd=/amd-ucode.img initrd=/initramfs-linux.img amdgpu.noretry=0'
|
|
@ -1,12 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim:ft=sh
|
||||
|
||||
sudo efibootmgr \
|
||||
--disk /dev/sda \
|
||||
--part 1 \
|
||||
--create \
|
||||
--quiet \
|
||||
--remove-dups \
|
||||
--label "Arch Linux CK" \
|
||||
--loader /vmlinuz-linux-ck-zen \
|
||||
--unicode 'cryptdevice=UUID=19fa8fab-c5fe-454a-9a17-b7185ce975ea:cryptroot:allow-discards root=/dev/mapper/cryptroot rootflags=subvol=root resume=/dev/mapper/cryptroot resume_offset=7345408 rw quiet loglevel=3 vga=current vt.global_cursor_default=0 processor.max_cstate=5 rcu_nocbs=0-11 initrd=/amd-ucode.img initrd=/initramfs-linux.img amdgpu.noretry=0'
|
|
@ -1,12 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim:ft=sh
|
||||
|
||||
sudo efibootmgr \
|
||||
--disk /dev/sda \
|
||||
--part 1 \
|
||||
--create \
|
||||
--quiet \
|
||||
--remove-dups \
|
||||
--label "Arch Linux LTS" \
|
||||
--loader /vmlinuz-linux-lts \
|
||||
--unicode 'cryptdevice=UUID=19fa8fab-c5fe-454a-9a17-b7185ce975ea:cryptroot:allow-discards root=/dev/mapper/cryptroot rootflags=subvol=root resume=/dev/mapper/cryptroot resume_offset=7345408 rw quiet loglevel=3 vga=current vt.global_cursor_default=0 processor.max_cstate=5 rcu_nocbs=0-11 initrd=/amd-ucode.img initrd=/initramfs-linux.img amdgpu.noretry=0'
|
|
@ -1,14 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# remove old entries
|
||||
for bootentry in $(efibootmgr | head -n 3 | tail -n 1 | cut -d' ' -f2- | sed 's/,/\n/g'); do
|
||||
sudo efibootmgr -qBb $bootentry
|
||||
done
|
||||
|
||||
# add all entries back
|
||||
for bootscript in *.efi; do
|
||||
./$bootscript
|
||||
done
|
||||
|
||||
# set bootorder
|
||||
sudo efibootmgr --bootorder 0000,0001,0002
|
|
@ -1,4 +1,5 @@
|
|||
window:
|
||||
opacity: 1.0
|
||||
dimensions:
|
||||
columns: 0
|
||||
lines: 0
|
||||
|
@ -6,14 +7,12 @@ window:
|
|||
x: 30
|
||||
y: 20
|
||||
dynamic_padding: false
|
||||
dynamic_title: true
|
||||
decorations: full
|
||||
|
||||
scrolling:
|
||||
history: 10000
|
||||
multiplier: 3
|
||||
auto_scroll: false
|
||||
|
||||
tabspaces: 8
|
||||
|
||||
font:
|
||||
normal:
|
||||
|
@ -61,13 +60,11 @@ colors:
|
|||
cyan: '0x56b6c2'
|
||||
white: '0x5c6370'
|
||||
|
||||
visual_bell:
|
||||
bell:
|
||||
animation: EaseOutExpo
|
||||
duration: 0
|
||||
color: '#ffffff'
|
||||
|
||||
background_opacity: 1.0
|
||||
|
||||
mouse_bindings:
|
||||
- { mouse: Middle, action: PasteSelection }
|
||||
|
||||
|
@ -75,15 +72,11 @@ mouse:
|
|||
double_click: { threshold: 300 }
|
||||
triple_click: { threshold: 300 }
|
||||
hide_when_typing: false
|
||||
url:
|
||||
modifiers: None
|
||||
|
||||
selection:
|
||||
semantic_escape_chars: ',│`|:"'' ()[]{}<>'
|
||||
save_to_clipboard: false
|
||||
|
||||
dynamic_title: true
|
||||
|
||||
cursor:
|
||||
style: Block
|
||||
unfocused_hollow: true
|
||||
|
|
0
home/.config/asd
Normal file
0
home/.config/asd
Normal file
|
@ -1,34 +1,31 @@
|
|||
directory: ~/Music
|
||||
library: ~/Music/beets.db
|
||||
plugins:
|
||||
- acousticbrainz
|
||||
- check
|
||||
- edit
|
||||
- fetchart
|
||||
- follow
|
||||
- fuzzy
|
||||
- info
|
||||
- lastgenre
|
||||
- lyrics
|
||||
- mbcollection
|
||||
- mpdupdate
|
||||
- play
|
||||
- replaygain
|
||||
- thumbnails
|
||||
- web
|
||||
- edit
|
||||
- fetchart
|
||||
- fuzzy
|
||||
- info
|
||||
- lastgenre
|
||||
- lyrics
|
||||
# - mbcollection
|
||||
- mpdupdate
|
||||
- play
|
||||
- replaygain
|
||||
- thumbnails
|
||||
- web
|
||||
import:
|
||||
copy: no
|
||||
move: yes
|
||||
link: no
|
||||
write: yes
|
||||
copy: yes
|
||||
lastgenre:
|
||||
whitelist: ~/.config/beets/whitelist
|
||||
lyrics:
|
||||
fallback: ''
|
||||
play:
|
||||
command: mpv
|
||||
command: mpv --no-vid --no-resume-playback
|
||||
mpd:
|
||||
host: localhost
|
||||
port: 6600
|
||||
host: localhost
|
||||
port: 6600
|
||||
password: "{{@@ env['PASS_MPD_ADMIN'] @@}}"
|
||||
follow:
|
||||
email: reekymarko@reekynet.com
|
||||
password: "{{@@ env['PASS_MUSPY'] @@}}"
|
||||
|
@ -37,9 +34,6 @@ follow:
|
|||
replaygain:
|
||||
backend: gstreamer
|
||||
auto: yes
|
||||
musicbrainz:
|
||||
user: ReekyMarko
|
||||
pass: "{{@@ env['PASS_MUSICBRAINZ'] @@}}"
|
||||
mbcollection:
|
||||
auto: "yes"
|
||||
collection: "a4955b5c-db7f-4e27-9887-f77f820bad34"
|
||||
#mbcollection:
|
||||
# auto: 'yes'
|
||||
# collection: 'a4955b5c-db7f-4e27-9887-f77f820bad34'
|
||||
|
|
88
home/.config/dconf.ini
Normal file
88
home/.config/dconf.ini
Normal file
|
@ -0,0 +1,88 @@
|
|||
[io/github/celluloid-player/celluloid]
|
||||
dark-theme-enable=false
|
||||
mpv-config-enable=true
|
||||
mpv-config-file='file:///home/{{@@ env['USER'] @@}}/.config/mpv/mpv.conf'
|
||||
mpv-input-config-enable=true
|
||||
mpv-input-config-file='file:///home/{{@@ env['USER'] @@}}/.config/mpv/input.conf'
|
||||
settings-migrated=true
|
||||
|
||||
[org/gnome/Connections]
|
||||
first-run=false
|
||||
|
||||
[org/gnome/shell/weather]
|
||||
automatic-location=false
|
||||
locations=[<(uint32 2, <('Lappeenranta', 'EFLP', false, [(1.0654507804726074, 0.49128594181309354)], @a(dd) [])>)>]
|
||||
|
||||
[org/gnome/Weather]
|
||||
locations=[<(uint32 2, <('Lappeenranta', 'EFLP', false, [(1.0654507804726074, 0.49128594181309354)], @a(dd) [])>)>]
|
||||
|
||||
[org/gnome/shell/world-clocks]
|
||||
locations=[<(uint32 2, <('Bangkok', 'VTBD', true, [(0.24289166005364171, 1.7558012275062955)], [(0.23998277214922031, 1.754346792280731)])>)>, <(uint32 2, <('Lappeenranta', 'EFLP', true, [(1.0654507804726074, 0.49128594181309354)], [(1.065814402368968, 0.49189195503597105)])>)>]
|
||||
|
||||
[org/gnome/clocks]
|
||||
world-clocks=[{'location': <(uint32 2, <('Bangkok', 'VTBD', true, [(0.24289166005364171, 1.7558012275062955)], [(0.23998277214922031, 1.754346792280731)])>)>}, {'location': <(uint32 2, <('Lappeenranta', 'EFLP', true, [(1.0654507804726074, 0.49128594181309354)], [(1.065814402368968, 0.49189195503597105)])>)>}]
|
||||
|
||||
[org/gnome/desktop/a11y/mouse]
|
||||
dwell-click-enabled=false
|
||||
dwell-threshold=10
|
||||
dwell-time=1.2
|
||||
secondary-click-enabled=true
|
||||
secondary-click-time=1.2
|
||||
|
||||
[org/gnome/desktop/calendar]
|
||||
show-weekdate=true
|
||||
|
||||
[org/gnome/desktop/input-sources]
|
||||
show-all-sources=true
|
||||
sources=[('xkb', 'eu'), ('xkb', 'fi')]
|
||||
xkb-options=['lv3:ralt_switch']
|
||||
|
||||
[org/gnome/desktop/peripherals/touchpad]
|
||||
tap-to-click=true
|
||||
two-finger-scrolling-enabled=true
|
||||
|
||||
[org/gnome/desktop/privacy]
|
||||
disable-microphone=false
|
||||
old-files-age=uint32 14
|
||||
recent-files-max-age=-1
|
||||
remove-old-temp-files=true
|
||||
remove-old-trash-files=true
|
||||
|
||||
[org/gnome/desktop/wm/keybindings]
|
||||
close=['<Super>w']
|
||||
move-to-workspace-down=['<Shift><Super>j']
|
||||
move-to-workspace-left=['<Shift><Super>h']
|
||||
move-to-workspace-right=['<Shift><Super>l']
|
||||
move-to-workspace-up=['<Shift><Super>k']
|
||||
switch-to-workspace-down=['<Super>j']
|
||||
switch-to-workspace-left=['<Super>h']
|
||||
switch-to-workspace-right=['<Super>l']
|
||||
switch-to-workspace-up=['<Super>k']
|
||||
toggle-fullscreen=@as []
|
||||
toggle-maximized=['<Super>f']
|
||||
|
||||
[org/gnome/settings-daemon/plugins/media-keys]
|
||||
custom-keybindings=['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']
|
||||
screensaver=['<Super>BackSpace']
|
||||
www=['<Super>b']
|
||||
volume-step=1
|
||||
|
||||
[org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0]
|
||||
binding='<Super>Return'
|
||||
command='kgx'
|
||||
name='Open terminal'
|
||||
|
||||
[org/gnome/file-roller/dialogs/new]
|
||||
default-extension='.tar.zst'
|
||||
|
||||
[org/gnome/software]
|
||||
check-timestamp=int64 1667730233
|
||||
download-updates=true
|
||||
download-updates-notify=true
|
||||
first-run=false
|
||||
|
||||
[org/gnome/system/location]
|
||||
enabled=true
|
||||
|
||||
[org/gnome/tweaks]
|
||||
show-extensions-notice=false
|
2
home/.config/electron-flags.conf
Normal file
2
home/.config/electron-flags.conf
Normal file
|
@ -0,0 +1,2 @@
|
|||
--enable-features=UseOzonePlatform
|
||||
--ozone-platform=wayland
|
2
home/.config/electron12-flags.conf
Normal file
2
home/.config/electron12-flags.conf
Normal file
|
@ -0,0 +1,2 @@
|
|||
--enable-features=UseOzonePlatform
|
||||
--ozone-platform=wayland
|
3
home/.config/environment.d/firefox.conf
Normal file
3
home/.config/environment.d/firefox.conf
Normal file
|
@ -0,0 +1,3 @@
|
|||
MOZ_ENABLE_WAYLAND=1
|
||||
MOZ_USE_XINPUT2=1
|
||||
MOZ_WEBRENDER=1
|
|
@ -1,3 +0,0 @@
|
|||
_JAVA_AWT_WM_NONREPARENTING=1
|
||||
_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel'
|
||||
JAVA_FONTS=/usr/share/fonts/TTF
|
|
@ -7,11 +7,6 @@ QT_QPA_PLATFORMTHEME=qt5ct
|
|||
QT_QPA_PLATFORM=wayland-egl
|
||||
QT_WAYLAND_DISABLE_WINDOWDECORATION=1
|
||||
|
||||
# Firefox
|
||||
MOZ_ENABLE_WAYLAND=1
|
||||
MOZ_USE_XINPUT2=1
|
||||
MOZ_WEBRENDER=1
|
||||
|
||||
# Fix redshift on wlroots
|
||||
WLR_DRM_NO_ATOMIC=1
|
||||
|
|
@ -1,26 +1,22 @@
|
|||
<?xml version='1.0'?>
|
||||
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
|
||||
<fontconfig>
|
||||
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>Overpass</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>Overpass</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>Hack Nerd Font Mono</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>Adwaita Sans</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>Adwaita Sans</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>Adwaita mono</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
||||
|
|
45
home/.config/foot/foot-light.ini
Normal file
45
home/.config/foot/foot-light.ini
Normal file
|
@ -0,0 +1,45 @@
|
|||
pad=10x0
|
||||
dpi-aware=yes
|
||||
|
||||
[scrollback]
|
||||
lines=1000
|
||||
|
||||
[cursor]
|
||||
blink=yes
|
||||
|
||||
[mouse]
|
||||
hide-when-typing=yes
|
||||
|
||||
[colors]
|
||||
foreground = 545464
|
||||
background = f2ecbc
|
||||
|
||||
selection-foreground = 43436c
|
||||
selection-background = c9cbd1
|
||||
|
||||
regular0 = 1F1F28
|
||||
regular1 = c84053
|
||||
regular2 = 6f894e
|
||||
regular3 = 77713f
|
||||
regular4 = 4d699b
|
||||
regular5 = b35b79
|
||||
regular6 = 597b75
|
||||
regular7 = 545464
|
||||
|
||||
bright0 = 8a8980
|
||||
bright1 = d7474b
|
||||
bright2 = 6e915f
|
||||
bright3 = 836f4a
|
||||
bright4 = 6693bf
|
||||
bright5 = 624c83
|
||||
bright6 = 5e857a
|
||||
bright7 = 43436c
|
||||
|
||||
|
||||
16 = cc6d00
|
||||
17 = e82424
|
||||
|
||||
[csd]
|
||||
color = fff2ecbc
|
||||
button-color = ff545464
|
||||
hide-when-maximized = yes
|
44
home/.config/foot/foot.ini
Normal file
44
home/.config/foot/foot.ini
Normal file
|
@ -0,0 +1,44 @@
|
|||
pad=10x0
|
||||
dpi-aware=yes
|
||||
|
||||
[scrollback]
|
||||
lines=1000
|
||||
|
||||
[cursor]
|
||||
blink=yes
|
||||
|
||||
[mouse]
|
||||
hide-when-typing=yes
|
||||
|
||||
[colors]
|
||||
foreground = dcd7ba
|
||||
background = 1f1f28
|
||||
|
||||
selection-foreground = c8c093
|
||||
selection-background = 2d4f67
|
||||
|
||||
regular0 = 090618
|
||||
regular1 = c34043
|
||||
regular2 = 76946a
|
||||
regular3 = c0a36e
|
||||
regular4 = 7e9cd8
|
||||
regular5 = 957fb8
|
||||
regular6 = 6a9589
|
||||
regular7 = c8c093
|
||||
|
||||
bright0 = 727169
|
||||
bright1 = e82424
|
||||
bright2 = 98bb6c
|
||||
bright3 = e6c384
|
||||
bright4 = 7fb4ca
|
||||
bright5 = 938aa9
|
||||
bright6 = 7aa89f
|
||||
bright7 = dcd7ba
|
||||
|
||||
16 = ffa066
|
||||
17 = ff5d62
|
||||
|
||||
[csd]
|
||||
color = ff1f1f28
|
||||
button-color = ffdcd7ba
|
||||
hide-when-maximized = yes
|
64
home/.config/git/config
Normal file
64
home/.config/git/config
Normal file
|
@ -0,0 +1,64 @@
|
|||
[user]
|
||||
{%@@ if profile == "mko-laptop" @@%}
|
||||
email = marko.korhonen@netforecast.com
|
||||
{%@@ else @@%}
|
||||
email = marko@korhonen.cc
|
||||
{%@@ endif @@%}
|
||||
name = Marko Korhonen
|
||||
signingkey = F2B9F713E7ED627336DD85E444FA3F28CD931BB0
|
||||
|
||||
[commit]
|
||||
signoff = true
|
||||
gpgsign = true
|
||||
|
||||
[tag]
|
||||
gpgSign = true
|
||||
signoff = true
|
||||
|
||||
[format]
|
||||
signoff = true
|
||||
|
||||
[merge]
|
||||
prompt = false
|
||||
conflictstyle = diff3
|
||||
tool = nvim
|
||||
|
||||
[mergetool]
|
||||
keepBackup = false
|
||||
prompt = false
|
||||
|
||||
[mergetool "nvim"]
|
||||
cmd = nvim +DiffviewOpen
|
||||
|
||||
[pull]
|
||||
rebase = merges
|
||||
|
||||
[alias]
|
||||
mergetest = !git switch test && git pull && git merge --no-ff -m \"Merge $1 features to test\" $1
|
||||
upstream = !git push -u origin HEAD
|
||||
sync = !git pull && git push
|
||||
recommit = !git commit -eF $(git rev-parse --git-dir)/COMMIT_EDITMSG
|
||||
pull-merge = pull --no-rebase --no-ff --no-edit
|
||||
log-merge = log -i --grep=merge --pretty=oneline
|
||||
log-fp = log --first-parent --pretty=oneline
|
||||
ll = log --pretty=oneline
|
||||
dno = !git --no-pager diff --name-only
|
||||
|
||||
[color]
|
||||
pager = no
|
||||
|
||||
[init]
|
||||
defaultBranch = main
|
||||
|
||||
[credential]
|
||||
helper = cache --timeout=600
|
||||
helper = !pass-git-helper $@
|
||||
|
||||
[rerere]
|
||||
enabled = true
|
||||
|
||||
[submodule]
|
||||
recurse = true
|
||||
|
||||
[push]
|
||||
recurseSubmodules = check
|
|
@ -1,3 +1,4 @@
|
|||
VteTerminal, vte-terminal {
|
||||
padding: 40px;
|
||||
VteTerminal,
|
||||
vte-terminal {
|
||||
padding: 40px;
|
||||
}
|
||||
|
|
19
home/.config/imapnotify/admin@korhonen.cc.js
Normal file
19
home/.config/imapnotify/admin@korhonen.cc.js
Normal file
|
@ -0,0 +1,19 @@
|
|||
var child_process = require('child_process');
|
||||
|
||||
function getStdout(cmd) {
|
||||
var stdout = child_process.execSync(cmd);
|
||||
return stdout.toString().trim();
|
||||
}
|
||||
|
||||
exports.host = 'imap.migadu.com';
|
||||
exports.port = 993;
|
||||
exports.tls = true;
|
||||
exports.tlsOptions = {
|
||||
rejectUnauthorized: true,
|
||||
};
|
||||
exports.username = 'admin@korhonen.cc';
|
||||
exports.password = "{{@@ env['PASS_EMAIL_ADMIN'] @@}}";
|
||||
exports.onNewMail = 'mbsync admin@korhonen.cc';
|
||||
exports.onNewMailPost =
|
||||
'~/git/dotfiles/scripts/mail/notify-new-mail.sh admin@korhonen.cc';
|
||||
exports.boxes = ['INBOX'];
|
19
home/.config/imapnotify/functionalhacker@korhonen.cc.js
Normal file
19
home/.config/imapnotify/functionalhacker@korhonen.cc.js
Normal file
|
@ -0,0 +1,19 @@
|
|||
var child_process = require('child_process');
|
||||
|
||||
function getStdout(cmd) {
|
||||
var stdout = child_process.execSync(cmd);
|
||||
return stdout.toString().trim();
|
||||
}
|
||||
|
||||
exports.host = 'imap.migadu.com';
|
||||
exports.port = 993;
|
||||
exports.tls = true;
|
||||
exports.tlsOptions = {
|
||||
rejectUnauthorized: true,
|
||||
};
|
||||
exports.username = 'functionalhacker@korhonen.cc';
|
||||
exports.password = "{{@@ env['PASS_EMAIL_HACKER'] @@}}";
|
||||
exports.onNewMail = 'mbsync functionalhacker@korhonen.cc';
|
||||
exports.onNewMailPost =
|
||||
'~/git/dotfiles/scripts/mail/notify-new-mail.sh functionalhacker@korhonen.cc';
|
||||
exports.boxes = ['INBOX'];
|
19
home/.config/imapnotify/marko@korhonen.cc.js
Normal file
19
home/.config/imapnotify/marko@korhonen.cc.js
Normal file
|
@ -0,0 +1,19 @@
|
|||
var child_process = require('child_process');
|
||||
|
||||
function getStdout(cmd) {
|
||||
var stdout = child_process.execSync(cmd);
|
||||
return stdout.toString().trim();
|
||||
}
|
||||
|
||||
exports.host = 'imap.migadu.com';
|
||||
exports.port = 993;
|
||||
exports.tls = true;
|
||||
exports.tlsOptions = {
|
||||
rejectUnauthorized: true,
|
||||
};
|
||||
exports.username = 'marko@korhonen.cc';
|
||||
exports.password = "{{@@ env['PASS_EMAIL_MARKO'] @@}}";
|
||||
exports.onNewMail = 'mbsync marko@korhonen.cc';
|
||||
exports.onNewMailPost =
|
||||
'~/git/dotfiles/scripts/mail/notify-new-mail.sh marko@korhonen.cc';
|
||||
exports.boxes = ['INBOX'];
|
|
@ -1,6 +1,12 @@
|
|||
background-color=#282828
|
||||
text-color=#EBDBB2
|
||||
border-color=#D65D0E
|
||||
background-color=#1E1D2F
|
||||
text-color=#D9E0EE
|
||||
border-color=#96CDFB
|
||||
progress-color=over #302D41
|
||||
|
||||
icons=1
|
||||
default-timeout=5000
|
||||
max-visible=6
|
||||
layer=overlay
|
||||
|
||||
[urgency=high]
|
||||
border-color=#F8BD96
|
||||
|
|
|
@ -1,38 +1,41 @@
|
|||
mpvq %U
|
||||
mpvqueue %U
|
||||
^https?://invidio.us/.*
|
||||
|
||||
mpvq %U
|
||||
mpvqueue %U
|
||||
^https?://(m.)?(www.)?youtube.com/watch\?.*v=
|
||||
|
||||
mpvq %U
|
||||
mpvqueue %U
|
||||
^https?://(www.)?youtube.com/playlist\?.*list=
|
||||
|
||||
mpvq %U
|
||||
mpvqueue %U
|
||||
^https?://(www.)?youtu.be/
|
||||
|
||||
mpvq %U
|
||||
mpvqueue %U
|
||||
^https?://(www.)?(m.)?twitch.tv/
|
||||
|
||||
mpvq %U
|
||||
mpvqueue %U
|
||||
^https?://(?:[a-z0-9\-]+\.)+[a-z]{2,6}(?:/[^/#?]+)+\.(?:mp4|mkv|webm|avi|3gp|gif|gifv)
|
||||
|
||||
mpvq %U
|
||||
^https?://www.facebook.com/.*/videos/
|
||||
mpvqueue %U
|
||||
^https?://www.facebook.com/watch/?v=.*
|
||||
|
||||
mpvq %U
|
||||
mpvqueue %U
|
||||
^https?://www.facebook.com/.*/videos/.*
|
||||
|
||||
mpvqueue %U
|
||||
^https://fb.watch/.*
|
||||
|
||||
mpvqueue %U
|
||||
^https?://gfycat.com/.*
|
||||
|
||||
mpvq %U
|
||||
mpvqueue %U
|
||||
^https?://vimeo.com/.*
|
||||
|
||||
mpvq %U
|
||||
mpvqueue %U
|
||||
^https?://v.redd.it/.*
|
||||
|
||||
imgurviewer %U
|
||||
^https?://(www.)?imgur.com/a/
|
||||
|
||||
imgurviewer %U
|
||||
^https?://(www.)?imgur.com/gallery/
|
||||
mpvqueue %U
|
||||
^https?://areena.yle.fi.*
|
||||
|
||||
imageviewer %U
|
||||
^https?://(?:[a-z0-9\-]+\.)+[a-z]{2,6}(?:/[^/#?]+)+\.(?:jpg|jpeg|png|svg)
|
||||
|
|
|
@ -1,25 +1,24 @@
|
|||
music_directory "~/Music"
|
||||
playlist_directory "~/Music/Playlists"
|
||||
db_file "~/.mpd/database"
|
||||
log_file "~/.mpd/log"
|
||||
pid_file "~/.mpd/pid"
|
||||
state_file "~/.mpd/state"
|
||||
sticker_file "~/.mpd/sticker.sql"
|
||||
music_directory "~/Music"
|
||||
playlist_directory "~/Music/Playlists"
|
||||
db_file "~/.mpd/database"
|
||||
log_file "~/.mpd/log"
|
||||
state_file "~/.mpd/state"
|
||||
sticker_file "~/.mpd/sticker.sql"
|
||||
|
||||
replaygain "track"
|
||||
replaygain "track"
|
||||
|
||||
default_permissions "read"
|
||||
password "{{@@ env['PASS_MPD'] @@}}@read,add,control"
|
||||
password "{{@@ env['PASS_MPD_ADMIN'] @@}}@read,add,control,admin"
|
||||
default_permissions "read,add,control"
|
||||
password "{{@@ env['PASS_MPD'] @@}}@read,add,control"
|
||||
password "{{@@ env['PASS_MPD_ADMIN'] @@}}@read,add,control,admin"
|
||||
|
||||
audio_output {
|
||||
type "fifo"
|
||||
name "Visualizer"
|
||||
path "/tmp/mpd.fifo"
|
||||
format "44100:16:2"
|
||||
type "fifo"
|
||||
name "Visualizer"
|
||||
path "/tmp/mpd.fifo"
|
||||
format "44100:16:2"
|
||||
}
|
||||
|
||||
audio_output {
|
||||
type "pulse"
|
||||
name "MPD PulseAudio"
|
||||
type "pipewire"
|
||||
name "MPD PipeWire"
|
||||
}
|
||||
|
|
|
@ -19,3 +19,8 @@ m cycle ao-mute
|
|||
VOLUME_DOWN add ao-volume -2
|
||||
VOLUME_UP add ao-volume +2
|
||||
MUTE cycle ao-mute
|
||||
|
||||
= add audio-delay 0.100
|
||||
- add audio-delay -0.100
|
||||
|
||||
s playlist-shuffle
|
||||
|
|
|
@ -7,10 +7,8 @@ vo=gpu
|
|||
hwdec=vaapi
|
||||
hwdec-codecs=all
|
||||
|
||||
{%@@ if profile == "Mirkwood" @@%}
|
||||
{%@@ if wayland @@%}
|
||||
gpu-context=wayland
|
||||
{%@@ elif profile == "Rivendell" @@%}
|
||||
ao=alsa
|
||||
{%@@ endif @@%}
|
||||
|
||||
#############
|
||||
|
@ -18,18 +16,21 @@ ao=alsa
|
|||
#############
|
||||
pulse-buffer=50 # using a large buffer causes seeking issues
|
||||
audio-pitch-correction=yes # automatically insert scaletempo when playing with higher speed
|
||||
replaygain=track
|
||||
|
||||
#############
|
||||
# Plugins/misc #
|
||||
# misc #
|
||||
#############
|
||||
# Mpris plugin
|
||||
script=/usr/lib/mpv/mpris.so
|
||||
|
||||
# Start ipc server
|
||||
input-ipc-server=/tmp/mpvsocket
|
||||
|
||||
# set youtube-dl max res to 1080
|
||||
# set youtube-dl max res
|
||||
{%@@ if profile == "Moria" @@%}
|
||||
ytdl-format=bestvideo[height<=2160]+bestaudio/best[height<=2160]
|
||||
{%@@ else @@%}
|
||||
ytdl-format=bestvideo[height<=1080]+bestaudio/best[height<=1080]
|
||||
{%@@ endif @@%}
|
||||
|
||||
# continue watching
|
||||
save-position-on-quit
|
||||
|
@ -62,7 +63,7 @@ sub-shadow-color="#33000000"
|
|||
sub-spacing=0.5
|
||||
|
||||
# OSD customizations
|
||||
osd-font="Overpass"
|
||||
osd-font="Lucida Console"
|
||||
osd-font-size=30
|
||||
osd-color="#ffffffff" # ARGB format
|
||||
osd-border-color="#ff151515" # ARGB format
|
||||
|
@ -105,8 +106,4 @@ ytdl-format="bestvideo[height<=2160]+bestaudio/best[height<=2160]"
|
|||
[best]
|
||||
ytdl-format="bestvideo+bestaudio"
|
||||
|
||||
# Vulkan hwdec profile
|
||||
[vulkan]
|
||||
gpu-api=vulkan
|
||||
gpu-context=waylandvk
|
||||
hwdec=vaapi-copy
|
||||
script-opts-append=ytdl_hook-ytdl_path=yt-dlp
|
||||
|
|
505
home/.config/mpv/scripts/iptv.lua
Normal file
505
home/.config/mpv/scripts/iptv.lua
Normal file
|
@ -0,0 +1,505 @@
|
|||
--redefine keybindings here if needed; multiple bindings are possible
|
||||
keybinds = {
|
||||
activate = {'\\', 'MOUSE_BTN2'},
|
||||
plsup = {'UP', 'MOUSE_BTN3'},
|
||||
plsdown = {'DOWN', 'MOUSE_BTN4'},
|
||||
plsenter = {'ENTER', 'MOUSE_BTN0'}
|
||||
}
|
||||
--hide playlist after specified number of seconds
|
||||
osd_time=10
|
||||
--show only specified number of playlist entries
|
||||
window=7
|
||||
--fade video when showing playlist
|
||||
fade=false
|
||||
--if fade=true; -100 — black, 0 — normal
|
||||
plsbrightness=-70
|
||||
--favorites get promotion to the top of the pls
|
||||
favorites = {}
|
||||
-- END OF CONFIGURABLE VARIABLES
|
||||
|
||||
-- put your settings in (SCRIPTS DIR)/_iptvconf.lua
|
||||
pcall(require, "_iptvconf")
|
||||
|
||||
local timer
|
||||
--local plscount
|
||||
local pattern=""
|
||||
local is_active
|
||||
local is_playlist_loaded
|
||||
|
||||
-- UTF-8 lower/upper conversion
|
||||
local utf8_lc_uc = {
|
||||
["a"] = "A",
|
||||
["b"] = "B",
|
||||
["c"] = "C",
|
||||
["d"] = "D",
|
||||
["e"] = "E",
|
||||
["f"] = "F",
|
||||
["g"] = "G",
|
||||
["h"] = "H",
|
||||
["i"] = "I",
|
||||
["j"] = "J",
|
||||
["k"] = "K",
|
||||
["l"] = "L",
|
||||
["m"] = "M",
|
||||
["n"] = "N",
|
||||
["o"] = "O",
|
||||
["p"] = "P",
|
||||
["q"] = "Q",
|
||||
["r"] = "R",
|
||||
["s"] = "S",
|
||||
["t"] = "T",
|
||||
["u"] = "U",
|
||||
["v"] = "V",
|
||||
["w"] = "W",
|
||||
["x"] = "X",
|
||||
["y"] = "Y",
|
||||
["z"] = "Z",
|
||||
["а"] = "А",
|
||||
["б"] = "Б",
|
||||
["в"] = "В",
|
||||
["г"] = "Г",
|
||||
["д"] = "Д",
|
||||
["е"] = "Е",
|
||||
["ж"] = "Ж",
|
||||
["з"] = "З",
|
||||
["и"] = "И",
|
||||
["й"] = "Й",
|
||||
["к"] = "К",
|
||||
["л"] = "Л",
|
||||
["м"] = "М",
|
||||
["н"] = "Н",
|
||||
["о"] = "О",
|
||||
["п"] = "П",
|
||||
["р"] = "Р",
|
||||
["с"] = "С",
|
||||
["т"] = "Т",
|
||||
["у"] = "У",
|
||||
["ф"] = "Ф",
|
||||
["х"] = "Х",
|
||||
["ц"] = "Ц",
|
||||
["ч"] = "Ч",
|
||||
["ш"] = "Ш",
|
||||
["щ"] = "Щ",
|
||||
["ъ"] = "Ъ",
|
||||
["ы"] = "Ы",
|
||||
["ь"] = "Ь",
|
||||
["э"] = "Э",
|
||||
["ю"] = "Ю",
|
||||
["я"] = "Я",
|
||||
["ё"] = "Ё"
|
||||
}
|
||||
|
||||
local utf8_uc_lc = {
|
||||
["A"] = "a",
|
||||
["B"] = "b",
|
||||
["C"] = "c",
|
||||
["D"] = "d",
|
||||
["E"] = "e",
|
||||
["F"] = "f",
|
||||
["G"] = "g",
|
||||
["H"] = "h",
|
||||
["I"] = "i",
|
||||
["J"] = "j",
|
||||
["K"] = "k",
|
||||
["L"] = "l",
|
||||
["M"] = "m",
|
||||
["N"] = "n",
|
||||
["O"] = "o",
|
||||
["P"] = "p",
|
||||
["Q"] = "q",
|
||||
["R"] = "r",
|
||||
["S"] = "s",
|
||||
["T"] = "t",
|
||||
["U"] = "u",
|
||||
["V"] = "v",
|
||||
["W"] = "w",
|
||||
["X"] = "x",
|
||||
["Y"] = "y",
|
||||
["Z"] = "z",
|
||||
["А"] = "а",
|
||||
["Б"] = "б",
|
||||
["В"] = "в",
|
||||
["Г"] = "г",
|
||||
["Д"] = "д",
|
||||
["Е"] = "е",
|
||||
["Ж"] = "ж",
|
||||
["З"] = "з",
|
||||
["И"] = "и",
|
||||
["Й"] = "й",
|
||||
["К"] = "к",
|
||||
["Л"] = "л",
|
||||
["М"] = "м",
|
||||
["Н"] = "н",
|
||||
["О"] = "о",
|
||||
["П"] = "п",
|
||||
["Р"] = "р",
|
||||
["С"] = "с",
|
||||
["Т"] = "т",
|
||||
["У"] = "у",
|
||||
["Ф"] = "ф",
|
||||
["Х"] = "х",
|
||||
["Ц"] = "ц",
|
||||
["Ч"] = "ч",
|
||||
["Ш"] = "ш",
|
||||
["Щ"] = "щ",
|
||||
["Ъ"] = "ъ",
|
||||
["Ы"] = "ы",
|
||||
["Ь"] = "ь",
|
||||
["Э"] = "э",
|
||||
["Ю"] = "ю",
|
||||
["Я"] = "я",
|
||||
["Ё"] = "ё"
|
||||
}
|
||||
|
||||
--utf8 char pattern
|
||||
local utf8_char="[\1-\127\192-\223][\128-\191]*"
|
||||
|
||||
local cyr_chars={'а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я'}
|
||||
|
||||
-- символы, которые возможно вводить для поиска
|
||||
local chars={}
|
||||
for i=string.byte('a'),string.byte('z') do
|
||||
table.insert(chars,i)
|
||||
end
|
||||
for i=string.byte('A'),string.byte('Z') do
|
||||
table.insert(chars,i)
|
||||
end
|
||||
for i=string.byte('0'),string.byte('9') do
|
||||
table.insert(chars,i)
|
||||
end
|
||||
for _,v in ipairs({',','^','$','(',')','%','.','[',']','*','+','-','?','`',"'",";"}) do
|
||||
table.insert(chars,string.byte(v))
|
||||
end
|
||||
|
||||
local keybinder = {
|
||||
remove = function(action)
|
||||
for i,_ in ipairs(keybinds[action]) do
|
||||
mp.remove_key_binding(action..tostring(i))
|
||||
end
|
||||
end,
|
||||
add = function(action, func, repeatable)
|
||||
for i,key in ipairs(keybinds[action]) do
|
||||
assert(type(func)=="function", "not a function")
|
||||
if repeatable then
|
||||
mp.add_forced_key_binding(key, action..tostring(i), func, "repeatable")
|
||||
else
|
||||
mp.add_forced_key_binding(key, action..tostring(i), func)
|
||||
end
|
||||
end
|
||||
end
|
||||
}
|
||||
|
||||
local fader = {
|
||||
saved_brtns,
|
||||
on = function(self)
|
||||
if fade and not self.saved_brtns then
|
||||
self.saved_brtns = mp.get_property("brightness")
|
||||
mp.set_property("brightness", plsbrightness)
|
||||
end
|
||||
end,
|
||||
off = function(self)
|
||||
if fade and self.saved_brtns then
|
||||
mp.set_property("brightness", self.saved_brtns)
|
||||
self.saved_brtns=nil
|
||||
end
|
||||
end
|
||||
}
|
||||
|
||||
local playlister = {
|
||||
-- pls — список элементов плейлиста
|
||||
pls,
|
||||
-- plsfiltered — список индексов выбранных фильтром элементов плейлиста
|
||||
plsfiltered,
|
||||
plspos,
|
||||
wndstart,
|
||||
wndend,
|
||||
cursor,
|
||||
|
||||
init = function(self)
|
||||
if not self.pls then
|
||||
self.pls = mp.get_property_native("playlist")
|
||||
end
|
||||
mp.commandv("stop")
|
||||
--need to mark first entry non-current (mpv bug?)
|
||||
if self.pls[1] then
|
||||
self.pls[1].current = false
|
||||
end
|
||||
if favorites and #favorites>0 then
|
||||
self:sortfavs()
|
||||
end
|
||||
pattern = ""
|
||||
self.plsfiltered = tablekeys(self.pls)
|
||||
end,
|
||||
|
||||
show = function(self)
|
||||
local i
|
||||
local newpos
|
||||
local msg
|
||||
--media-title
|
||||
--playlist t[2].title
|
||||
|
||||
if not self.plsfiltered then
|
||||
return
|
||||
end
|
||||
if not self.plspos then
|
||||
self.plspos=mp.get_property_native("playlist-pos-1")
|
||||
--plscount=mp.get_property_native("playlist-count")
|
||||
end
|
||||
if not self.wndstart or not self.cursor then
|
||||
self.wndstart=1
|
||||
self.cursor=0
|
||||
end
|
||||
|
||||
msg=""
|
||||
i = self.wndstart
|
||||
local prefix
|
||||
while self.plsfiltered[i] and i<=self.wndstart+window-1 do
|
||||
if self.pls[self.plsfiltered[i]].current then
|
||||
prefix="*"
|
||||
elseif i==self.wndstart+self.cursor then
|
||||
prefix=">"
|
||||
else
|
||||
prefix=" "
|
||||
end
|
||||
msg = msg..prefix..(self.pls[self.plsfiltered[i]].title or "").."\n"
|
||||
i=i+1
|
||||
end
|
||||
if self.wndstart>1 then
|
||||
msg = "...\n"..msg
|
||||
else
|
||||
msg = " \n"..msg
|
||||
end
|
||||
if self.wndstart+window-1<#self.plsfiltered then
|
||||
msg = msg.."..."
|
||||
end
|
||||
msg="/"..pattern.."\n"..msg
|
||||
mp.osd_message(msg, osd_time)
|
||||
end,
|
||||
|
||||
sortfavs = function(self)
|
||||
--favorites bubbles to the top
|
||||
local favs={}
|
||||
local nonfavs={}
|
||||
for _,v in ipairs(self.pls) do
|
||||
if in_array(favorites,v.title) then
|
||||
favs[#favs+1] = v
|
||||
else
|
||||
nonfavs[#nonfavs+1] = v
|
||||
end
|
||||
end
|
||||
for i=1,#nonfavs do
|
||||
favs[#favs+1] = nonfavs[i]
|
||||
end
|
||||
self.pls = favs
|
||||
end,
|
||||
|
||||
filter = function(self)
|
||||
self.plsfiltered={}
|
||||
for i,v in ipairs(self.pls) do
|
||||
if string.match(mylower(v.title),'.*'..prepat(pattern)..'.*') then
|
||||
table.insert(self.plsfiltered,i)
|
||||
end
|
||||
end
|
||||
self.wndstart=1
|
||||
self.cursor=0
|
||||
end,
|
||||
|
||||
down = function(self)
|
||||
if self.cursor >= #self.plsfiltered-1 then return end
|
||||
if self.cursor<window-1 then
|
||||
self.cursor=self.cursor+1
|
||||
else
|
||||
if self.wndstart<#self.plsfiltered-window+1 then
|
||||
self.wndstart=self.wndstart+1
|
||||
end
|
||||
end
|
||||
self.show(self)
|
||||
end,
|
||||
up = function(self)
|
||||
if self.cursor>0 then
|
||||
self.cursor=self.cursor-1
|
||||
self.show(self)
|
||||
else
|
||||
if self.wndstart>1 then
|
||||
self.wndstart=self.wndstart-1
|
||||
self.show(self)
|
||||
end
|
||||
end
|
||||
end,
|
||||
|
||||
play = function(self)
|
||||
mp.commandv("loadfile",self.pls[self.plsfiltered[self.wndstart+self.cursor]].filename)
|
||||
if self.plspos then
|
||||
self.pls[self.plspos].current=false
|
||||
end
|
||||
self.plspos=self.plsfiltered[self.wndstart+self.cursor]
|
||||
self.pls[self.plspos].current=true
|
||||
end
|
||||
}
|
||||
|
||||
function add_bindings()
|
||||
keybinder.add("plsup", up, true)
|
||||
keybinder.add("plsdown", down, true)
|
||||
for i,v in ipairs(chars) do
|
||||
c=string.char(v)
|
||||
mp.add_forced_key_binding(c, 'search'..v, typing(c),"repeatable")
|
||||
end
|
||||
mp.add_forced_key_binding('SPACE', 'search32', typing(' '),"repeatable")
|
||||
|
||||
--[[ mp.add_key_binding('а', 'search1000', typing('а'),"repeatable")
|
||||
mp.add_key_binding('с', 'search1001', typing('с'),"repeatable")]]
|
||||
|
||||
mp.add_forced_key_binding('BS', 'searchbs', backspace,"repeatable")
|
||||
keybinder.add("plsenter", play)
|
||||
for i,v in ipairs(cyr_chars) do
|
||||
mp.add_forced_key_binding(v, 'search'..i+1000, typing(v),"repeatable")
|
||||
end
|
||||
end
|
||||
|
||||
function remove_bindings()
|
||||
keybinder.remove('plsup')
|
||||
keybinder.remove('plsdown')
|
||||
keybinder.remove('plsenter')
|
||||
for i,v in ipairs(chars) do
|
||||
c=string.char(v)
|
||||
mp.remove_key_binding('search'..v)
|
||||
end
|
||||
mp.remove_key_binding('search32')
|
||||
mp.remove_key_binding('searchbs')
|
||||
for i,v in ipairs(cyr_chars) do
|
||||
mp.remove_key_binding('search'..i+1000)
|
||||
end
|
||||
end
|
||||
|
||||
function activate()
|
||||
if is_active then
|
||||
shutdown()
|
||||
return
|
||||
else
|
||||
is_active=true
|
||||
fader:on()
|
||||
playlister:show()
|
||||
add_bindings()
|
||||
if not timer then
|
||||
timer=mp.add_periodic_timer(osd_time, shutdown)
|
||||
timer.oneshot=true
|
||||
else
|
||||
resumetimer()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function tablekeys(t)
|
||||
local result={}
|
||||
for i,v in ipairs(t) do
|
||||
table.insert(result,i)
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
function in_array(array, value)
|
||||
for _,v in ipairs(array) do
|
||||
if v==value then
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function mylower(s)
|
||||
local res,n = string.gsub(s,utf8_char,function (c)
|
||||
return utf8_uc_lc[c]
|
||||
end)
|
||||
return res
|
||||
end
|
||||
|
||||
function myupper(s)
|
||||
local res,n = string.gsub(s,utf8_char,function (c)
|
||||
return utf8_lc_uc[c]
|
||||
end)
|
||||
return res
|
||||
end
|
||||
|
||||
function prepat(s)
|
||||
--prepare nocase and magic chars
|
||||
s = string.gsub(s, "[%^%$%(%)%%%.%[%]%*%+%-%?]",function (c)
|
||||
return '%'..c
|
||||
end)
|
||||
--[[ s = string.gsub(s, utf8_char, function (c)
|
||||
return string.format("[%s%s]", utf8_uc_lc[c] or c, utf8_lc_uc[c] or c)
|
||||
end)]]
|
||||
return s
|
||||
end
|
||||
|
||||
function resumetimer()
|
||||
timer:kill()
|
||||
timer:resume()
|
||||
end
|
||||
|
||||
function typing(char)
|
||||
return function()
|
||||
local c=string.lower(char)
|
||||
pattern = pattern..c
|
||||
playlister:filter()
|
||||
playlister:show()
|
||||
resumetimer()
|
||||
end
|
||||
end
|
||||
|
||||
function backspace()
|
||||
if string.len(pattern)>0 then
|
||||
-- pattern = string.sub(pattern,1,-2)
|
||||
-- for unicode
|
||||
pattern = string.match(pattern,"(.*)"..utf8_char.."$")
|
||||
playlister:filter()
|
||||
playlister:show()
|
||||
resumetimer()
|
||||
end
|
||||
end
|
||||
|
||||
function play()
|
||||
-- mp.commandv("playlist-move", wndstart+cursor, 1)
|
||||
-- mp.commandv("playlist-clear")
|
||||
-- mp.commandv("playlist-next")
|
||||
fader:off()
|
||||
playlister:play()
|
||||
playlister:show()
|
||||
resumetimer()
|
||||
end
|
||||
|
||||
function shutdown()
|
||||
fader:off()
|
||||
remove_bindings()
|
||||
is_active=false
|
||||
mp.osd_message("", 1)
|
||||
end
|
||||
|
||||
function down()
|
||||
fader:on()
|
||||
playlister:down()
|
||||
resumetimer()
|
||||
end
|
||||
|
||||
function up()
|
||||
fader:on()
|
||||
playlister:up()
|
||||
resumetimer()
|
||||
end
|
||||
|
||||
function on_start_file()
|
||||
if is_playlist_loaded then
|
||||
playlister:init()
|
||||
mp.unregister_event(on_start_file)
|
||||
activate()
|
||||
else
|
||||
is_playlist_loaded = true
|
||||
end
|
||||
end
|
||||
|
||||
if mp.get_opt("iptv") then
|
||||
mp.set_property_bool("idle", true)
|
||||
mp.set_property_bool("force-window", true)
|
||||
mp.register_event("start-file", on_start_file)
|
||||
keybinder.add("activate", activate)
|
||||
end
|
||||
|
76
home/.config/mpv/scripts/yledl_hook.lua
Normal file
76
home/.config/mpv/scripts/yledl_hook.lua
Normal file
|
@ -0,0 +1,76 @@
|
|||
-- Copied from https://github.com/pekkarr/mpv-yledl
|
||||
-- Copyright 2021 Pekka Ristola
|
||||
|
||||
-- This program is free software: you can redistribute it and/or modify
|
||||
-- it under the terms of the GNU General Public License as published by
|
||||
-- the Free Software Foundation, either version 3 of the License, or
|
||||
-- (at your option) any later version.
|
||||
--
|
||||
-- This program is distributed in the hope that it will be useful,
|
||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
-- GNU General Public License for more details.
|
||||
--
|
||||
-- You should have received a copy of the GNU General Public License
|
||||
-- along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
local msg = require 'mp.msg'
|
||||
local utils = require 'mp.utils'
|
||||
|
||||
local function add_series(data)
|
||||
local playlist = { "#EXTM3U" }
|
||||
for _, episode in pairs(data) do
|
||||
table.insert(playlist, episode["webpage"])
|
||||
end
|
||||
mp.set_property("stream-open-filename", "memory://" .. table.concat(playlist, "\n"))
|
||||
end
|
||||
|
||||
local function add_single_video(data)
|
||||
local flavors = data["flavors"]
|
||||
table.sort(flavors, function(a, b) return a["bitrate"] > b["bitrate"] end)
|
||||
local best = flavors[1]
|
||||
mp.set_property("stream-open-filename", best["url"])
|
||||
mp.set_property("file-local-options/force-media-title", data["title"])
|
||||
for _, sub in ipairs(data["subtitles"]) do
|
||||
local lang = sub["language"]
|
||||
msg.verbose("Adding subtitles for " .. lang)
|
||||
mp.commandv("sub-add", sub["url"], "auto", sub["category"], lang)
|
||||
end
|
||||
end
|
||||
|
||||
mp.add_hook("on_load", 9, function()
|
||||
msg.verbose('yle-dl hook')
|
||||
local url = mp.get_property("stream-open-filename", "")
|
||||
if (url:find("https?://%a+%.yle%.fi/") == 1) or (url:find("https?://yle%.fi/") == 1) then
|
||||
local start_time = os.clock()
|
||||
local command = { "yle-dl", "--showmetadata", url }
|
||||
msg.debug("Running: " .. table.concat(command, ' '))
|
||||
local ret = mp.command_native({name = "subprocess",
|
||||
args = command,
|
||||
capture_stdout = true,
|
||||
capture_stderr = false})
|
||||
if ret.killed_by_us then
|
||||
return
|
||||
end
|
||||
if (ret.status < 0) or (ret.stdout == nil) or (ret.stdout == "") then
|
||||
msg.error("yle-dl failed to parse url")
|
||||
return
|
||||
end
|
||||
|
||||
local json, err = utils.parse_json(ret.stdout)
|
||||
if (json == nil) then
|
||||
msg.error("failed to parse JSON: " .. err)
|
||||
return
|
||||
end
|
||||
msg.verbose("yle-dl succeeded")
|
||||
msg.debug("running yle-dl took " .. os.clock() - start_time .. " seconds")
|
||||
|
||||
if #json == 1 then
|
||||
add_single_video(json[1])
|
||||
else
|
||||
add_series(json)
|
||||
end
|
||||
else
|
||||
msg.verbose('not an areena url')
|
||||
end
|
||||
end)
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue