diff --git a/.sops.yaml b/.sops.yaml index 72afe20..fbf069b 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -4,6 +4,7 @@ # for a more complex example. keys: - &dominik age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d + - &dominik2 age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch - &tuxedo age17c4swm58zt07axl5u6kkxrwtr5haqkvu4ye4t98qdph98qdclgtq2cyzkq - &git-server age106n5n3rrrss45eqqzz8pq90la3kqdtnw63uw0sfa2mahk5xpe30sxs5x58 - &web-01-server age1y6lvl5jkwc47p5ae9yz9j9kuwhy7rtttua5xhygrgmr7ehd49svsszyt42 @@ -18,31 +19,41 @@ creation_rules: key_groups: - age: - *dominik - - path_regex: hosts/git.cloonar.com/[^/]+\.yaml$ + - *dominik2 + - path_regex: hosts/nb-01.cloonar.com/[^/]+\.yaml$ key_groups: - age: - *dominik - - *git-server + - *dominik2 + - path_regex: hosts/nb-new.cloonar.com/[^/]+\.yaml$ + key_groups: + - age: + - *dominik + - *dominik2 + - path_regex: hosts/fw.cloonar.com/[^/]+\.yaml$ + key_groups: + - age: + - *dominik + - *dominik2 + - *fw - path_regex: hosts/web-01.cloonar.com/[^/]+\.yaml$ key_groups: - age: - *dominik + - *dominik2 - *web-01-server - - path_regex: hosts/home-assistant.cloonar.com/[^/]+\.yaml$ - key_groups: - - age: - - *dominik - - *home-assistant-server - path_regex: hosts/mail.cloonar.com/[^/]+\.yaml$ key_groups: - age: - *dominik + - *dominik2 - *ldap-server-arm - *ldap-server-test - path_regex: utils/modules/lego/[^/]+\.yaml$ key_groups: - age: - *dominik + - *dominik2 - *git-server - *web-01-server - *home-assistant-server @@ -55,52 +66,44 @@ creation_rules: key_groups: - age: - *dominik + - *dominik2 - *web-01-server - - path_regex: hosts/git.cloonar.com/modules/drone/[^/]+\.yaml$ - key_groups: - - age: - - *dominik - - *git-server - path_regex: hosts/web-01.cloonar.com/modules/zammad/[^/]+\.yaml$ key_groups: - age: - *dominik + - *dominik2 - *web-01-server - path_regex: utils/modules/plausible/[^/]+\.yaml$ key_groups: - age: - *dominik + - *dominik2 - *web-01-server - path_regex: hosts/mail.cloonar.com/modules/openldap/[^/]+\.yaml$ key_groups: - age: - *dominik + - *dominik2 - *ldap-server-arm - *ldap-server-test - - path_regex: hosts/home-assistant.cloonar.com/modules/home-assistant/[^/]+\.yaml$ - key_groups: - - age: - - *dominik - - *home-assistant-server - path_regex: hosts/web-01.cloonar.com/modules/authelia/[^/]+\.yaml$ key_groups: - age: - *dominik + - *dominik2 - *web-01-server - path_regex: hosts/web-01.cloonar.com/modules/nextcloud/[^/]+\.yaml$ key_groups: - age: - *dominik + - *dominik2 - *web-01-server - - path_regex: hosts/fw.cloonar.com/[^/]+\.yaml$ - key_groups: - - age: - - *dominik - - *fw - path_regex: utils/modules/promtail/[^/]+\.yaml$ key_groups: - age: - *dominik + - *dominik2 - *git-server - *web-01-server - *home-assistant-server @@ -113,6 +116,7 @@ creation_rules: key_groups: - age: - *dominik + - *dominik2 - *git-server - *web-01-server - *home-assistant-server diff --git a/fleet.nix b/fleet.nix index 01d5cc4..19b7b5e 100644 --- a/fleet.nix +++ b/fleet.nix @@ -31,6 +31,10 @@ username = "nb-01.cloonar.com"; key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDN/2SAFm50kraB1fepAizox/QRXxB7WbqVbH+5OPalDT47VIJGNKOKhixQoqhABHxEoLxdf/C83wxlCVlPV9poLfDgVkA3Lyt5r3tSFQ6QjjOJAgchWamMsxxyGBedhKvhiEzcr/Lxytnoz3kjDG8fqQJwEpdqMmJoMUfyL2Rqp16u+FQ7d5aJtwO8EUqovhMaNO7rggjPpV/uMOg+tBxxmscliN7DLuP4EMTA/FwXVzcFNbOx3K9BdpMRAaSJt4SWcJO2cS2KHA5n/H+PQI7nz5KN3Yr/upJN5fROhi/SHvK39QOx12Pv7FCuWlc+oR68vLaoCKYhnkl3DnCfc7A7"; } + { + username = "nb-new.cloonar.com"; + key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC1dDoAJUY58I+4SSfDAkO5kInsMcJT/r/mW+MYXLQVR"; + } { username = "fw.cloonar.com"; key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDtxpJAFohRtBaET9e7EE4I6UmeUT/h1ZTD1zeOHFiWB/AT71ooDT4/QukJOA3LqklDjtDQHH+qjGY50Wa8/oGTA/X3aBDPg5GAHN+U+kYO2UTC69VVjh4TTS35ijg+AdgegtMI4c0VIUMZB24tthV9KEbD20w6XnTzy2Q6PjbBrwsOeHYr9pkygJZDU65ZeKmLyR6yLaadHzXX1I7V2SwiakPEebhQaGipm540d+tAbirKCHcmiORkpd++e3dfwi25hC9bCQ7b3bdaFPAmuhhFEid4jpCt79X+l0qqpClgRLziBjYykNJDFKAljFBJA11/3ofPCuaBCDUuJVhAH044gtT3sbvJq1prd8ElZy6L1yc5YbfFgDMwi71Y2hef780NmDs5Opk9xUCKqdl1YfLyUDgdiiaZ8uhUMd2Ai9BAxJAXtcz/V41ngt3YkUVyGTZdTAODIKk44blGIkgs7JO4yam4UB1curbD0faIZnWLyS5pdFQ+FI05YVjoHXJdme8="; diff --git a/hosts/fw.cloonar.com/secrets.yaml b/hosts/fw.cloonar.com/secrets.yaml index c4b479d..31174e2 100644 --- a/hosts/fw.cloonar.com/secrets.yaml +++ b/hosts/fw.cloonar.com/secrets.yaml @@ -21,20 +21,29 @@ sops: - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvTEY4N1pPUEhHN0t4VzZ0 - R0ZZTkNidmg4dncwYlZ4VENBMnRrWmdKS1dJCkZCVThMR1ZvcElUV0Y4cDIvQjU1 - YWJJVFBJZm11NzVkd1o5dDZleGdBWXMKLS0tIGRYaGpTaEtJSjRXa0xmL253ZWVB - OWsrTmpjaHZQY2xLcitvWmtQRnM0em8KXWO/PbdVMQWTzE5xm1Ru2Fd4TaKn6V5w - QMTSTIHBujZEj4GOleXgTxlqxpcyajqK1942FkNk3Wb7nKMGc/8eyQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpalJkZWNhUzRJdTdhaElh + VlNGd3AzaW5ha1d4ekVESStQSC9mTnBGRzFRCmszVHVBMjFRZjRuejRjenhvdGZl + RkMxMmowbWdndDZvcHc5RDZBNGh2THcKLS0tIFVuU0ZIOXlpZEE1alVGaXhnbWhQ + T1BiZitwUHEvRGx2ZkdTTWJZQzJpOU0KH035L5mbJ1fDjmuNbmfCGZdJ/4eE9FeI + qM5/d51C3fP1uRjeLJFxObNlu/QG9MKql80fYF0NUboVGIUzHwv9gw== + -----END AGE ENCRYPTED FILE----- + - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIdm01UEx6OFZkOW5QTnp3 + bUpuczZUUFdhRnhBbUxabGNFY0Rzd3pDdGp3CnRZMk9JRTV5Q1Jwa1J5Q1dtd0lM + YzZKVzVRNldEa3JEL3h6TURPcHc4MWMKLS0tIGVEQnJ3N3c1ZHJ1Nitta2JRWDZP + VFZ3Qm5SYzRyVitTV2JkN2hWNEVMSDAKwHMncahsEQTsahAXr9VJFgsahUJ4yrOD + E1x6RAAI+2q8v3hPO8Rd8i6i/sELyM+NdK81WRrGwn8FHR8yZC7zoA== -----END AGE ENCRYPTED FILE----- - recipient: age1wq82xjyj80htz33x7agxddjfumr3wkwh3r24tasagepxw7ka893sau68df enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpNUczTXRuOE5ZUkZSOXhF - S1dHZjNaejRnbmFsbHJFaGJaOEU2UFNuYUU0CkRmZHhvWmozWUtpMDlxYkx4Mklq - NlJUTHZmeVZVdUtJWk8yb3lyekpCWE0KLS0tIGlJNzArbk5yOFhDT1prZzlQaXNt - Tlo3NHBlMkJEaXNOZkxSKytGSDNEMWcKquNuAzbPWwAjqc65BcAA/DMltFjC6Ayb - CKmJ7kaYFFUAIuBXhksvlH2b7vRZLT1QlwqUcRIRjxe+mZnsMIqE7w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoYWozckZEcGJRK0NoTEcr + N0JsUG9UMGV1NTNxa0RmK3QyYVp0Wm04S25vCkxsSnpWQ3NGaGZMalEreUZkZVZE + ZUk4R1M3cDdaU0NBa21Hc2lTaXFhdGcKLS0tIFcwRGJZU0hmUW5aRHZsNG1NZ25n + ejhXSmVkVjlhRDF3d1JDQlBzd2N3WncK6taU4OsyYoZc5P/2fMrSidLo2tYcH6Yw + tNJRIOqR2Iq1M4ey27jnTdw3NvYKyxjn60ZeW2xcn8CYrpf0X4gLQA== -----END AGE ENCRYPTED FILE----- lastmodified: "2024-04-30T23:51:24Z" mac: ENC[AES256_GCM,data:joDgRM3f4Faimhx/kU3YZmcaouuWlkyr5AniEWGzAsWkipp5XjIJ10gQ7nnu7zhVfTnwJCNoamjdkoAMfeINY6LK/QCVXIxr4821nqlhLbQfKlZYlEei4ryy1sXmW/n2uhV5rHJqmSo/OKfqGmdRY6heCefseNXDETfxj86NN0s=,iv:rAIspyGn7IFzXUuZZEPEuBnwRMOwBWwycXPiMXtDEKY=,tag:RISzmjUiV+fR6PUcz9PVDw==,type:str] diff --git a/hosts/mail.cloonar.com/secrets.yaml b/hosts/mail.cloonar.com/secrets.yaml index 5f91df8..920c42d 100644 --- a/hosts/mail.cloonar.com/secrets.yaml +++ b/hosts/mail.cloonar.com/secrets.yaml @@ -11,29 +11,38 @@ sops: - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLM2NrTGJyMXhEUUtuVjNi - bUlvdFJLa1IvcVpNRGttTlg1bjlyNDVyOEVjCnZzSkkyQlllNzVFaGR5RTUvMHpP - Y3BCVjFaakhxM21SRWNIcVdMRFpMMUUKLS0tIHlGYk95cXdtY0VGWFBkbVN1MWhH - ck83UzB4eFJpdmZNWGlUUll2MXJBcjQKQzrxa1yiFTHuUq5OQE686tMLfRbeg0rz - dxx6P6K9dBwJwg4xHWRbi+Wln6X/xrFqoHt/qeSpEp9dROA5d0xmXQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPRWdBcmEvQkQrOXZ0SDJW + eFpFSlBxbjlUbFlDVEZzS3dLSXN6MnBFT3lnCkZ1RGhoQjhtcGxEY1E1QlBvNUl0 + RWxnbzNldHBHUjhiZldYQm9iYWppcncKLS0tIG12WFdYSVdDYVZUaEFzUFhJS3A2 + Q0I2b2h4aFlkNkV1a1BFamhyd0ZBWTgKZwxpdydc1lgs3u9gkh2Krs8PGfcKwJTv + n7BV0FNa242wOT4Tu28O9SN7VR1zZR52iOgV7gWsCnhkNDk9kwiLHA== + -----END AGE ENCRYPTED FILE----- + - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoSHFtMUczc0tXaDZoQllM + eHFpYTFmcnpyYitwT1U2eGNuQm5MQms3YUdJCmpVS2hOVjFmUlVUZy9MZTZxQVlq + SU8xcmd2a0tvWlBMc2M1Wm5XV3ZQZTAKLS0tIG9qa2pQbDFIbFArejM1d1VRRVFY + VjJwdC8yQ1hweEllcGhYclNwTWFyZ1UKDKv14nnVx3FeL87FYFqZMU+niHBOvxHz + 3L3hBMEgpR/uMSuPmF4/NLVJTsktOonW9NKOzm37KsY2HNRXbuHoQg== -----END AGE ENCRYPTED FILE----- - recipient: age1jyeppc8yl2twnv8fwcewutd5gjewnxl59lmhev6ygds9qel8zf8syt7zz4 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArWnl2TStEL0JCUytkLzJy - YThjVHhlekgwTkZDK1pMc28zTlMvZGRiS1g0CnhlRjFrOFpER2lUWTVucWE0K0lv - Q3c1UVQ5L3hlUWlWUERMK3lWOVFQZVUKLS0tIHZTcks1enZwUUpEZklWNStUQlYz - bFFSendiRDVIVEd5bTh5RmVhd2g5eUkK5HHyJgqN0DA/fxxX5h4YM6MVQ9D/A2FS - VyfgGDPvXPPAUmwFh7DVjhS01kGjBfxFdmAIjUORT4HRrvapppxP3g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjY2JOWTA0a3pGL0dYc2t4 + aE8vTUNMNDVML2ZOSW9xeHlFRDQ5K1BLR3l3ClN4a25QZTEzaFk5bnVUYkk2dnRr + SWxNTklrZGM4enJ0WXBKaEJ6UDZUMzAKLS0tIDJudGtSVTVTV3ZrWWh6VnZFdEs3 + UFVlWE9wd3hRS0d3VEg5di9kNHBIeUEKov+NZ0pt4BUd5xXX9cTFSJF355Kg0ios + Va/kbzgG2SMvxMorNFDp+yJgGXM9rOycMJ1ajemKBM3r2QMcsIiMWA== -----END AGE ENCRYPTED FILE----- - recipient: age1azmxsw5llmp2nnsv3yc2l8paelmq9rfepxd8jvmswgsmax0qyyxqdnsc7t enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0a0Q2dTNhYnJWbDcxalpV - SWZxK00wM1VvdUhJU1ViSDM3T0kwcENFV3dVCldnNC8ySWlDTkIzS0JDaUNqTDFR - WFoyTHVHa1N0Y0laRHd3REQyNGpoQ2sKLS0tIEVheUJJc2FFUTdSWmVzTjVZSnh6 - NzRjSG1DTmtnSlJRWmRRMmR0QkxLM3MKm90Znwn1bH37KrC1mG1d5Bv+25HVGzRs - XjNHZzQQ/OqkpEIfElJCfxKBDMILhrmxJc3UkP+Mhh2SEurmM0BZ3A== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJVVRBY1RVdmdkTGxkT3N0 + YjJUdXU5blY3T1R2NFQwQ2MvUitTRjZOUGpjCkNMTUJOaCtGR0s4SGxENXRRd1lQ + cE9RbFUvL1RVZnZ1a3RlZ0YxbmFtOGsKLS0tIE8vMmE1YkZCM210SXEzRFZJeWZL + eC80bWxndE85RlZGRUFTcDdaZ2J1VE0KZ0FERlT1kdUE+WxSi57YowqDQtA9BoV1 + MZoPePwGkRr27MHnPYIhoniUXC7mhQ4rqvcbFy6i1n4r1CqkRFBM3g== -----END AGE ENCRYPTED FILE----- lastmodified: "2023-08-19T12:50:38Z" mac: ENC[AES256_GCM,data:4GtrWeB4m2fO+eQFt/bSoCN0MRR9XdayWLuJVdg8rBZ6iDx3Kf4qSMPsFyaTCRhNC72dCz4k9v011Yco4W6Jkd/iBm4tPHxLeldSRAtgt1X7U03ye6ZqAKZA/F5OjZMGPYsE2gypXAOkLbpQ5qeYuInWc64Ox0RTULhwzsXKxLA=,iv:SmqJUiHh0GJjegFTCXLPH3RKabvsJZ1y+EnbMnbGlOE=,tag:M+v+3GxNqiV/fnpVKn2I+g==,type:str] diff --git a/hosts/nb-01.cloonar.com/modules/sway/sway.conf b/hosts/nb-01.cloonar.com/modules/sway/sway.conf index b944954..b4018c1 100644 --- a/hosts/nb-01.cloonar.com/modules/sway/sway.conf +++ b/hosts/nb-01.cloonar.com/modules/sway/sway.conf @@ -258,7 +258,7 @@ assign [title="terminal-sway"] → $ws1 assign [app_id="foot" title="^(?!terminal-sway)$"] → $ws2 assign [app_id="chromium"] → $ws3 assign [app_id="firefox"] → $ws3 -assign [app_id="librewolf"] → $ws3 +assign [app_id="librewolf"] → $ws3 assign [app_id="pcmanfm"] → $ws4 assign [app_id="libreoffice-calc"] → $ws5 assign [app_id="libreoffice-writer"] → $ws5 @@ -294,11 +294,11 @@ exec configure-gtk exec nm-applet --indicator exec alacritty -t alacritty-sway exec signal-desktop -exec librewolf --name=social -P social +exec firefox --name=social -p social exec thunderbird -exec librewolf +exec firefox exec nextcloud -exec owncloud +exec cryptomator exec swayidle \ before-sleep 'loginctl lock-session $XDG_SESSION_ID' \ lock 'swaylock --image ~/.wallpaper.jpg' \ diff --git a/hosts/nb-01.cloonar.com/modules/sway/sway.nix b/hosts/nb-01.cloonar.com/modules/sway/sway.nix index 85770b7..f0904b3 100644 --- a/hosts/nb-01.cloonar.com/modules/sway/sway.nix +++ b/hosts/nb-01.cloonar.com/modules/sway/sway.nix @@ -80,7 +80,6 @@ in { hunspellDicts.en_US jmeter libreoffice - librewolf mako mqttui networkmanagerapplet diff --git a/hosts/nb-01.cloonar.com/modules/sway/thunderbird.nix b/hosts/nb-01.cloonar.com/modules/sway/thunderbird.nix index 935867b..c757970 100644 --- a/hosts/nb-01.cloonar.com/modules/sway/thunderbird.nix +++ b/hosts/nb-01.cloonar.com/modules/sway/thunderbird.nix @@ -5,13 +5,13 @@ let name = "thunderbird-work"; desktopName = "Thunderbird Work"; icon = "thunderbird"; - exec = "thunderbird -P work"; + exec = "thunderbird -p work"; }; thunderbirdCloonarDesktopItem = pkgs.makeDesktopItem { name = "thunderbird-cloonar"; desktopName = "Thunderbird Cloonar"; icon = "thunderbird"; - exec = "thunderbird -P cloonar"; + exec = "thunderbird -p cloonar"; }; in { diff --git a/hosts/nb-01.cloonar.com/secrets.yaml b/hosts/nb-01.cloonar.com/secrets.yaml index c7fb4ee..7757ff8 100644 --- a/hosts/nb-01.cloonar.com/secrets.yaml +++ b/hosts/nb-01.cloonar.com/secrets.yaml @@ -10,23 +10,23 @@ sops: azure_kv: [] hc_vault: [] age: - - recipient: age17c4swm58zt07axl5u6kkxrwtr5haqkvu4ye4t98qdph98qdclgtq2cyzkq - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5YU9aUnQ0UGFpQXd1K2Iv - L2N6SGxHdUFyYWJ1VXJaYVhSWXc4cWxCR2swCjAveDVHOTlZUFFTTmpsWVZBL2pK - WC9RQXBzSnhCRER6YUxOYUhsYlVkdXMKLS0tIDBQbEd5cEZaL0hPYnRuTko0K0xj - eG5OS3VxejJ5TlRzZ3J5bEpOYUdYVkEKa2vD9530ZmtJF4WpR5RG7pE28ItBbGl5 - p1+5ywz1j2VPLNLEPMJ5b2T+XlqsG5k7gagGVQkkCcwEUEF+PH7MwQ== - -----END AGE ENCRYPTED FILE----- - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHRFVuLyt2YnFMWktPRzd2 - V1prSDlhVGtJQlVPdjNZWitib3RGLy93UndjCjZzSnlHd2V0MUZJU2laaDM0QWNw - S25sQ0pGSzhic1V3ZHVnaVZGUzZ1Q2sKLS0tIHVtNjFLSGtIbGdmKzlDVTlhYXRO - QTVtNWg4NnV2d0l5ZXpnblFlQXpVRXMKL6ra16PdbJiw0vqo4wA/AwN48rGSDcWD - B9xb/vORVGhGbbQvZmqMHcegkYSydprGPI/Xc2JcKyOUy4oimvrgQw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmTVMrSENXV213bThlL2xj + Rkw3Z2R0bCsxN05OaVE5VHpjN2VDMWNJWno0Ck1WQURoNXRMWGlVK2R5TThRSmNy + T3NJUVpDaUx2Rm5peVlZakMvQkdZaUkKLS0tIENLVlBEUWRWTlVIMnV4cG05OUQ1 + UFZ1MTBkTHNMNEVUVzJuNU56WjI0aXMK79Z5+OMEp/ZR9OkFxnjAnOXDcJaagOkL + iSMvU4cD+GMQZCMVMCRAxuPQEaTcCIiZcCxkyVeod4GRA0MdwIGCsA== + -----END AGE ENCRYPTED FILE----- + - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYaWtOVWZzdGtCTFZ6T0N1 + UEdFdWJEeW5BTzVsMU0wd3pwTnl6WFZRMkI0CkRRRWtNK0prVmFad09SNXV1WTV0 + dlhjR3JubVY3b05WTFZvQXhoTGZwWU0KLS0tIFAyTS9HMnNiYnVsUklhbzdjUkxv + bWRUTk9VTTQ5TU5MZnU1bitUa0dzYncK4Sp/tVHlYjFON9W665DJ7a4ARl8Nie7l + g1eGwOGIb6+V6zXVb4uBAMTsKBFVerggYuwYepXc/n7UQT4iBjdWaQ== -----END AGE ENCRYPTED FILE----- lastmodified: "2022-11-30T08:33:24Z" mac: ENC[AES256_GCM,data:/vJdDVpv+iM66wANeLLl+CPtg2j1OCyKlGHhsQQT/RphUj4IlIsjKj+j59lmM6bRBfebTTRt1scFgz8CCPoyfSH0KrAyPLPs1SPxZT6Le87PkmO2rfH0MpNCrBDUdtpMgKs+kbxSzbqnh6X3+juXnOL3oUB3K0cdF6hAr4cP5xU=,iv:3IxaC/8y8FwKxO3mPP7f/byjYih3O6zZU6HJK2cAPvw=,tag:g8crhgnYs670wLPcC3HIhw==,type:str] diff --git a/hosts/nb-01.cloonar.com/users/dominik.nix b/hosts/nb-01.cloonar.com/users/dominik.nix index 4b08745..83315a3 100644 --- a/hosts/nb-01.cloonar.com/users/dominik.nix +++ b/hosts/nb-01.cloonar.com/users/dominik.nix @@ -330,7 +330,7 @@ EOL user = "root"; identityFile = "~/.ssh/epicenter.id_rsa"; }; - "*.epicenter.works" = { + "*.epicenter.works !tools.epicenter.works" = { user = "dominik"; identityFile = "~/.ssh/epicenter.id_rsa"; }; diff --git a/hosts/nb-new.cloonar.com/channel b/hosts/nb-new.cloonar.com/channel new file mode 100644 index 0000000..425c774 --- /dev/null +++ b/hosts/nb-new.cloonar.com/channel @@ -0,0 +1 @@ +https://channels.nixos.org/nixos-24.05 diff --git a/hosts/nb-new.cloonar.com/configuration.nix b/hosts/nb-new.cloonar.com/configuration.nix new file mode 100644 index 0000000..214c5c8 --- /dev/null +++ b/hosts/nb-new.cloonar.com/configuration.nix @@ -0,0 +1,188 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ config, pkgs, ... }: +let + unstable = import { config = { allowUnfree = true; }; }; + impermanence = builtins.fetchTarball "https://github.com/nix-community/impermanence/archive/master.tar.gz"; +in { + nixpkgs.config.allowUnfree = true; + + imports = + [ # Include the results of the hardware scan. + "${impermanence}/nixos.nix" + ./utils/bento.nix + + ./utils/modules/sops.nix + ./utils/modules/nur.nix + ./modules/sway/sway.nix + # ./modules/gnome.nix + ./modules/printer.nix + ./modules/nvim/default.nix + ./utils/modules/autoupgrade.nix + + ./users + + ./hardware-configuration.nix + ]; + + nixpkgs.overlays = [ + (import ./utils/overlays/packages.nix) + ]; + + fonts.packages = with pkgs; [ + open-sans + ]; + + # nixos cross building qemu + boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; + boot.supportedFilesystems = [ "ntfs" ]; + boot.plymouth.enable = true; + boot.plymouth.theme = "breeze"; + boot.kernelParams = ["quiet"]; + + environment.persistence."/nix/persist/system" = { + hideMounts = true; + directories = [ + "/etc/nixos" + "/var/bento" + "/var/log" + "/var/lib/bluetooth" + "/var/lib/nixos" + ]; + files = [ + "/etc/machine-id" + { file = "/etc/ssh/ssh_host_ed25519_key"; parentDirectory = { mode = "u=rwx,g=,o="; }; } + { file = "/etc/ssh/ssh_host_ed25519_key.pub"; parentDirectory = { mode = "u=rwx,g=,o="; }; } + { file = "/etc/ssh/ssh_host_rsa_key"; parentDirectory = { mode = "u=rwx,g=,o="; }; } + { file = "/etc/ssh/ssh_host_rsa_key.pub"; parentDirectory = { mode = "u=rwx,g=,o="; }; } + ]; + }; + + sops.defaultSopsFile = ./secrets.yaml; + sops.age.keyFile = "/var/lib/sops-nix/key.txt"; + sops.age.generateKey = true; + + sops.secrets.epicenter_vpn_ca = {}; + sops.secrets.epicenter_vpn_cert = {}; + sops.secrets.epicenter_vpn_key = {}; + sops.secrets.wg_private_key = {}; + sops.secrets.wg_preshared_key = {}; + sops.secrets.wg-cloonar-key = {}; + + virtualisation.docker.enable = true; + + networking.hostName = "nb-01"; # Define your hostname. + networking.resolvconf.enable = true; + networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. + networking.extraHosts = '' + 10.25.0.25 archive.zeichnemit.at + 127.0.0.1 wohnservice.local mieterhilfe.local wohnpartner.local wohnberatung.local wienbautvor.local wienwohntbesser.local + 127.0.0.1 wohnservice-wien.local mieterhilfe.local wohnpartner-wien.local wohnberatung-wien.local wienbautvor.local wienwohntbesser.local + 127.0.0.1 diabetes.local + 127.0.0.1 test.cloonar.com + ''; + + services.xserver = { + enable = true; + excludePackages = [ pkgs.xterm ]; + displayManager.gdm.enable = true; + displayManager.gdm.wayland = true; + # displayManager.sddm.enable = true; + displayManager.sessionPackages = [ pkgs.sway ]; + displayManager.defaultSession = "sway"; + libinput.enable = true; + }; + + # Set your time zone. + time.timeZone = "Europe/Vienna"; + console.keyMap = "de"; + + users.users.dominik = { + isNormalUser = true; + extraGroups = [ "wheel" "disk" "video" "audio" "mysql" "docker" "vboxusers" "networkmanager" "onepassword" "onepassword-cli" "dialout" ]; # Enable ‘sudo’ for the user. + }; + + environment.systemPackages = with pkgs; [ + bento + vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. + wget + docker-compose + drone-cli + wireguard-tools + wineWowPackages.stable + wineWowPackages.fonts + winetricks + git-filter-repo + ykfde + nix-prefetch-git + unstable.rustdesk-flutter + ]; + + environment.variables = { + TERMINAL_COMMAND = "alacritty"; + }; + + services.blueman.enable = true; + + system.stateVersion = "24.05"; # Did you read the comment? + + security.polkit.enable = true; + systemd = { + user.services.polkit-gnome-authentication-agent-1 = { + description = "polkit-gnome-authentication-agent-1"; + wantedBy = [ "graphical-session.target" ]; + wants = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; + Restart = "on-failure"; + RestartSec = 1; + TimeoutStopSec = 10; + }; + }; + }; + + networking.wireguard.interfaces = { + wg0 = { + # Determines the IP address and subnet of the client's end of the tunnel interface. + ips = [ "10.42.98.201/32" ]; + # Path to the private key file. + # + # Note: The private key can also be included inline via the privateKey option, + # but this makes the private key world-readable; thus, using privateKeyFile is + # recommended. + # publicKey: YdlRGsjh4hS3OMJI+t6SZ2eGXKbs0wZBXWudHW4NyS8= + privateKeyFile = config.sops.secrets.wg-cloonar-key.path; + + peers = [ + { + publicKey = "TKQVDmBnf9av46kQxLQSBDhAeaK8r1zh8zpU64zuc1Q="; + allowedIPs = [ "10.42.96.0/20" "10.14.0.0/16" "10.25.0.0/16" ]; + endpoint = "vpn.cloonar.com:51820"; # ToDo: route to endpoint not automatically configured https://wiki.archlinux.org/index.php/WireGuard#Loop_routing https://discourse.nixos.org/t/solved-minimal-firewall-setup-for-wireguard-client/7577 + persistentKeepalive = 25; + } + ]; + }; + }; + + nix = { + settings.auto-optimise-store = true; + # autoOptimiseStore = true; + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + # Free up to 1GiB whenever there is less than 100MiB left. + extraOptions = '' + min-free = ${toString (100 * 1024 * 1024)} + max-free = ${toString (1024 * 1024 * 1024)} + ''; + }; + + +} + diff --git a/hosts/nb-new.cloonar.com/hardware-configuration.nix b/hosts/nb-new.cloonar.com/hardware-configuration.nix new file mode 100644 index 0000000..155d318 --- /dev/null +++ b/hosts/nb-new.cloonar.com/hardware-configuration.nix @@ -0,0 +1,56 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: +{ + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + boot.initrd.availableKernelModules = [ "vfat" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ "kvm-amd" ]; + boot.kernelModules = [ "amdgpu" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { + device = "none"; + fsType = "tmpfs"; + options = [ "size=3G" "mode=755" ]; + }; + + fileSystems."/nix" = + { device = "/dev/disk/by-uuid/856e1ebe-832f-422d-8d91-d43a5d852abb"; + fsType = "f2fs"; + }; + + boot.initrd.luks.devices."enc".device = "/dev/disk/by-uuid/08897ecb-23ce-4352-a1fc-fa442b9e0f72"; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/1521-B173"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp52s0.useDHCP = lib.mkDefault true; + + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + + hardware.opengl = { + enable = true; + extraPackages = with pkgs; [ + vaapiVdpau + libvdpau-va-gl + ]; + }; +} diff --git a/hosts/nb-new.cloonar.com/modules/nvim/config/bufferline.lua b/hosts/nb-new.cloonar.com/modules/nvim/config/bufferline.lua new file mode 100644 index 0000000..a792254 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/nvim/config/bufferline.lua @@ -0,0 +1,221 @@ +local function is_ft(b, ft) + return vim.bo[b].filetype == ft +end + +local function diagnostics_indicator(num, _, diagnostics, _) + local result = {} + local symbols = { + error = Icons.diagnostics.Error, + warning = Icons.diagnostics.Warning, + info = Icons.diagnostics.Information, + } + for name, count in pairs(diagnostics) do + if symbols[name] and count > 0 then + table.insert(result, symbols[name] .. " " .. count) + end + end + result = table.concat(result, " ") + return #result > 0 and result or "" +end + +local function custom_filter(buf, buf_nums) + local logs = vim.tbl_filter(function(b) + return is_ft(b, "log") + end, buf_nums) + if vim.tbl_isempty(logs) then + return true + end + local tab_num = vim.fn.tabpagenr() + local last_tab = vim.fn.tabpagenr "$" + local is_log = is_ft(buf, "log") + if last_tab == 1 then + return true + end + -- only show log buffers in secondary tabs + return (tab_num == last_tab and is_log) or (tab_num ~= last_tab and not is_log) +end + + +local config = { + active = true, + on_config_done = nil, + keymap = { + normal_mode = {}, + }, + highlights = { + background = { + italic = true, + }, + buffer_selected = { + bold = true, + }, + }, + options = { + mode = "buffers", -- set to "tabs" to only show tabpages instead + numbers = "none", -- can be "none" | "ordinal" | "buffer_id" | "both" | function + close_command = function(bufnr) -- can be a string | function, see "Mouse actions" + buf_kill("bd", bufnr, false) + end, + right_mouse_command = "vert sbuffer %d", -- can be a string | function, see "Mouse actions" + left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" + middle_mouse_command = nil, -- can be a string | function, see "Mouse actions" + indicator = { + icon = Icons.ui.BoldLineLeft, -- this should be omitted if indicator style is not 'icon' + style = "icon", -- can also be 'underline'|'none', + }, + buffer_close_icon = Icons.ui.Close, + modified_icon = Icons.ui.Circle, + close_icon = Icons.ui.BoldClose, + left_trunc_marker = Icons.ui.ArrowCircleLeft, + right_trunc_marker = Icons.ui.ArrowCircleRight, + --- name_formatter can be used to change the buffer's label in the bufferline. + --- Please note some names can/will break the + --- bufferline so use this at your discretion knowing that it has + --- some limitations that will *NOT* be fixed. + name_formatter = function(buf) -- buf contains a "name", "path" and "bufnr" + -- remove extension from markdown files for example + if buf.name:match "%.md" then + return vim.fn.fnamemodify(buf.name, ":t:r") + end + end, + max_name_length = 18, + max_prefix_length = 15, -- prefix used when a buffer is de-duplicated + truncate_names = true, -- whether or not tab names should be truncated + tab_size = 18, + diagnostics = "nvim_lsp", + diagnostics_update_in_insert = false, + diagnostics_indicator = diagnostics_indicator, + -- NOTE: this will be called a lot so don't do any heavy processing here + custom_filter = custom_filter, + offsets = { + { + filetype = "undotree", + text = "Undotree", + highlight = "PanelHeading", + padding = 1, + }, + { + filetype = "NvimTree", + text = "Explorer", + highlight = "PanelHeading", + padding = 1, + }, + { + filetype = "DiffviewFiles", + text = "Diff View", + highlight = "PanelHeading", + padding = 1, + }, + { + filetype = "flutterToolsOutline", + text = "Flutter Outline", + highlight = "PanelHeading", + }, + { + filetype = "packer", + text = "Packer", + highlight = "PanelHeading", + padding = 1, + }, + }, + color_icons = true, -- whether or not to add the filetype icon highlights + show_buffer_icons = true, -- disable filetype icons for buffers + show_buffer_close_icons = true, + show_close_icon = false, + show_tab_indicators = true, + persist_buffer_sort = true, -- whether or not custom sorted buffers should persist + -- can also be a table containing 2 custom separators + -- [focused and unfocused]. eg: { '|', '|' } + separator_style = "thin", + enforce_regular_tabs = false, + always_show_bufferline = false, + hover = { + enabled = false, -- requires nvim 0.8+ + delay = 200, + reveal = { "close" }, + }, + sort_by = "id", + }, +} + +--require('keymappings').load(config.keymap) + +require("bufferline").setup({ + options = config.options, + highlights = config.highlights, +}) + +--stylua: ignore + +-- Common kill function for bdelete and bwipeout +-- credits: based on bbye and nvim-bufdel +---@param kill_command? string defaults to "bd" +---@param bufnr? number defaults to the current buffer +---@param force? boolean defaults to false +function buf_kill(kill_command, bufnr, force) + kill_command = kill_command or "bd" + + local bo = vim.bo + local api = vim.api + local fmt = string.format + local fnamemodify = vim.fn.fnamemodify + + if bufnr == 0 or bufnr == nil then + bufnr = api.nvim_get_current_buf() + end + + local bufname = api.nvim_buf_get_name(bufnr) + + if not force then + local warning + if bo[bufnr].modified then + warning = fmt([[No write since last change for (%s)]], fnamemodify(bufname, ":t")) + elseif api.nvim_buf_get_option(bufnr, "buftype") == "terminal" then + warning = fmt([[Terminal %s will be killed]], bufname) + end + if warning then + vim.ui.input({ + prompt = string.format([[%s. Close it anyway? [y]es or [n]o (default: no): ]], warning), + }, function(choice) + if choice:match "ye?s?" then force = true end + end) + if not force then return end + end + end + + -- Get list of windows IDs with the buffer to close + local windows = vim.tbl_filter(function(win) + return api.nvim_win_get_buf(win) == bufnr + end, api.nvim_list_wins()) + + if force then + kill_command = kill_command .. "!" + end + + -- Get list of active buffers + local buffers = vim.tbl_filter(function(buf) + return api.nvim_buf_is_valid(buf) and bo[buf].buflisted + end, api.nvim_list_bufs()) + + -- If there is only one buffer (which has to be the current one), vim will + -- create a new buffer on :bd. + -- For more than one buffer, pick the previous buffer (wrapping around if necessary) + if #buffers > 1 and #windows > 0 then + for i, v in ipairs(buffers) do + if v == bufnr then + local prev_buf_idx = i == 1 and (#buffers - 1) or (i - 1) + local prev_buffer = buffers[prev_buf_idx] + for _, win in ipairs(windows) do + api.nvim_win_set_buf(win, prev_buffer) + end + end + end + end + + -- Check if buffer still exists, to ensure the target buffer wasn't killed + -- due to options like bufhidden=wipe. + if api.nvim_buf_is_valid(bufnr) and bo[bufnr].buflisted then + vim.cmd(string.format("%s %d", kill_command, bufnr)) + end +end + diff --git a/hosts/nb-new.cloonar.com/modules/nvim/config/copilot.lua b/hosts/nb-new.cloonar.com/modules/nvim/config/copilot.lua new file mode 100644 index 0000000..32ad2ea --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/nvim/config/copilot.lua @@ -0,0 +1,2 @@ +vim.api.nvim_set_keymap('i', '', 'copilot#Accept("")', { expr=true, noremap = true, silent = true }) +vim.g.copilot_no_tab_map = true diff --git a/hosts/nb-new.cloonar.com/modules/nvim/config/icons.lua b/hosts/nb-new.cloonar.com/modules/nvim/config/icons.lua new file mode 100644 index 0000000..7f1e70a --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/nvim/config/icons.lua @@ -0,0 +1,155 @@ +Icons = { + kind = { + Array = "", + Boolean = "蘒", + Class = "", + Color = "", + Constant = "", + Constructor = "", + Enum = "", + EnumMember = "", + Event = "", + Field = "", + File = "", + Folder = "", + Function = "", + Interface = "", + Key = "", + Keyword = "", + Method = "", + Module = "", + Namespace = "", + Null = "ﳠ", + Number = "", + Object = "", + Operator = "", + Package = "", + Property = "", + Reference = "", + Snippet = "", + String = "", + Struct = "", + Text = "", + TypeParameter = "", + Unit = "", + Value = "", + Variable = "", + }, + git = { + LineAdded = "", + LineModified = "", + LineRemoved = "", + FileDeleted = "", + FileIgnored = "◌", + FileRenamed = "➜", + FileStaged = "S", + FileUnmerged = "", + FileUnstaged = "", + FileUntracked = "U", + Diff = "", + Repo = "", + Octoface = "", + Branch = "", + }, + ui = { + ArrowCircleDown = "", + ArrowCircleLeft = "", + ArrowCircleRight = "", + ArrowCircleUp = "", + BoldArrowDown = "", + BoldArrowLeft = "", + BoldArrowRight = "", + BoldArrowUp = "", + BoldClose = "", + BoldDividerLeft = "", + BoldDividerRight = "", + BoldLineLeft = "▎", + BookMark = "", + BoxChecked = "", + Bug = "", + Stacks = " ", + Scopes = "", + Watches = "", + DebugConsole = " ", + Calendar = "", + Check = "", + ChevronRight = ">", + ChevronShortDown = "", + ChevronShortLeft = "", + ChevronShortRight = "", + ChevronShortUp = "", + Circle = "", + Close = "", + CloudDownload = "", + Code = "", + Comment = "", + Dashboard = "", + DividerLeft = "", + DividerRight = "", + DoubleChevronRight = "»", + Ellipsis = "…", + EmptyFolder = "", + EmptyFolderOpen = "", + File = "", + FileSymlink = "", + Files = "", + FindFile = "", + FindText = "", + Fire = "", + Folder = "", + FolderOpen = "", + FolderSymlink = "", + Forward = "", + Gear = "", + History = "", + Lightbulb = "", + LineLeft = "▏", + LineMiddle = "│", + List = "", + Lock = "", + NewFile = "", + Note = "", + Package = "", + Pencil = "", + Plus = "", + Project = "", + Search = "", + SignIn = "", + SignOut = "", + Tab = "", + Table = "", + Target = "", + Telescope = "", + Text = "", + Tree = "", + Triangle = "契", + TriangleShortArrowDown = "", + TriangleShortArrowLeft = "", + TriangleShortArrowRight = "", + TriangleShortArrowUp = "", + }, + diagnostics = { + BoldError = "", + Error = "", + BoldWarning = "", + Warning = "", + BoldInformation = "", + Information = "", + BoldQuestion = "", + Question = "", + BoldHint = "", + Hint = "", + Debug = "", + Trace = "✎", + }, + misc = { + Robot = "ﮧ", + Squirrel = "", + Tag = "", + Watch = "", + Smiley = "ﲃ", + Package = "", + CircuitBoard = "", + }, +} + diff --git a/hosts/nb-new.cloonar.com/modules/nvim/config/init.lua b/hosts/nb-new.cloonar.com/modules/nvim/config/init.lua new file mode 100644 index 0000000..bf2ede8 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/nvim/config/init.lua @@ -0,0 +1,58 @@ +-- vim.opt.expandtab = true +-- vim.opt.hidden = true +-- vim.opt.incsearch = true +-- vim.opt.mouse = "a" +-- vim.opt.number = true +-- vim.opt.shiftwidth = 2 +-- vim.opt.splitbelow = true +-- vim.opt.splitright = true +-- vim.opt.signcolumn = "yes:3" +-- vim.opt.tabstop = 2 +-- vim.opt.timeoutlen = 0 +-- vim.wo.wrap = false +-- vim.opt.exrc = true +-- vim.cmd("syntax on") + +vim.opt.backup = false -- creates a backup file +vim.opt.clipboard = "unnamedplus" -- allows neovim to access the system clipboard +vim.opt.cmdheight = 2 -- more space in the neovim command line for displaying messages +vim.opt.colorcolumn = "99999" -- fixes indentline for now +vim.opt.completeopt = { "menuone", "noselect" } +vim.opt.conceallevel = 0 -- so that `` is visible in markdown files +vim.opt.fileencoding = "utf-8" -- the encoding written to a file +vim.opt.foldmethod = "manual" -- folding set to "expr" for treesitter based folding +vim.opt.foldexpr = "" -- set to "nvim_treesitter#foldexpr()" for treesitter based folding +vim.opt.guifont = "monospace:h17" -- the font used in graphical neovim applications +vim.opt.hidden = true -- required to keep multiple buffers and open multiple buffers +vim.opt.hlsearch = true -- highlight all matches on previous search pattern +vim.opt.ignorecase = true -- ignore case in search patterns +vim.opt.mouse = "a" -- allow the mouse to be used in neovim +vim.opt.pumheight = 10 -- pop up menu height +vim.opt.showmode = false -- we don't need to see things like -- INSERT -- anymore +vim.opt.showtabline = 2 -- always show tabs +vim.opt.smartcase = true -- smart case +vim.opt.smartindent = true -- make indenting smarter again +vim.opt.splitbelow = true -- force all horizontal splits to go below current window +vim.opt.splitright = true -- force all vertical splits to go to the right of current window +vim.opt.swapfile = false -- creates a swapfile +vim.opt.termguicolors = true -- set term gui colors (most terminals support this) +vim.opt.timeoutlen = 100 -- time to wait for a mapped sequence to complete (in milliseconds) +vim.opt.title = true -- set the title of window to the value of the titlestring +vim.opt.titlestring = "%<%F%=%l/%L - nvim" -- what the title of the window will be set to +vim.opt.undodir = vim.fn.stdpath "cache" .. "/undo" +vim.opt.undofile = true -- enable persistent undo +vim.opt.updatetime = 300 -- faster completion +vim.opt.writebackup = false -- if a file is being edited by another program (or was written to file while editing with another program) it is not allowed to be edited +vim.opt.expandtab = true -- convert tabs to spaces +vim.opt.shiftwidth = 2 -- the number of spaces inserted for each indentation +vim.opt.tabstop = 2 -- insert 2 spaces for a tab +vim.opt.cursorline = true -- highlight the current line +vim.opt.number = true -- set numbered lines +vim.opt.relativenumber = false -- set relative numbered lines +vim.opt.numberwidth = 4 -- set number column width to 2 {default 4} +vim.opt.signcolumn = "yes" -- always show the sign column otherwise it would shift the text each time +vim.opt.wrap = false -- display lines as one long line +vim.opt.spell = false +vim.opt.spelllang = "en" +vim.opt.scrolloff = 8 -- is one of my fav +vim.opt.sidescrolloff = 8 diff --git a/hosts/nb-new.cloonar.com/modules/nvim/config/keymappings.lua b/hosts/nb-new.cloonar.com/modules/nvim/config/keymappings.lua new file mode 100644 index 0000000..c320f74 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/nvim/config/keymappings.lua @@ -0,0 +1,145 @@ +local generic_opts_any = { noremap = true, silent = true } + +local generic_opts = { + insert_mode = generic_opts_any, + normal_mode = generic_opts_any, + visual_mode = generic_opts_any, + visual_block_mode = generic_opts_any, + command_mode = generic_opts_any, + term_mode = { silent = true }, +} + +local mode_adapters = { + insert_mode = "i", + normal_mode = "n", + term_mode = "t", + visual_mode = "v", + visual_block_mode = "x", + command_mode = "c", +} + +---@class Keys +---@field insert_mode table +---@field normal_mode table +---@field terminal_mode table +---@field visual_mode table +---@field visual_block_mode table +---@field command_mode table + +local defaults = { + insert_mode = { + -- Move current line / block with Alt-j/k ala vscode. + [""] = ":m .+1==gi", + -- Move current line / block with Alt-j/k ala vscode. + [""] = ":m .-2==gi", + -- navigation + [""] = "k", + [""] = "j", + [""] = "h", + [""] = "l", + }, + + normal_mode = { + -- Better window movement + [""] = "h", + [""] = "j", + [""] = "k", + [""] = "l", + + -- Resize with arrows + [""] = ":resize -2", + [""] = ":resize +2", + [""] = ":vertical resize -2", + [""] = ":vertical resize +2", + + -- Move current line / block with Alt-j/k a la vscode. + [""] = ":m .+1==", + [""] = ":m .-2==", + + -- QuickFix + ["]q"] = ":cnext", + ["[q"] = ":cprev", + [""] = ":call QuickFixToggle()", + }, + + term_mode = { + -- Terminal window navigation + [""] = "h", + [""] = "j", + [""] = "k", + [""] = "l", + }, + + visual_mode = { + -- Better indenting + ["<"] = ""] = ">gv", + + -- ["p"] = '"0p', + -- ["P"] = '"0P', + }, + + visual_block_mode = { + -- Move current line / block with Alt-j/k ala vscode. + [""] = ":m '>+1gv-gv", + [""] = ":m '<-2gv-gv", + }, + + command_mode = { + -- navigate tab completion with and + -- runs conditionally + [""] = { 'pumvisible() ? "\\" : "\\"', { expr = true, noremap = true } }, + [""] = { 'pumvisible() ? "\\" : "\\"', { expr = true, noremap = true } }, + }, +} + +if vim.fn.has "mac" == 1 then + defaults.normal_mode[""] = defaults.normal_mode[""] + defaults.normal_mode[""] = defaults.normal_mode[""] + defaults.normal_mode[""] = defaults.normal_mode[""] + defaults.normal_mode[""] = defaults.normal_mode[""] + Log:debug "Activated mac keymappings" +end + +function set_keymaps(mode, key, val) + local opt = generic_opts[mode] or generic_opts_any + if type(val) == "table" then + opt = val[2] + val = val[1] + end + if val then + vim.keymap.set(mode, key, val, opt) + else + pcall(vim.api.nvim_del_keymap, mode, key) + end +end + +function load_mode(mode, keymaps) + mode = mode_adapters[mode] or mode + for k, v in pairs(keymaps) do + set_keymaps(mode, k, v) + end +end + +function load(keymaps) + keymaps = keymaps or {} + for mode, mapping in pairs(keymaps) do + load_mode(mode, mapping) + end +end + +function load_defaults() + load(get_defaults()) + keys = keys or {} + for idx, _ in pairs(defaults) do + if not keys[idx] then + keys[idx] = {} + end + end +end + +function get_defaults() + return defaults +end + +load_defaults() diff --git a/hosts/nb-new.cloonar.com/modules/nvim/config/lspconfig.lua b/hosts/nb-new.cloonar.com/modules/nvim/config/lspconfig.lua new file mode 100644 index 0000000..ba32f57 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/nvim/config/lspconfig.lua @@ -0,0 +1,45 @@ +local status, lspc = pcall(require, 'lspconfig') +if (not status) then return end + +lspc.clangd.setup{} + +local buf_map = function(bufnr, mode, lhs, rhs, opts) + vim.api.nvim_buf_set_keymap(bufnr, mode, lhs, rhs, opts or { + silent = true, + }) +end + +local protocol = require('vim.lsp.protocol') + +local on_attach = function(client, buffnr) + if client.server.capabilities.documentFormattingProvider then + vimapi.nvim_create_autocmd("BufWritePre", { + group = vim.api.nvim_create_augroup("format", { clear = true }), + buffer = buffnr, + callback = function() vim.lsp.buf.formatting_seq_sync() end + }) + end +end + +local capabilities = vim.lsp.protocol.make_client_capabilities() +capabilities.textDocument.completion.completionItem.snippetSupport = true +capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities) + +local servers = { 'tsserver', 'lua', 'cssls', 'yamlls', 'intelephense' } +for _, lsp in pairs(servers) do + require('lspconfig')[lsp].setup { + -- on_attach = on_attach, + capabilities = capabilities, + } +end + +lspc.yamlls.setup({ + settings = { + yaml = { + keyOrdering = false, + }, + }, +}); + + +-- lspc.intelephense.setup() diff --git a/hosts/nb-new.cloonar.com/modules/nvim/config/nvim-cmp.lua b/hosts/nb-new.cloonar.com/modules/nvim/config/nvim-cmp.lua new file mode 100644 index 0000000..13bff54 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/nvim/config/nvim-cmp.lua @@ -0,0 +1,73 @@ +local has_words_before = function() + local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil +end + +local feedkey = function(key, mode) + vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true), mode, true) +end + +local cmp = require("cmp") +local lspkind = require("lspkind") + +cmp.setup({ + sources = { + { name = "nvim_lsp" }, + { name = "cmp_tabnine" }, + { name = "treesitter" }, + { name = "buffer" }, + { name = "path" }, + { name = "vsnip" }, + -- { name = "copilot" }, + }, + + snippet = { + expand = function(args) + vim.fn["vsnip#anonymous"](args.body) + end, + }, + + formatting = { + format = lspkind.cmp_format({ + with_text = true, + menu = { + buffer = "[Buf]", + nvim_lsp = "[LSP]", + nvim_lua = "[Lua]", + latex_symbols = "[Latex]", + treesitter = "[TS]", + cmp_tabnine = "[TN]", + vsnip = "[Snip]", + }, + }), + }, + + mapping = { + [""] = cmp.mapping.confirm({ select = true }), + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif vim.fn["vsnip#available"](1) == 1 then + feedkey("(vsnip-expand-or-jump)", "") + elseif has_words_before() then + cmp.complete() + else + fallback() + end + end, { + "i", + "s", + }), + + [""] = cmp.mapping(function() + if cmp.visible() then + cmp.select_prev_item() + elseif vim.fn["vsnip#jumpable"](-1) == 1 then + feedkey("(vsnip-jump-prev)", "") + end + end, { + "i", + "s", + }), + }, +}) diff --git a/hosts/nb-new.cloonar.com/modules/nvim/config/project.lua b/hosts/nb-new.cloonar.com/modules/nvim/config/project.lua new file mode 100644 index 0000000..f56e374 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/nvim/config/project.lua @@ -0,0 +1,41 @@ +config = { + ---@usage set to false to disable project.nvim. + --- This is on by default since it's currently the expected behavior. + active = true, + + on_config_done = nil, + + ---@usage set to true to disable setting the current-woriking directory + --- Manual mode doesn't automatically change your root directory, so you have + --- the option to manually do so using `:ProjectRoot` command. + manual_mode = false, + + ---@usage Methods of detecting the root directory + --- Allowed values: **"lsp"** uses the native neovim lsp + --- **"pattern"** uses vim-rooter like glob pattern matching. Here + --- order matters: if one is not detected, the other is used as fallback. You + --- can also delete or rearangne the detection methods. + -- detection_methods = { "lsp", "pattern" }, -- NOTE: lsp detection will get annoying with multiple langs in one project + detection_methods = { "pattern" }, + + ---@usage patterns used to detect root dir, when **"pattern"** is in detection_methods + patterns = { ".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json", "pom.xml" }, + + ---@ Show hidden files in telescope when searching for files in a project + show_hidden = false, + + ---@usage When set to false, you will get a message when project.nvim changes your directory. + -- When set to false, you will get a message when project.nvim changes your directory. + silent_chdir = true, + + ---@usage list of lsp client names to ignore when using **lsp** detection. eg: { "efm", ... } + ignore_lsp = {}, +} + +local status_ok, project = pcall(require, "project_nvim") +if not status_ok then + return +end + +project.setup(config) + diff --git a/hosts/nb-new.cloonar.com/modules/nvim/config/telescope.lua b/hosts/nb-new.cloonar.com/modules/nvim/config/telescope.lua new file mode 100644 index 0000000..8ca6d9e --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/nvim/config/telescope.lua @@ -0,0 +1,148 @@ +local function get_pickers(actions) + return { + find_files = { + theme = "dropdown", + hidden = true, + previewer = false, + }, + live_grep = { + --@usage don't include the filename in the search results + only_sort_text = true, + theme = "dropdown", + }, + grep_string = { + only_sort_text = true, + theme = "dropdown", + }, + buffers = { + theme = "dropdown", + previewer = false, + initial_mode = "normal", + mappings = { + i = { + [""] = actions.delete_buffer, + }, + n = { + ["dd"] = actions.delete_buffer, + }, + }, + }, + planets = { + show_pluto = true, + show_moon = true, + }, + git_files = { + theme = "dropdown", + hidden = true, + previewer = false, + show_untracked = true, + }, + lsp_references = { + theme = "dropdown", + initial_mode = "normal", + }, + lsp_definitions = { + theme = "dropdown", + initial_mode = "normal", + }, + lsp_declarations = { + theme = "dropdown", + initial_mode = "normal", + }, + lsp_implementations = { + theme = "dropdown", + initial_mode = "normal", + }, + } +end + +local ok, actions = pcall(require, "telescope.actions") +if not ok then + return +end + +local config = { + prompt_prefix = " ", + selection_caret = " ", + entry_prefix = " ", + initial_mode = "insert", + selection_strategy = "reset", + sorting_strategy = "descending", + layout_strategy = "horizontal", + layout_config = { + width = 0.75, + preview_cutoff = 120, + horizontal = { + preview_width = function(_, cols, _) + if cols < 120 then + return math.floor(cols * 0.8) + end + return math.floor(cols * 0.8) + end, + mirror = false, + }, + vertical = { mirror = false }, + }, + vimgrep_arguments = { + "rg", + "--color=never", + "--no-heading", + "--with-filename", + "--line-number", + "--column", + "--smart-case", + "--hidden", + "--glob=!.git/", + }, + ---@usage Mappings are fully customizable. Many familiar mapping patterns are setup as defaults. + mappings = { + i = { + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + [""] = actions.close, + [""] = actions.cycle_history_next, + [""] = actions.cycle_history_prev, + [""] = actions.smart_send_to_qflist + actions.open_qflist, + [""] = actions.select_default, + }, + n = { + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + [""] = actions.smart_send_to_qflist + actions.open_qflist, + }, + }, + pickers = get_pickers(actions), + file_ignore_patterns = {}, + path_display = { "smart" }, + winblend = 0, + border = {}, + borderchars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" }, + color_devicons = true, + set_env = { ["COLORTERM"] = "truecolor" }, -- default = nil, + extensions = { + fzf = { + fuzzy = true, -- false will only do exact matching + override_generic_sorter = true, -- override the generic sorter + override_file_sorter = true, -- override the file sorter + case_mode = "smart_case", -- or "ignore_case" or "respect_case" + }, + }, +} + + +local previewers = require "telescope.previewers" +local sorters = require "telescope.sorters" + +config = vim.tbl_extend("keep", { + file_previewer = previewers.vim_buffer_cat.new, + grep_previewer = previewers.vim_buffer_vimgrep.new, + qflist_previewer = previewers.vim_buffer_qflist.new, + file_sorter = sorters.get_fuzzy_file, + generic_sorter = sorters.get_generic_fuzzy_sorter, +}, config) + +local telescope = require "telescope" +telescope.setup(config) + +require("telescope").load_extension "projects" +require("telescope").load_extension "fzf" diff --git a/hosts/nb-new.cloonar.com/modules/nvim/config/terminal.lua b/hosts/nb-new.cloonar.com/modules/nvim/config/terminal.lua new file mode 100644 index 0000000..164f7b8 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/nvim/config/terminal.lua @@ -0,0 +1,133 @@ +local config = { + active = true, + on_config_done = nil, + -- size can be a number or function which is passed the current terminal + size = 60, + open_mapping = [[]], + hide_numbers = true, -- hide the number column in toggleterm buffers + shade_filetypes = {}, + shade_terminals = true, + shading_factor = 2, -- the degree by which to darken to terminal colour, default: 1 for dark backgrounds, 3 for light + start_in_insert = true, + insert_mappings = true, -- whether or not the open mapping applies in insert mode + persist_size = false, + -- direction = 'vertical' | 'horizontal' | 'window' | 'float', + direction = "float", + close_on_exit = true, -- close the terminal window when the process exits + shell = vim.o.shell, -- change the default shell + -- This field is only relevant if direction is set to 'float' + float_opts = { + -- The border key is *almost* the same as 'nvim_win_open' + -- see :h nvim_win_open for details on borders however + -- the 'curved' border is a custom border type + -- not natively supported but implemented in this plugin. + -- border = 'single' | 'double' | 'shadow' | 'curved' | ... other options supported by win open + border = "curved", + -- width = , + -- height = , + winblend = 0, + highlights = { + border = "Normal", + background = "Normal", + }, + }, + -- Add executables on the config.lua + -- { exec, keymap, name} + -- lvim.builtin.terminal.execs = {{}} to overwrite + -- lvim.builtin.terminal.execs[#lvim.builtin.terminal.execs+1] = {"gdb", "tg", "GNU Debugger"} + -- TODO: pls add mappings in which key and refactor this + execs = { + { vim.o.shell, "", "Horizontal Terminal", "horizontal", 0.3 }, + { vim.o.shell, "", "Vertical Terminal", "vertical", 0.4 }, + { vim.o.shell, "", "Float Terminal", "float", nil }, + }, +} + +--- Get current buffer size +---@return {width: number, height: number} +local function get_buf_size() + local cbuf = vim.api.nvim_get_current_buf() + local bufinfo = vim.tbl_filter(function(buf) + return buf.bufnr == cbuf + end, vim.fn.getwininfo(vim.api.nvim_get_current_win()))[1] + if bufinfo == nil then + return { width = -1, height = -1 } + end + return { width = bufinfo.width, height = bufinfo.height } +end + +--- Get the dynamic terminal size in cells +---@param direction number +---@param size integer +---@return integer +local function get_dynamic_terminal_size(direction, size) + size = size or config.size + if direction ~= "vertical" and tostring(size):find(".", 1, true) then + size = math.min(size, 1.0) + local buf_sizes = get_buf_size() + local buf_size = direction == "horizontal" and buf_sizes.height or buf_sizes.width + return buf_size * size + else + return size + end +end + +Add_exec = function(opts) + local binary = opts.cmd:match "(%S+)" + if vim.fn.executable(binary) ~= 1 then + Log:debug("Skipping configuring executable " .. binary .. ". Please make sure it is installed properly.") + return + end + + vim.keymap.set({ "n", "t" }, opts.keymap, function() + M._exec_toggle { cmd = opts.cmd, count = opts.count, direction = opts.direction, size = opts.size() } + end, { desc = opts.label, noremap = true, silent = true }) +end + +local terminal = require "toggleterm" +terminal.setup(config) + +for i, exec in pairs(config.execs) do + local direction = exec[4] or config.direction + + local opts = { + cmd = exec[1], + keymap = exec[2], + label = exec[3], + -- NOTE: unable to consistently bind id/count <= 9, see #2146 + count = i + 100, + direction = direction, + size = function() + return get_dynamic_terminal_size(direction, exec[5]) + end, + } + + Add_exec(opts) +end + +_exec_toggle = function(opts) + local Terminal = require("toggleterm.terminal").Terminal + local term = Terminal:new { cmd = opts.cmd, count = opts.count, direction = opts.direction } + term:toggle(opts.size, opts.direction) +end + +Lazygit_toggle = function() + local Terminal = require("toggleterm.terminal").Terminal + local lazygit = Terminal:new { + cmd = "lazygit", + hidden = true, + direction = "float", + float_opts = { + border = "none", + width = 100000, + height = 100000, + }, + on_open = function(_) + vim.cmd "startinsert!" + end, + on_close = function(_) end, + count = 99, + } + lazygit:toggle() +end + diff --git a/hosts/nb-new.cloonar.com/modules/nvim/config/theming.lua b/hosts/nb-new.cloonar.com/modules/nvim/config/theming.lua new file mode 100644 index 0000000..eb3f6ac --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/nvim/config/theming.lua @@ -0,0 +1,18 @@ +-- set colorscheme +vim.cmd 'set termguicolors' + +require("catppuccin").setup() + +vim.cmd [[colorscheme dracula]] + +-- enable colorizer +require'colorizer'.setup() + +-- set sign +vim.cmd 'sign define DiagnosticSignError text= linehl= texthl=DiagnosticSignError numhl=' +vim.cmd 'sign define DiagnosticSignHint text= linehl= texthl=DiagnosticSignHint numhl=' +vim.cmd 'sign define DiagnosticSignInfo text= linehl= texthl=DiagnosticSignInfo numhl=' +vim.cmd 'sign define DiagnosticSignWarn text= linehl= texthl=DiagnosticSignWarn numhl=' + +-- set lightline theme to horizon +vim.g.lightline = { colorscheme = "dracula" } diff --git a/hosts/nb-new.cloonar.com/modules/nvim/config/treesitter-textobjects.lua b/hosts/nb-new.cloonar.com/modules/nvim/config/treesitter-textobjects.lua new file mode 100644 index 0000000..8f2c6d6 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/nvim/config/treesitter-textobjects.lua @@ -0,0 +1,14 @@ +require'nvim-treesitter.configs'.setup { + textobjects = { + select = { + enable = true, + keymaps = { + -- You can use the capture groups defined in textobjects.scm + ["af"] = "@function.outer", + ["if"] = "@function.inner", + ["ac"] = "@class.outer", + ["ic"] = "@class.inner", + }, + }, + }, +} diff --git a/hosts/nb-new.cloonar.com/modules/nvim/config/treesitter.lua b/hosts/nb-new.cloonar.com/modules/nvim/config/treesitter.lua new file mode 100644 index 0000000..1f33ef0 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/nvim/config/treesitter.lua @@ -0,0 +1,30 @@ +require("nvim-treesitter.configs").setup({ + highlight = { + enable = true, + disable = {}, + }, + rainbow = { + enable = true, + extended_mode = true, + }, + autotag = { + enable = true, + }, + context_commentstring = { + enable = true, + }, + incremental_selection = { + enable = true, + keymaps = { + init_selection = "gnn", + node_incremental = "grn", + scope_incremental = "grc", + node_decremental = "grm", + }, + }, +}) + +-- breaks highlight +-- vim.cmd([[set foldmethod=expr]]) +-- vim.cmd([[set foldlevel=10]]) +-- vim.cmd([[set foldexpr=nvim_treesitter#foldexpr()]]) \ No newline at end of file diff --git a/hosts/nb-new.cloonar.com/modules/nvim/config/utils.lua b/hosts/nb-new.cloonar.com/modules/nvim/config/utils.lua new file mode 100644 index 0000000..ec15d39 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/nvim/config/utils.lua @@ -0,0 +1,28 @@ +-- null-ls +local nb = require('null-ls').builtins + +require('null-ls').setup({ + sources = { + nb.formatting.alejandra, + nb.code_actions.statix, + nb.diagnostics.cppcheck, + nb.diagnostics.deadnix, + nb.diagnostics.statix, + nb.diagnostics.eslint, + nb.completion.spell, + }, +}) + +require("gitsigns").setup() + +-- autopairs +require('nvim-autopairs').setup{} + +require('todo-comments').setup{} + +-- copy to system clipboard +vim.api.nvim_set_keymap( 'v', 'y', '"+y', {noremap = true}) +vim.api.nvim_set_keymap( 'n', 'y', ':%+y', {noremap = true}) + +-- paste from system clipboard +vim.api.nvim_set_keymap( 'n', 'p', '"+p', {noremap = true}) diff --git a/hosts/nb-new.cloonar.com/modules/nvim/config/which-key.lua b/hosts/nb-new.cloonar.com/modules/nvim/config/which-key.lua new file mode 100644 index 0000000..6b67e89 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/nvim/config/which-key.lua @@ -0,0 +1,148 @@ +vim.g.mapleader = " " + +local function smart_quit() + local bufnr = vim.api.nvim_get_current_buf() + local modified = vim.api.nvim_buf_get_option(bufnr, "modified") + if modified then + vim.ui.input({ + prompt = "You have unsaved changes. Quit anyway? (y/n) ", + }, function(input) + if input == "y" then + vim.cmd "q!" + end + end) + else + vim.cmd "q!" + end +end + +local function find_project_files() + local _, builtin = pcall(require, "telescope.builtin") + local ok = pcall(builtin.git_files) + + if not ok then + builtin.find_files() + end +end + +local wk = require("which-key") + +wk.setup({}) + +wk.register({ + [""] = { + + [";"] = { "Alpha", "Dashboard" }, + ["w"] = { "w!", "Save" }, + ["q"] = { "smart_quit()", "Quit" }, + ["/"] = { "(comment_toggle_linewise_current)", "Comment toggle current line" }, + ["c"] = { "BufferKill", "Close Buffer" }, + ["f"] = { find_project_files, "Find File" }, + ["h"] = { "nohlsearch", "No Highlight" }, + ["t"] = { "TodoTelescope keywords=TODO,FIX", "Find TODO,FIX" }, + b = { + name = "Buffers", + j = { "BufferLinePick", "Jump" }, + f = { "Telescope buffers", "Find" }, + b = { "BufferLineCyclePrev", "Previous" }, + n = { "BufferLineCycleNext", "Next" }, + -- w = { "BufferWipeout", "Wipeout" }, -- TODO: implement this for bufferline + e = { + "BufferLinePickClose", + "Pick which buffer to close", + }, + h = { "BufferLineCloseLeft", "Close all to the left" }, + l = { + "BufferLineCloseRight", + "Close all to the right", + }, + D = { + "BufferLineSortByDirectory", + "Sort by directory", + }, + L = { + "BufferLineSortByExtension", + "Sort by language", + }, + }, + -- " Available Debug Adapters: + -- " https://microsoft.github.io/debug-adapter-protocol/implementors/adapters/ + -- " Adapter configuration and installation instructions: + -- " https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation + -- " Debug Adapter protocol: + -- " https://microsoft.github.io/debug-adapter-protocol/ + -- " Debugging + g = { + name = "Git", + g = { Lazygit_toggle, "Lazygit" }, + j = { "lua require 'gitsigns'.next_hunk({navigation_message = false})", "Next Hunk" }, + k = { "lua require 'gitsigns'.prev_hunk({navigation_message = false})", "Prev Hunk" }, + l = { "lua require 'gitsigns'.blame_line()", "Blame" }, + p = { "lua require 'gitsigns'.preview_hunk()", "Preview Hunk" }, + r = { "lua require 'gitsigns'.reset_hunk()", "Reset Hunk" }, + R = { "lua require 'gitsigns'.reset_buffer()", "Reset Buffer" }, + s = { "lua require 'gitsigns'.stage_hunk()", "Stage Hunk" }, + u = { + "lua require 'gitsigns'.undo_stage_hunk()", + "Undo Stage Hunk", + }, + o = { "Telescope git_status", "Open changed file" }, + b = { "Telescope git_branches", "Checkout branch" }, + c = { "Telescope git_commits", "Checkout commit" }, + C = { + "Telescope git_bcommits", + "Checkout commit(for current file)", + }, + d = { + "Gitsigns diffthis HEAD", + "Git Diff", + }, + }, + l = { + name = "LSP", + a = { "lua vim.lsp.buf.code_action()", "Code Action" }, + d = { "Telescope diagnostics bufnr=0 theme=get_ivy", "Buffer Diagnostics" }, + w = { "Telescope diagnostics", "Diagnostics" }, + -- f = { require("lvim.lsp.utils").format, "Format" }, + i = { "LspInfo", "Info" }, + I = { "Mason", "Mason Info" }, + j = { + vim.diagnostic.goto_next, + "Next Diagnostic", + }, + k = { + vim.diagnostic.goto_prev, + "Prev Diagnostic", + }, + l = { vim.lsp.codelens.run, "CodeLens Action" }, + q = { vim.diagnostic.setloclist, "Quickfix" }, + r = { vim.lsp.buf.rename, "Rename" }, + s = { "Telescope lsp_document_symbols", "Document Symbols" }, + S = { + "Telescope lsp_dynamic_workspace_symbols", + "Workspace Symbols", + }, + e = { "Telescope quickfix", "Telescope Quickfix" }, + }, + + + a = { "lua require('telescope.builtin').lsp_code_actions()", "Code Actions" }, + d = { "lua require('telescope.builtin').lsp_document_diagnostics()", "LSP Diagnostics" }, + k = { "lua vim.lsp.buf.signature_help()", "Signature Help" }, + P = { "lua require'telescope'.extensions.projects.projects{}", "Signature Help" }, + } +}) + +wk.register( + { + ["/"] = { "(comment_toggle_linewise_visual)", "Comment toggle linewise (visual)" }, + }, + { + mode = "v", -- VISUAL mode + prefix = "", + buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings + silent = true, -- use `silent` when creating keymaps + noremap = true, -- use `noremap` when creating keymaps + nowait = true, -- use `nowait` when creating keymaps + } +) diff --git a/hosts/nb-new.cloonar.com/modules/nvim/default.nix b/hosts/nb-new.cloonar.com/modules/nvim/default.nix new file mode 100644 index 0000000..4a37415 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/nvim/default.nix @@ -0,0 +1,90 @@ +{ pkgs, ... }: +{ + environment.variables = { EDITOR = "vim"; }; + + environment.systemPackages = with pkgs; [ + nodePackages.typescript-language-server + sumneko-lua-language-server + nodePackages.intelephense + nodePackages.vscode-css-languageserver-bin + nodePackages.yaml-language-server + gopls + lazygit + ripgrep + (neovim.override { + vimAlias = true; + configure = { + packages.myPlugins = with pkgs.vimPlugins; { + start = [ + bufferline-nvim + catppuccin-nvim + cmp-buffer + cmp-nvim-lsp + cmp-path + cmp-spell + cmp-treesitter + cmp-vsnip + comment-nvim + copilot-vim + copilot-lua + copilot-cmp + # CopilotChat-nvim + dracula-vim + friendly-snippets + gitsigns-nvim + lightline-vim + lspkind-nvim + neogit + null-ls-nvim + nvim-autopairs + nvim-cmp + nvim-colorizer-lua + nvim-lspconfig + nvim-tree-lua + pkgs.vimPlugins.nvim-treesitter.withAllGrammars + # (nvim-treesitter.withPlugins (_: pkgs.tree-sitter.allGrammars)) + plenary-nvim + project-nvim + rainbow-delimiters-nvim + telescope-fzf-native-nvim + telescope-nvim + todo-comments-nvim + toggleterm-nvim + vim-floaterm + vim-sneak + vim-vsnip + which-key-nvim + ]; + opt = []; + }; + customRC = let + luaRequire = module: + builtins.readFile (builtins.toString + ./config + + "/${module}.lua"); + luaConfig = builtins.concatStringsSep "\n" (map luaRequire [ + "init" + "keymappings" + "copilot" + "icons" + "lspconfig" + "nvim-cmp" + "theming" + "project" + "telescope" + "terminal" + "treesitter" + "treesitter-textobjects" + "utils" + "bufferline" + "which-key" + ]); + in '' + lua << EOF + ${luaConfig} + EOF + ''; + }; + } + )]; +} diff --git a/hosts/nb-new.cloonar.com/modules/printer.nix b/hosts/nb-new.cloonar.com/modules/printer.nix new file mode 100644 index 0000000..c7e1e90 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/printer.nix @@ -0,0 +1,25 @@ +{ lib, pkgs, ... }: +let +in { + services.printing.enable = true; + # services.printing.drivers = [ pkgs.brlaser ]; + # services.avahi.enable = true; + # services.avahi.nssmdns = true; + # services.avahi.openFirewall = true; + + hardware.printers = { + ensureDefaultPrinter = "Cloonar"; + ensurePrinters = [ + { + name = "epicenter.works"; + deviceUri = "ipp://mercury.epicenter.intra/ipp/print"; + model = "everywhere"; + } + { + name = "Cloonar"; + deviceUri = "ipp://brn30055c566237.cloonar.multimedia/ipp/print"; + model = "everywhere"; + } + ]; + }; +} diff --git a/hosts/nb-new.cloonar.com/modules/sway/directory-studio-nix b/hosts/nb-new.cloonar.com/modules/sway/directory-studio-nix new file mode 100644 index 0000000..9633b42 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/sway/directory-studio-nix @@ -0,0 +1,7 @@ + +{ pkgs, ... }: +{ + environment.systemPackages = [ + pkgs.apache-directory-studio + ]; +} diff --git a/hosts/nb-new.cloonar.com/modules/sway/foot.ini b/hosts/nb-new.cloonar.com/modules/sway/foot.ini new file mode 100644 index 0000000..fb137ca --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/sway/foot.ini @@ -0,0 +1,200 @@ +# -*- conf -*- + +# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd) +# term=foot (or xterm-256color if built with -Dterminfo=disabled) +# login-shell=no + +# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode +# title=foot +# locked-title=no + +# font=monospace:size=12 +# font-bold= +# font-italic= +# font-bold-italic= +# font-size-adjustment=0.5 +# line-height= +# letter-spacing=0 +# horizontal-letter-offset=0 +# vertical-letter-offset=0 +# underline-offset= +# underline-thickness= +# box-drawings-uses-font-glyphs=no +dpi-aware=yes + +# initial-window-size-pixels=700x500 # Or, +# initial-window-size-chars= +# initial-window-mode=windowed +# pad=0x0 # optionally append 'center' +# resize-delay-ms=100 + +# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body} + +# bold-text-in-bright=no +# word-delimiters=,│`|:"'()[]{}<> +# selection-target=primary +# workers= +# utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux) +# utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ‘ulog’ (FreeBSD) + +[environment] +# name=value + +[bell] +# urgent=no +# notify=no +# command= +# command-focused=no + +[scrollback] +# lines=1000 +# multiplier=3.0 +# indicator-position=relative +# indicator-format="" + +[url] +# launch=xdg-open ${url} +# label-letters=sadfjklewcmpgh +# osc8-underline=url-mode +# protocols=http, https, ftp, ftps, file, gemini, gopher +# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[] + +[cursor] +# style=block +# color= +# blink=no +# beam-thickness=1.5 +# underline-thickness= + +[mouse] +# hide-when-typing=no +# alternate-scroll-mode=yes + +[colors] +# alpha=1.0 +background=282a36 +foreground=f8f8f2 + +## Normal/regular colors (color palette 0-7) +regular0=21222c # black +regular1=ff5555 # red +regular2=50fa7b # green +regular3=f1fa8c # yellow +regular4=bd93f9 # blue +regular5=ff79c6 # magenta +regular6=8be9fd # cyan +regular7=f8f8f2 # white + +## Bright colors (color palette 8-15) +bright0=6272a4 # bright black +bright1=ff6e6e # bright red +bright2=69ff94 # bright green +bright3=ffffa5 # bright yellow +bright4=d6acff # bright blue +bright5=ff92df # bright magenta +bright6=a4ffff # bright cyan +bright7=ffffff # bright white + +## dimmed colors (see foot.ini(5) man page) +# dim0= +# ... +# dim7= + +## The remaining 256-color palette +# 16 = <256-color palette #16> +# ... +# 255 = <256-color palette #255> + +## Misc colors +# selection-foreground= +# selection-background= +# jump-labels= # black-on-yellow +# scrollback-indicator= # black-on-bright-blue +# search-box-no-match= # black-on-red +# search-box-match= # black-on-yellow +# urls= + +[csd] +# preferred=server +# size=26 +# font= +# color= +# hide-when-maximized=no +# double-click-to-maximize=yes +# border-width=0 +# border-color= +# button-width=26 +# button-color= +# button-minimize-color= +# button-maximize-color= +# button-close-color= + +[key-bindings] +# scrollback-up-page=Shift+Page_Up +# scrollback-up-half-page=none +# scrollback-up-line=none +# scrollback-down-page=Shift+Page_Down +# scrollback-down-half-page=none +# scrollback-down-line=none +# clipboard-copy=Control+Shift+c XF86Copy +# clipboard-paste=Control+Shift+v XF86Paste +# primary-paste=Shift+Insert +# search-start=Control+Shift+r +# font-increase=Control+plus Control+equal Control+KP_Add +# font-decrease=Control+minus Control+KP_Subtract +# font-reset=Control+0 Control+KP_0 +# spawn-terminal=Control+Shift+n +# minimize=none +# maximize=none +# fullscreen=none +# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-selected=[xargs -r firefox] none +# show-urls-launch=Control+Shift+o +# show-urls-copy=none +# show-urls-persistent=none +# prompt-prev=Control+Shift+z +# prompt-next=Control+Shift+x +# unicode-input=Control+Shift+u +# noop=none + +[search-bindings] +# cancel=Control+g Control+c Escape +# commit=Return +# find-prev=Control+r +# find-next=Control+s +# cursor-left=Left Control+b +# cursor-left-word=Control+Left Mod1+b +# cursor-right=Right Control+f +# cursor-right-word=Control+Right Mod1+f +# cursor-home=Home Control+a +# cursor-end=End Control+e +# delete-prev=BackSpace +# delete-prev-word=Mod1+BackSpace Control+BackSpace +# delete-next=Delete +# delete-next-word=Mod1+d Control+Delete +# extend-to-word-boundary=Control+w +# extend-to-next-whitespace=Control+Shift+w +# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste +# primary-paste=Shift+Insert +# unicode-input=none + +[url-bindings] +# cancel=Control+g Control+c Control+d Escape +# toggle-url-visible=t + +[text-bindings] +# \x03=Mod4+c # Map Super+c -> Ctrl+c + +[mouse-bindings] +# selection-override-modifiers=Shift +# primary-paste=BTN_MIDDLE +# select-begin=BTN_LEFT +# select-begin-block=Control+BTN_LEFT +# select-extend=BTN_RIGHT +# select-extend-character-wise=Control+BTN_RIGHT +# select-word=BTN_LEFT-2 +# select-word-whitespace=Control+BTN_LEFT-2 +# select-row=BTN_LEFT-3 + +# vim: ft=dosini diff --git a/hosts/nb-new.cloonar.com/modules/sway/parsec.nix b/hosts/nb-new.cloonar.com/modules/sway/parsec.nix new file mode 100644 index 0000000..83d603d --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/sway/parsec.nix @@ -0,0 +1,17 @@ +{ pkgs, ... }: + +let + unstable = import (fetchTarball https://nixos.org/channels/nixos-unstable/nixexprs.tar.xz) { + config = { allowUnfree = true; }; + }; + parsecDesktopItem = pkgs.makeDesktopItem { + name = "parsec"; + desktopName = "Parsec Gaming"; + exec = "parsecd"; + }; +in { + environment.systemPackages = with pkgs; [ + unstable.parsec-bin + parsecDesktopItem + ]; +} diff --git a/hosts/nb-new.cloonar.com/modules/sway/signal-work.nix b/hosts/nb-new.cloonar.com/modules/sway/signal-work.nix new file mode 100644 index 0000000..ed43b2e --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/sway/signal-work.nix @@ -0,0 +1,16 @@ + +{ pkgs, ... }: + +let + signalWorkDesktopItem = pkgs.makeDesktopItem { + name = "signal-work"; + desktopName = "Signal with work profile"; + icon = "signal-desktop"; + exec = "signal-desktop --user-data-dir=/home/dominik/.config/Signal-work -- %u"; + }; +in { + environment.systemPackages = [ + pkgs.signal-desktop + signalWorkDesktopItem + ]; +} diff --git a/hosts/nb-new.cloonar.com/modules/sway/social.nix b/hosts/nb-new.cloonar.com/modules/sway/social.nix new file mode 100644 index 0000000..148a862 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/sway/social.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: + +let + socialDesktopItem = pkgs.makeDesktopItem { + name = "social"; + desktopName = "Firefox browser with social profile"; + exec = "firefox -P social"; + }; +in { + environment.systemPackages = [ socialDesktopItem ]; +} diff --git a/hosts/nb-new.cloonar.com/modules/sway/sway.conf b/hosts/nb-new.cloonar.com/modules/sway/sway.conf new file mode 100644 index 0000000..b4018c1 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/sway/sway.conf @@ -0,0 +1,356 @@ +# Oxide theme +# +# Author: Diki Ananta Repository: https://github.com/dikiaap/dotfiles +# License: MIT +# i3 config file (v4) + +# font for window titles and bar +font pango:Source Sans Pro 10 + +# use win key +set $mod Mod4 + +# use these keys for focus, movement, and resize directions +set $left h +set $down j +set $up k +set $right l + +# define names for workspaces +set $ws1 "1: " +set $ws2 "2: " +set $ws3 "3: " +set $ws4 "4: " +set $ws5 "5: " +set $ws6 "6: " +set $ws7 "7: " +set $ws8 "8: " +set $ws9 "9: " +set $ws10 "10: " + +# assign workspaces to primary monitor +workspace $ws1 output primary +workspace $ws2 output primary +workspace $ws3 output primary +workspace $ws4 output primary +workspace $ws5 output primary +workspace $ws6 output primary +workspace $ws7 output primary +workspace $ws8 output primary +workspace $ws9 output primary + +# use $mod+Mouse to drag floating windows to their wanted position +floating_modifier $mod + +# control focused window when follows the mouse movements +focus_follows_mouse no + +# window border settings +default_border none +default_floating_border none + +# hiding borders adjacent to the screen edges +hide_edge_borders none + +# set popups during fullscreen mode +popup_during_fullscreen smart + +# start a terminal +#bindsym $mod+Return workspace $ws1; exec --no-startup-id alacritty +# bindsym $mod+Return workspace $ws1; exec alacritty -t alacritty-sway +bindsym $mod+Return workspace $ws1; exec foot -c /etc/xdg/foot/foot.ini -T terminal-sway + +# start a program launcher +# bindsym $mod+d exec --no-startup-id wofi -s /etc/wofi/style.css --show drun --lines 5 --columns 1 -t alacritty +# bindsym $mod+d exec alacritty --class=launcher -e env TERMINAL_COMMAND="alacritty -e" sway-launcher-desktop +bindsym $mod+d exec foot -a launcher -e env TERMINAL_COMMAND="foot -c /etc/xdg/foot/foot.ini -e" sway-launcher-desktop +#bindsym $mod+d exec --no-startup-id bemenu +#bindsym $mod+d exec --no-startup-id i3-dmenu-desktop --dmenu="dmenu -i -fn 'Source Sans Pro-10' -nb '#212121' -sb '#2b83a6' -sf '#ffffff' +#bindsym $mod+d exec --no-startup-id bemenu --dmenu="dmenu -i -fn 'Source Sans Pro-10' -nb '#212121' -sb '#2b83a6' -sf '#ffffff' + +# start an explorer +bindsym $mod+e exec --no-startup-id pcmanfm + +# switching window with win+tab +bindsym $mod+Tab exec --no-startup-id wofi -show window + +# kill focused window +bindsym $mod+Shift+q kill + +# change keyboard layout +bindsym $mod+i swaymsg input "*" us +bindsym $mod+Shift+i swaymsg input "*" de + +# change focus +bindsym $mod+$left focus left +bindsym $mod+$down focus down +bindsym $mod+$up focus up +bindsym $mod+$right focus right + +# alternatively, you can use the cursor keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +bindsym $mod+Shift+$left move left +bindsym $mod+Shift+$down move down +bindsym $mod+Shift+$up move up +bindsym $mod+Shift+$right move right + +# alternatively, you can use the cursor keys: +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# split in horizontal orientation +bindsym $mod+c split h + +# split in vertical orientation +bindsym $mod+v split v + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# change container layout +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+p layout toggle split + +# toggle tiling / floating +# bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +# bindsym $mod+space focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent + +# focus the child container +bindsym $mod+Shift+a focus child + +# move the currently focused window to the scratchpad +bindsym $mod+Shift+minus move scratchpad + +# show the next scratchpad window or hide the focused scratchpad window +bindsym $mod+minus scratchpad show + +# move focused floating window to the current position of the cursor +bindsym $mod+Shift+m move position mouse + +# set a window to stick to the glass +bindsym $mod+Shift+s sticky toggle + +# sticky preview for media +bindsym $mod+Shift+p fullscreen disable; floating enable; resize set 350 px 197 px; sticky enable; move window to position 1006 px 537 px + +# shortcut to change window border +bindsym $mod+t border normal 0 +bindsym $mod+y border pixel 1 +bindsym $mod+u border none + +# switch to workspace + +bindcode $mod+10 workspace $ws1 +bindcode $mod+11 workspace $ws2 +bindcode $mod+12 workspace $ws3 +bindcode $mod+13 workspace $ws4 +bindcode $mod+14 workspace $ws5 +bindcode $mod+15 workspace $ws6 +bindcode $mod+16 workspace $ws7 +bindcode $mod+17 workspace $ws8 +bindcode $mod+18 workspace $ws9 +bindcode $mod+19 workspace $ws10 + +# move focused container to workspace +bindcode $mod+Shift+10 move container to workspace $ws1 +bindcode $mod+Shift+11 move container to workspace $ws2 +bindcode $mod+Shift+12 move container to workspace $ws3 +bindcode $mod+Shift+13 move container to workspace $ws4 +bindcode $mod+Shift+14 move container to workspace $ws5 +bindcode $mod+Shift+15 move container to workspace $ws6 +bindcode $mod+Shift+16 move container to workspace $ws7 +bindcode $mod+Shift+17 move container to workspace $ws8 +bindcode $mod+Shift+18 move container to workspace $ws9 +bindcode $mod+Shift+19 move container to workspace $ws10 + +# shortcut applications +bindsym $mod+F1 exec gkamus +bindsym $mod+F2 workspace $ws2; exec subl +bindsym $mod+F3 workspace $ws3; exec chromium-browser +bindsym $mod+F4 workspace $ws4; exec pcmanfm +bindsym $mod+F5 workspace $ws5; exec evince +bindsym $mod+F6 workspace $ws6; exec audacious +bindsym $mod+F7 workspace $ws7; exec gcolor2 +bindsym $mod+F8 workspace $ws8; exec telegram +bindsym $mod+F9 workspace $ws9; exec go-for-it +bindsym Print exec --no-startup-id gnome-screenshot +bindcode $mod+9 exec swaylock --image ~/.wallpaper.jpg +bindsym Ctrl+Shift+Space exec 1password --quick-access +bindsym $mod+Space exec rofi-rbw --menu-keybindings ctrl+p:copy:password + +# volume +bindsym XF86AudioLowerVolume exec amixer -q sset Master 5%- unmute +bindsym XF86AudioRaiseVolume exec amixer -q sset Master 5%+ unmute +bindsym XF86AudioMute exec amixer -q sset Master toggle + +# touchpad +# bindsym XF86NotificationCenter exec swaymsg input type:touchpad events toggle enabled disabled + +# set brightness logarithmically by factor 1.4 +# .72 is just slightly bigger than 1 / 1.4 +bindsym --locked XF86MonBrightnessUp exec light -S "$(light -G | awk '{ print int(($1 + .72) * 1.4) }')" +bindsym --locked XF86MonBrightnessDown exec light -S "$(light -G | awk '{ print int($1 / 1.4) }')" + +# reload the configuration file +bindsym $mod+Shift+c reload + +# restart i3 inplace +bindsym $mod+Shift+r restart + +# manage i3 session +bindsym $mod+Shift+e exec swaynag --background f1fa8c --border ffb86c --border-bottom-size 0 --button-background ffb86c --button-text 282a36 -t warning -f "pango:Hack 9" -m "Do you really want to exit?" -B "  Exit " "swaymsg exit" -B "  Lock " "pkill swaynag && swaylock --image ~/.wallpaper.jpg" -B "  Reboot " "pkill swaynag && reboot" -B "  Shutdown " "pkill swaynag && shutdown -h now" -B " Suspend " "pkill swaynag && systemctl suspend" + +# resize window +bindsym $mod+r mode "  " +mode "  " { + # pressing left and up will shrink the window's width and height + # pressing right and down will grow the window's width and height + bindsym $left resize shrink width 10 px or 10 ppt + bindsym $down resize grow height 10 px or 10 ppt + bindsym $up resize shrink height 10 px or 10 ppt + bindsym $right resize grow width 10 px or 10 ppt + + # same bindings, but for the arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # back to normal: Enter or win+r + bindsym Return mode "default" + bindsym $mod+r mode "default" +} + +# set specific windows to floating mode +for_window [window_role="app"] floating enable +#for_window [window_role="pop-up"] floating enable +for_window [window_role="task_dialog"] floating enable +for_window [title="Preferences$"] floating enable +for_window [class="Gkamus"] floating enable +for_window [class="Go-for-it"] floating enable +for_window [class="Lightdm-gtk-greeter-settings"] floating enable +for_window [class="Lxappearance"] floating enable +for_window [class="Menu"] floating enable +for_window [class="Nm-connection-editor"] floating enable +for_window [class="Software-properties-gtk"] floating enable +for_window [app_id="launcher"] floating enable + +# set specific windows to tabbed mode +#for_window [class="Rambox"]tabbed +#for_window [class="Signal"]tabbed + +# assign program to workspace +assign [title="terminal-sway"] → $ws1 +# assign [app_id="Alacritty" title="^(?!alacritty-sway)$"] → $ws2 +assign [app_id="foot" title="^(?!terminal-sway)$"] → $ws2 +assign [app_id="chromium"] → $ws3 +assign [app_id="firefox"] → $ws3 +assign [app_id="librewolf"] → $ws3 +assign [app_id="pcmanfm"] → $ws4 +assign [app_id="libreoffice-calc"] → $ws5 +assign [app_id="libreoffice-writer"] → $ws5 +assign [class="vlc"] → $ws6 +assign [class="Gimp"] → $ws7 +assign [class="Signal"] → $ws8 +assign [app_id="social"] → $ws8 +assign [app_id="thunderbird"] → $ws8 +assign [class="Lightdm-gtk-greeter-settings"] → $ws10 +assign [class="Software-properties-gtk"] → $ws10 + +# class border backgr. text indicator child_border +client.focused #2b83a6 #2b83a6 #ffffff #dddddd #2b83a6 +client.focused_inactive #212121 #212121 #86888c #292d2e #5a5a5a +client.unfocused #212121 #212121 #86888c #292d2e #5a5a5a +client.urgent #d64e4e #d64e4e #ffffff #d64e4e #d64e4e +client.placeholder #212121 #0c0c0c #ffffff #212121 #262626 +client.background #212121 + +bar { + swaybar_command waybar +} + +# gaps +smart_gaps on +gaps inner 12 +gaps outer 0 + +# startup applications +exec /run/wrappers/bin/gnome-keyring-daemon --start --daemonize +exec dbus-sway-environment +exec configure-gtk +exec nm-applet --indicator +exec alacritty -t alacritty-sway +exec signal-desktop +exec firefox --name=social -p social +exec thunderbird +exec firefox +exec nextcloud +exec cryptomator +exec swayidle \ + before-sleep 'loginctl lock-session $XDG_SESSION_ID' \ + lock 'swaylock --image ~/.wallpaper.jpg' \ + timeout 180 'swaylock --screenshots --effect-blur 7x5' \ + timeout 1800 'systemctl suspend' +exec dunst +#exec --no-startup-id swaybg -c "#000000" -m fill -i ~/.config/wallpaper/wot.jpg +# exec --no-startup-id gnome-keyring-daemon --start --components=pkcs11,secrets,ssh +exec 'sleep 2; swaymsg workspace $ws8; swaymsg layout tabbed' +exec mako --default-timeout=5000 + +# wallpaper +output eDP-1 scale 1.5 +output eDP-1 bg ~/.wallpaper.jpg fill +output DP-4 bg ~/.wallpaper.jpg fill +output DP-5 bg ~/.wallpaper.jpg fill + +input * xkb_layout "de" +input * xkb_variant "colemak,,typewriter" +input * xkb_options "grp:win_space_toggle" +input "MANUFACTURER1 Keyboard" xkb_model "pc101" + +# notebook +set $laptop eDP-1 +# bindswitch --reload --locked lid:on output $laptop disable +# bindswitch --reload lid:off output $laptop enable + +# A lock command used in several places +set $lock_script swaylock + +# A sleep command used in several places. +# We leave a bit of time for locking to happen before putting the system to sleep +set $sleep $lock_script && sleep 3 && systemctl suspend + +# Triggers a short notification +set $notify dunstify --timeout 1500 + +# Set your laptop screen name +set $laptop_screen 'eDP-1' + +# Clamshell mode or lock & sleep +# This is a if/else statement: [ outputs_count == 1 ] && true || false +# bindswitch --locked lid:on exec '[ $(swaymsg -t get_outputs | grep name | wc -l) == 1 ] && ($sleep) || swaymsg output $laptop_screen disable' +bindswitch --locked lid:on exec 'swaymsg output $laptop_screen disable' +bindswitch --locked lid:off output $laptop_screen enable + +# disable xwayland +#xwayland disable + +# Touchpad +input type:touchpad { +tap enabled +natural_scroll enabled +} + diff --git a/hosts/nb-new.cloonar.com/modules/sway/sway.nix b/hosts/nb-new.cloonar.com/modules/sway/sway.nix new file mode 100644 index 0000000..f0904b3 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/sway/sway.nix @@ -0,0 +1,143 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.cloonar.sway; + + dbus-sway-environment = pkgs.writeTextFile { + name = "dbus-sway-environment"; + destination = "/bin/dbus-sway-environment"; + executable = true; + + text = '' + dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway + systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr + systemctl --user start pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr + ''; + }; + + sway-conf = builtins.readFile ./sway.conf + cfg.additionalConfig; + unstable = import { config = { allowUnfree = true; }; }; +in { + imports = [ + ./social.nix + ./signal-work.nix + ./parsec.nix + ./thunderbird.nix + ]; + + options.cloonar.sway = { + additionalConfig = mkOption { + type = types.str; + default = ""; + description = lib.mdDoc '' + Additional sway config + ''; + }; + }; + + config = { + hardware.sane.enable = true; + hardware.pulseaudio.enable = false; + + virtualisation.virtualbox.host.enable = true; + users.extraGroups.vboxusers.members = [ "dominik" ]; + + services.gnome.gnome-keyring.enable = true; + + environment.systemPackages = with pkgs; [ + alsaUtils + apache-directory-studio + bitwarden + bitwarden-cli + rofi-rbw-wayland + cryptomator + + brave + chromium + firefox + vivaldi + + unstable.cura + freecad + openscad + + dbus-sway-environment + ddev + dracula-theme + foot + gcc + git + glib + gimp + gnome.seahorse + gnome3.adwaita-icon-theme + go + grim + hunspell + hunspellDicts.de_DE + hunspellDicts.en_US + jmeter + libreoffice + mako + mqttui + networkmanagerapplet + nextcloud-client + onlyoffice-bin + pavucontrol + pcmanfm + pinentry + rbw + rofi-rbw + slurp + sway + sway-launcher-desktop + swayidle + swaylock + thunderbird + unzip + vlc + waybar + wayland + wl-clipboard + wofi + wtype + yubikey-manager-qt + ]; + + programs.light.enable = true; + + fonts.packages = with pkgs; [ + noto-fonts + noto-fonts-cjk + noto-fonts-emoji + nerdfonts + ]; + + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + jack.enable = true; + }; + + programs.sway = { + enable = true; + wrapperFeatures.gtk = true; + extraOptions = [ + "--unsupported-gpu" + ]; + }; + + environment.etc = { + "sway/config".text = sway-conf; + "wofi/style.css".text = builtins.readFile ./wofi.css; + "xdg/waybar/config".text = builtins.readFile ./waybar.conf; + "xdg/waybar/style.css".text = builtins.readFile ./waybar.css; + "xdg/foot/foot.ini".text = builtins.readFile ./foot.ini; + }; + }; +} diff --git a/hosts/nb-new.cloonar.com/modules/sway/thunderbird.nix b/hosts/nb-new.cloonar.com/modules/sway/thunderbird.nix new file mode 100644 index 0000000..c757970 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/sway/thunderbird.nix @@ -0,0 +1,40 @@ + +{ pkgs, ... }: +let + thunderbirdWorkDesktopItem = pkgs.makeDesktopItem { + name = "thunderbird-work"; + desktopName = "Thunderbird Work"; + icon = "thunderbird"; + exec = "thunderbird -p work"; + }; + thunderbirdCloonarDesktopItem = pkgs.makeDesktopItem { + name = "thunderbird-cloonar"; + desktopName = "Thunderbird Cloonar"; + icon = "thunderbird"; + exec = "thunderbird -p cloonar"; + }; +in +{ + + # nixpkgs.overlays = [ + # (self: super: + # { + # thunderbird-bin-unwrapped = super.thunderbird-bin-unwrapped.overrideAttrs ( old: rec { + # version = "112.0b7"; + # name = "thunderbird-bin"; + # src = super.fetchurl { + # url = "https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/linux-x86_64/en-US/thunderbird-${version}.tar.bz2"; + # sha256 = "30d23df34834096a79261439d5ea6d78d44921f0218893f100596ee6296cd806"; + # }; + # }); + # } + # ) + # ]; + environment.systemPackages = [ + # (import ../../pkgs/thunderbird.nix) + pkgs.thunderbird + # pkgs.thunderbird-bin-unwrapped + thunderbirdWorkDesktopItem + thunderbirdCloonarDesktopItem + ]; +} diff --git a/hosts/nb-new.cloonar.com/modules/sway/waybar.conf b/hosts/nb-new.cloonar.com/modules/sway/waybar.conf new file mode 100644 index 0000000..504fae6 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/sway/waybar.conf @@ -0,0 +1,132 @@ +// -*- mode: json -*- + +{ +"layer": "top", +"position": "top", + +"modules-left": [ +"sway/workspaces", +"custom/right-arrow-dark" +], +"modules-center": [ +"custom/left-arrow-dark", +"clock#1", +"custom/left-arrow-light", +"custom/left-arrow-dark", +"clock#2", +"custom/right-arrow-dark", +"custom/right-arrow-light", +"clock#3", +"custom/right-arrow-dark" +], +"modules-right": [ +"custom/left-arrow-dark", +"network", +"custom/left-arrow-light", +"custom/left-arrow-dark", +"pulseaudio", +"custom/left-arrow-light", +"custom/left-arrow-dark", +"memory", +"custom/left-arrow-light", +"custom/left-arrow-dark", +"cpu", +"custom/left-arrow-light", +"custom/left-arrow-dark", +"battery", +"custom/left-arrow-light", +"custom/left-arrow-dark", +"disk", +"custom/left-arrow-light", +"custom/left-arrow-dark", +"tray" +], + +"custom/left-arrow-dark": { +"format": "", +"tooltip": false +}, +"custom/left-arrow-light": { +"format": "", +"tooltip": false +}, +"custom/right-arrow-dark": { +"format": "", +"tooltip": false +}, +"custom/right-arrow-light": { +"format": "", +"tooltip": false +}, + +"sway/workspaces": { +"disable-scroll": true, +"format": "{name}" +}, + +"clock#1": { +"format": "{:%a}", +"tooltip": false +}, +"clock#2": { +"format": "{:%H:%M}", +"tooltip": false +}, +"clock#3": { +"format": "{:%d.%m}", +"tooltip": false +}, + + "pulseaudio": { + "format": "{icon}{volume}%", + "format-muted": "ﱝ", + "format-icons": { + "phone": ["奄", "奔", "墳"], + "default": ["奄", "奔", "墳"] + }, + "scroll-step": 5, + "on-click": "pavucontrol", + "tooltip": false + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, +"memory": { +"interval": 5, +"format": "{}%" +}, +"cpu": { +"interval": 5, +"format": "﬙{usage:2}%" +}, +"battery": { +"states": { +"good": 95, +"warning": 30, +"critical": 15 +}, +"format": "{icon} {capacity}%", +"format-icons": [ +"", +"", +"", +"", +"" +] +}, +"disk": { +"interval": 5, +"format": "{percentage_used:2}%", +"path": "/home/" +}, +"tray": { +"icon-size": 20 +} +} + diff --git a/hosts/nb-new.cloonar.com/modules/sway/waybar.css b/hosts/nb-new.cloonar.com/modules/sway/waybar.css new file mode 100644 index 0000000..c927754 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/sway/waybar.css @@ -0,0 +1,79 @@ +* { + font-size: 20px; + font-family: monospace; +} + +window#waybar { + background: #282a36; + color: #f8f8f2; +} + +#custom-right-arrow-dark, +#custom-left-arrow-dark { + color: #252525; +} +#custom-right-arrow-light, +#custom-left-arrow-light { + color: #282a36; + background: #252525; +} + +#workspaces, +#clock.1, +#clock.2, +#clock.3, +#network, +#pulseaudio, +#memory, +#cpu, +#battery, +#disk, +#tray { + background: #252525; +} + +#workspaces button { + padding: 0 2px; + color: #f8f8f2; +} +#workspaces button.focused { + color: #50fa7b; +} +#workspaces button:hover { + box-shadow: inherit; + text-shadow: inherit; +} +#workspaces button:hover { + background: #252525; + border: #252525; + padding: 0 3px; +} + +#network { + color: #8be9fd; +} +#pulseaudio { + color: #6272a4; +} +#memory { + color: #f8f8f2; +} +#cpu { + color: #bd93f9; +} +#battery { + color: #f1fa8c; +} +#disk { + color: #ffb86c; +} + +#clock, +#network, +#pulseaudio, +#memory, +#cpu, +#battery, +#disk { + padding: 0 10px; +} diff --git a/hosts/nb-new.cloonar.com/modules/sway/wofi.css b/hosts/nb-new.cloonar.com/modules/sway/wofi.css new file mode 100644 index 0000000..322997f --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/sway/wofi.css @@ -0,0 +1,40 @@ +window { + margin: 0px; + border: 1px solid #bd93f9; + background-color: #282a36; +} + +#input { + margin: 5px; + border: none; + color: #f8f8f2; + background-color: #44475a; +} + +#inner-box { + margin: 5px; + border: none; + background-color: #282a36; +} + +#outer-box { + margin: 5px; + border: none; + background-color: #282a36; +} + +#scroll { + margin: 0px; + border: none; +} + +#text { + margin: 5px; + border: none; + color: #f8f8f2; +} + +#entry:selected { + background-color: #44475a; +} + diff --git a/hosts/nb-new.cloonar.com/secrets.yaml b/hosts/nb-new.cloonar.com/secrets.yaml new file mode 100644 index 0000000..1a4f150 --- /dev/null +++ b/hosts/nb-new.cloonar.com/secrets.yaml @@ -0,0 +1,35 @@ +epicenter_vpn_ca: ENC[AES256_GCM,data:DUvpuL92zpQkK0auXGdHDw+f5gzjMARMroBknmgR+eq1LV5aISdA0XOCw7d3VFpMtHY+tPM4pDEWlnGJDoHDJBSFAUdmbLkDq2DvoDR1RBbsidmlXpvu7UnL4OyCgrN9G3I65HQmCh64/453T0Y5MZKUiFZXn9SZJgOU3h0qOnAiIKTQADXmUo6imhLuUdPxjwiLkNp8zHNystbfUuZkF15J+TXV9yndy/E8E4sFs4uysK9E+VM84v0q75zTf48cheE+cBGI9xOP5QMvSND6MloyGYUTPZOiQyz8M9AmJObvQFryysKf5Q1W1GBiTz9FVuSsr1IM7meljdBYwfxQaA5MurdsXVFYfdRgL6NyL5x7WOd367pgtBBwuVyT+cygg5ITIBc6YTuT8thp/q0BsJkq1OdVQrLa4PK12Tg2IOUg2Za/tLJxxiNWqs1gAmTWEIGAeJWmNgCZAjJIISwTGcdbpdWqhjAEgaaLf9ZD0hUXQ5MmSO+KXzP7lIGgqCXoMEc7W7rn3R2VkIrvaVgCBK3psTg6+CxoPQwnYbUKgPLG7ys54eECJyRfc8YPH1957Q67pYkVD166ZP/sDJfplOGH19QyFnaaSLRLoXCAfWuO72NwO/fSljN4+pmB6Ev1cRCe4mXicz7TTqGG740VOam/JW4OJCrnHVs67cs9/MsVSNZOsI+x44TKJjaFph4onaodDh5P7e52IkfRnHnjK6FjEvYPasUr9YDqUR3ucHxhD9UqvINDwhp3L/zyFb2HRuO1KzEQLzmG96xiJpJxBVl8GOTeNrK2owOf6cCuh6o3iPaAFjFok26gI1ujX/mPbBigOxB6S0cLOLoA7oA+E6L22nsoYdIwjU4b6Y/DQvndgsZFnycLsSA4TRYHUH1Q51fGU3S/zAlB66rYchsw3JqODD51axxEdo5uu/2a6K9c8BSDo+stHBPmGvty6IorhM+17IGwSVrnxBFbSICja/Mi9eHmkUuUQWaXe5iWiNGYOIe0Xsbu4PQANhDE0f4U1LboVdI46uVhBV36zLSRJ5hUYARdmaz+aUSfNSE20xwCQiqd4U1cb2W6ZRER5WOfNFa8LCjk1YyhDY1yKCbo5tZrYZtmo4T47EuH/2uyW9vPtDlAhpZWmJJ0LEbZMhl9hIEAgGYmhnxPIVItJWHgq4O+YavYWvu1qgbdBC/FZJ8xx0uSy48oKCbuTUbIBUHQ37/6wp+IC+FAoYc2CDgCKzYvYjGrjMr+l/bhWE6KqI2DE/8yG4sOZIyrKNOYRq/aqDRkaeu96bLSYZECoLpohEKRNLTFQ+J8btjGX+xak0HRNEX9bxx8Zs3ml8mDKfh11uy05zPMVU4jaLrc5VtvmNdCg1EffbtEIRhi88aP5K2flRLxvSsYODd8iisqJ3CEqa8/C/FoHhWqgs7vk9UeRs46CJjGQ2Nx7UeQhAK8ey8FwqqSPQ6hp6jFnAv5ha583GZm3G8CsapajioHOpNcyYRhUW/ekdQ1E7DafOLRRO0hdWws8fsP/96uuWJ1Ir1ec2pepmh8s9zCZl/CKSU6+PUjX03Y9buZDnAYao5nDFsF5hgi2nLCTRbHnCh/S5C4NL/Lss2gi/9HdQUWr3KNONgoGbdRNS4MHtK/t9MtxQT8FOS54fM76XLygYZhQEQuDHUr3vaihOPKXncPNx+M4IGd+tsOoGADfpZk7W4OLd5jl8OiCulKvmRXzGCrmyofifh6XBE/EDa97j4eXt/fZPhUh+kv7i39mLKiccPUqpq9WYA/pqlMc84PAsewRerk3Z7jygFb2oX8LwYX2vDer565q+74n/y+oqz/CQ7jypoGBC8f9a16h2e2ZuvjQZ2sUdBB0xKwmLHC5mXLRkJYZ8Myt0Bzp0iVnC8P,iv:0GfL3sG36nsg/4BPw32kKMB78TmbN+mLq/mqEFp0yas=,tag:x+kxJsS+Fn7VO3MlOmqgwQ==,type:str] +epicenter_vpn_cert: ENC[AES256_GCM,data:y94SNCZISKCGbG3dtMZKPntzHvmvAK9fr0+TASNUPp+RG0o7sWRZHrAk+zs4x6tTJpRMCN3VJUzH0bkSHrsKHsYLwVOT5Sb3l7y0CUjjT463NWj1ZipaMU94NRbtDC6Q4sMkFQPaLEefaOhjQu2a2qMx0FkQ9OA3T4f4u5GVN72/PTftHw3SybhptlF5L1e3Q69J3H0uVGRuXmmrws6HcLb2th9sAYPAi82yEimdzPa154DKIRcBY78QVkRz4X7VVyLFY3X34TMvGTmKP7MsW5lApVd/qoML0MkqvrWdEClMWG7i4jMRjSUSRIVr33DE8ds4aBx565tKQ9rVZT7KPZU7IbFqgKP6TQN8w7g5mY3aImPlRMB/xb7V8a+qBScOgBiwCgdAnz+PKGaCwcaBba80q0m/gONkxgVy+QKLLdALjb3iUpKiGvWFLwsKr/hQ1O0h7MBFDTGqWniiXZbyb39HABZNVtKAC/4qouG/G+hP6fpk/+TMtjRNSh6wWtyiYvTeFOtCWfi6YEC7IZFautr3vcu24soA+Q4vFwYr6lIEPnQYlpBCr/TLVzEvxWEjsR8G2RaBSWGm2E0tre8qVSFkJwz+niL8FQgaQTjnsYmJGHFS8sxseGuAakuSH+gzopc75H6y2pEnZrpQMOMyDq0GMkIW8xGk7x5Ewq1DZ8ji13Y8xtnbLqiJkhPc19JDoXdpls/40K4Ymrz6dOO8zxzvW8SHF47gOYvp+a5d3vqwXFZH2qDUvdScV5eATmK8ltfGod9PbZWgFzhp336dkba5aAspXlyzAlRRqrVhvpff+V8cyHTIz9qA8fhXv+v2pN0E/Es1NTJhtQo09OGnZn82lfVyR93hLtr6AgbDggwhvAOlJr/pAt0YZ5FhehhhnH0+ekUJC0YemUMj0QVbpxIWc4rt5n7nqewSHC8feo6Zfc4NHfE8sWemGGm2sUOdf6C2F9k0h+Snwfyu95XIWccMAC/Ii14ciu/nj0L67bbj8XAECjWCIlhhCJcMXlpxfU3lZX7zEy4WH+IqV1399KmtvUssuObBb9uAMwHjZl0l2GVQPo3clDea2ZP5HDO9B3kWRqpvIrjawh4IM73O43jbIDgjNXMijnH0GJu8FH8igS+7JOhRHrOBQiNc0unx6EgAfXHo3v6o8ktzbtRcUwU8k+wldU1cu9ugpVpG9j8O+zvPYkaH+0xfdAdxDKXz+4e8462O5zr3IVRp63CBBNtnTn6fcwnxgD9ouhgyyLBylzrwCmRAODHyukJovkNARWmhcYCAnYhrYf9KqaCoeRLmFq8sLMeiYGDTJ/+PTyheZMHboaoZbUbnRtrvuXQiCHqDKxSan0OACW+oXgCBgZSshj8lb58A+zjpMVy4Wis8s6K9HFpiPSP4tmHxXvOod2+qL/eZBV4LhLoahO0gg3+DUPTeJVO+4I7YZYLVXBhf0OC7z8jMGf8Q4SjO8p6Vufx2KXIEpcITto0IJFsIAv9UVfsKVyvVeuGaGGi8VQWhexdQxjDtoURRts91EFNpJ86o9HPbQCAWXBx9hlnBH2zZntqPd5eVA57s67i1dWpuudD/oBzGn3fBv3Fck9tpArMNSrOtbtl3sBc6Calo/5+HWSY4tz1Hnrlv0/IxD2EcgzH5dFu6klTn3gaMdgd288/kRPDzfdcVGqlvV8rQJjTD1XN48FK/Zp2ydCede+SKLidqrqz1ISXOwsya0ivfc4Vdk3hhnnkTnqZT3qR88Z69X+9QkYCVNaoojTiBoRCekqNDI3Ev8MKp1eX0E3rXT3AG3E7xEFGulhe2C9RdMwQg0QG/Ws7n/CtTeVwpv+JG73TlDnBzoVHN6fqKBVchbGPtcObM90N2itJ/wf3jXefhrrsQudLch+Mwp72YcvCKqOMsrO3egvNxIiLKrrVOI8buo0NJrPoQE3/+rZQFzx2r0AHkrwEUHGUvr2oHDJyXwSY2/7zCYbewN44Zjo7n5ofOhSUsaGJNySHgC6V74gyU0UCUEBnF8fZK/Y6QgdtT9gApHVtJwXRvLig2P11bIlyWZjISRaAVAUAMKdS8ir8l+P3NL8kBZstfpH2eeYFHIWeZ7VrVTs4CaHDzkyMizui0EBfvf5irWeJvIekCWnetfo047QKJvrKr+6239QxH5ni7wlzWxiZNcewaOfCK2SqOvYz6NIRp+/blZuxL2pXhTInB/XxbP2zHH64dC8AVvViU8bI2DR/HhzbbpEylzD4ttvil7hLt6AMpugFrmAgWd6JU5yM9lXoTSprmXZ7awYTLcQlCQu9cUNXF0JdtELA/oQipEEUz+2lRt3B+0abYGVWb,iv:MVId1jgmyhY/iUxnjca5IpYwlzUAsa6Nwchg52AKgRc=,tag:1RASj3dFAYVNphJ4zjXxtA==,type:str] +epicenter_vpn_key: ENC[AES256_GCM,data:Kt33OLiauTrkzSwib2px/rZoQO6tlCzsy2exxIrZb91ukUDo716+JaZ2dB6FEjx/z0jaUEiU8u3lZbq4gkhwXe/hwUnr7pIW+V1InJhuGOAENfnusDkSu6P5pVpE5FNBKYF6u77/h5pdWwI/bHo7Hfi7f1xVtPkAeSqDScprUOVIoEYeJ0AXo0L9xCQVPSIAsdrh2jZQPe1S4iCLqQTTYK5CvP4/1wjwA2C4PheXEK5Z74Xkxd3pRI0cogpt711+ujMbh01siQNs9tk5+pk8vbXV6M5duzQlJar6iF47GsaomFkLNsk4QvTVZ7kKIMWEfOzwgwniI8YGtDgjxCvd13H1agaeDjsboFxR3i5aI0ZKC4sP7aTASDQbWwTQxoFdMlHjbkMvVWAT1CxUw/phUfwA8L5xLBxzauvHgE0B/R2rW5FU+qaDZfyUts9RyIJzaF+bESz6YKV27i1ZQNp00YPH9jy05uYDjPldLo2PLzgLQHMsSwZ60KKlHU68gGtVI7qtH9fpy34h0/6IsCRAJF1mRHEHHzC8Ny4Q7dtN3GenMPVT07dwgEYczONjbtrpyKoLDHnAf5JguUydLIKvcxDwNmfXlaAcOzX9seEO0L+Wy2sjG5SCKjPA0wTwIvpWuthTpTaptde0KDBauzJZZvkx3FnABF5Ho2VHCY9MkQxnc61488rQXv15FNM2WaTKcI97b/kc+PXK0XbvKD1OKJ/fyNloaLPAJKB7Q+Nu9sSK91nyM5WOALhkp/5PiKQhSO75X1qsd2S35mWY6upES887He2rdmNjt0YPVzETVXhDk48OHwNNcqKTG0qs354/bF00lQJ7asQaHZ9vnomZTy3F+vWdadmUntu3r0lz/74ZEA1rWe+CIyINkuGcT0q48FMwlzms6XXYe4qnVjG1Yu/PknI6XfIpEAHN3aR/dVkpvwSDKzJD9mUr18IoXf7mcbRmhc0yAz7dmoT+Z5x+/z4G5u5xmMa9lvtHOnaXn0RhbMQP/Gziy9hB7GySGyztnBxOLghO6pnY17Etxcd+RDGkHb+PAZY2tJi3ObTry10dT3Zcx4aHNp69EcOjTQ1+629jFatFB2dhgIt2JdWbpgwppE2QB0g5cFY3e8s3rdriHfXsZNFt1xF7aaBYBUb/Z29EeC3EGUyV1fjhG0ZMDuZAw/7UEOObWS1Mx+z707OWWwGXy+5BYdSC/sYzUF9aMfGXjfttsqr36Cza9aSia6Qin5vMmJtpLYl1WGA3TjcgnglVhgKmg9DvEijm/pa1gy5hMX9SQgV0SuHtWfGIo+uleBr3n38CGJ8BOVJbZ4pHR4JQWrAjxE5MHIzZRF1UmbxWUoqL73IyTGZQovPrLO+z6rl+Djd7bGcQgpsBd8nJaOG5qoSH3Y40+onrlAz4WmKWPaSAclSgSPdHE4OEHIPzzrzLOaJWrI9B04LG9qMfhtpMNse/O4XT76QBfgaeDtKHO4Pv7T9PjIHYC4dPljkvrthEPQeJwo1zywDw2uu+I+WyxWuEGuR9JByJ8s7vaSLcDSP1BRkAq+i+YDDB4/a9iWmF4db/mKjVn6c+NRJjmugoCPeVbzyAfkxBm0nXVjQpOAsYGvGneAN53xHJmZ4kO91wrx+i+lXfRsnU3pgYYfHOePEhCUZoFXSVCFy0ksZKSHQSZb+v4x6CsvtpomUP6u0LIukZgZEgNsrpHXn4oQ0uzrts9LwKECAjGpgRINdJ6XCD8uxcIE+uuS5wyOWg/m1TmC5MThTwe4UfpxD0erMiqgGSSJ+xWuwmnjSS62XmLHnfe+VWEiLOk/7vWQxLy3bdHSfSXCee76isRcFpRKY+x59/Tj02I3F5onVuqAehtLkL4zUgdavmLmKI/81uKRTcMtXdFnYuCR+4xBZYauVtL3t7yhozhZwSZe/02mBahe61dwhZIIbAbAqivbrw210H5cKi9R9i+dR85ISJTrGFlXwT1EX/kD8BWdWPZrg9s5JD2jzrl56dKu+oeNPCZNuD6qlCaFBytJOixj/WkggyMGtOcy2do7MZZfuswbLLdD8ClzUx2D+nrRfae7Mze0s7KhyArmtjRyAfh8xqD+vTR7/yh8mgp2k5XOBw2bdCqH79ctq50drdBnpLuILKuruO/A1isS6YkjD0vxXQZh3yt5D3iqlAAOHdIzaWf8q0zUQsHp0aOgZG0WSlVPg44oHEG40O+laDu62fgcI4JisL6KwdJIPidw==,iv:pB/cNgmHi14ugi6kd+J6poWXX79LMHiiakNa03ibZ0Q=,tag:nLfjOesXDm5/QtwHznJROw==,type:str] +wg_private_key: ENC[AES256_GCM,data:A80vGf9aMxowC2xME4FIVTmKpSRLNB2tWiUQeP1v8vCRk6Gt8BKYOuXYt04=,iv:vr7qvfr78syrI5pIytjLouPwZcw4xvBTvEUzzv7ibnQ=,tag:qjALlFkd8JocLJqMKFERaw==,type:str] +wg_preshared_key: ENC[AES256_GCM,data:bhXoD95ahDRawoHd5Z35FY0G6Xv0PHwWJf300fHQ5jNsGN1TQKHsIswx8YI=,iv:fBsIWkVZUt8pahuO9daaRBIEEIWsSnFW5Velj9uP2ZY=,tag:RvbCYhnRv0OrjTxjsNFW6g==,type:str] +wg-cloonar-key: ENC[AES256_GCM,data:ZMEeIZApOD0ij3nPMZeQRwJ4MwVx0sHu08F+m/u6IMHBGid5YwMgxZ7qbLk=,iv:OfIZ9TqBLjToIQi7zRUBATrynBtu0bzXeGVI/EAUPhQ=,tag:mJICT/ak5U76JE/IxJsCKw==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUZ1ZON1FWeHhlNWVSeEIw + SDRwU3JBUEg4TXhPV0JpMUV6dlVHSHZoTlNRCkxpc3JHUVl5eUVMWHlOZVhSMFNi + c0lzUS96a3dSRDZtNkMzNnZ1RVQwTDAKLS0tIFF3V1E2eGw0Zk0xeVJjQy92SzJP + dTFFdDQrUktna2RKZ1VFbHBQWmhTNjgKL5/aqFTEE9NF/6tTe9UmrH2SWpuC4pzS + uHBh4XXMx9g34+y4L0bLZ4LkXA1G1EHukIVG98eYlsUlpT3nYLKdag== + -----END AGE ENCRYPTED FILE----- + - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWVkpwdlJMSzZ0Z2tCaUhw + cm9XOXo4Q3lGRHRCRnBMOVJxRitCUkhUOTNVCmc4TFdneDJPdlVVYm5Da0JWUDRS + em0wR2pTTUFzWVpwRnBVSHQydVFsTG8KLS0tIGxacC9ZRndUeVlCNHYreXI3U1FJ + VmFqdTBvanUwV2paRHhHSDRqVEpLWVEK7uRtiTZ+NJWP98RE2YfugHf5UjfUKJ5V + brmUHz2gODPPyKPi94EXBJF8gPC93AVpiVMU9OlkHCm7UMMl0wSxhw== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2022-11-30T08:33:24Z" + mac: ENC[AES256_GCM,data:/vJdDVpv+iM66wANeLLl+CPtg2j1OCyKlGHhsQQT/RphUj4IlIsjKj+j59lmM6bRBfebTTRt1scFgz8CCPoyfSH0KrAyPLPs1SPxZT6Le87PkmO2rfH0MpNCrBDUdtpMgKs+kbxSzbqnh6X3+juXnOL3oUB3K0cdF6hAr4cP5xU=,iv:3IxaC/8y8FwKxO3mPP7f/byjYih3O6zZU6HJK2cAPvw=,tag:g8crhgnYs670wLPcC3HIhw==,type:str] + pgp: [] + unencrypted_suffix: _unencrypted + version: 3.7.3 diff --git a/hosts/nb-new.cloonar.com/users/default.nix b/hosts/nb-new.cloonar.com/users/default.nix new file mode 100644 index 0000000..96def77 --- /dev/null +++ b/hosts/nb-new.cloonar.com/users/default.nix @@ -0,0 +1,16 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/release-24.05.tar.gz"; + + +in +{ + imports = [ + (import "${home-manager}/nixos") + ./dominik.nix + ]; + + home-manager.sharedModules = [ + "${builtins.fetchTarball "https://github.com/Mic92/sops-nix/archive/master.tar.gz"}/modules/home-manager/sops.nix" + ]; +} diff --git a/hosts/nb-new.cloonar.com/users/dominik.nix b/hosts/nb-new.cloonar.com/users/dominik.nix new file mode 100644 index 0000000..83315a3 --- /dev/null +++ b/hosts/nb-new.cloonar.com/users/dominik.nix @@ -0,0 +1,378 @@ +{ config, lib, pkgs, ... }: +let + thunderbirdSettings = { + "extensions.activeThemeID" = "thunderbird-compact-dark@mozilla.org"; + "browser.theme.content-theme" = 0; + "browser.theme.toolbar-theme" = 0; + "calendar.alarms.showmissed" = false; + "mail.uidensity" = 2; + "mail.inline_attachments" = false; + "mail.folder.views.version" = 1; + "calendar.list.sortOrder" = "cloonar-personal"; + "calendar.ui.version" = 3; + "calendar.timezone.local" = "Europe/Vienna"; + "calendar.week.start" = 1; + }; + + thunderbirdCalendarPersonal = { + "calendar.registry.cloonar-personal.cache.enabled" = true; + "calendar.registry.cloonar-personal.calendar-main-in-composite" = true; + "calendar.registry.cloonar-personal.color" = "#232323"; + "calendar.registry.cloonar-personal.disabled" = false; + "calendar.registry.cloonar-personal.forceEmailScheduling" = true; + "calendar.registry.cloonar-personal.imip.identity.key" = "id6"; + "calendar.registry.cloonar-personal.name" = "Personal"; + "calendar.registry.cloonar-personal.readOnly" = false; + "calendar.registry.cloonar-personal.refreshInterval" = 30; + "calendar.registry.cloonar-personal.suppressAlarms" = false; + "calendar.registry.cloonar-personal.type" = "caldav"; + "calendar.registry.cloonar-personal.uri" = "https://cloud.cloonar.com/remote.php/dav/calendars/dominik.polakovics@cloonar.com/personal/"; + "calendar.registry.cloonar-personal.username" = "dominik.polakovics@cloonar.com"; + }; + thunderbirdCalendarEpicenterEmployees = { + "calendar.registry.epicenter-employees.cache.enabled" = true; + "calendar.registry.epicenter-employees.calendar-main-in-composite" = true; + "calendar.registry.epicenter-employees.color" = "#e774ca"; + "calendar.registry.epicenter-employees.disabled" = true; + "calendar.registry.epicenter-employees.forceEmailScheduling" = true; + "calendar.registry.epicenter-employees.name" = "epicenter.works-Employees (admin)"; + "calendar.registry.epicenter-employees.readOnly" = false; + "calendar.registry.epicenter-employees.refreshInterval" = 30; + "calendar.registry.epicenter-employees.suppressAlarms" = true; + "calendar.registry.epicenter-employees.type" = "caldav"; + "calendar.registry.epicenter-employees.uri" = "https://cloud.epicenter.works/remote.php/dav/calendars/razormind/akvorrat-employees_shared_by_admin/"; + "calendar.registry.epicenter-employees.username" = "razormind"; + }; + + thunderbirdContactsPersonal = { + "ldap_2.servers.Contacts.carddav.token" = "http://sabre.io/ns/sync/325"; + "ldap_2.servers.Contacts.carddav.url" = "https://cloud.cloonar.com/remote.php/dav/addressbooks/users/dominik.polakovics@cloonar.com/contacts/"; + "ldap_2.servers.Contacts.carddav.username" = "dominik.polakovics@cloonar.com"; + "ldap_2.servers.Contacts.description" = "Contacts"; + "ldap_2.servers.Contacts.dirType" = 102; + "ldap_2.servers.Contacts.filename" = "abook-1.sqlite"; + "ldap_2.servers.Contacts.uid" = "68fb463c-1c2d-4f39-be37-bbb6ecb97e63"; + "ldap_2.servers.history.uid" = "01df0056-319d-47ac-93ff-b24b978c0902"; + "ldap_2.servers.pab.uid" = "3a7c1bff-18ec-4500-9ae2-098b5fdbaeaa"; + }; + + firefoxSettings = { + "browser.startup.homepage" = "https://start.duckduckgo.com"; + "browser.startup.page" = 1; + "browser.startup.homepage_override.mstone" = "ignore"; + "extensions.autoDisableScopes" = 0; + "app.normandy.first_run" = false; + "browser.download.panel.shown" = true; + "devtools.cache.disabled" = true; + "devtools.toolbox.host" = "right"; + "browser.uiCustomization.state" = "{\"placements\":{\"widget-overflow-fixed-list\":[],\"unified-extensions-area\":[],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"urlbar-container\",\"downloads-button\",\"screenshot-button\",\"ublock0_raymondhill_net-browser-action\",\"jid1-mnnxcxisbpnsxq_jetpack-browser-action\",\"_d634138d-c276-4fc8-924b-40a0ea21d284_-browser-action\",\"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action\",\"_testpilot-containers-browser-action\",\"unified-extensions-button\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"firefox-view-button\",\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"PersonalToolbar\":[\"import-button\",\"personal-bookmarks\"]},\"seen\":[\"save-to-pocket-button\",\"_d634138d-c276-4fc8-924b-40a0ea21d284_-browser-action\",\"_testpilot-containers-browser-action\",\"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action\",\"ublock0_raymondhill_net-browser-action\",\"jid1-mnnxcxisbpnsxq_jetpack-browser-action\",\"developer-button\"],\"dirtyAreaCache\":[\"unified-extensions-area\",\"nav-bar\",\"PersonalToolbar\"],\"currentVersion\":20,\"newElementCount\":3}"; + }; + + firefoxExtensions = with pkgs.nur.repos.rycee.firefox-addons; [ + bitwarden + multi-account-containers + onepassword-password-manager + privacy-badger + ublock-origin + ]; +in +{ + home-manager.users.dominik = { lib, pkgs, ... }: { + /* The home.stateVersion option does not have a default and must be set */ + home.stateVersion = "24.05"; + home.enableNixpkgsReleaseCheck = false; + /* Here goes the rest of your home-manager config, e.g. home.packages = [ pkgs.foo ]; */ + programs.git = { + + enable = true; + package = pkgs.gitAndTools.gitFull; + userName = "Dominik Polakovics"; + userEmail = "dominik.polakovics@cloonar.com"; + # signing = { + # key = "dominik.polakovics@cloonar.com"; + # signByDefault = false; + # }; + iniContent = { + # Branch with most recent change comes first + branch.sort = "-committerdate"; + # Remember and auto-resolve merge conflicts + # https://git-scm.com/book/en/v2/Git-Tools-Rerere + rerere.enabled = true; + }; + }; + + programs.thunderbird = { + enable = true; + profiles = { + private = { + isDefault = true; + settings = lib.mkMerge [ + thunderbirdSettings + thunderbirdCalendarPersonal + thunderbirdContactsPersonal + ]; + }; + cloonar = { + settings = lib.mkMerge [ + thunderbirdSettings + thunderbirdCalendarPersonal + thunderbirdContactsPersonal + ]; + }; + work = { + settings = lib.mkMerge [ + thunderbirdSettings + thunderbirdCalendarPersonal + thunderbirdCalendarEpicenterEmployees + thunderbirdContactsPersonal + ]; + }; + }; + }; + + accounts.email.accounts = { + "dominik@superbros.tv" = { + primary = true; + realName = "Dominik Polakovics"; + address = "dominik@superbros.tv"; + userName = "dominik@superbros.tv"; + imap = { + host = "imap.cloonar.com"; + port = 993; + }; + smtp = { + host = "mail.cloonar.com"; + port = 587; + tls = { + enable = true; + useStartTls = true; + }; + }; + thunderbird = { + enable = true; + profiles = [ "private" "cloonar" "work" ]; + }; + }; + "office@cloonar.com" = { + realName = "Cloonar"; + address = "office@cloonar.com"; + userName = "office@cloonar.com"; + imap = { + host = "imap.cloonar.com"; + port = 993; + }; + smtp = { + host = "mail.cloonar.com"; + port = 587; + tls = { + enable = true; + useStartTls = true; + }; + }; + thunderbird = { + enable = true; + profiles = [ "cloonar" "work" ]; + }; + }; + "dominik.polakovics@cloonar.com" = { + realName = "Dominik Polakovics"; + address = "dominik.polakovics@cloonar.com"; + userName = "dominik.polakovics@cloonar.com"; + imap = { + host = "imap.cloonar.com"; + port = 993; + }; + smtp = { + host = "mail.cloonar.com"; + port = 587; + tls = { + enable = true; + useStartTls = true; + }; + }; + thunderbird = { + enable = true; + profiles = [ "cloonar" "work" ]; + }; + }; + "dominik.polakovics@epicenter.works" = { + realName = "Dominik Polakovics"; + address = "dominik.polakovics@epicenter.works"; + userName = "dominik.polakovics@epicenter.works"; + imap = { + host = "mail.epicenter.works"; + port = 993; + }; + smtp = { + host = "mail.epicenter.works"; + port = 587; + tls = { + enable = true; + useStartTls = true; + }; + }; + thunderbird = { + enable = true; + profiles = [ "work" ]; + }; + }; + }; + + programs.firefox = { + enable = true; + profiles = { + default = { + id = 0; + isDefault = true; + settings = firefoxSettings; + search.default = "DuckDuckGo"; + search.privateDefault = "DuckDuckGo"; + extensions = firefoxExtensions; + }; + social = { + id = 1; + settings = firefoxSettings; + search.default = "DuckDuckGo"; + search.privateDefault = "DuckDuckGo"; + containersForce = true; + containers = { + "private" = { + color = "green"; + icon = "fingerprint"; + id = 1; + }; + "cloonar" = { + color = "purple"; + icon = "briefcase"; + id = 2; + }; + "epicenter.works" = { + color = "blue"; + icon = "briefcase"; + id = 3; + }; + }; + extensions = firefoxExtensions; + }; + }; + }; + + /* Setup development projects */ + home.activation.projects = lib.hm.dag.entryAfter ["writeBoundary"] '' + PATH="${pkgs.git}/bin:${pkgs.openssh}/bin:$PATH" + set +eu + git clone gitea@git.cloonar.com:Cloonar/nixos.git ~/projects/cloonar/cloonar-nixos 2>/dev/null + git clone gitea@git.cloonar.com:Cloonar/website.git ~/projects/cloonar/cloonar-website 2>/dev/null + git clone gitea@git.cloonar.com:Cloonar/wohnservice-wien-typo3.git ~/projects/cloonar/wohnservice-wien 2>/dev/null + git clone gitea@git.cloonar.com:Cloonar/gbv-aktuell.git ~/projects/cloonar/gbv-aktuell 2>/dev/null + git clone gitea@git.cloonar.com:Paraclub/api.git ~/projects/cloonar/paraclub/paraclub-api 2>/dev/null + git clone gitea@git.cloonar.com:Paraclub/frontend.git ~/projects/cloonar/paraclub/paraclub-frontend 2>/dev/null + git clone gitea@git.cloonar.com:Paraclub/website.git ~/projects/cloonar/paraclub/paraclub-website 2>/dev/null + git clone gitea@git.cloonar.com:Paraclub/module.git ~/projects/cloonar/paraclub/paraclub-module 2>/dev/null + git clone gitea@git.cloonar.com:Cloonar/amz-api.git ~/projects/cloonar/amz/amz-api 2>/dev/null + git clone gitea@git.cloonar.com:Cloonar/amz-frontend.git ~/projects/cloonar/amz/amz-frontend 2>/dev/null + git clone gitea@git.cloonar.com:myhidden.life/web.git ~/projects/myhidden.life/myhidden.life-web 2>/dev/null + + git clone git@gitlab.epicenter.works:epicenter.works/campaigntool.git ~/projects/epicenter.works/campaigntool 2>/dev/null + git clone git@gitlab.epicenter.works:epicenter.works/website.git ~/projects/epicenter.works/epicenter.works 2>/dev/null + git clone git@gitlab.epicenter.works:epicenter.works/nixos.git ~/projects/epicenter.works/epicenter-nixos 2>/dev/null + git clone git@github.com:AKVorrat/spenden.akvorrat.at.git ~/projects/epicenter.works/spenden.akvorrat.at 2>/dev/null + git clone git@github.com:AKVorrat/dearmep-website.git ~/projects/epicenter.works/dearmep-website 2>/dev/null + set -eu + ''; + + home.activation.nvim-project = lib.hm.dag.entryAfter ["writeBoundary"] '' + PATH="${pkgs.coreutils}/bin:$PATH" + if [ ! -e "~/.local/share/nvim/project_nvim/project_history" ] ; then +cat > ~/.local/share/nvim/project_nvim/project_history << EOL +/home/dominik/projects/cloonar/cloonar-nixos +/home/dominik/projects/cloonar/cloonar-website +/home/dominik/projects/cloonar/wohnservice-wien +/home/dominik/projects/cloonar/gbv-aktuell +/home/dominik/projects/cloonar/paraclub/paraclub-api +/home/dominik/projects/cloonar/paraclub/paraclub-frontend +/home/dominik/projects/cloonar/paraclub/paraclub-website +/home/dominik/projects/cloonar/paraclub/paraclub-module +/home/dominik/projects/cloonar/amz/amz-api +/home/dominik/projects/cloonar/amz/amz-frontend +/home/dominik/projects/myhidden.life/myhidden.life-web +/home/dominik/projects/epicenter.works/campaigntool +/home/dominik/projects/epicenter.works/epicenter.works +/home/dominik/projects/epicenter.works/epicenter-nixos +/home/dominik/projects/epicenter.works/spenden.akvorrat.at +/home/dominik/projects/epicenter.works/dearmep-website +EOL + fi + ''; + + /* Setup nextcloud folders */ + home.activation.nextcloud = lib.hm.dag.entryAfter ["writeBoundary"] '' + set +eu + ${pkgs.coreutils}/bin/mkdir ~/cloud.cloonar.com + ${pkgs.coreutils}/bin/mkdir ~/cloud.epicenter.works + set -eu + ''; + + programs.ssh = { + enable = true; + matchBlocks = { + "git.cloonar.com" = { + user = "git"; + identityFile = "~/.ssh/id_rsa"; + identitiesOnly = true; + }; + "gitlab.epicenter.works" = { + user = "git"; + identityFile = "~/.ssh/id_rsa"; + identitiesOnly = true; + }; + "tools.epicenter.works" = { + user = "root"; + identityFile = "~/.ssh/epicenter.id_rsa"; + }; + "*.epicenter.works !tools.epicenter.works" = { + user = "dominik"; + identityFile = "~/.ssh/epicenter.id_rsa"; + }; + "*.dearmep.eu" = { + user = "root"; + identityFile = "~/.ssh/epicenter.id_rsa"; + }; + "*.akvorrat.at" = { + user = "dominik"; + setEnv = { + TERM = "xterm-256color"; + }; + identityFile = "~/.ssh/epicenter.id_rsa"; + }; + "*.cloonar.com" = { + user = "root"; + }; + "*.cloonar.smart" = { + user = "root"; + }; + "*.wsw.at" = { + user = "wswdpolakovics"; + setEnv = { + TERM = "xterm-256color"; + }; + }; + "*.nycro.net" = { + user = "hilgenberg-gmbh.de_kk33i9d2xv"; # prod + #user = "hilgenberg.gmbh.de_pci2n5aqzt"; # stage + setEnv = { + TERM = "xterm-256color"; + }; + }; + "amz-websrv-01.amz.at" = { + user = "ebs"; + }; + "u149513.your-backup.de" = { + user = "u149513"; + # user = "u149513-sub2"; # fw.cloonar.com + port = 23; + }; + }; + }; + }; +} diff --git a/hosts/nb-new.cloonar.com/utils b/hosts/nb-new.cloonar.com/utils new file mode 120000 index 0000000..6b18391 --- /dev/null +++ b/hosts/nb-new.cloonar.com/utils @@ -0,0 +1 @@ +../../utils \ No newline at end of file diff --git a/hosts/web-01.cloonar.com/modules/authelia/secrets.yaml b/hosts/web-01.cloonar.com/modules/authelia/secrets.yaml index 6930675..8b3893b 100644 --- a/hosts/web-01.cloonar.com/modules/authelia/secrets.yaml +++ b/hosts/web-01.cloonar.com/modules/authelia/secrets.yaml @@ -14,20 +14,29 @@ sops: - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBU1E5VzRjNjZFS0V1eWNr - ZnFENWJUVXRRVmxoV0pqcWlXdlB6U1Q2a2hFCm1Ea0kvZ2pUdWhVdkgyVUt3dFRS - VEQ3UVhCMjdqLytOck9TU283Wjc5YzgKLS0tIGlobjd6UEczTnQ0N3d5M0V1UFBV - QWp3NWJMcnJxOXBDazFjc25oQlhNWDQKFvBV6QpP4/mlGr4d6NcY7u6FJcaZo/oc - jEb1ROMdrAfWm7r3BeyEzwAtciZ1HqqcIcM9hyT50KIA/M1nOVU6/Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHWkRuWXdaQ1RUbkF1d2p0 + elZkbnFVSW9tVjdqSHFvbjFiL202cW1tWjJ3ClpDUEFIMDFteFA1QTdTVmtVWHI0 + OFRuU1Fockh4aTBwa3l3ZjdiMFFYSm8KLS0tIGdCZjZNVXNVZWV3ZlJzY3ZyZXhr + WFp1eVZna1VWUUZuTVY4Q2h2c0Y2ZDAKcglSV3UBoZ65+SsM+zRFJmjIH61jXbT0 + rpeJ8/0i4THmVpbZY+NOIh2zECmzBkAA06jv0jMoftL40h2wsdgncg== + -----END AGE ENCRYPTED FILE----- + - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBna282T2hYcDl4UWFISDVL + eE42MjVxZndUVEU5bjJwUzdHU2xHNXVNRW13CmZwUmdCWDFNVmdDbktwOXBIbzNZ + eGgrZHQwMEdRSG11aWpoSllrcjBBY2cKLS0tIFBZRUdYVUhsbFZYV0w5T3RYc0Ez + RDJZcjA4VFNadEZCUmpOVWRBdGNKMzQKhhQCbeRxDvhFVsF3G+OoXo4i+koqqgrV + o/esYoxA1ZNsS9mhFbfMw1C2YO43iPtaWChAO5zUABDALD6dJ1Rf1A== -----END AGE ENCRYPTED FILE----- - recipient: age1y6lvl5jkwc47p5ae9yz9j9kuwhy7rtttua5xhygrgmr7ehd49svsszyt42 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlWWpVenhTSGo1UmVrTEg4 - ZVJldXI4QVBNWHRNVmFQMkR0RWhET1IycGxnCjZiNWpiUmhnWmo1UzZaQTliQXdR - c01XN1dldy9LdEFSVU9WUUxYeTk5dTQKLS0tIHVKYzFqT1hoeGVvYlNDamJvbHhF - cUtDM09Hc0pYalRka3JlZUZrSzgzbkUKuuJVITtogxhyRMIuYAGlL1u0RMlHGo5K - Bq5BvTxTwurfhf8Nl+Gy4JP1yZ5nhJDpuisHnNMtd0bQbdtWjf+kSA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5ZUJuMnNwTGpSdVA4UXV5 + bkdGTWJsRjliMGJWcXBKekc3WDZiN0FWV0MwCmZIVld4M0xaWWhmUDVqSGcwbGpz + S0kzQy9scDRObS82WkMzYUw2dVBaWXMKLS0tIGpkeFZqdXIrY0lFdUgwekNJeDN4 + eFhnWGdoTzdyZmtjZDJBc3FveTRaN0EKBj2hSr6qDxwW+k5hox47P5uyoHQAzCjH + +TplhMUd5p8/ud3U4lixLezGu1qftVSKtz/4SAXrSC5DYZJF1w7tDQ== -----END AGE ENCRYPTED FILE----- lastmodified: "2023-08-17T01:43:14Z" mac: ENC[AES256_GCM,data:zcCKk+VAddbb4vZltdC6hKPAnoo4rvcLcmIsKATQekbVo9OUk5Q5JnxglgAxXyj/YMZ7tIY/IXoWdSW4Kw673vthVnWpGLnuHtXJFGslkQ+GEkIt0z/oepr33gXErsEolZ3rIx02CVsIK5tb38ol0DhAe+6dUihsi23HruMJNog=,iv:2RVGRBTgqR9YLrRpoxuN72NOcXvRlZVTaPNiU7l75w0=,tag:lr4/sBBE9F27II289OWUNQ==,type:str] diff --git a/hosts/web-01.cloonar.com/modules/bitwarden/secrets.yaml b/hosts/web-01.cloonar.com/modules/bitwarden/secrets.yaml index e2172d2..4b4c3ca 100644 --- a/hosts/web-01.cloonar.com/modules/bitwarden/secrets.yaml +++ b/hosts/web-01.cloonar.com/modules/bitwarden/secrets.yaml @@ -11,20 +11,29 @@ sops: - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMUmttaXRmcXh2UDRyL1pJ - MmxMSzBqUmxlY290K1djQ3ZSYWM1OXhFbEhvCjlmNnd6T2Z2bHNZK3oxRmllNUFI - RzNvc3hqMXIwd3dwa3crckxVNmNyQXcKLS0tIHFLSXpUOFpyaUVXa2hJU0pheU5h - NlZoeVNYdTQ1c0pUQ1o4NnJxaWFTTFEK0l7vHpXj00fUFno5gjS3apPRWercgng6 - SOygmyQiP/EWI/G0M6W8gjq76pQamYJWVVJVFwxqg4BxAhdMwxtVXQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTVzQvK0VkUzh2MDhzSm5Z + TWlYVHNQQk9sbTkxT2JtUVFTQ01xam1FSFJBCjh3QUN1VGhCakJlR3QrZCtkdWpk + RGtGbEM0c2xUTlJiWktrczA0eVlFMm8KLS0tIFNnM0JpcHNrdFBadkpLZTZaY3VQ + ckYzWldIN01TZ3dKYmhIU1ZqK3NGWE0KvVTpNRg7RN0jKBDEDf0U+52I17+A3Gkl + 1VGxCmO87cBPcxmfnxoAdpabqCV9l784YHkQsW3Z0gicr0392m78Rw== + -----END AGE ENCRYPTED FILE----- + - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSdURKWGg1dFk2MEFzVS9q + NkNReXU3RkNHaUUvZ0RMTXNVbkI5bDBwbHdzCjY2Rm1PMitteVBZQW1xMGxYMlFH + djJLSGtFUElsaTBETk5EZzgzMGh2TmMKLS0tIENJUUlWTmhMT1dlVWRpdmYwQnFi + cW02R1F0M2djcExEeVRUalp4cnRzY28KoFN3BS4C/xqoHeD3Is0AfRJlWRJQ/i5z + rFV9USYsD23M+tdirbVgCfaSBl5RZXB4SpNFiG3QjhmQ04JuIxuHQg== -----END AGE ENCRYPTED FILE----- - recipient: age1y6lvl5jkwc47p5ae9yz9j9kuwhy7rtttua5xhygrgmr7ehd49svsszyt42 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCNjE2c21zVktrTUJDVWJ2 - UWdqZHErWkpGVnY5Q0F3QUlBNkprRFJFbHpjCnJvQmZoZ0x2c0dxU0FwbExGaTIz - eGFoczZma2dBVEJjQ1ljb24zYWJEQWsKLS0tIDVmWWQyYmQ1RS9oV0p0ZmwyUzJI - NkdzbFczM0VteW5ESGFNcmNJdFRNODAK8HRoc2thwAH8pvnMwesRs8OesVGHW/Iu - viPtt+w6FNwYt4LXnFlBMdGXfrWE0fWxokM0sm5GglKuFGn1zf3+VA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0b1pReWNGenpEZ1RtVkZz + dGIrQ1NYdzdlNTNacXFkNkY4eUVSUzJ4NjNnCmYxdlFYRm9VYlRnRS9GU28xSita + cVNadTBBNmF0TjkwZnhPdHVvUWVhdXMKLS0tIGJ0MS9qOXJhVEtoSUd2TWtCUmFq + dGxUQ1RmVkhXZDVRMGx5dUFDZUlTMkEKHwwCPamlcJoiJGIOVtLdcftMm3D5DgN/ + yijIfsBySzUfU1dfFp6GMpazL+81L4+8AEp3ZW7z2BBwwE7tm1yVzg== -----END AGE ENCRYPTED FILE----- lastmodified: "2023-01-28T21:53:06Z" mac: ENC[AES256_GCM,data:jZq4UzkxyX/UhrmeKO7sFQpTlMB13lyi5/duXA0s2XX3W0U9g+TSZm21WiRGPjKmteJg0w2OhFsNk/y0uvD/oPE1ttLz/YRgiinuCoyufoX51AgQqS0KFxNBkTaDzoaKk3z1j8nEhAY2U0YS4fpOCNAkMsKdVZeTVOitcp/UeIE=,iv:5EzYCqUZri1VmD9wqQGxpypZe4F2h8W3D8a7mYbBBrg=,tag:iEFJBFmRJVw4YP5/V+21dQ==,type:str] diff --git a/hosts/web-01.cloonar.com/modules/nextcloud/secrets.yaml b/hosts/web-01.cloonar.com/modules/nextcloud/secrets.yaml index 0592ce4..49e8406 100644 --- a/hosts/web-01.cloonar.com/modules/nextcloud/secrets.yaml +++ b/hosts/web-01.cloonar.com/modules/nextcloud/secrets.yaml @@ -8,20 +8,29 @@ sops: - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5TzlPR0VIZUY1SERna1Zp - YzJTajVBTy91U21FQ0w4RHp5cTA0MlBDWGtZCjc4L2Ywd1V6RGtYQzVRdlozQ0tn - OFl6MXpXODNlM0RZNkpsYXlYVHJvWlEKLS0tIFRzUU50RngvZXoyV2JKakMzZTg3 - ZTJsWE5pcEZhRmc4dzYzNlNBdnVnQlEKQZflKTufLJ5bdZgdfuGG7kjgojUWHQBF - RX/ne7/S90bzEm1ZFdnJWVo4UHTWgoSuLLW4o3ekDhzvrZGycat8ow== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0VmR4THNkUGpvVHB6WWtw + WkQ1dlc3R0FWaXpVZ29Sd2g1ZWJzYUFQWHdFCndkUWxqZEdIQlBnSDluN2NEWmZG + VndCbXlqV3p0ZnYwcFhjeGZVa09xcW8KLS0tIHVnc2RPWTF1b2NvWVp3OEFwVDZk + V0FWOXhSbXQyd0JmVEVpdG9IeXlsQ1UKFxGluq+uOgkA7UUa6/4ZErEPRgQQ5cXS + PdB5Et5f02RWBRAUtGEE0UrLiINlIFvFAIr3PKctNVc8/Ovf/jGojg== + -----END AGE ENCRYPTED FILE----- + - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0RnRPK0Y4ekRiYS9xdGs0 + ZE5oT1FIWmlySERMbDAyQXlHNDJnQ2Q2dkVvCjNQSGlyQXlzUXAzV0wrNHppUFY4 + a3k4Y2VtQ1Z4UjVqcnQ4MXhjSzJoM0UKLS0tIHBORnVoSHlJVnpjcmdZVTA1NHhF + dHVTWnpXTnNNc0l1M3J6enFBdUwwNWcK80nKzyIrrKaEa0naFsnuie+732hMZQUg + IAU9V7/bZiDItTUVdATDjjNBiXnMgDB73SqHhuyIDD+VhDkVUBhjWw== -----END AGE ENCRYPTED FILE----- - recipient: age1y6lvl5jkwc47p5ae9yz9j9kuwhy7rtttua5xhygrgmr7ehd49svsszyt42 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQRnY3TVJPbTc0ckhacDBZ - cHpOZU9NaUluMnpTNlBPZTRLaUVBSGZkMjJVCkVKcFBnZ0xrcFZIM3ZyZCs5aEVZ - QW5QYTN0SHp2SHNYT2dXWFhxYWw4RmMKLS0tIG9XUjcrTlprd0orU0dnMzU1UnRa - ajYyZDhDd1ovUGViY3FuMkdoKzRWMUEKjyqCz9OezOymL/Em4dOyHQNPFRUjP8+b - cxrImPeXqfepSUQ+fPHOjXkfvK28nJP92HQoJ7eNEqccsI/okJU9cw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVdDduRUZOS2VEUldmRFRS + QUVxeUVWRERSQ2ZkdnV1ekw4SVVFSzZvUFN3CkQrRnBQQzlnL2xtcFpVd0xiQmda + NFZnQmhxcm1xUnVZY3l2eHp6Sjl4a0UKLS0tIG1maDNiRW44VmJDSlk2eWRQcHB2 + ZHpwQURoNGhuOWJPUkFpc0RSaHFBM0UKW4lMlcxC5+Hpm6DO3wwco41kJsfuWP33 + +2qhmnwt8mXWxAVxNreQQ0YQDliBnQR3uUny7hWyfrIkeQzOBLBrOw== -----END AGE ENCRYPTED FILE----- lastmodified: "2023-08-18T17:47:34Z" mac: ENC[AES256_GCM,data:bm/lHsobqvZSzk9crPmf8vc2idN3h/HOpQab7n7N6vtEY0QpMTv+6K7YERBD7T9oIxSNtcLNOcw6Rr2w9Cd1cq+W0azPA2dxd6/crq6rbhAgld/MipemP+YfdENxRrdyastk7P3FWyHZzhKlhem/ft0lpeiJg5NWRjA8IkLSDZc=,iv:W4cYC/e1CO5nsLx5yOaH0vGJ7fAx5bAH9acJShciHcI=,tag:whYqwogQMPPklHqoyhuL8g==,type:str] diff --git a/hosts/web-01.cloonar.com/modules/zammad/secrets.yaml b/hosts/web-01.cloonar.com/modules/zammad/secrets.yaml index 441d27a..7d5ceb0 100644 --- a/hosts/web-01.cloonar.com/modules/zammad/secrets.yaml +++ b/hosts/web-01.cloonar.com/modules/zammad/secrets.yaml @@ -9,20 +9,29 @@ sops: - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpK2E1R1ByNVdxNVJxR3NV - Smc1eHhPL2syb0RSQXFaNDlzdG9LaDh6YkIwClFQVFVJNHZ1V214NVBjZXlaYTJH - QkRRdSt5MkZGV2JKU2tvQUY5Um90Q1UKLS0tIEhjMnlwTURDbWtXMEFxSUVQQzln - VjVadHM1byt0M0ZtdVUzVjc3OEFLOXMKBJ1XviMhDv+QzxsIXRgkhts3yfjQ0aK4 - ADlt2DyQ3nJzmOZe9NzBUAAMzftdcOxDCc42kqOhJlWLwV25Nock9w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUc0RlQUt4VHU1eWZrdlF5 + UFhjSU5TWFlGbTIwbzVlaStHaWRTdS92d0YwCkJQRlh0eWVNRW9SdUFXQUZzNFYw + dktoSmFqbWxDbXR0dDNTNy8zTHYwQUEKLS0tIFFwQkdvK2QvSmFGaVRBaVFMeEFi + YUZ6b1dzUGZkL2t4aU5tTjA4UC9KU3cKmhugvvIexQqpVtGp7aLKU7WSQNxk0cTO + +8MWF1v0mztJlGbiWk5OOzT9L8TO7GDGXfi8GyMVgVBvaA7tFF709w== + -----END AGE ENCRYPTED FILE----- + - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFZGRWbnVxVUdHWndEanlk + Wmp4WS8yUjdrVSsxTHFNcjFUWm5IZytaZVRzCmorZTJRSnBRTE5qK2xiZGtYNXZH + RjBDdWE5NjE3ZWtXRU5Fc2FaVFkzNUEKLS0tIGwvUjVBL2NpdTFsY04zbktJRGxF + QWo1Vm56dnZWQ2l1K3hzVlZDL3BaTHMKw9CjtbS9hyW42prUhlTIcmcb4Z6OaxRr + T7RJZxXefEr4myJYI5B3pqbXlBpSLLwS4lgtoqHmmYuSNjL8/xoksw== -----END AGE ENCRYPTED FILE----- - recipient: age1y6lvl5jkwc47p5ae9yz9j9kuwhy7rtttua5xhygrgmr7ehd49svsszyt42 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEOXpTZFdqcE9IaFBIYS9M - eU5jL1lVTjFtOWJXVjRVbE1XMkxNSzA0c2tzCkd5L285NDRXekE5ZHBvUGw2RHV0 - cmlTRm13MVhoRlc0S1YxSUpSandydUEKLS0tIC96V2pQVC9EL1pXdXdMTHhrVTBL - RUxmbjFEcEdmNzlaSERGdnBEM05CSXMKwENxkq1yu4TDiwFhDsk25pvcLjg3m4MR - qVgMbMx+kzROf9UpbArEjcVFJ9eGwo5f/fEsRDEf03VObWRiLTmucQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBicStLZGZvdGJyMyszMkFo + S2xTeUM5ZEIrbUxqbXBxQTUyeHhJVTAzUm40Ck5KbngvdWYvVk5VYTRCUWhZeFkw + eFJKVEZ3VnpuL3BmOFVQdCs2K3hoTUUKLS0tIEhFRXZyRlpPZUpEanFMU1oweVJ2 + RVJjc0FUb0NFMHk2M3gxTmhMYjlrTDgKR0tfq1CWU8OdeeigOsKqNx2sszVtPWjH + yXcqe/jLAnvS/Ut/afEyfGYEiyyzJXLp9TGjV1fAp9y2K2noD8/TwQ== -----END AGE ENCRYPTED FILE----- lastmodified: "2022-11-29T10:54:56Z" mac: ENC[AES256_GCM,data:OX49RTucGWdH1RkbXfkiMLH2Lj65v554WSfJxkCkIu/dFagCH90QSRiX/15HTsI//ffwKVurDivC6H6OByK2eWdaeCYTEn2029GjdL4RhJhXy0RLXEq5D/KVRu73O9Xe6M36asc/OenzPcmbHAvddD14y9vaOsVTL0H15ydVrwg=,iv:+uBt1Mvj+WMM4CvAOwmOXhZJVZBXVDCXA8iSXpdjktU=,tag:AeipsBJ8PA22OfUxXA8bIA==,type:str] diff --git a/hosts/web-01.cloonar.com/secrets.yaml b/hosts/web-01.cloonar.com/secrets.yaml index 85f297b..53a25ea 100644 --- a/hosts/web-01.cloonar.com/secrets.yaml +++ b/hosts/web-01.cloonar.com/secrets.yaml @@ -28,20 +28,29 @@ sops: - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUUlBLUlBleFpnek93MmRa - bXBuSG1VV1J3OWVpdWF6eGZzbytPa3BVL2pVCk01V3NXbTVjSytaY1lTeVZVc294 - K1kwM0N3QmxKUTN6ZWVmQUZsT3pZeUEKLS0tIDgrYTFCUGhXQVlnajdpc0dCOWc2 - Y0U2eUJJcHA5c1k1MlB6TjMwd1lJR0kKD1V40d1QsS4AWr1wFq5nWeVZlYXNxUKu - nrFju9Y/ceWUBHQ74m5mLzWv8NV0134XQRtQMLN1n1UT9G2kOk0BNA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWSDhvdG5QTWhJQ21OaXZD + N1NoekVJZDd3NlR4TW1SWWdvZWlybFYveWkwClRGSUNKVTlMY2Q0TkpXczREcFpU + R3RRdzBoTm1YRzg2VUl6RnFPQzFhSU0KLS0tIHVCdzE5aWtPc0lvT3J4K1BWWGxz + TEMyc3hMd2tFZG1mNE05MzFacGRKTXcKPqa44l/h/pQI9dOfPyiyX708tQUkCecQ + QoGBmeLOgKanvcOVz1zcqWDjdZgatU6v4aiAteDDXGK3pO8a8lZFcg== + -----END AGE ENCRYPTED FILE----- + - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFdTZRRjZDRFdNaDN0NFhK + WkJMTlJWcjNSK1pKOVlIZXBCQWVpOVJqM21rCjJlcW1jRktoNnErVTc1eDlkS25p + MDc2ZzY2UDE1ZFZta09HNG52RG5RUFkKLS0tIDNOVVNBUXRBYll2d05SRkNkeFov + MDBoQitqNlJvV1lORW5NTkR3czh0U1kKOZGSpU9xkWe3RbRs1ws10cCvtzVdQSJI + W9t29UySisMUZmJw+I+bEBBc2IpCKjNb+d60qBK7Qw/AbT76gaksjQ== -----END AGE ENCRYPTED FILE----- - recipient: age1y6lvl5jkwc47p5ae9yz9j9kuwhy7rtttua5xhygrgmr7ehd49svsszyt42 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCaERrQXJycm01Z0NjdC9s - WG0veW9hSVVBVkdMZ3BiczRaSkxEeVNKUjBVCmM0QXNLejRla2xsYXI2b3F6ZDMr - OTRuK1JOVW9kN1NHSkFCeFZXcHh5U2cKLS0tIFhzcjBlVG1IVk8wVGZ0UER3ZjFO - elpwY3Q3dnRzR0loN1BiVk44TTF2VDQKs8Si2LHZ4L4oQqkYUhCI6affE0aTrWmE - L+am++gYdygVURIh0Z6ftUuhYHPwhlCgmKxx51mKRV2ydraOdUUw0g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBycWVwY0xjZ1ZKOGtQaksv + QXNPcUR0S0g1YVUzK2loRlBCKzlPb3ROajA0CllJVlQ4YTdRRmUrbUpmMmhnbStn + NFlRQzlxa2dSdDJSZzBHTEtQbVBVL00KLS0tIFVvT0M1STJkc2pFWXN0OWpEeGpt + cEwvR1NSbzlsamErb1BYVFVrUzE3bVUKT2SQJTJVvBMVjOV1nw2Gs3hLiVlVlqxr + dF8+Xk8jUazeb/5Ptj7GnB/PTLiHF41PO8L3tuZgOxXO3HvtYJF70Q== -----END AGE ENCRYPTED FILE----- lastmodified: "2023-08-19T12:12:46Z" mac: ENC[AES256_GCM,data:W7MGnXfVxBgS/AQ5Xl6PcK3P4rH+1OjbWGBJBlz7KaG3uZXf8rnZGb7OUgYadu1KjhWZIJf8i3iyOBSqPTnBbd2xYKRMmxJj1qMlGY6dx8eGv4Zlvahs4pzT0iGqhC9Ce0+mc1QQwiD7paq0PSgNAy8q2XudITCS6iIL9woc+CM=,iv:SyTmDoG49wp1WPYUsnjw6u28Ch4N8a3T6EFncCgel5I=,tag:xJk//KA/Zhq3bjy1GG1L3g==,type:str] diff --git a/utils/modules/lego/secrets.yaml b/utils/modules/lego/secrets.yaml index 1b3fee8..f35af11 100644 --- a/utils/modules/lego/secrets.yaml +++ b/utils/modules/lego/secrets.yaml @@ -8,83 +8,92 @@ sops: - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZSktKcHg4RmFNYXVSREx2 - d2VCUVBrN3dPeStkYXBsWW9DT241UWxCbjJzCjM3SS9KNWozSEs1L1A3U21yNm9P - a0hFMEk1dmE4WU5lRmxBbm1YM2NMWGsKLS0tIFJYV1hmSGdOd1BwSVQ1MVNNa1Y5 - a1d1SHFQeHVoNzFXeHpZMTQrU2MxcVkKLGa/XL9slAHukHkChoLDNf9RczQj9ojh - 3A8b4JK2fIaHKVANVI33Vb75T/q3rNFfq0AC+TJvB0Zn6z99tuRB5A== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBva0ZWWG01TlpTby81NzFR + elJvRnZGcmpvZzlra05aNFQvL2ZuZnRYcHdRCkI0Ylp3dENWQ1p0ZWJOckk4UHpJ + aVRyUnd2MVRBKysySm45MVZNUm1ScWsKLS0tIDlBTm5JY29MMTdKUHZSMUM5M1ow + QkRXdE1BakZWUjlxTDByQ2IreFJ0WW8KPRgox+gVV4JsrVcBlaNT8MM32TWLvjFy + quGn6+RAlqH1dTxF7zAWP9ArotxK0zWwdJe3THp/so1PzfHzG153Og== + -----END AGE ENCRYPTED FILE----- + - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJL3NZYjAxU1hXQTYyL2xw + OE9nUlZWMmxqOTBHQkptRVR4NkZmRkZaQ21NCjBsMFlSdzk0NmNoTDVBYWZOTkpK + U2wyUDdxRnF6SWtzRUZBTGwvZ0hVaHcKLS0tIGR3Z1FSOVZNUkJCZmpVZy9EVS9M + UjJkTnQxZUJFaGZzZ0M3WTVIeU1SdVUKkpEonSeadfMW2buitIkTvo096uyNAuM/ + gHAmWaN/I5cUTkg1NIeboKLYhkKt2gEuAKaOsu1JuUvsBBtehHOpJg== -----END AGE ENCRYPTED FILE----- - recipient: age106n5n3rrrss45eqqzz8pq90la3kqdtnw63uw0sfa2mahk5xpe30sxs5x58 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnUTdYdkhyWElacVpsQ25u - bE1seHZzcjhOSjNzTGZpU0oxT3VITERPUkRVCkt1VmovNjZjVVhHNlM0cCs5Wnlz - ZXBLd05tVkNSWEE3cG1PY0VpbCtub1kKLS0tIFkyZmF5M3RUWUp1bkx1MTJwOEs1 - RmdicFhESEtSdVVMNHdvZEJvcll2U2sKmDPoOdHhVXiIybLuTF05Z4TeE7L+809h - mX01CNQsciM6bMHU4spkDQlTOpsPt2qsmYfNcqJo1mfDy2BDBCJmlA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0cnIvTXZGdFN6bjNPbUVN + Z3RYdFdVamc2ZHJtanNYdTZWQkV5YjQ1YVc0CkVPUHZZRms2M3VSU2NjVzNUaTJY + ZnZtRmx0OThIR3ZtekRlZTUycFFHb0UKLS0tICtib0xqelNibUMwTmFzS2dFTFBU + bnU2ZzRGcVNLajI1SlpVOEMrQzNhRXcKxG0zj45vFrARUsWm4pkkxm7UcEVfy15w + sCzUFK7MSzYMbcUAeuSSJKLeJV9h2O0Nd4kRV8jO9dTTcT9xhIftzw== -----END AGE ENCRYPTED FILE----- - recipient: age1y6lvl5jkwc47p5ae9yz9j9kuwhy7rtttua5xhygrgmr7ehd49svsszyt42 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHZS9CcWxBcEhXQUhJeGFY - K29UVlFaUlU4QzM0TkU5K1RCRG84cjUzR3hZCmI5cVdncEFybGVjZVNnR0F5M2kx - bzJLR21VRTVCblFqR0lpWmhCUXZ5alEKLS0tIHVtRkxiT1ByeWgzRWtEVGs1cHpo - WDYvTFJhQTNLMmZQbktSMFB5KzZXSzgKwKxOnDdxBt3qp42/E5G0PW/5M4EHrpqC - h7DuZWApuui0Ogx7LjcHtmvuXWK3Y/83lHXpQNdhiQdcgLK5BrVySA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBObU9iL3pCam9kUjhxNWZR + QUtxUFpnTlVJT25TNmZqbVdOT05jZjZmcTFjCmwwa2pDb3o3SlA5b0FJTE42Lyt2 + aUNUSWlsOGVUT3dNRnR3cE9FL1EzenMKLS0tIHg0WE0yOVkwZml5K2YxUTZtaElI + OUNxdUgyS21ZTFZoelVxRXRvakI5WUkK1HiQQqW7YT+Ra9fgpIU7/lKqKlT5KR0L + /jIVJxR61k9hVMjnh4s0ttKJc0UMNSqOej1SljaNXcH+c1wAckGl8g== -----END AGE ENCRYPTED FILE----- - recipient: age1ezq2j34qngky22enhnslx6hzh4ekwk8dtmn6c9us0uqxqpn7hgpsspjz58 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGUHc2WUZzTEphVUp6MDBG - Z0NFQlRKbnBqZU1rTXJYelpVeWVUNkpweFJzCjFSbjRveThXWDkvQmdSKzdkRXEv - NE9vNGQrdWVDRHY3S3Y2RmVuRERNaGsKLS0tIC9iRCtjZUlHWnBSTkU3WnZqQkRQ - QzhCaG1rTDV0UlpzNjBHaUFZS05QbkUKqUd/p8P/yFmzMZjiut3nd/75+v5K1vNO - 5gSZy0jH0j4TD2fh3bIuiC7h36TFLoe5Td8PKJU4M7GmGS8TZU+2ow== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNMVpjK2ZYT0c3dURKY3Zn + ZUFrY29kTGQrT1d5Kzh3eTcreUpMTlNERVRRCll4NHpmdTN4bHFvdlMramJaemdM + VGNPQlZMcmdLQngyUC9LUXFYa25CNTAKLS0tIHRBMlJHS3duVnMwY0Q3ZDZWMzVQ + UmRGNHRpQjhhSzZqbTljVERqRHZWekkKyFju3iGm7ebnyYkwj23ES2hUQmjNOcUt + 4pBdZQe37zhaAspSTmLBfAnEITDh+ZSaOEmIZgExnQk38hB0Ahq9mQ== -----END AGE ENCRYPTED FILE----- - recipient: age1jyeppc8yl2twnv8fwcewutd5gjewnxl59lmhev6ygds9qel8zf8syt7zz4 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDRkNFNGVKYzdlUlhLZ05K - NXpTVjJBWENVWnJRZ1RZb25ObFM1Y1NuS3k4CnNYNVJtcGNuRzdER3lsd0oya0FC - by9rMEJJNTNOWHFtcWlCY1pNVkg0dEEKLS0tIFJFZUFrTjBaMGwwYzhnMHZwbEJ3 - R2NuRGtGY1RmVGF1RXpOQ250bktlRWcKczMKQ8SQu5dDxTtDfrmkAFhcLN1IG1JU - Vf/v+6Y1r3yosXO9/lSqafyT5vUQ0k0SnLuj1OAT10+vF+2hfJiEaw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsUitId2REWVg0N1FEa0Z4 + ZEJaTGZDRDMvR0J6TjNHVkZhU0xYc0NVYlVRCkRPdU9ucW1mMnhHcDIrUG8wdTBz + dDBNclUwRi9jdTNtV1FTL3lvTDV6aG8KLS0tIEJmeklxTEpYYUI1aVkrTDRCU1pT + UWRQNTEyMVlHRHBvSlRDRzErQSt2TUkKgLNNvXQD4U2q2A+b5+9COlnxDc9jLFWE + xDURstl4BjNPIp3pNkiQ+qQsWgH430hsOPvokb2HTFmmu2872YwC0Q== -----END AGE ENCRYPTED FILE----- - recipient: age1azmxsw5llmp2nnsv3yc2l8paelmq9rfepxd8jvmswgsmax0qyyxqdnsc7t enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLYXVwMURWVmRRNWRZLzZy - dHN1am1rTi85STk3VHpKck1oZmFITkJjUlF3CjZuVnJPenZUNmw1N1dWcFNNVkd0 - UDFYYUtZTkJZMjFRbVNrL09yTDI2ZjgKLS0tIFFkQ2pYaG5qSnUvSmV1QWhMTkdI - RHhJeGV0bmpRNVRXVXdTbWVFYnRkT1UK1z7ugGZKDlJqhdH7cdDOWsUtZyOn7o9m - RX98ic66k2hS9WPFD/1PHkc9AZCAvjsu+Ykz+O6QgF/u0ihF7SHwog== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHcTB2eGRUM0gxa3QyTG9y + eW0xVmg2UHRmdGRPT1U5a1crZVJCR1o3YVVzCm9uTmg4aUF4TXkrdFB2eDVENkNx + YWtqU3pEZzhnU3BocUdzbTYzaTVhR28KLS0tIGxDZGoxcmhHVHdQOHZDd1M0Si94 + bThMeHp6Zm55RG9MTTd2ajVxdTZtN0UKedZQO8bhfzCz1Nq4ajFq5zw0fTS4jN0K + nJ56i0J+T6rOx+iS8V2tfsf4eEbWT5cxio2RvaDQs3X+t4Agg4QNVQ== -----END AGE ENCRYPTED FILE----- - recipient: age1zkzpnfeakyvg3fqtyay32sushjx2hqe28y6hs6ss7plemzqjqa5s6s5yu3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrSW1iOWtyUm9vTHhNaitQ - VjdtMkgwZ3I0eVpNUlhBK1ppQmFIa3NERXp3CkRRNURmRUFHb3lQUjF0QkwraVdr - aGcwSktZNHQxZUI4NExOa1oxbWkzL28KLS0tIC8yN2tHTUZJSkNSNmcxZWt1T0JJ - NC9mem5pZXNRSGVXL0dOMXQ2eXJKczQKIbHonOgg3V0XL5rcdWXcmAJOgQ8I4nUA - s99jeEJn8QE9ZNSfsNxUB1LvjF2CfOhzhj9dqj6qo3340bYdt49saA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFR1dvU3JGRFZYMzlqN1BS + YmNyb2xibWZVYTluSlhpTExIYkRvVnhlcDAwCnAvbTJYblFTZmNMaVVOQ21mL0hY + aE56czFXY2tJa3BLemtYQXFleWtrVHcKLS0tIEZ6WjdrK01haFk2L3VsS0RDSFdm + K2JzcFl4ZUZseFcwdmo0YmpBNXVQV1UKdFHcxBWuYApHcqkwzG++tQcW6Y6Vn7W7 + E4dZXed5h+CkLRBTUKMLPD+Lh55odSoOfJBL3OrqUGQT0Wj0Zv6BnA== -----END AGE ENCRYPTED FILE----- - recipient: age14uarclad0ty5supc8ep09793xrnwkv8a4h9j0fq8d8lc92n2dadqkf64vw enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaUTNTMFlnVS9lckIwTkF4 - eWRreTl5d0dGTS96V3N4K0VXZ09tWnFsTFFrClZJZXVlMGI5a3lXbEhuSW15K1c2 - dk9xUGlpclZkQ0d5aEoxVWZ5YTdrancKLS0tIGlPVkdTSzZuMS80Y3BlT1pjV3BV - NmpQU0o1N2tWb1lOUjBNTW1YbnBhOFUKYcpUsbHyuNejcgB0raNgrVP9nfE8uVnY - 0z2CWlJbKYEnKNZ7QArU22eLwux0+PujX8Fm4AWgGMD+mxIdZoqjcA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNS3RIUm16OWF4ZTUzWC9l + NTdMYTg5ejZENFlSdDlreFRuaU1sT3pxR1VjCnloZkNpVEM5V1h4Y2QxMWhkT2xq + NkdiM1YzRkpweFY3QzBtNFgzT3hyU2MKLS0tIEhtenk5UlJGMTVmSzEvdlAyRDIr + YWd5dnZwSlp0T0lzOXJtRUlXWTUvRFkK12z9jv5v65LTpD2opIEQ/FlNPjyIGyo1 + VKLaPg0MSIDxtqNZ8RSzWrRev+7VAlCZCWGtIrqtkABeRIHY0Qassw== -----END AGE ENCRYPTED FILE----- - recipient: age1wq82xjyj80htz33x7agxddjfumr3wkwh3r24tasagepxw7ka893sau68df enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzemtQazNGZmFzbWw3Uk5x - eDhEekNkdXNFVFpMeXlEUmVpT3BRUWRqWXlFCnBUeVAwb0plYW1xZS9hTzhZQUdB - TnRUREVMdnl6ZU9oclR1dEZ3NFpyOTgKLS0tIDlmV2UvVFJMWHN1MzRJcGp5MGZt - S2lBSk1qSDZjZ1I1YlJnTnpDcjFXdVUKAQ8v4R+o5d1PskfRjKC+6HlD4+W7TCeO - A/hretpy7FO8en8V1dreZN25iGb/C8wZKpS50M7V/aoK+dg2QN33Kg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGS2QyZFA5cmY1YjNnSzZX + SnM3M21mY0FHZXpLS3d0Zk5XUC9VVFFzWmlRCjFVU2Z1TjJNYmFRUVB1NHYvM1p3 + ZWxzN0NTdXJ6TlFtSzJFcUtzYWF4YXcKLS0tIHhlVCthYVJqa2xYbmE4YzVLZTht + cE51bExUMzloUnpSUS8zRm9QTjBIODgKaSaWFxjDn9jmEu2B35AyVJVDtI/2WT31 + NuyhLAn3kE79MsT1CAE5HTTilmcKi9n8gULjv6ii1Nd+F6MUfBmmBA== -----END AGE ENCRYPTED FILE----- lastmodified: "2022-11-09T07:12:13Z" mac: ENC[AES256_GCM,data:gqsD5gTtE5ZqWzWKAAIscecvIsGSC9j4Cnbik6Yk7Jf7Z5/NIxbkInzDsLmlU3ObbLZAhGAlOAKIrUVy37rCcEZ+I04ICXK1dmUdsVud6E4SvTdDjh9qlXTbEkcDCY2YqXlTuQl6IZyveaPuF6fRe1FMh8JEpDv/foZTl8+AuQQ=,iv:+nV6YW9m1B0qo7xbB1lw9dgiQ877GQ6OxMqjk7lei10=,tag:NmeSwBWRKpqlwZxYYC7trg==,type:str] diff --git a/utils/modules/plausible/secrets.yaml b/utils/modules/plausible/secrets.yaml index 82428f6..4dfb43e 100644 --- a/utils/modules/plausible/secrets.yaml +++ b/utils/modules/plausible/secrets.yaml @@ -9,20 +9,29 @@ sops: - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMUGdqU1hWR1dMVXhnYUNY - ZFYvb3pCOG1DMWs5bGtscmNTdHdQY0ltRGhrCmhJZkdWMmNUMk5WaFI0REZNc0Jp - SkFHUzB0RjA5cWh2bDd6NDAxeUFqd1kKLS0tIEFmcFNOUTBPcXpJUDRLRGRVWWVC - b3FkcVRhLzNZa0poUmdPM3NoRnRnUnMK/HRww0ewz+LIBeWlbgHlgh/+mAJuhmwI - xEID8pv0gOh+HGEKdRa+BajLmDhTfvnoJadhVswSTMWc/iewgAPs3w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnOTF1RkhYS1NQWjU0OVJh + QUZLd3N2RlNnaldMRnk4aHRCZWxIM21NM3g0CmpHcXl6OGNRdjhCckErUFJqeTgw + NG1JWEdUY2dDSVJ5WEJmSmVXby8rZW8KLS0tIGJ1RGxvakd2YXN6TC9TR1poMk41 + N29yUXVaWnJEcFI1clBiMXk1dkV3TlUKxPfDiKgYXgTcwl+7jXhx+TF14OtJx9jL + CSECOBxuXPVhJpPqPkjl+BR2xOGRK4zWN6qciaawY8YPKJ/wTAu1tQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsdk9OcHpLcFUxQ1p4V2dv + eHdmZS9Mb0g3NlcwZVJveW4wcEFoaENZb2drCmtyR1RPK3lzRzY5ZFJiUXFTSkJC + b3I2T0xsN095YitaRDI2bTE0dzgyMU0KLS0tIG1sdFluMnZmeUJOY1ZDVUMzaWFP + WmNYcDdTRXoyWjNUQ29KWE9tSGJwQkEKcA2HulyeNXp7f+MyCmWyL9fYG6Upfb+3 + XgfY/ZD5HXQ4kwFnXIIFOuRGcazzb1bYy5hDLR2IRUDL9tixxvNl4g== -----END AGE ENCRYPTED FILE----- - recipient: age1y6lvl5jkwc47p5ae9yz9j9kuwhy7rtttua5xhygrgmr7ehd49svsszyt42 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKcXdNeTFzeWJkSUx4TllE - azZtQXhtSmZHWk1ld05hcTNXTWhaQlY4eVFFClZrOTN5QTRHKzR1VFhENFEyQ3Qv - Yno4aUw3Y2c5Q1RUSTF0L1hBdTY5bE0KLS0tIHd0T2Zpeko5QVFnVHZ4alh5cUJz - ejh0bExnMEF1MUhLZ0N5SzFpZnM0cFUKgzlIYqwgi9nsik59S+Bxj/Mj5f09JS5I - nVG+2A05+8XxA+eGqcRTYFyo3w71R8hdfmu3vfXl+Ywb+P51K+SDkA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRT05ScUtKLy9LS1diQzds + VzJKVUZhdEkwWmdNMmpHUGRUYVFQTWhXaHdvClkrZlBlZHNxQ3FQMVpkREVqSGZG + bENCVU1kdVorVmFqbjJWMElxMDltWFkKLS0tIHRNc0xMMzhQRDUwZ2xHak51bUth + V1pZZDFxSkExUldBa2xJM05pazhYdVkKUDu+TJvg1RQsnPgJsQBKyliCGiHlvjPR + fLW1jrXWBUEQ/2rEq2uy8whEd/lUXeV2/IoTkKfIDO6bEC1VOtgWLQ== -----END AGE ENCRYPTED FILE----- lastmodified: "2023-04-17T20:01:37Z" mac: ENC[AES256_GCM,data:cm8XdC5CUaQ5KUrkKXSaEfJ/VbxpQQAJg5LZ5O5+3kkWL1qSAK3z4PSnGs58GFlEfw2iFcyOWQr/wH7GPZsSo8/J4fN0zTqYkn+Mn2GZaYMcqr1K1U8tIgq6qLGf2UqG5/AvED4nGY48/aGvGyYyKIak8sgPm8uGz+DwX+ApiMk=,iv:jNe/PmLq5fHuyxQQj4H4hF8V7rCl/Xj3wNMP2bEsEQY=,tag:BNOi0YVH83S4pV9e38WcHQ==,type:str] diff --git a/utils/modules/promtail/secrets.yaml b/utils/modules/promtail/secrets.yaml index 9afb885..71d7628 100644 --- a/utils/modules/promtail/secrets.yaml +++ b/utils/modules/promtail/secrets.yaml @@ -8,83 +8,92 @@ sops: - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGV2FKbXlrZTVVc1EzQU5G - WVlZdURpWWY1TllVbVQ1ZUZSWlZhai9hRjFnCnZ4WVMrNG9kQ0JsQ1pJVUlPK0RP - dGhUMUVTR2FMandLbDNJSFdxUi9DUUUKLS0tIEFWejA4TnNlQXlqS0JIWlR1UzUr - SVZUT0RmMXNhUXMycElKZmxOU3VPY2MKQstXYHYKNvyVEfpP/c2wmyUscpm1nPzc - J6v1nRRRnNAigWc4rhWBqjjWbTyzFsPmoEM6/UStvuwaSvCfw5i+qQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoNlN1UmlKdjl2OXZEdzhu + U1V5R28yT3pNYnBMWC9VV0kyMlRUK0d5NVh3CmxPZGQyalU2b2wzTHI4T25vTWVB + RkZwb1IzM3o5N28vblRKUUpzUGk0bDgKLS0tIEQ2NUM0NDFHb1pTc0lQSmorM1Za + MW41UWwwanVRaW13bHR0b29KeHBQalEKn2L32WEORA//Ot4X3IVLOWDiwWXstYxN + FtCKgamUW3d9nYGT+9WTsfamA0JDxQxZIENV/Lq149VKP1tiYv0gWw== + -----END AGE ENCRYPTED FILE----- + - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlS2dseXhRTWFPN0x1UXBJ + WXphNWZKdU84bkp4cy9VMUdJZ0RTNzVhQ0hrCko5anhlZ2FFTUcvK1YwdXhzVDFq + QjFtNFo5UlBvWGNWeitEMENXS1FSa00KLS0tIHpGeVhEb1pobkU2RlhLLzdSNjd6 + MlczM1JDK1FFamZmYTNkbkdMRHdRMlEK0gau8fJEkNH255Gb8wER0c5xcp2pXgoN + eo7jPPansVIuKjEV7oQD/oEyDVKnW3r2Mt3n6Po4/TbAQbnHXUfeiA== -----END AGE ENCRYPTED FILE----- - recipient: age106n5n3rrrss45eqqzz8pq90la3kqdtnw63uw0sfa2mahk5xpe30sxs5x58 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzUm9Ic2craGRBK0t5dlBl - U3ZLSVFCWHQyZjlIdWdaejU2UGdCbWxrd0dzCm1BcXBCQzJXdVpqT2ZHSUJIMEoz - cGcvczNuRWNSZ0dmaGgzaERFa0VSQzgKLS0tIHF6STBQalVoK3NOaGROYkx5blR6 - eWFnUE9tWVY0NklCeStraVp0TTIwZWsK5FP8nn1bp0u2fRc4hTbyljFQtAMoA2R6 - p+3eadAiROIeT2eXWGqi7+/MBF+gEjhACy1CX81N9TYw3K2eu4IXbw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1WkZOemhKUzZFQVFPSkpD + T0JORjNydGJpN0I3WGozTmp3aklScWNuZEdRCitTTHplK0o4VnZrT0IyaGhqSVJz + dWcwU0RIazRWV3RrTkp2Y0E0NGVkOVEKLS0tIE1TOFRuTEV2ZWVpaVdtK1VYZ3dS + djFoODMyQ2VnR0dkVWpwcEQzVzhPbEEKk+B8SOS/H87UxpHMcPG1mRku6bnUVmk6 + sRKkpQsyPF4+RVvWvICAfGUV5ELAqZ5ha4+xwxb/gf/T/36UIHIlow== -----END AGE ENCRYPTED FILE----- - recipient: age1y6lvl5jkwc47p5ae9yz9j9kuwhy7rtttua5xhygrgmr7ehd49svsszyt42 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1OEFyYkUrR040Z01Ua0hx - akVXKzE0UGdrWXlhbmZGajhxNXRWK0RYNGo4CnRFYVAzNHhEd1BGa2wwMFo1R3lk - bnIzcldBUlZ1WmlrQVVUaHRPVHRrTDgKLS0tIG0zZStORC9xdURsaEYyUG9FMGk3 - ekwwVFBoZVU3Yk5JeDNsNzlGOXYyYjQKILkgpcH1hy4g8nIE82Q/MFCzfXxRUMuA - lC+RtyfhjyUbDtGfYnyBDdmwAg3cQQmj5LuyYsJrAe/Z5FKzHOh6rw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3RHM3d29nVU1MeVRBa29s + aU9HK1ZLSEVreG05dk13TnhpUHN5K0lJL3pFCjJRaVE3UGUvTlplSmRndE54bzRs + a1FSanFkc3duYlJQeHpLd0hVbXJmSzQKLS0tIDRIdVMyMktzcXd5K1A5c3l0MUFT + Q054VzErR01wV05QWlBGSDlKbVkrV28KeYtjzy7E2gZvhC6SYa4HiDDce4LrHacH + a0VChUYQd6eUzd8oeC5A64E1YftcyV3G6O9YTDspQYp9EURMatjNxg== -----END AGE ENCRYPTED FILE----- - recipient: age1ezq2j34qngky22enhnslx6hzh4ekwk8dtmn6c9us0uqxqpn7hgpsspjz58 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCV0crckRRUGRneXFvU1JX - QmZXMjlGTWtZZGJ5dTBmWlNTejN0VUZ0LzFRCjRYWUFjNG1NZ0QvVUQzaVFFNkRh - UUFSTG9PRU9aZlZhT29qRFYxeW5ySHMKLS0tIEw4ckE5Y1UxZjVJNlMzWi8wVDJq - bEc1QlJUL01NZmRiOU01cUtmZ296WG8K4zBwqIV/ot1e4pynPaSfduoweG6zQWWp - k+f12Oa1uMDRO5NhOq5YHGVvSqrZQQSOJBwZINdqFignJKsY5WywFA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWb0E0cFoyenQrMnF3SnRQ + b3Vpd2V4ZndlZUZucmFCcXE3Zit4Y2lOQUdnCmthSUxpRHhxemxTOE9nNGduM0xN + TUhNMVRrbmUrTUJMYUpaTWNNUE1CN2MKLS0tIDVmUVVNQkdQVDFqQjRyWG9YcHdt + UGhiMEs4R0plVmVXOXBWZC9zVjNZdnMKl9yl008YfVJA2KIakq3iqyv483C6E60Q + WGUtCDjfK03ZxSBWMBcLkyqZLb6M9DeLS1V1HEQ0UIDYYJZxuvBVhA== -----END AGE ENCRYPTED FILE----- - recipient: age1jyeppc8yl2twnv8fwcewutd5gjewnxl59lmhev6ygds9qel8zf8syt7zz4 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOekw5d2p2OXdBL1lxOU55 - VWNEMDBIL2RnejZsY2pEZ054TDQ2OVQ1TFdrCm5uc0p0c0twcmNHeEhMMi9tMlZS - eXJnL2pzdkpPZklhK3JzU2tIOVd1WVUKLS0tIFB1UGZEV1ZneW1PeFZnL3I0THpO - TFRQTU8zQklRcys1YjJLVDNCNDZJQjAKGxtbdOkS8xY+F/4fMeI4NU/aypjMbMAK - 5LqfzW0iQRuvq7Dc5iFNuIRb3GyQTxQvUme2M66hxp8YILNsNpU4Dw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDdExSczI5L2dTYmozdDBR + QngyOG9aVTFiRmk5VC9MU05jcmx0Q2c0K3dZCngwYVVIWW4wOEhWaFlHZVJEV215 + SnVjL2E2U2F1b3dBYitUMGludU1KTlEKLS0tIFdKaHlMQ2NPSkU5ZWF4Y29DMis4 + L2p3RXc3YWZzMkduOWNoaHcwZlA3bHcKD4rmKTdXbJOMVGTuMIf7FRlCa9FKdtGz + GsMdQtQXdEVRViO3Cn6KTad0bsFIcJhrsh0TlnEVyqpmpF64a/qJaw== -----END AGE ENCRYPTED FILE----- - recipient: age1azmxsw5llmp2nnsv3yc2l8paelmq9rfepxd8jvmswgsmax0qyyxqdnsc7t enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxRjFacGdhbURGbmhNY2hl - a1ZDUTVYeEhzWUxVMVMwdTRZMmdwYWt0YlhzCkNlTjR2Y2w1YmF6UFVYaVc2aW9k - c1oxT1pOZ01OVzdReGd6WFNIVjNqalUKLS0tIEhIQm0xcVI4TUNEYlVONVA5UkV1 - bndNYXhtUHJiOVdRZFlMNXgzck56YlEKGJk9Jd2pR6qI2oCR5dq+i9u9wgyxxSIL - +srn0JqNaIS/S87ygtdZK6YqnFuZS4sczZVxN5bVADmkV+V6HlNqOQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyWG5hYVlQTUV6amcrbldu + TkdIQ2hmTWo4UUJWR09UdU1VV1ZWRGJNTGgwCldkU242SVQyVkZTOVlTSGRMdWNJ + TzhqbENrYm9DYklPcFJFR216dC9JVVUKLS0tIHpSU0xQM1NtQ3pQK0RkSHFlekVt + S2NRSEVHdzlUNklNVE9CdkVrbnEwUjAKhHIpG9Oi6lXxIX76dkXiVpVXItLJVfWx + pTcvNJzhrLnEHu41preJa9QQVND5Yy4NIM7zOCZce9SJv728nL+r0Q== -----END AGE ENCRYPTED FILE----- - recipient: age1zkzpnfeakyvg3fqtyay32sushjx2hqe28y6hs6ss7plemzqjqa5s6s5yu3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBncklIc2Q1aUJ6cFQwSjJ6 - dUFsTDcrdEpHd0NGbVhPdjZrUllHZnUyS3pBCm5DQjdTcGcwaWlPTUkwSm0zSElO - SDBvWXpFWEZtdWxWL1VoTm9zMmFxNk0KLS0tIEpCM3ZITEVLZVN6QnBZS2xZWEQw - eE9mTVhsMEMwUTZ6aldzc2djMWczdUEKlv8u8fe/gif2sfDqY6fzhfr1XMWx0Q2j - VTd57Xbzf7uCmcqoWNSxRRuq2Ei2omx1UzTFCdlCRpBjKDb7DsVbiQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBET2FYdjNQSFhTZDdNVUEz + cEZLN1BNU1ZacmVsdmNFWWdzNFkwRnpYelgwCmo1UUQ4MExrNTAxaGFZVXRlV3dv + U1l2ZXJOVmkzUnNHSEdBQ0hHeGlvOE0KLS0tIE9LdkgrN0svVU1mQnpDZFJaL0Ir + eWRYL3hyNXVWSWxKZ1g4SUFBTWE4YjgK0g+oQaZhD/dBBGcilflBoe+KsMLxAPwm + 36R16c4J2lTxft7rj/oYQr7k1vFMOFCY80/67Wl0sSvTBWr9iw/2wA== -----END AGE ENCRYPTED FILE----- - recipient: age14uarclad0ty5supc8ep09793xrnwkv8a4h9j0fq8d8lc92n2dadqkf64vw enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEY013UDJ5NEJrcmExc05v - bmhwSzVmSWQ3TGxjWThHQ3owWUl2SkdhTTNFCjI0VDZsZk9RYkYrOHU2S3NaUXoz - eGduMGwwaVFkWXA1bHV0VTdoWVcyaVkKLS0tIEV4UGwxaXMyaXlHdmtiQmJhY3Jo - cnArSXdKN0RPVTlxSU5vUERVQy96djQK/UWe9FcNAZa90OKpvPcu9VoB5VnPc3lI - 6qeP07LvT4eI+5mueCPuBVfOpeLfydp1Yw5ScZViSzye9dLqFf23wQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWNzVSODMwQ3lxT245aVMr + T0wrTm9JU1pjdnZZLytYcjBYcWx5dFJIM0VJCk10ZWc0OUtKU2w3TmtnbGpzZGl0 + WEl1SWtFOGV2Y25yTENpZFhTYVhTYlUKLS0tIHplS3VEejhJY1psKzN6VDJPM25t + elFoK0NvTFdWUVMrSnF1SVVoVVJHSFEK+rF/Y9J1L8BGjgBwTqZrVytVQ12B2MYR + yE4d7yunQihfP8jF4ySc6IlTgtEMA444alqfw+IR7kG3MqqgGLAzWQ== -----END AGE ENCRYPTED FILE----- - recipient: age1wq82xjyj80htz33x7agxddjfumr3wkwh3r24tasagepxw7ka893sau68df enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGSXF6NXE3bHVtd2tPSVZt - a01tcDNXNnIrWnV1ck8vY0NldFhhbmM4cDJrClJtY1g1R0NPUTExalNjYU1QQjU0 - VGdjV2JlaHkxWDZFczh3cWx0YW5lYmcKLS0tIEZhcHVSR0tLeHdocDNubEE0ZzJL - VHF2WW9BSkxTTklFOFRrMHgrR2RHK1UKjKc2ZBr18WcbDUy5HL+ii5d6ii6h5KCe - NyzHYcL42+p2QvHM7moQ84bF1fUS0HTIQgdjAFE3FoSnMf/UYmUR6g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpa00wcldTV0paaUNKSVM4 + a21VajQzN1pJQ3ROcXQvZnNkWTlPV2FjQXhVCjVoUHVxN0sxcVVicUZOOVVqS3kw + NmR0dG1rK2pyclhoZ0ZjLzVXa0tXN2cKLS0tIHErbFdZa2dsT3lpc2RFaHorTGJQ + MW9zUm14OVFqcU1XankrVmdqL2had1EKkK9He8A7/wG+09W0mUNrS+0foR0Rxtye + PQginkaSUbtu3S9y4Ei0ETJ3iUR3Iopf0YP39J3EP8BhplwbI9SA1A== -----END AGE ENCRYPTED FILE----- lastmodified: "2023-08-19T00:05:00Z" mac: ENC[AES256_GCM,data:BO3WZzW4MzXpOLKTi6vzVq5lFMATANvIH8Kl9HJPH4bRTRf+z/IX3GmmowjOQis8aGnbfbMja6K0hBWMSY0mY7WzMN9W2ARHTgbXre9/5l6PfFrW4q36sLwXOJU/mzLVz4errHSt6A3Te5AOqThlULuJO/F4pPX2i0Sgs2F1tVA=,iv:zOTWgbuUzuIhYbJFKocwEdR9DxZ3enjc2aIchkovfuA=,tag:x+2jEytk5XrSAGWvbB6bKw==,type:str] diff --git a/utils/modules/victoriametrics/secrets.yaml b/utils/modules/victoriametrics/secrets.yaml index 7e742f9..2770bf8 100644 --- a/utils/modules/victoriametrics/secrets.yaml +++ b/utils/modules/victoriametrics/secrets.yaml @@ -8,83 +8,92 @@ sops: - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyRSswRk5sdENxanBEUzk2 - RkY2K3hLNE1CVVozNVorQzhyaWs4NEFRWGlrCjVsTE1iUWtxTmRrTlplcmdTYUJw - VkRiZDRkVXp3cG5TLy9oMG5PcXhLZkEKLS0tIDhUZXdhdzduQkcyWmJDbHR1N3NM - SlZZWnovZ1ZYMnVua0RTQzdtRWVFTlkKHCWmhHH1/B/IvpUURMlH6xDGV7+cxeO9 - GJfoi51yD5IFIhMvywg8QM8BgaeOphocXlX+DBXxjwH/GxgsY8MDAw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZVDdFYThxK25KMzBaOGQv + cGpQNGhnNUE0Q2xUalVubS9VaE1kRjdPeUJzCkJwQXEwT0I5MkV5TGc5bzluejYx + bld2OWYwanJKSjRyUjR1a2Z2aUYxTDAKLS0tIFp5SENBYng2elFUejlEaWIvdDhs + NnRlK1dja1FyMkdPMVJwQ2pUbUFXUWsKeFCTINxibBefcTJnw38vBipaHg0ClhiP + p0fy73UasShGP91tkZ8nYLtZ2HpvLMQi5dVNLCwkv5boLhz/EzMNug== + -----END AGE ENCRYPTED FILE----- + - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSWGZhRFVoVXhTK3hQTEZm + T3pYRGZmRUVZVUlnK0M5eWI4MUZQQU9WRWdzCjYzOUFISUw2YlJscUozMldxaWQ4 + eW5jZVV6SEpxeFgySW43Tmt1dERuWUkKLS0tIEI2UndHZTNPcVliQVVDSHlVMU1Z + Nklva3N4RHFDcTYrV1MrTTZONnZoWkEKTRGcwXQiFw0DjrG1cTHnaC7/j5YLSTgr + 1wwNgK4OtM89yLA+8MfnRkTucgxu4AZrihYuz2Q9K8m17qDLSEGQOA== -----END AGE ENCRYPTED FILE----- - recipient: age106n5n3rrrss45eqqzz8pq90la3kqdtnw63uw0sfa2mahk5xpe30sxs5x58 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvTUFnMVV1UHJSYW1rWkhl - TXBhWHBhUkl1TWJpQnpNUDdyayt1Q3k0Tkd3Cm8yOC9TUkYvaTRqUTZ1NmVNbll5 - S1VUdkw2YWMxYXBxc2x1eGs4c2VnTHMKLS0tIDRLLzFxMXlUZm95UUs4aS9vQ3Jw - M2lHTjFPb2c0ejF0RHcvdXE4WmFTUmcK9vFqo20G/GFVW/xfJGlqq9urkiZ3s9++ - 6KTd0AMenWmwMCTRy9Kp7WT/AYJK8kZRzbuvCEwFBiZG3lNrhbCN1Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyM3VvUHkzNlJKU2tscEx6 + ZU1DMHZuUlZKMnRYNGp3WlFNMEUwSkV6SENBCjM3RC9kcGQxZG0raFFhOXdmVW1B + ZGlTRzdoSnQ0MFlCSG1nN3haKzd4NUkKLS0tIFVBeHJzSTR2T2FhUytEdGF2bWlG + YmVFZ1JLQmFNUnZFVXhLTEljR3hHZjAKe9wxnlMLqAH8gHDo63Rmt3KibTQWAdZl + BMKWjmmjLpraMuec2zLU/YPkZPs7lemmSmrp8QD4JYxRqqb4/BI3Yw== -----END AGE ENCRYPTED FILE----- - recipient: age1y6lvl5jkwc47p5ae9yz9j9kuwhy7rtttua5xhygrgmr7ehd49svsszyt42 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4b21Oa0Z6UXZIR1hXQU9S - aXBhK0Q2U2dCSzhlZEFKZENaZHI5SSt4dXo4CmxWc21LY2dES3RLV0hEZjdUNklP - NEtUY1pyaFp6bkxsRGVVNUFSUmhwenMKLS0tIDJOMUx1ajAway91SktHNHRCOGhu - Nmc2RDI0cHJxM0wvQnhhMTRZczlvcGsKuUMPeuwZ6UNpvEkr71mEIoOFmD144TFM - hOey4srzLbmjuC36rSzF5WDzQVwkWpsO+Zul2bIamREtxzYi+abUuQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhQ0ViaGU5OWNIcjI0cWM3 + eVQwejdlcnlHWXIvNXhTcFVTUmNFVkloRFFJCkxnbWxRMGUzc0hQMDBBSkkvMmha + SVZvWktNbDN5cFB0ak9vTU8rcEtJeDgKLS0tIDg4MjNTMEFwbW9ZWDdUQUVwdUJx + M1NVWjg0QkFiZi80RHdsVWJ2YVdRSTQKeinMXSQZMoB11wRUIGWHI9maml0J+781 + h1zKPA0E2udI6G+dLrGJ2MAWZOs2s+o7vYnBdLJGYLQKYUV3jmDXzg== -----END AGE ENCRYPTED FILE----- - recipient: age1ezq2j34qngky22enhnslx6hzh4ekwk8dtmn6c9us0uqxqpn7hgpsspjz58 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCM1plaEVqUGc1R2VyZDFX - eXRzbVordnZmTFZJMmxTVCs3RFZaanNqRFNjCk43T1BmUjdVTWpvemRyOVpFc3FT - cnppUFVQVW9CWWcvd0xJbFRJUC9JVTgKLS0tIE5UQ1ppUml3QWMvVkRVb0puTUxn - bE9rVERERkZXQkpEb3k4QmpPZ1c2c0kKsHDuKL1sXQ4iCVjAY1DGGQeyknqxxoRv - GutaqXglcQJ3kIV7oBVTXU9R4om5y7nR3nwshj+D1MVsjlXXeXVLnw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoaW9MclBYR3FSZDQ0OFZW + SVN1UzF3UXVXZHdIM01EdGJWQ3EveW5YVTNJCnFkR1E1c0IwN3FqcXdVenVFUU1V + clBDeTNxa1FoRjZ5N3JkSnZOTHFodmcKLS0tIFRvZHpKMEZ5RlIyQnRYSkg4MWdV + R0hxTG5KRE5aTk55Yy9pRzFHSG9tb0EK7+2mAfhJUZlMYpJCVpdRpyJiBXuqP2Bb + R2YX9u/bHvvniXydLjNeX8YoPl3adTwaQoI2aDMpBo8JlQxRnpLaxg== -----END AGE ENCRYPTED FILE----- - recipient: age1jyeppc8yl2twnv8fwcewutd5gjewnxl59lmhev6ygds9qel8zf8syt7zz4 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1WCt0Z0JxQ2YzKy9HYnEv - RzNIMDlHSFVnZGdBM3dGaHpUVVZBSW5iZUJ3ClFUUXpXdHZiYWp4MGoyenc3di9F - RVE2N2JCQ0FaUW5XTlA2bjk3eUdPNmsKLS0tIDJWSkYyOE03MjVVVEdUYmt0c3R6 - Z0o4aVJUVVZHcXNhMm9MR2FMZVFVSDQK954z+O3ZSgpNEsyZPdQvlNG0e+WYNXym - yrqdEiuPPQVX64PPvVcY8fkK7VDHjy3l3E0t49LiPSJ3/qDX7QTCrA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzeS9NL2FhbWI0R1FNS1p5 + UlY2aUYwRWU5R3ZvQ21NVGd1SGRySlpMUGlvCk1lT0praThDT3Y4NTFnUitNTjQv + Z1BzNy85a3p6QzcvczBtcGc5OEwxS2sKLS0tIFo2TGxUQXdFWHJZUk5GZnhlNFdj + ZEdhZTQ1b0E2N3FvRTNGbk5ZWDE3V2MK2rUMFu7dmeWWP1aXEJLdKT9fWaw3kFRY + GqJE8fmCupfOj7q5BLQEE+WKgkLGRpfl5DkZD8xQ0MX8F46179MAvA== -----END AGE ENCRYPTED FILE----- - recipient: age1azmxsw5llmp2nnsv3yc2l8paelmq9rfepxd8jvmswgsmax0qyyxqdnsc7t enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCZExHbnJUcnNpQWxyUEJK - VGZNejZZQ1lCS3pnL0Y2UUM1Vm8vTUkrUFdjClZtdEpmeG5tZ2RnYkdKUlpVOENJ - dmx3OHRrMWk4NEQ0UWY0Mm5zc1pub1EKLS0tIGEzcUYrVTkweUxPdUxSUW9POGFz - M3Z2eGhUSkdNUGd1RlcybjhUZXFlRWsKYenpzdzc++xs+QrMV02kAxQqHnmEdTm+ - by86/a6BBaHTp/xGyIW3e/xtGxEYFWOjiJXkZH3HG6pGb+aHsDmjkA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1SmQvMjFSSStGclVsblR2 + aDFseENHanZlMzM2b0hyTjlCa3BycGdxNnhBCnZWS2JTZ2VEdXZZVEM4bG1ybmJZ + VTRWRklYdWljcGhGcHF4aGFiZHVOalkKLS0tIDErS3dEMmJLaXR6YVczeFY1QS8x + MVVaMDZydkcxdEpUS2ZlWCt2WXUva00K32w7T1BxQRI77ahVkb0wlnBac8e4Pai2 + 1+LGOEN7lMwGGaD07wSHvjq5Epd2kwcO0Ebzu1cSF5neQP84ExkpPQ== -----END AGE ENCRYPTED FILE----- - recipient: age1zkzpnfeakyvg3fqtyay32sushjx2hqe28y6hs6ss7plemzqjqa5s6s5yu3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaNjNpclJLVTFmbkJCRUhU - aHBTTUt0dmdSM05BOHIrby9WWDRockpHMVEwCmhGSG05M25aVlJsWVNUbFNMazVJ - QitlYjVIbU04c25uL2hqYVprcXhpNEUKLS0tIFA3YmVZK0lrd1ErKzNrKzdFaytW - TU5hTUdFV0hBZ0taWXVDalp6V0pERXMKL4PJ6fR+fT82/gNN0vUA5+G4RlRldz2k - a3LKNCxuU1RgSqvjlUoVDK128LOjFYgwnuOYcWUVNaE97E2fXuPQ9g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0VTRlWXkweWZJeU0xRkNJ + ZGhZWVg5anhiL1hjTzFWWmJqelE2M00wMHhVCis3b1N3bU83alJGSkp0UUo3RFpi + ZmE2ODYyQUJIalhWWnMvNjlvN2RFRDQKLS0tIGVLbWFmVzFWRUJNalVmWHdxcjN2 + ZEVlOUV3aDlPZml3clJ4dTFvZHh5SVEKBw1fBY62X1hLRZUL3yqpAJCGb2H1UEIt + jFcKnyBxA/u2GNZlbiX3EZy/WzWtm305BV+zW7ZltQ05azM6VkpX/w== -----END AGE ENCRYPTED FILE----- - recipient: age14uarclad0ty5supc8ep09793xrnwkv8a4h9j0fq8d8lc92n2dadqkf64vw enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjNDR6MDc3NGwzNWhnenE5 - bjVyM3IyK00vMTcxdVo2dklZQTFrcm8vVWtNCklkT0djZjNrWUZyMXV6MDJOTktt - Mzdpek0wSk02N2s0S3YzU0g0SG1YRWcKLS0tIGFUWlNqOERXZU9ZL3NmY3NzUmdO - SzEwcldqSk5adHVINUxkSmNZdGkzaGMK6JFz3mPVKojz/lmANHUaQZLm24E7kLqV - YTNbvR41/XF23vWbYhbyXGA1DG2eg7tOiLI+vP1FrtcHGtb4RIdT7g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKRXUrTXZTdzhYWE9sZjVR + akplZTdZNVFlV0ZEVW5pZlFJTENtdEFxaWhvCmZzOVpsbTdPc0NKbXh6RUczYXhz + VDhadWVvWENuQlVFaFExSWxLekhWV1EKLS0tIGM5RGliMEk3UkVJczNOQWdYSzF4 + NHVCbHRTR25JcmZIOVR1Q3F0TUVzZFkKTZEtFBU0zQp3131jRsX5HmD4il8jNAMQ + suP7S8BzHE9Qfdx4iFND0UNzg32en6fUjYJftSC7hIIZcJ8fLzDPfw== -----END AGE ENCRYPTED FILE----- - recipient: age1wq82xjyj80htz33x7agxddjfumr3wkwh3r24tasagepxw7ka893sau68df enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlZUNnWVRUWVVkaUpERko5 - QXcwcWIwSW8vcFVtWmtRTk5nWUpLbUU1VVFVCkpXR1BwS1c5UitLbExrbG1mNEYv - TFI2VHpRRHk3cUswK2ZzQ2czd09xN1EKLS0tIGNDWFRKSzRLSnpBYnNSUytaNXAx - N1dHSnhsQ0JCZTBNMXJrMm5NcHJLaHcKiEIVLVFl+bqUfWuGmBrGzD2lyPvKKsAY - abbGaqvHqwm+ZelCo9mUifnf6326EF8vnSC1gRdl7PpFH1NCkNkVHA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVQ2RheGx0ZWFyRkNiRTBP + b2VnQ3VJVUxDaThBVllHNy85VURDN2FQc1hVCjFiM3FqaFMxQ1RVdnYydHpkVWE4 + NkNYWHpTUHd1Y3MwWTZ5d29RYzROWjgKLS0tIDdLM3BYTHhlQVdTTm5yMExCYUhh + d0N1QWtSdEMyZ2RBWDlkUUt2RkV4TTAKeqn287GKCUCIoeAIVOy1YiJzZJD5ueub + 4k9iqWRYKvc3yDtS615eMRUQQUrXNj0WX4Y+D/maRti/PP9JK3tZQg== -----END AGE ENCRYPTED FILE----- lastmodified: "2023-08-19T08:05:08Z" mac: ENC[AES256_GCM,data:xggGGP0zLQHCh3p8b1K/1m+EfkU8lemWvV4jk4pujJv8ZcXwqbpz5REAibIKy42PHN0vfOQhTkcTBWd8sK9AkmeyrHwKkR8ecBbDf5t1RzJ0vXmy9Ro8OIbUwSPpbAjlOYoFU3NWTwOgOOyCNze8iXI48Zu4prdJoGiAhsOKvQ8=,iv:pYutJgy2lJnckDAG279El8Sas/YEWLHLIM1+/NHxxTQ=,tag:drMFDUQDZ8nJeq9/F5Y+mg==,type:str]