From 6b3b4796159b53a14a9667eab626a7cfc2a71146 Mon Sep 17 00:00:00 2001 From: Tigor Hutasuhut Date: Thu, 22 Aug 2024 10:43:30 +0700 Subject: [PATCH] environments: added protobuf development environment --- home/default.nix | 8 +++++++- home/environments/default.nix | 6 ++++++ home/environments/protobuf.nix | 17 +++++++++++++++++ options/default.nix | 1 + options/environments.nix | 11 +++++++++++ profiles/fort.nix | 4 ++++ secrets/netrc.yaml | 21 +++++++++++++++++++++ 7 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 home/environments/default.nix create mode 100644 home/environments/protobuf.nix create mode 100644 options/environments.nix create mode 100644 secrets/netrc.yaml diff --git a/home/default.nix b/home/default.nix index 04250fb..3061381 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,4 +1,4 @@ -{ config, profile-path, pkgs, ... }: +{ config, profile-path, ... }: let user = config.profile.user; stateVersion = config.profile.system.stateVersion; @@ -10,6 +10,7 @@ in ./programs ./modules ./games + ./environments ./direnv.nix ./config/ideavim @@ -43,5 +44,10 @@ in path = "${config.home.homeDirectory}/.ssh/id_ed25519"; mode = "0400"; }; + "netrc" = { + sopsFile = ../secrets/netrc.yaml; + path = "${config.home.homeDirectory}/.netrc"; + mode = "0400"; + }; }; } diff --git a/home/environments/default.nix b/home/environments/default.nix new file mode 100644 index 0000000..e0287b5 --- /dev/null +++ b/home/environments/default.nix @@ -0,0 +1,6 @@ +{ ... }: +{ + imports = [ + ./protobuf.nix + ]; +} diff --git a/home/environments/protobuf.nix b/home/environments/protobuf.nix new file mode 100644 index 0000000..e8d900a --- /dev/null +++ b/home/environments/protobuf.nix @@ -0,0 +1,17 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.profile.home.environments.protobuf; + inherit (lib) mkIf; +in +{ + config = mkIf cfg.enable { + home.packages = with pkgs; [ + buf + buf-language-server + protoc-gen-go + protoc-gen-go-grpc + protoc-gen-js + protoc-gen-connect-go + ]; + }; +} diff --git a/options/default.nix b/options/default.nix index 0e55e31..3d103b2 100644 --- a/options/default.nix +++ b/options/default.nix @@ -7,6 +7,7 @@ ./podman.nix ./services.nix ./games.nix + ./environments.nix ]; options.profile = { diff --git a/options/environments.nix b/options/environments.nix new file mode 100644 index 0000000..44c5ef5 --- /dev/null +++ b/options/environments.nix @@ -0,0 +1,11 @@ +{ lib, ... }: +let + inherit (lib) mkEnableOption; +in +{ + options.profile = { + home.environments = { + protobuf.enable = mkEnableOption "protobuf environments"; + }; + }; +} diff --git a/profiles/fort.nix b/profiles/fort.nix index 44f62f8..80d46d5 100644 --- a/profiles/fort.nix +++ b/profiles/fort.nix @@ -76,6 +76,10 @@ bruno.enable = true; }; + home.environments = { + protobuf.enable = true; + }; + games.minecraft.enable = true; }; } diff --git a/secrets/netrc.yaml b/secrets/netrc.yaml new file mode 100644 index 0000000..059ffda --- /dev/null +++ b/secrets/netrc.yaml @@ -0,0 +1,21 @@ +netrc: ENC[AES256_GCM,data:aTCNh1OJVqIf8PrHxjR2wgejZmap43aHRCAQVmlW2voEIBbTe5UWTyT/HaEd5YUW/F3fe1bTlBExhKNKJSFAmq9cDNYb7QTrCSBOWMccfryozY7THLVrOMK9A5weI8RwNJDTYhkShsuYhGVl2Q==,iv:c3kA0peOyim68oKbEluX99FnLDBIzc9unV2SgbJj234=,tag:w7vaspE2ndSO0HAQMmQoUg==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1kruum2varzua7w5n6n52vhwyek2arc685rhcwt0u7k2jf5mecsjslkl9ll + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrZExlc3VwOE1xYjl6YzlU + K2ZUTEV3UHA3UDNSdDFvRUg4SXc1YXVnQm1FCkNRcnBMQlFvRHNIQzBXemQ0YURi + ZTlPc3lqMlVKOXlkMnBUNTdJQ1VqUDAKLS0tIEVPS01vTWljQWpiZldFc3g0YmYv + dDE2NU5oZFZnQXV6NEZKU3dZcXBuQm8KzmHuRnb82JdMXsVBBKVof1h56fDlDxPV + vRzS1RZ6KkYFjmCDwK6TJhqJGijTFBKpXGzOcB/wvD6Dg6jK0ZR1PQ== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2024-08-22T03:40:38Z" + mac: ENC[AES256_GCM,data:558OTZqpP/YT7IRNEgHS44Nzsi1yL+dP7ekk8BYkzLLOnZd4OOwX+nppnLy6/jwOOsz/FTS/kjhKwmEnivUUt29jjCOs40A3X4ifSLFYVjLaqR0QEy+Gj4rtZM+b1w2s6gtIVek8Euy5BddU2KYrd8hhEnsEsMxGwXw6vZCmDt0=,iv:YgiUPUr7HVkfn0YPqxgVaGbRXg82aidzhF+zDaBSNmc=,tag:6S7nPeGPiCb6Hw+sS1CmCw==,type:str] + pgp: [] + unencrypted_suffix: _unencrypted + version: 3.8.1