From 64b8c3a296fa06e2d9d3cc7c1197be334f4d1751 Mon Sep 17 00:00:00 2001 From: tux Date: Thu, 18 Sep 2025 15:55:21 +0530 Subject: [PATCH] feat: setup opencode --- hosts/canopus/default.nix | 5 +++++ hosts/canopus/home.nix | 1 + hosts/canopus/secrets.yaml | 5 +++-- modules/home/shell/default.nix | 1 + modules/home/shell/open-code.nix | 20 ++++++++++++++++++++ 5 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 modules/home/shell/open-code.nix diff --git a/hosts/canopus/default.nix b/hosts/canopus/default.nix index 668ea77..ccc51a8 100755 --- a/hosts/canopus/default.nix +++ b/hosts/canopus/default.nix @@ -35,6 +35,11 @@ sopsFile = ./secrets.yaml; owner = "${username}"; }; + + open_router_api_key = { + sopsFile = ./secrets.yaml; + owner = "${username}"; + }; }; networking = { diff --git a/hosts/canopus/home.nix b/hosts/canopus/home.nix index 70981f3..a11bb3a 100644 --- a/hosts/canopus/home.nix +++ b/hosts/canopus/home.nix @@ -99,6 +99,7 @@ ".config/obs-studio" ".config/rustdesk" ".local/share/nvim" + ".local/share/opencode" ".local/share/zsh" ".local/share/zoxide" ".local/share/Smart\ Code\ ltd" diff --git a/hosts/canopus/secrets.yaml b/hosts/canopus/secrets.yaml index 9fbe686..56a4709 100644 --- a/hosts/canopus/secrets.yaml +++ b/hosts/canopus/secrets.yaml @@ -1,5 +1,6 @@ hyperbolic_api_key: ENC[AES256_GCM,data:FjDSbdutLa9hnVGRR+k2MznVfDGAx1/rNfjY/vaBuvKoBRj7aHqGpQ1cvhfxjyLMqPLqLnmimEtZeykvgkIIjKGzw5PewE23+lrN3oQyoYJvK+b8PRStjSaxOfzOnuLXi+YVnsU939nStLwnmSYKDabNWgFcWYsHwtHDafuWyovM9sVwasTn,iv:bxseG6GLKBL/CJOS8SrhgiLEyvMGSNQIMJSYLk2MqEo=,tag:4wxmkUwlcu23d7pMHbvIoQ==,type:str] gemini_api_key: ENC[AES256_GCM,data:HiseQDB9nJBynCvdqLx0NcJZHB71uEvBlA3l/Lw2EMHFUXSHqPoS,iv:4C5EGUdfwxhT6ExDYNcbc+MFE+rGvLRsZjbo9L/o/Eo=,tag:hvaODOzhFoywgsXZSQKeKA==,type:str] +open_router_api_key: ENC[AES256_GCM,data:DMQojeQymXckIHj7O+CIucvMzhyLXEYt4VJNkpbJj8OnBlXlm46m75i2IL+SduzzOfH3GdGI8/5JcnXbt76M/2DFemYi6CcgrQ==,iv:OBTREDwI+aOXg5TNdU6rVilQnAngn0vuW2nIrGGozm4=,tag:P+2C+0IfjZqKBD/B+FR09Q==,type:str] sops: age: - recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4 @@ -20,7 +21,7 @@ sops: K0tiZ0swMmpuVW02OHMrRThlOXBWUjQKYHyJZuvQABh+gJ+THQ5SakVEqsKkyBMb k6KnjRATpdZlmm0GjbD4aasF/j/V2fuH327Z72jPWQuI1y5ZfbDhSg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-08-08T13:20:36Z" - mac: ENC[AES256_GCM,data:WvY1VWONZarkRNjArqa2ASPLLRsUgOxA+QX2YPcUPvoAdpwuFS9Fs2kIaU61lOKQLKDwcR3XvtB2BhnwhUltF0OPSNY3651fc/HFQx3eIJaSAL8Qqa8OywCe897fcrNyvHROhi/h4HX6RI+NakTR1UVS8fR769IIkafE/Zbbn+8=,iv:wAg/ea6ScBK7kPYKjgfMMtACCxIh5agNIqv42iCwycg=,tag:tsWH1E+ulsLquT1TqtmN0A==,type:str] + lastmodified: "2025-09-18T10:09:49Z" + mac: ENC[AES256_GCM,data:EWSA3CNDLUiY9ClcvadRNREanBnZ7DMDcPG0cXFaoHQ+YwK0o0lTX6g03CqEoanApWMWHljV7Yc44n1+KIMCHok+3KmjesmpmhvVVJqEO5fiqqtKR2OAaqIWZ2u7yvHdIvajoI5xaE7CTOHStf5dZHuIoWQYGx9Qxu0PycL7E/0=,iv:c8wQtWbUM7mLmh8OwZYsm8ZnubSEYMrXhf9IQDhgIkk=,tag:nOY16LFcbVB1CpTyMpU8AQ==,type:str] unencrypted_suffix: _unencrypted version: 3.10.2 diff --git a/modules/home/shell/default.nix b/modules/home/shell/default.nix index b393d86..a20fd8c 100755 --- a/modules/home/shell/default.nix +++ b/modules/home/shell/default.nix @@ -3,6 +3,7 @@ ./lazygit.nix ./aichat.nix ./superfile.nix + ./open-code.nix ]; programs = { diff --git a/modules/home/shell/open-code.nix b/modules/home/shell/open-code.nix new file mode 100644 index 0000000..256f54d --- /dev/null +++ b/modules/home/shell/open-code.nix @@ -0,0 +1,20 @@ +{ + programs.opencode = { + enable = true; + settings = { + theme = "system"; + provider = { + google = { + options = { + apiKey = "{file:/run/secrets/gemini_api_key}"; + }; + }; + openrouter = { + options = { + apiKey = "{file:/run/secrets/open_router_api_key}"; + }; + }; + }; + }; + }; +}