From d2ced4089bae5bec554f123ded040a0d32656ec9 Mon Sep 17 00:00:00 2001 From: Madeleine Sydney Date: Fri, 3 Jan 2025 22:50:23 -0700 Subject: [PATCH] feat: Add basic configuration for Git{hub,lab} CLIs --- README.org | 2 ++ modules/home/glab.nix | 17 +++++++++++++++++ users/crumb/programs/git.nix | 17 +++++++++++++++++ users/crumb/secrets.yaml | 6 ++++-- 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 modules/home/glab.nix diff --git a/README.org b/README.org index 58c0be1..c5489fe 100755 --- a/README.org +++ b/README.org @@ -203,6 +203,8 @@ read-only buffers. #+end_quote [[https://www.reddit.com/r/emacs/comments/6y3q4k/comment/dml16vq/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button][source]] +** TODO Securely store credentials for glab/gh CLIs + ** TODO Dotfiles - [[https://rgoulter.com/blog/posts/programming/2022-02-20-using-home-manager-to-manage-symlinks-to-dotfiles.html][link]] diff --git a/modules/home/glab.nix b/modules/home/glab.nix new file mode 100644 index 0000000..30f6509 --- /dev/null +++ b/modules/home/glab.nix @@ -0,0 +1,17 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let cfg = config.programs.glab; +in { + options = { + programs.glab = { + enable = mkEnableOption "the GitLab CLI tool"; + }; + }; + + config = mkIf cfg.enable { + # TODO: Everything else. }:) + home.packages = [ pkgs.glab ]; + }; +} diff --git a/users/crumb/programs/git.nix b/users/crumb/programs/git.nix index a5bb04a..95f9f39 100644 --- a/users/crumb/programs/git.nix +++ b/users/crumb/programs/git.nix @@ -53,4 +53,21 @@ in lib.mkMerge [ jl = "jj log"; }; } + + { + ### Github CLI + programs.gh = { + enable = true; + settings = { + git_protocol = "ssh"; + }; + }; + + sydnix.sops.secrets.github-oauth = {}; + } + + { + ### Gitlab CLI + programs.glab.enable = true; + } ] diff --git a/users/crumb/secrets.yaml b/users/crumb/secrets.yaml index 39b022f..aee6b99 100755 --- a/users/crumb/secrets.yaml +++ b/users/crumb/secrets.yaml @@ -1,5 +1,7 @@ lastfm-password: ENC[AES256_GCM,data:gLcWwEFLhlVdMWez5Kaja17WFUA=,iv:KT9JO0823dn6qHnK2uOacMxHf4f776/soXFUVjUi1UA=,tag:n77bHc97yoKJPYvTCWhEuQ==,type:str] librefm-password: ENC[AES256_GCM,data:0gDlWC/2CxryI6jH5RuJ,iv:8QVnhLko3H/IupQrNknxTR8NewfTP+DJyzvHk9Hzr48=,tag:Ku02Jp7p5G5qkO41Y3EFwA==,type:str] +github-oauth: ENC[AES256_GCM,data:t3FKFYu8edeBipC55nrG0lt1SCY8q1N5dZmvsCg7GLlVl4oDXW8FyQ==,iv:aewQ63H6c5wAw+YQRKbDT18Q05hSFsrdQBSYOUeVNeY=,tag:m1oCnSmLt+0rfcfSO4sOkQ==,type:str] +gitlab-oauth: ENC[AES256_GCM,data:1THznoGRZmq7BkisZoGa0ZiPG7aSmkV06SY=,iv:Gq6UPHBBrnpkiAo4CZipc89kJ9mfJrwIp9NmUmjtKBo=,tag:UhvgCQlnkTEQ4hEbCTM6ow==,type:str] sops: kms: [] gcp_kms: [] @@ -15,8 +17,8 @@ sops: VVBqSEM2bVFBU0M5YzZBQWIwUmVXUXMKvWb57Rc+rO5M8Pf7lvbSjuZB4FrHgT3A uBQHH3wpv0BVVzL8tucPnwNxDnwpWvFxxwNVy/rtfs6y6HPu6fuOsA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-01-02T08:53:07Z" - mac: ENC[AES256_GCM,data:MGK6/dU2DfpFS2YfX67JihtqOmHgIjdv3fK24VK5L5eooYN9EuOdOU7vqrS4F6SAbPLJ6S0/wamUnAsWZ9MID6DP1BEEVbMhzucyBAbMlQWWlC0p/eu/yW3XOlgto5MEXP6DwXTWHtgK4VKlQk+LmZpdtnm3cX1MH96WoNN9kyI=,iv:JksmtiYXeOe9/aMAc5JiCxdFtnpd8JpFEnGWEAH7gLg=,tag:7yH6rKA48pz2ECJ6L4T4sQ==,type:str] + lastmodified: "2025-01-04T06:44:34Z" + mac: ENC[AES256_GCM,data:6zIMlRUHqX0yWVX8CWo69QtutuYshHuNGJ3N+PTpwe6qawwrAAEOMK9Xg4PDu7GZDRWu89UBq3SLOB9DpzOzj1sNoQeokNBvO2AyY+3iBcwBgzX8GeN/A7VK/HPv7g6CuEwnwjvhZLYH74UzmzfXraxMMdx0wldoQE7HD8Ya49M=,iv:QpRtoBUEAyLjeoj4+xtfEibMZj0vhfcMZON3q7LBMBQ=,tag:Dd+Lomo+rg6/fgBRudtIUg==,type:str] pgp: [] unencrypted_suffix: _unencrypted version: 3.9.1