Compare commits

12 Commits

Author SHA1 Message Date
85a43d7c29 Hallucinate up t and T in lazygit 2025-10-30 19:17:29 +01:00
1758a08ae4 Make tmux use screen-256 2025-10-30 19:17:29 +01:00
72cca4427b Update 2025-10-30 19:17:28 +01:00
Sparky
f5548027f0 Add fancontrol 2025-10-29 13:48:08 +01:00
Sparky
a2415fa856 Update 2025-10-29 13:36:46 +01:00
Sparky
71d48b0e41 Update private config 2025-10-29 13:35:39 +01:00
Sparky
a4492f28d0 Add claude code 2025-10-29 13:29:35 +01:00
Sparky
feb8f466ec Add local dns 2025-10-29 13:29:35 +01:00
Sparky
13e8f824eb Try and force no hibernate no sleep 2025-10-29 12:54:43 +01:00
Sparky
0dbdd46ffb Sort packages 2025-10-29 12:54:43 +01:00
Sparky
4fe5a3e89b Have cursor remove the grub config
Now it works??
2025-10-29 12:54:43 +01:00
Sparky
e46c3cee18 Add typesense to vikunja and update 2025-10-28 21:27:18 +00:00
23 changed files with 404 additions and 85 deletions

View File

@@ -1 +1,2 @@
set -g set-clipboard on
set -g default-terminal "screen-256color"

View File

@@ -55,7 +55,7 @@ LoadLibraryA=00031BF0
LoadLibraryW=0001D820
Version=00000009
[Settings]
LastUpdateCheck=68F86259h
LastUpdateCheck=6901B5B7h
Skin=default.usf
WindowX=371
WindowY=368

View File

@@ -67,7 +67,7 @@
"Path": "C:/Users/Administrator/scoop/apps/dbgate/current/DbGate.exe",
"findFirst": true,
"process": "DbGate.exe",
"hotkey": "Shift+Alt+C"
"hotkey": "Shift+Alt+V"
},
{
"Path": "C:/Users/Administrator/scoop/apps/libreoffice/current/LibreOffice/program/scalc.exe",
@@ -85,6 +85,6 @@
"Path": "C:/Users/Administrator/Seafile/My Library/programs/Vikunja Desktop-unstable.exe",
"findFirst": true,
"process": "Vikunja Desktop.exe",
"hotkey": "Alt+Shift+V"
"hotkey": "Alt+Shift+C"
}
]

View File

@@ -2,11 +2,11 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running 'nixos-help').
{ config, lib, pkgs, inputs, ... }:
{ config, lib, pkgs, ... }:
with lib;
let
unstable = import inputs.nixpkgs-unstable { inherit (config.nixpkgs) config; };
unstable = import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/nixpkgs-unstable.tar.gz") { config = { allowUnfree = true; }; };
in
{
@@ -35,6 +35,7 @@ in
# Enable networking
networking.networkmanager.enable = true;
networking.nameservers = [
"192.168.1.123"
"1.1.1.1"
"8.8.8.8"
];
@@ -211,6 +212,7 @@ in
# $ nix search wget
environment.systemPackages = with pkgs; [
btop
claude-code
code-cursor
deskflow
docker
@@ -218,6 +220,7 @@ in
git
lazydocker
lazygit
lm_sensors
nixfmt-rfc-style
nodejs_20
tmux
@@ -226,6 +229,19 @@ in
vim
];
# Enable fan control
services.thermald.enable = true;
hardware.sensor.iio.enable = true;
# Start fancontrol service
systemd.services.fancontrol = {
description = "Fan speed regulator";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = "${pkgs.lm_sensors}/bin/fancontrol";
};
};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
@@ -257,7 +273,4 @@ in
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "25.05"; # Did you read the comment?
# Enable flakes
nix.settings.experimental-features = [ "nix-command" "flakes" ];
}

View File

@@ -253,10 +253,18 @@ https://torrent.site.quack-lab.dev {
header -Server
try_files {path} /index.html /index.php
}
https://vikunja-typesense.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
reverse_proxy 10.0.68.3:8108
}
header -Server
try_files {path} /index.html /index.php
}
https://vikunja.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
reverse_proxy 10.0.68.3:3456
reverse_proxy 10.0.68.5:3456
}
header -Server
try_files {path} /index.html /index.php

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,49 @@
-----BEGIN CERTIFICATE-----
MIIDnDCCAyGgAwIBAgISBaUtTCvVdoPkGS099K4Y5QrVMAoGCCqGSM49BAMDMDIx
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
NzAeFw0yNTEwMjgxOTEzNDZaFw0yNjAxMjYxOTEzNDVaMCIxIDAeBgNVBAMTF2Ns
aXAuc2l0ZS5xdWFjay1sYWIuZGV2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
ODgLXjy+5cuuqo/SC3S3ngkHRwsFSLf7kHYrRaMP0DYDVa2zTgQFCn3bZxjC30gq
UIdL+1g1fu+FXxmPcru5BKOCAiUwggIhMA4GA1UdDwEB/wQEAwIHgDAdBgNVHSUE
FjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU
jDJBP7t0WwPsnkXc6s/+nRb+PrMwHwYDVR0jBBgwFoAUrkie3IcdRKBv2qLlYHQE
eMKcAIAwMgYIKwYBBQUHAQEEJjAkMCIGCCsGAQUFBzAChhZodHRwOi8vZTcuaS5s
ZW5jci5vcmcvMCIGA1UdEQQbMBmCF2NsaXAuc2l0ZS5xdWFjay1sYWIuZGV2MBMG
A1UdIAQMMAowCAYGZ4EMAQIBMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHA6Ly9lNy5j
LmxlbmNyLm9yZy84Ni5jcmwwggEEBgorBgEEAdZ5AgQCBIH1BIHyAPAAdgAZhtTH
KKpv/roDb3gqTQGRqs4tcjEPrs5dcEEtJUzH1AAAAZoscy3oAAAEAwBHMEUCIFdz
TWO0ncGb77Lp1Mnh/qiiz5NRFgg3Q5diYJjg3Gx7AiEAi9TO/W9mAEQ7Tn8l8cm7
mILvh76QuyoeuJWNdbjUwgMAdgCWl2S/VViXrfdDh2g3CEJ36fA61fak8zZuRqQ/
D8qpxgAAAZoscy4rAAAEAwBHMEUCIQCTmfYRm4DFSx3ls+irXiITcseV7p9Gjg+g
LFFOCjomgAIges8K95IhSsI4MFYg8LIN3W+b1O9Xig6CzutTsnxVjWkwCgYIKoZI
zj0EAwMDaQAwZgIxAOUia2rSvnSGzfn7uvK3nmNblMDj3HxL3L1ofDu6cGsDmPyB
E5qbJDiAgvV0zpPZmwIxAM8rFdLJ6M7pT9C9wvBoI72Q80bMFfQMrBDGSj7Q9ojY
b59TbBAheWupbem8qiiIuA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEVzCCAj+gAwIBAgIRAKp18eYrjwoiCWbTi7/UuqEwDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjQwMzEzMDAwMDAw
WhcNMjcwMzEyMjM1OTU5WjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDELMAkGA1UEAxMCRTcwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARB6AST
CFh/vjcwDMCgQer+VtqEkz7JANurZxLP+U9TCeioL6sp5Z8VRvRbYk4P1INBmbef
QHJFHCxcSjKmwtvGBWpl/9ra8HW0QDsUaJW2qOJqceJ0ZVFT3hbUHifBM/2jgfgw
gfUwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD
ATASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBSuSJ7chx1EoG/aouVgdAR4
wpwAgDAfBgNVHSMEGDAWgBR5tFnme7bl5AFzgAiIyBpY9umbbjAyBggrBgEFBQcB
AQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly94MS5pLmxlbmNyLm9yZy8wEwYDVR0g
BAwwCjAIBgZngQwBAgEwJwYDVR0fBCAwHjAcoBqgGIYWaHR0cDovL3gxLmMubGVu
Y3Iub3JnLzANBgkqhkiG9w0BAQsFAAOCAgEAjx66fDdLk5ywFn3CzA1w1qfylHUD
aEf0QZpXcJseddJGSfbUUOvbNR9N/QQ16K1lXl4VFyhmGXDT5Kdfcr0RvIIVrNxF
h4lqHtRRCP6RBRstqbZ2zURgqakn/Xip0iaQL0IdfHBZr396FgknniRYFckKORPG
yM3QKnd66gtMst8I5nkRQlAg/Jb+Gc3egIvuGKWboE1G89NTsN9LTDD3PLj0dUMr
OIuqVjLB8pEC6yk9enrlrqjXQgkLEYhXzq7dLafv5Vkig6Gl0nuuqjqfp0Q1bi1o
yVNAlXe6aUXw92CcghC9bNsKEO1+M52YY5+ofIXlS/SEQbvVYYBLZ5yeiglV6t3S
M6H+vTG0aP9YHzLn/KVOHzGQfXDP7qM5tkf+7diZe7o2fw6O7IvN6fsQXEQQj8TJ
UXJxv2/uJhcuy/tSDgXwHM8Uk34WNbRT7zGTGkQRX0gsbjAea/jYAoWv0ZvQRwpq
Pe79D/i7Cep8qWnA+7AE/3B3S/3dEEYmc0lpe1366A/6GEgk3ktr9PEoQrLChs6I
tu3wnNLB2euC8IKGLQFpGtOO/2/hiAKjyajaBP25w1jF0Wl8Bbqne3uZ2q1GyPFJ
YRmT7/OXpmOH/FVLtwS+8ng1cAmpCujPwteJZNcDG0sF2n/sc0+SQf49fdyUK0ty
+VUwFj9tmWxyR/M=
-----END CERTIFICATE-----

View File

@@ -0,0 +1,9 @@
{
"sans": [
"clip.site.quack-lab.dev"
],
"issuer_data": {
"url": "https://acme-v02.api.letsencrypt.org/acme/cert/05a52d4c2bd57683e4192d3df4ae18e50ad5",
"ca": "https://acme-v02.api.letsencrypt.org/directory"
}
}

View File

@@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIPMPzlpjCbGGdP5c7XOedoQOx3RJZXNjXH2rhRwjvqq6oAoGCCqGSM49
AwEHoUQDQgAEODgLXjy+5cuuqo/SC3S3ngkHRwsFSLf7kHYrRaMP0DYDVa2zTgQF
Cn3bZxjC30gqUIdL+1g1fu+FXxmPcru5BA==
-----END EC PRIVATE KEY-----

View File

@@ -0,0 +1,49 @@
-----BEGIN CERTIFICATE-----
MIIDpzCCAyygAwIBAgISBWD2xhx4EXz2AERoY/0ETTu7MAoGCCqGSM49BAMDMDIx
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
ODAeFw0yNTEwMjgyMDIwMDZaFw0yNjAxMjYyMDIwMDVaMCcxJTAjBgNVBAMTHHR5
cGVzZW5zZS5zaXRlLnF1YWNrLWxhYi5kZXYwWTATBgcqhkjOPQIBBggqhkjOPQMB
BwNCAASUEnaX6sdk3PW/F9VZppO3g96EHffmQGY7gjWf3wxg5gM4VkjyQbZPRdS/
oUEoJclbJpakXVq6OXnxPwvxpj61o4ICKzCCAicwDgYDVR0PAQH/BAQDAgeAMB0G
A1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1Ud
DgQWBBSflLv1J+5+b5oJMojmtZWV4YR/WDAfBgNVHSMEGDAWgBSPDROi9i5+0VBs
Mxg4XVmOI3KRyjAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly9l
OC5pLmxlbmNyLm9yZy8wJwYDVR0RBCAwHoIcdHlwZXNlbnNlLnNpdGUucXVhY2st
bGFiLmRldjATBgNVHSAEDDAKMAgGBmeBDAECATAtBgNVHR8EJjAkMCKgIKAehhxo
dHRwOi8vZTguYy5sZW5jci5vcmcvNjAuY3JsMIIBBQYKKwYBBAHWeQIEAgSB9gSB
8wDxAHcAyzj3FYl8hKFEX1vB3fvJbvKaWc1HCmkFhbDLFMMUWOcAAAGaLK/ksAAA
BAMASDBGAiEAiopiwrsS5RDKbRGEHY0jkeTFWKe7R8FAXb/go0blh7oCIQCz8CoY
5fbFpVj6gcaSXbAlZsLPZvsSNlksLqdgDqqxEwB2AJaXZL9VWJet90OHaDcIQnfp
8DrV9qTzNm5GpD8PyqnGAAABmiyv5MUAAAQDAEcwRQIgGszlozgUAlmZZ+CNBeFm
duoE6RvSdV/z3i+oez3tWf0CIQDcAjq8nWRAWla/HuhxoiV2eZLqcObF+HiTvzJ8
YlzUOTAKBggqhkjOPQQDAwNpADBmAjEApObsOZjZzEl3KOH8c56EH/8oBx/uLJ4y
yBvG54GNkU8/SmP5aQjVE/CdGT4Z8ZI1AjEA5HT5F5ELvExv94bbcpv/cdV7lKKY
LAoeM36+vH6ufxDak0bGHQbPc8CapkTc6WD5
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEVjCCAj6gAwIBAgIQY5WTY8JOcIJxWRi/w9ftVjANBgkqhkiG9w0BAQsFADBP
MQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFy
Y2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMTAeFw0yNDAzMTMwMDAwMDBa
Fw0yNzAzMTIyMzU5NTlaMDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBF
bmNyeXB0MQswCQYDVQQDEwJFODB2MBAGByqGSM49AgEGBSuBBAAiA2IABNFl8l7c
S7QMApzSsvru6WyrOq44ofTUOTIzxULUzDMMNMchIJBwXOhiLxxxs0LXeb5GDcHb
R6EToMffgSZjO9SNHfY9gjMy9vQr5/WWOrQTZxh7az6NSNnq3u2ubT6HTKOB+DCB
9TAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB
MBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFI8NE6L2Ln7RUGwzGDhdWY4j
cpHKMB8GA1UdIwQYMBaAFHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEB
BCYwJDAiBggrBgEFBQcwAoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzATBgNVHSAE
DDAKMAgGBmeBDAECATAnBgNVHR8EIDAeMBygGqAYhhZodHRwOi8veDEuYy5sZW5j
ci5vcmcvMA0GCSqGSIb3DQEBCwUAA4ICAQBnE0hGINKsCYWi0Xx1ygxD5qihEjZ0
RI3tTZz1wuATH3ZwYPIp97kWEayanD1j0cDhIYzy4CkDo2jB8D5t0a6zZWzlr98d
AQFNh8uKJkIHdLShy+nUyeZxc5bNeMp1Lu0gSzE4McqfmNMvIpeiwWSYO9w82Ob8
otvXcO2JUYi3svHIWRm3+707DUbL51XMcY2iZdlCq4Wa9nbuk3WTU4gr6LY8MzVA
aDQG2+4U3eJ6qUF10bBnR1uuVyDYs9RhrwucRVnfuDj29CMLTsplM5f5wSV5hUpm
Uwp/vV7M4w4aGunt74koX71n4EdagCsL/Yk5+mAQU0+tue0JOfAV/R6t1k+Xk9s2
HMQFeoxppfzAVC04FdG9M+AC2JWxmFSt6BCuh3CEey3fE52Qrj9YM75rtvIjsm/1
Hl+u//Wqxnu1ZQ4jpa+VpuZiGOlWrqSP9eogdOhCGisnyewWJwRQOqK16wiGyZeR
xs/Bekw65vwSIaVkBruPiTfMOo0Zh4gVa8/qJgMbJbyrwwG97z/PRgmLKCDl8z3d
tA0Z7qq7fta0Gl24uyuB05dqI5J1LvAzKuWdIjT1tP8qCoxSE/xpix8hX2dt3h+/
jujUgFPFZ0EVZ0xSyBNRF3MboGZnYXFUxpNjTWPKpagDHJQmqrAcDmWJnMsFY3jS
u1igv3OefnWjSQ==
-----END CERTIFICATE-----

View File

@@ -0,0 +1,9 @@
{
"sans": [
"typesense.site.quack-lab.dev"
],
"issuer_data": {
"url": "https://acme-v02.api.letsencrypt.org/acme/cert/0560f6c61c78117cf600446863fd044d3bbb",
"ca": "https://acme-v02.api.letsencrypt.org/directory"
}
}

View File

@@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIOjO08x0SRhSvH65N5Jhvqj7Fwn9CHMMuE4ogmUY/UJjoAoGCCqGSM49
AwEHoUQDQgAElBJ2l+rHZNz1vxfVWaaTt4PehB335kBmO4I1n98MYOYDOFZI8kG2
T0XUv6FBKCXJWyaWpF1aujl58T8L8aY+tQ==
-----END EC PRIVATE KEY-----

View File

@@ -0,0 +1,49 @@
-----BEGIN CERTIFICATE-----
MIIDtzCCAzygAwIBAgISBtfWNNSFjZoZVefBg3Os3/j4MAoGCCqGSM49BAMDMDIx
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
ODAeFw0yNTEwMjgyMDI0MzJaFw0yNjAxMjYyMDI0MzFaMC8xLTArBgNVBAMTJHZp
a3VuamEtdHlwZXNlbnNlLnNpdGUucXVhY2stbGFiLmRldjBZMBMGByqGSM49AgEG
CCqGSM49AwEHA0IABDFvlXQFtYy5jolJWW6K8iLrLMlLup624H5KbdDV/ovHZ5rJ
Z6saWQamfWk2saf6ahb8kKUsrHO+hxfe72MwNWOjggIzMIICLzAOBgNVHQ8BAf8E
BAMCB4AwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQC
MAAwHQYDVR0OBBYEFD6afPEEkf0v7p1p+hYgAhq5cZfnMB8GA1UdIwQYMBaAFI8N
E6L2Ln7RUGwzGDhdWY4jcpHKMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAoYW
aHR0cDovL2U4LmkubGVuY3Iub3JnLzAvBgNVHREEKDAmgiR2aWt1bmphLXR5cGVz
ZW5zZS5zaXRlLnF1YWNrLWxhYi5kZXYwEwYDVR0gBAwwCjAIBgZngQwBAgEwLgYD
VR0fBCcwJTAjoCGgH4YdaHR0cDovL2U4LmMubGVuY3Iub3JnLzEyMS5jcmwwggEE
BgorBgEEAdZ5AgQCBIH1BIHyAPAAdwBJnJtp3h187Pw23s2HZKa4W68Kh4AZ0VVS
++nrKd34wwAAAZoss/YGAAAEAwBIMEYCIQCFKB6XIZ1Hw58IwRHu+VJrmmVsGU5n
EMhIPPtWUMr0BwIhAK/b6qUnmcap+RKIOTdn7JHmogwK4bGmPmmljGJRoZGoAHUA
lpdkv1VYl633Q4doNwhCd+nwOtX2pPM2bkakPw/KqcYAAAGaLLP2QQAABAMARjBE
AiBj+za/cH7j0zLWSfs8tVZA+Fwy2evTyROX2F4P4Kc5oQIgRlZtg3qLHNyKYSHY
PACe3wTn/qXaRUtrrJLC1CqPDrcwCgYIKoZIzj0EAwMDaQAwZgIxANXX4xx4VNgC
4sG+wonSfN5B6PmWGGPxeRkj5gjMhWacNARG41zvt8eyJR1xx3lNPAIxAKbKNfko
FIx0nbHbPb0Q43U0HbyjvJX80K2zXNmy9hwL935rq+Q7bS1dkP4ZMsfoXg==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEVjCCAj6gAwIBAgIQY5WTY8JOcIJxWRi/w9ftVjANBgkqhkiG9w0BAQsFADBP
MQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFy
Y2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMTAeFw0yNDAzMTMwMDAwMDBa
Fw0yNzAzMTIyMzU5NTlaMDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBF
bmNyeXB0MQswCQYDVQQDEwJFODB2MBAGByqGSM49AgEGBSuBBAAiA2IABNFl8l7c
S7QMApzSsvru6WyrOq44ofTUOTIzxULUzDMMNMchIJBwXOhiLxxxs0LXeb5GDcHb
R6EToMffgSZjO9SNHfY9gjMy9vQr5/WWOrQTZxh7az6NSNnq3u2ubT6HTKOB+DCB
9TAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB
MBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFI8NE6L2Ln7RUGwzGDhdWY4j
cpHKMB8GA1UdIwQYMBaAFHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEB
BCYwJDAiBggrBgEFBQcwAoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzATBgNVHSAE
DDAKMAgGBmeBDAECATAnBgNVHR8EIDAeMBygGqAYhhZodHRwOi8veDEuYy5sZW5j
ci5vcmcvMA0GCSqGSIb3DQEBCwUAA4ICAQBnE0hGINKsCYWi0Xx1ygxD5qihEjZ0
RI3tTZz1wuATH3ZwYPIp97kWEayanD1j0cDhIYzy4CkDo2jB8D5t0a6zZWzlr98d
AQFNh8uKJkIHdLShy+nUyeZxc5bNeMp1Lu0gSzE4McqfmNMvIpeiwWSYO9w82Ob8
otvXcO2JUYi3svHIWRm3+707DUbL51XMcY2iZdlCq4Wa9nbuk3WTU4gr6LY8MzVA
aDQG2+4U3eJ6qUF10bBnR1uuVyDYs9RhrwucRVnfuDj29CMLTsplM5f5wSV5hUpm
Uwp/vV7M4w4aGunt74koX71n4EdagCsL/Yk5+mAQU0+tue0JOfAV/R6t1k+Xk9s2
HMQFeoxppfzAVC04FdG9M+AC2JWxmFSt6BCuh3CEey3fE52Qrj9YM75rtvIjsm/1
Hl+u//Wqxnu1ZQ4jpa+VpuZiGOlWrqSP9eogdOhCGisnyewWJwRQOqK16wiGyZeR
xs/Bekw65vwSIaVkBruPiTfMOo0Zh4gVa8/qJgMbJbyrwwG97z/PRgmLKCDl8z3d
tA0Z7qq7fta0Gl24uyuB05dqI5J1LvAzKuWdIjT1tP8qCoxSE/xpix8hX2dt3h+/
jujUgFPFZ0EVZ0xSyBNRF3MboGZnYXFUxpNjTWPKpagDHJQmqrAcDmWJnMsFY3jS
u1igv3OefnWjSQ==
-----END CERTIFICATE-----

View File

@@ -0,0 +1,9 @@
{
"sans": [
"vikunja-typesense.site.quack-lab.dev"
],
"issuer_data": {
"url": "https://acme-v02.api.letsencrypt.org/acme/cert/06d7d634d4858d9a1955e7c18373acdff8f8",
"ca": "https://acme-v02.api.letsencrypt.org/directory"
}
}

View File

@@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIMmy29xpJ6/upMU1QHZRafwWhXwElQKu37+D3JeYHe3toAoGCCqGSM49
AwEHoUQDQgAEMW+VdAW1jLmOiUlZboryIussyUu6nrbgfkpt0NX+i8dnmslnqxpZ
BqZ9aTaxp/pqFvyQpSysc76HF97vYzA1Yw==
-----END EC PRIVATE KEY-----

View File

@@ -1 +1 @@
{"tls":{"timestamp":"2025-10-27T17:21:11.190912636Z","instance_id":"dbe630cc-bc9f-443e-b311-aec406294c5c"}}
{"tls":{"timestamp":"2025-10-28T20:12:11.977723736Z","instance_id":"dbe630cc-bc9f-443e-b311-aec406294c5c"}}

View File

@@ -1,8 +1,13 @@
SERVICE_NAME_VIKUNJA=vikunja
SERVICE_NAME_POSTGRESQL=postgresql
SERVICE_NAME_TYPESENSE=typesense
SERVICE_FQDN_TYPESENSE=vikunja-typesense.site.quack-lab.dev
SERVICE_FQDN_TYPESENSE_8108=vikunja-typesense.site.quack-lab.dev
SERVICE_FQDN_VIKUNJA=vikunja.site.quack-lab.dev
SERVICE_PASSWORD_JWTSECRET=rOYardNKXhg32Z5B5T0BoC3JGxD9HhD2
SERVICE_PASSWORD_POSTGRESQL=LJNUZyhW1nm3LdeZ1PpBJhwAwLXG62as
SERVICE_URL_TYPESENSE=https://vikunja-typesense.site.quack-lab.dev
SERVICE_URL_TYPESENSE_8108=https://vikunja-typesense.site.quack-lab.dev
SERVICE_URL_VIKUNJA=https://vikunja.site.quack-lab.dev
SERVICE_USER_POSTGRESQL=Bdqj73QvoRkNw58j
POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
@@ -11,4 +16,6 @@ VIKUNJA_DATABASE_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
VIKUNJA_DATABASE_USER=${SERVICE_USER_POSTGRESQL}
VIKUNJA_SERVICE_JWTSECRET=$SERVICE_PASSWORD_JWTSECRET
VIKUNJA_SERVICE_PUBLICURL=$SERVICE_URL_VIKUNJA
POSTGRESQL_DATABASE=postgres
POSTGRESQL_DATABASE=postgres
TYPESENSE_API_KEY=!6A*v7qOnQK9ET$JA2#T8iQTO3v@HL9A
TYPESENSE_ENABLE_CORS=true

View File

@@ -11,6 +11,9 @@ services:
VIKUNJA_DATABASE_PASSWORD: '${SERVICE_PASSWORD_POSTGRESQL}'
VIKUNJA_DATABASE_USER: '${SERVICE_USER_POSTGRESQL}'
VIKUNJA_DATABASE_DATABASE: '${POSTGRESQL_DATABASE}'
VIKUNJA_TYPESENSE_ENABLED: 'true'
VIKUNJA_TYPESENSE_URL: 'https://vikunja-typesense.site.quack-lab.dev'
VIKUNJA_TYPESENSE_APIKEY: '${TYPESENSE_API_KEY:?}'
POSTGRESQL_DATABASE: '${POSTGRESQL_DATABASE}'
COOLIFY_RESOURCE_UUID: p88kookwkgkg8448k8k84848
COOLIFY_CONTAINER_NAME: vikunja-p88kookwkgkg8448k8k84848
@@ -18,6 +21,7 @@ services:
COOLIFY_URL: 'https://vikunja.site.quack-lab.dev'
SERVICE_NAME_VIKUNJA: vikunja
SERVICE_NAME_POSTGRESQL: postgresql
SERVICE_NAME_TYPESENSE: typesense
volumes:
- 'p88kookwkgkg8448k8k84848_vikunja-data:/app/vikunja/'
depends_on:
@@ -72,6 +76,7 @@ services:
COOLIFY_CONTAINER_NAME: postgresql-p88kookwkgkg8448k8k84848
SERVICE_NAME_VIKUNJA: vikunja
SERVICE_NAME_POSTGRESQL: postgresql
SERVICE_NAME_TYPESENSE: typesense
healthcheck:
test:
- CMD-SHELL
@@ -97,11 +102,77 @@ services:
- coolify.service.subName=postgresql
networks:
p88kookwkgkg8448k8k84848: null
typesense:
image: 'typesense/typesense:28.0'
environment:
SERVICE_URL_TYPESENSE_8108: 'https://vikunja-typesense.site.quack-lab.dev'
TYPESENSE_ENABLE_CORS: '${TYPESENSE_ENABLE_CORS:-true}'
TYPESENSE_DATA_DIR: /data
TYPESENSE_API_KEY: '${TYPESENSE_API_KEY:?}'
COOLIFY_RESOURCE_UUID: p88kookwkgkg8448k8k84848
COOLIFY_CONTAINER_NAME: typesense-p88kookwkgkg8448k8k84848
COOLIFY_FQDN: vikunja-typesense.site.quack-lab.dev
COOLIFY_URL: 'https://vikunja-typesense.site.quack-lab.dev'
SERVICE_NAME_VIKUNJA: vikunja
SERVICE_NAME_POSTGRESQL: postgresql
SERVICE_NAME_TYPESENSE: typesense
volumes:
- 'p88kookwkgkg8448k8k84848_typesense-data:/data'
healthcheck:
test:
- CMD
- bash
- '-c'
- 'exec 3<>/dev/tcp/localhost/8108 && printf ''GET /health HTTP/1.1\r\nConnection: close\r\n\r\n'' >&3 && head -n1 <&3 | grep ''200'' && exec 3>&-'
retries: 5
timeout: 7s
container_name: typesense-p88kookwkgkg8448k8k84848
restart: unless-stopped
labels:
- coolify.managed=true
- coolify.version=4.0.0-beta.434
- coolify.serviceId=47
- coolify.type=service
- coolify.name=typesense-p88kookwkgkg8448k8k84848
- coolify.resourceName=vikunja
- coolify.projectName=services
- coolify.serviceName=typesense
- coolify.environmentName=production
- coolify.pullRequestId=0
- coolify.service.subId=86
- coolify.service.subType=application
- coolify.service.subName=typesense
- traefik.enable=true
- traefik.http.middlewares.gzip.compress=true
- traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
- traefik.http.routers.http-0-p88kookwkgkg8448k8k84848-typesense.entryPoints=http
- traefik.http.routers.http-0-p88kookwkgkg8448k8k84848-typesense.middlewares=redirect-to-https
- 'traefik.http.routers.http-0-p88kookwkgkg8448k8k84848-typesense.rule=Host(`vikunja-typesense.site.quack-lab.dev`) && PathPrefix(`/`)'
- traefik.http.routers.http-0-p88kookwkgkg8448k8k84848-typesense.service=http-0-p88kookwkgkg8448k8k84848-typesense
- traefik.http.routers.https-0-p88kookwkgkg8448k8k84848-typesense.entryPoints=https
- traefik.http.routers.https-0-p88kookwkgkg8448k8k84848-typesense.middlewares=gzip
- 'traefik.http.routers.https-0-p88kookwkgkg8448k8k84848-typesense.rule=Host(`vikunja-typesense.site.quack-lab.dev`) && PathPrefix(`/`)'
- traefik.http.routers.https-0-p88kookwkgkg8448k8k84848-typesense.service=https-0-p88kookwkgkg8448k8k84848-typesense
- traefik.http.routers.https-0-p88kookwkgkg8448k8k84848-typesense.tls.certresolver=letsencrypt
- traefik.http.routers.https-0-p88kookwkgkg8448k8k84848-typesense.tls=true
- traefik.http.services.http-0-p88kookwkgkg8448k8k84848-typesense.loadbalancer.server.port=8108
- traefik.http.services.https-0-p88kookwkgkg8448k8k84848-typesense.loadbalancer.server.port=8108
- 'caddy_0.encode=zstd gzip'
- 'caddy_0.handle_path.0_reverse_proxy={{upstreams 8108}}'
- 'caddy_0.handle_path=/*'
- caddy_0.header=-Server
- 'caddy_0.try_files={path} /index.html /index.php'
- 'caddy_0=https://vikunja-typesense.site.quack-lab.dev'
- caddy_ingress_network=p88kookwkgkg8448k8k84848
networks:
p88kookwkgkg8448k8k84848: null
volumes:
p88kookwkgkg8448k8k84848_vikunja-data:
name: p88kookwkgkg8448k8k84848_vikunja-data
p88kookwkgkg8448k8k84848_vikunja-postgresql-data:
name: p88kookwkgkg8448k8k84848_vikunja-postgresql-data
p88kookwkgkg8448k8k84848_typesense-data:
name: p88kookwkgkg8448k8k84848_typesense-data
networks:
p88kookwkgkg8448k8k84848:
name: p88kookwkgkg8448k8k84848

View File

@@ -1,18 +0,0 @@
{
description = "NixOS configuration";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
};
outputs = { self, nixpkgs, nixpkgs-unstable, ... }@inputs: {
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
./configuration.nix
];
};
};
}

View File

@@ -288,9 +288,15 @@ customCommands:
context: "files"
command: 'oco --yes'
description: "Open commit options"
- key: "t"
context: "files"
command: "powershell -NoProfile -Command '$p=\"{{.SelectedPath}}\"; $e=[IO.Path]::GetExtension($p).TrimStart(\".\"); if([string]::IsNullOrEmpty($e)){ exit 0 }; $pattern=\"*.\" + $e; git lfs track \"$pattern\"'"
description: "LFS track by selected file extension"
- key: "T"
context: "files"
command: "powershell -NoProfile -Command '$p=\"{{.SelectedPath}}\"; $e=[IO.Path]::GetExtension($p).TrimStart(\".\"); if([string]::IsNullOrEmpty($e)){ exit 0 }; $pattern=\"*.\" + $e; git add -- \"$pattern\"; git commit -m (\"Track .\" + $e)'"
description: "Add and commit tracking for extension"
services:
"gitlab.neos.hr": "gitlab:gitlab.neos.hr"
os:
shell: "C:\\Program Files\\Git\\bin\\bash.exe"

View File

@@ -1,12 +1,12 @@
- source: lazygit
target: /root/.config/lazygit
target: /home/root/.config/lazygit
delete: true
- source: lazygit
target: /home/dave/.config/lazygit
delete: true
- source: .tmux.conf
target: /root/.tmux.conf
target: /home/root/.tmux.conf
delete: true
- source: .tmux.conf
target: /home/dave/.tmux.conf
@@ -15,15 +15,12 @@
- source: configuration.nix
target: /etc/nixos/configuration.nix
delete: true
- source: flake.nix
target: /etc/nixos/flake.nix
delete: true
- source: sparky.gitconfig
target: /home/dave/.gitconfig
delete: true
- source: sparky.gitconfig
target: /root/.gitconfig
target: /home/root/.gitconfig
delete: true
- source: prometheus.yml

View File

@@ -1382,6 +1382,51 @@
<maxTotalSize>4096</maxTotalSize>
</xattrFilter>
</folder>
<folder id="mpzff-jjgxj" label="Games-Starsector" path="~\Seafile\Games-Starsector" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" fsWatcherTimeoutS="0" ignorePerms="false" autoNormalize="true">
<filesystemType>basic</filesystemType>
<device id="HTEPKDB-A4Q3IDU-AD7YGCT-FO6YYDM-2FYSRBF-AQ6CD6U-RZPOJIT-IKQCXQJ" introducedBy="">
<encryptionPassword></encryptionPassword>
</device>
<device id="YZYNYRO-2XQBYZC-YIXNE4U-2Z36EO5-BAXMNG5-CNR2RO3-Z5FEQSB-WLB4MQL" introducedBy="">
<encryptionPassword></encryptionPassword>
</device>
<minDiskFree unit="%">10</minDiskFree>
<versioning type="simple">
<param key="cleanoutDays" val="7"></param>
<param key="keep" val="5"></param>
<cleanupIntervalS>3600</cleanupIntervalS>
<fsPath></fsPath>
<fsType>basic</fsType>
</versioning>
<copiers>0</copiers>
<pullerMaxPendingKiB>0</pullerMaxPendingKiB>
<hashers>0</hashers>
<order>largestFirst</order>
<ignoreDelete>false</ignoreDelete>
<scanProgressIntervalS>0</scanProgressIntervalS>
<pullerPauseS>0</pullerPauseS>
<pullerDelayS>1</pullerDelayS>
<maxConflicts>10</maxConflicts>
<disableSparseFiles>false</disableSparseFiles>
<paused>false</paused>
<markerName>.stfolder</markerName>
<copyOwnershipFromParent>false</copyOwnershipFromParent>
<modTimeWindowS>0</modTimeWindowS>
<maxConcurrentWrites>16</maxConcurrentWrites>
<disableFsync>false</disableFsync>
<blockPullOrder>standard</blockPullOrder>
<copyRangeMethod>standard</copyRangeMethod>
<caseSensitiveFS>false</caseSensitiveFS>
<junctionsAsDirs>false</junctionsAsDirs>
<syncOwnership>false</syncOwnership>
<sendOwnership>false</sendOwnership>
<syncXattrs>false</syncXattrs>
<sendXattrs>false</sendXattrs>
<xattrFilter>
<maxSingleEntrySize>1024</maxSingleEntrySize>
<maxTotalSize>4096</maxTotalSize>
</xattrFilter>
</folder>
<folder id="msxqa-wnogz" label="Programs-eMClient" path="~\Seafile\eMClient" type="sendreceive" rescanIntervalS="600" fsWatcherEnabled="true" fsWatcherDelayS="10" fsWatcherTimeoutS="0" ignorePerms="false" autoNormalize="true">
<filesystemType>basic</filesystemType>
<device id="FIUANY5-WMGFQFM-4AHRQ7S-JMNS5DR-GRLMUJR-X3H5VFY-ZKN4BUB-FIRDDQU" introducedBy="">
@@ -1481,6 +1526,51 @@
<maxTotalSize>4096</maxTotalSize>
</xattrFilter>
</folder>
<folder id="oraet-gqm3x" label="Games-TheLongDark" path="~\Seafile\Games-TheLongDark" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" fsWatcherTimeoutS="0" ignorePerms="false" autoNormalize="true">
<filesystemType>basic</filesystemType>
<device id="HTEPKDB-A4Q3IDU-AD7YGCT-FO6YYDM-2FYSRBF-AQ6CD6U-RZPOJIT-IKQCXQJ" introducedBy="">
<encryptionPassword></encryptionPassword>
</device>
<device id="YZYNYRO-2XQBYZC-YIXNE4U-2Z36EO5-BAXMNG5-CNR2RO3-Z5FEQSB-WLB4MQL" introducedBy="">
<encryptionPassword></encryptionPassword>
</device>
<minDiskFree unit="%">10</minDiskFree>
<versioning type="simple">
<param key="cleanoutDays" val="7"></param>
<param key="keep" val="5"></param>
<cleanupIntervalS>3600</cleanupIntervalS>
<fsPath></fsPath>
<fsType>basic</fsType>
</versioning>
<copiers>0</copiers>
<pullerMaxPendingKiB>0</pullerMaxPendingKiB>
<hashers>0</hashers>
<order>random</order>
<ignoreDelete>false</ignoreDelete>
<scanProgressIntervalS>0</scanProgressIntervalS>
<pullerPauseS>0</pullerPauseS>
<pullerDelayS>1</pullerDelayS>
<maxConflicts>10</maxConflicts>
<disableSparseFiles>false</disableSparseFiles>
<paused>false</paused>
<markerName>.stfolder</markerName>
<copyOwnershipFromParent>false</copyOwnershipFromParent>
<modTimeWindowS>0</modTimeWindowS>
<maxConcurrentWrites>16</maxConcurrentWrites>
<disableFsync>false</disableFsync>
<blockPullOrder>standard</blockPullOrder>
<copyRangeMethod>standard</copyRangeMethod>
<caseSensitiveFS>false</caseSensitiveFS>
<junctionsAsDirs>false</junctionsAsDirs>
<syncOwnership>false</syncOwnership>
<sendOwnership>false</sendOwnership>
<syncXattrs>false</syncXattrs>
<sendXattrs>false</sendXattrs>
<xattrFilter>
<maxSingleEntrySize>1024</maxSingleEntrySize>
<maxTotalSize>4096</maxTotalSize>
</xattrFilter>
</folder>
<folder id="pdkzp-eoxey" label="Programs-vcpkg" path="~\Seafile\vcpkg" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" fsWatcherTimeoutS="0" ignorePerms="false" autoNormalize="true">
<filesystemType>basic</filesystemType>
<device id="HTEPKDB-A4Q3IDU-AD7YGCT-FO6YYDM-2FYSRBF-AQ6CD6U-RZPOJIT-IKQCXQJ" introducedBy="">
@@ -1667,51 +1757,6 @@
<maxTotalSize>4096</maxTotalSize>
</xattrFilter>
</folder>
<folder id="spsxs-fhjqa" label="Memes" path="~\Seafile\Memes" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" fsWatcherTimeoutS="0" ignorePerms="false" autoNormalize="true">
<filesystemType>basic</filesystemType>
<device id="HTEPKDB-A4Q3IDU-AD7YGCT-FO6YYDM-2FYSRBF-AQ6CD6U-RZPOJIT-IKQCXQJ" introducedBy="">
<encryptionPassword></encryptionPassword>
</device>
<device id="YZYNYRO-2XQBYZC-YIXNE4U-2Z36EO5-BAXMNG5-CNR2RO3-Z5FEQSB-WLB4MQL" introducedBy="">
<encryptionPassword></encryptionPassword>
</device>
<minDiskFree unit="%">10</minDiskFree>
<versioning type="simple">
<param key="cleanoutDays" val="7"></param>
<param key="keep" val="5"></param>
<cleanupIntervalS>3600</cleanupIntervalS>
<fsPath></fsPath>
<fsType>basic</fsType>
</versioning>
<copiers>0</copiers>
<pullerMaxPendingKiB>0</pullerMaxPendingKiB>
<hashers>0</hashers>
<order>random</order>
<ignoreDelete>false</ignoreDelete>
<scanProgressIntervalS>0</scanProgressIntervalS>
<pullerPauseS>0</pullerPauseS>
<pullerDelayS>1</pullerDelayS>
<maxConflicts>10</maxConflicts>
<disableSparseFiles>false</disableSparseFiles>
<paused>false</paused>
<markerName>.stfolder</markerName>
<copyOwnershipFromParent>false</copyOwnershipFromParent>
<modTimeWindowS>0</modTimeWindowS>
<maxConcurrentWrites>16</maxConcurrentWrites>
<disableFsync>false</disableFsync>
<blockPullOrder>standard</blockPullOrder>
<copyRangeMethod>standard</copyRangeMethod>
<caseSensitiveFS>false</caseSensitiveFS>
<junctionsAsDirs>false</junctionsAsDirs>
<syncOwnership>false</syncOwnership>
<sendOwnership>false</sendOwnership>
<syncXattrs>false</syncXattrs>
<sendXattrs>false</sendXattrs>
<xattrFilter>
<maxSingleEntrySize>1024</maxSingleEntrySize>
<maxTotalSize>4096</maxTotalSize>
</xattrFilter>
</folder>
<folder id="tsybh-kesev" label="Programs-LibreAutomate" path="~\Seafile\LibreAutomate" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" fsWatcherTimeoutS="0" ignorePerms="false" autoNormalize="true">
<filesystemType>basic</filesystemType>
<device id="FIUANY5-WMGFQFM-4AHRQ7S-JMNS5DR-GRLMUJR-X3H5VFY-ZKN4BUB-FIRDDQU" introducedBy="">
@@ -2329,7 +2374,7 @@
<maxRequestKiB>0</maxRequestKiB>
<untrusted>false</untrusted>
<remoteGUIPort>0</remoteGUIPort>
<numConnections>0</numConnections>
<numConnections>16</numConnections>
</device>
<device id="2QEXCVF-24EDRE5-LW5SLUZ-ZHIYDFM-CU3V3SU-DIO5A22-PQ3NSAD-IOTJAQI" name="Android-Nada" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="">
<address>dynamic</address>