diff --git a/home/aider.nix b/home/aider.nix index 7c52f58..2e1f3c9 100644 --- a/home/aider.nix +++ b/home/aider.nix @@ -7,7 +7,7 @@ }: { home.packages = with pkgs; [ - aider-chat-full + #aider-chat-full ]; programs.aider-chat = { diff --git a/home/bash.nix b/home/bash.nix index 284cabe..41ca953 100644 --- a/home/bash.nix +++ b/home/bash.nix @@ -13,6 +13,7 @@ "ai/cerebras" = { }; "ai/groq" = { }; "ai/mistral" = { }; + "ai/zai" = { }; }; programs.bash = { enable = true; @@ -48,6 +49,8 @@ export CEREBRAS_API_KEY="$(cat ${config.sops.secrets."ai/cerebras".path})" export GROQ_API_KEY="$(cat ${config.sops.secrets."ai/groq".path})" export MISTRAL_API_KEY="$(cat ${config.sops.secrets."ai/mistral".path})" + export ZAI_API_KEY="$(cat ${config.sops.secrets."ai/zai".path})" + export ZAI_API_BASE="https://api.z.ai/api/coding/paas/v4" #PS1 section diff --git a/home/opencode.nix b/home/opencode.nix index 27d737d..ebd43d9 100644 --- a/home/opencode.nix +++ b/home/opencode.nix @@ -13,15 +13,15 @@ programs.opencode = { enable = true; enableMcpIntegration = true; - settings = { - model = "anthropic/claude-sonnet-4-20250514"; - small_model = "anthropic/claude-haiku-4-5"; + model = "github-copilot/gpt-5.2"; + small_model = "zai-coding-plan/glm-4.6"; autoshare = false; autoupdate = false; }; + agents = { code-reviewer = '' # Code Reviewer Agent diff --git a/modules/acme.nix b/modules/acme.nix new file mode 100644 index 0000000..40b82b4 --- /dev/null +++ b/modules/acme.nix @@ -0,0 +1,39 @@ +{ config, pkgs, lib, ... }: +{ + sops.secrets."acme/certs" = { }; + networking.enableIPv6 = false; #For some reason acme only works without ipv6, probably because of missing AAAA records. + networking.domain = "lauterer.it"; + #acme and certs helpful blog https://carjorvaz.com/posts/ + security.acme = { + acceptTerms = true; + defaults.email = "adrian+acme@lauterer.it"; + certs."${config.networking.domain}" = { + domain = "${config.networking.domain}"; + extraDomainNames = [ + "*.${config.networking.domain}" + "lb0fj.eu" + "*.lb0fj.eu" + "256.no" + "*.256.no" + "*.addictedmaker.eu" + "addictedmaker.eu" + ]; + ## for testing. + #server = "https://acme-staging-v02.api.letsencrypt.org/directory"; + #enableDebugLogs = true; + + #legos registrar specific stuff. + dnsResolver = "ns1.hyp.net:53"; + dnsProvider = "domeneshop"; + dnsPropagationCheck = true; + + #need to manually create this file according to dnsprovider secrets, and format of key according to lego in privider and add to secrets.yaml + credentialsFile = config.sops.secrets."acme/certs".path; + }; + }; + + #add proxyserver to acme group + users.users.pangolin.extraGroups = [ "acme" ]; + users.users.nginx.extraGroups = [ "acme" ]; + users.users.root.extraGroups = [ "acme" ]; +} diff --git a/modules/desktopApplications.nix b/modules/desktopApplications.nix index 3ab3dee..d23893d 100644 --- a/modules/desktopApplications.nix +++ b/modules/desktopApplications.nix @@ -33,6 +33,9 @@ prusa-slicer freecad-wayland openscad-unstable + kicad + easyeda2kicad + #kicad-unstable easyeffects musescore diff --git a/modules/displaymanager.nix b/modules/displaymanager.nix index bd3a708..23a9572 100644 --- a/modules/displaymanager.nix +++ b/modules/displaymanager.nix @@ -8,38 +8,30 @@ { + environment.systemPackages = [ + (pkgs.catppuccin-sddm.override { + flavor = "mocha"; + accent = "teal"; + fontSize = "24"; + background = ../home/Wallpapers/1346679.jpg; + loginBackground = true; + }) + ]; + services.displayManager = { enable = true; sessionPackages = with pkgs; [ niri ]; defaultSession = "niri"; - lemurs.enable = true; + + sddm = { + enable = true; + autoNumlock = true; + enableHidpi = true; + wayland.enable = true; + theme = "catppuccin-mocha-teal"; + package = pkgs.kdePackages.sddm; + }; + }; - - #environment.systemPackages = [ - # (pkgs.catppuccin-sddm.override { - # flavor = "mocha"; - # accent = "teal"; - # fontSize = "24"; - # background = ../home/Wallpapers/1346679.jpg; - # loginBackground = true; - # }) - #]; - - #services.displayManager = { - # enable = true; - # sessionPackages = with pkgs; [ niri ]; - # defaultSession = "niri"; - - # sddm = { - # enable = true; - # autoNumlock = true; - # enableHidpi = true; - # wayland.enable = true; - # theme = "catppuccin-mocha-teal"; - # package = pkgs.kdePackages.sddm; - # }; - - #}; - } diff --git a/modules/pangolin.nix b/modules/pangolin.nix new file mode 100644 index 0000000..897c439 --- /dev/null +++ b/modules/pangolin.nix @@ -0,0 +1,23 @@ +{ + config, + pkgs, + lib, + ... +}: +{ + + + services.pangolin = { + enable = true; + openFirewall = true; + + baseDomain = "lauterer.it"; + dashboardDomain = "auth.lauterer.it"; + dnsProvider = "domeneshop"; + + #settings + #environmentFile + #dataDir + }; + +} diff --git a/secrets/secrets.yaml b/secrets/secrets.yaml index e623099..56e324c 100644 --- a/secrets/secrets.yaml +++ b/secrets/secrets.yaml @@ -17,6 +17,7 @@ ai: cerebras: ENC[AES256_GCM,data:ZGXy4FWauVb6cqFIDNCjYZhA3fb7t8s9wHEQvV5UQS0LwOM1F6+prid5entFiU/zJhxUDA==,iv:1tZU5nfWCur/Uk54RccS7ldv+94D3CKPgAeK30PB8j4=,tag:y9ZDVTTOExTY6nLRbIxoLg==,type:str] groq: ENC[AES256_GCM,data:63HBVYQEXCqG/xN7zluZl3yledOlqxou09Lvgh585LnZAvIFUN+eSDn44mT5mgpqMsRL8Wbqjq8=,iv:taiWwphOVhbLuO5ygf5iDIvhEoAxncTEQ8CFNKOObP4=,tag:1j7wCg9tFuP36mBr5yN0dA==,type:str] mistral: ENC[AES256_GCM,data:z7qUyaJBaLF+fe3DFMRjkUEXiXGZwtFeC189fuEGjEo=,iv:r9QSqstFiR9QrLehHrQu09iaF0PYroz/p1ENChch/I0=,tag:XN7jcXv6TftbXaFBsZYVmw==,type:str] + zai: ENC[AES256_GCM,data:rVzqXuEFvdAR+GgETgRFvbDzVjvQ3hVD0s8jDxMCjZ2ri+Tob8Fsp55qA4ZKe85Uhw==,iv:YpaTe+3ZGONoAHCkQCVcvassQqr2ReSyBgiEcwxJOlA=,tag:HFE4af3gVrp6FJnBiwGClg==,type:str] vaultwarden: environmentFile: ENC[AES256_GCM,data:HUFCO4di1hSEMitCSGy5wiDNPZ858NIlW/BnaxrFkE4Tws9RwvmhJ+l89/w7A0VGHAp3yNC+t1GUHgNadA15/Ymr7qL8Zby6o69CqZ3tFnMFmBJ9BL3ni0v1E/4iN5YFInMpmM+c8FjlGfTU2nRRu0WUOGR+5s7C8YSGILrDR+jr98YOKuTfiEKqvsGg8o0dc95CjhEtejeaVGimt9f+bWA54BPGkCT1HzD5boAoTwVbD4sxKDP5l5SnBC+mpzX3sECFkoE5E7SnQQEhKtrL+IffnMrcA3nG6AAyAGODuYZ7VNYQ3zNWBhR2nP0ospDelxaTu9aH6IMgMn4h4Y9LU+nCSHkJGykxGt4W6S8DnHxiaqJCpYwAeOaWFlItlsqlMSjYR2nB7OgUHIv5HLaC1Heyn9azZc/HQyHEjsDa0EsHX8HnmJ6kr2PkAXno+zCBZHnZvxKDWPfV9QqUPakZX9VwPg724zFFe+4OsFBzRiJLePA3hXdmnKJFJUr8cFj0QC/JXlkG3FbfogrnBE2BV6YH8PBmjLuZCII0St1LwB77YPcZDbNLnXUbbiM5/F+fGy04qg3/97sE7Sk/ZXh/Yv+SyvrqrizhXcnOlaciC0zY6DGirHzPuPAYraCkIpPmvTV+MGOICOg77sLSronoN7QohCw6SEZdPD9wSDpRMcbIs5PjfqlVu0rziyl8D1cbT6pmktrGcPKnzKeCpBJNgKE+EwwnB7Zymfj3xRxLZSl/x/1GPFuFtvDvwcWWBIU3IDEtI1zaH0PXbErtuvrttIYWx0+Il9VbxLpxjYl2NxEwfwdUmhU+O2Xw18h8leyu4hfX6a2BvLzLR7cLmSJdIeWiW7rU+qy+H9AMZ5TIZNgepXcN9TmVfTmoEm3HCzG+WJD66iMkdspkggpOxxyIMXia3ws80Eht+m0lrSM2eU6NFfVXxixEylQsxZJuiTqof7mQ71OlGlwWYyY11w2QZNeWmmZIOWwrH2L4u7Npj0qUxurafWOFr/022Y70BxpYO+CKysYppSjTKhiPLS5/8d0u4R3a30gnf/JigXisE06DiLYV6LYRxd003Q41A9UOUoZ7j+A115GUqwAuyD9mEHsH9e2zb3bF+a4QCQ2EaVTaWLHWN/pKnDTY4tSUnpr2HiBcF/dRYh9hMZ3S9khiG+7mj/8Wj1eHMB0dEkUMlU5HE/3Qgoga0oKmATekv6gFyRJ5FQxNNJH9RMN4h6ej6BxDbs5g2bdNScs3qPahpefJA/ITipe1y3qrsfHP4dgqGEn8oaiQxDnNvf5TwbHoX+kS5rlLi4x42cS9v8Ov9oZV92O3c+EuXwDVKW8FAoJh1wMNkJhHjjSCVmQWG1UQngkl3HPDjuPadhec0dWCxQh7/TIaS2JJXeHrURYSLmUV9RlzhGYJqmCZbw7oLU//EukfD9vjm591gX7U3rhu1aQNioZWdFtoGj88BJdHtSa2pxhJnwhruDrwpLOV7xXEK8FsV0SOXWP+MNAgCCWxL2KoLBqDvbr21x6rXS4a6M0+iYxIEIZRsODwTKW7hf+g7mLdKLTIv8ptJVX+zhCaFOR0JMAm/P+L48FPH9ccEUoNCwlSnl02wC9oxB+bTvIDnE7OB705ezwSi8Okh8V1fiQopRIKSutXVhMN7J+wda3Y39UzdEiVr/Qzf+pVkOY2RBp4pNQ2G4Umb31qbtamxOf5JoPqmXQhFopdFttC+iHNa0b13aj4kQITUX/lo7gzssSHyTABpkD5mBaA4HRGkVDTo2bAwsVttVH399NYXmSoGU8XKoLbtJ3caa38KrxN8czTl+oDMurds2xrWHIG+fU4nHIeRW3HxuTz+1zwuYoZD2L+813VEZ3+fcnH1AjdoZ21Ioi1P496s4v4huLC/NMq6A==,iv:n41XecN53vEw2xzCO+gS46TwH7Qy08Hra2NFJNHTEHg=,tag:4ypcVk6TvJbDoG11A5miCw==,type:str] openvpn: @@ -46,7 +47,7 @@ sops: TEhuRFBFQUppVjFKL3JKa0ozNmRLcTAKDrrS8mpHoQoZ54VkY+SYbjoE6AS0fLjc uHuFCrUWqQIwfqHXGlXn7EPUweTfwQ7Od+4JeVp1GbgNLIyH5xNN1g== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-12-01T15:16:22Z" - mac: ENC[AES256_GCM,data:e+nLoUc3ybRoznmQqUdEF01dOIPleG7Hxv9U05f2y68eLo+QzP8/dznIhdc8DC4dAB7IkS4qXGiCyyWfzhVTPy8Aor4pAO0wwHR3cylKswetX0RVJErRO2r6mDMz6bjOseo1WZ6Jq6EOo2Z0SZli+lnLrxTpnoVDlOL6XO6TP2A=,iv:57LHCw0SY5cG2woS5op378RhhgqJGSRhA8oO+76/maM=,tag:aYs9KnXSQyRyawRcc+MITw==,type:str] + lastmodified: "2025-12-15T19:47:16Z" + mac: ENC[AES256_GCM,data:Hd/T2HMjhkREsDkRMSqL6u+NxvqVsUVg0LCx5Uv4UDCigSTI1spF7Yfpv1Or7mic65m1Gha4UySrDdyiWNl4Euqt5Lymzbbf7ZmwwT4XKtNxSXkQ7t4C7+WY77dfL813ovgHs6+l5EWszxhvfX2yUYcj9pb0qB1mH3yCUTHZ6bA=,iv:dk922L/ukuetOSR6HGVNFohhlRhTxmAvqAx1Uo4Jvjk=,tag:7TzxvSrhlcOUrwUhowbExg==,type:str] unencrypted_suffix: _unencrypted version: 3.11.0