nixos flake 可以使用私有仓库吗

1 月 16 日
 yikyo

使用命令 nixos-rebuild switch --flake "git+ssh://github/user/nixos-config"

各种方式都试过了,都无法访问仓库

添加 --sudo 参数不行 添加 --use-remote-sudo 不行

使用 NIX_CONFIG="access-tokens = github.com=ghp_xxx" 不行

但是 ssh -T git@github.com 命令正常

询问 gemini copilot deepseek ,都没结果

是我姿势不对吧,有大佬能教一下吗

1974 次点击
所在节点    问与答
10 条回复
vonfry
1 月 16 日
> NIX_CONFIG="access-tokens = github.com=ghp_xxx"
您的 sudo 是否保留了 NIX_CONFIG 变量?

> ssh -T git@github.com
这是当前用户吧。你的 root 用户是否有这个 key ?
yikyo
1 月 16 日
@vonfry 谢谢回复,参数—sudo 和—use-remote-sudo ,就是让当前用户访问 git 仓库,如果 root 有 key 反而不对了,nix_config 我再确认一下
vonfry
1 月 16 日
@yikyo 刚刚阅读了一下源码,如果没有指定 keytype 相关的情况下,是用 ed25519 的 key ,你不会是 rsa 的 key 吧。https://github.com/NixOS/nix/blob/master/src/libfetchers/git.cc#L155
yikyo
1 月 16 日
@vonfry 老哥用心了,我用的 ed25519
vonfry
1 月 16 日
@vonfry #3 不好意思,这条说的不对,这个是构建请求时用的,而且是 flake lock 时的东西。
另外,我发现你 github 前没写 user (应该是 git ),以及是不是应该写成 github.com 。
ijk0
1 月 16 日
让 cc 或者其他 cli agent 来 debug 呢,我新机器在 cc 的帮助下安装了 nix , 没有 cc 怕是没法很快用上
yikyo
1 月 16 日
@vonfry 解决了,感谢老哥,去翻了一下文档,按这个格式可以使用私有仓库

sudo NIX_CONFIG="access-tokens = github.com=ghp_xxx" nixos-rebuild switch --flake "github:owner/repo#home"
vonfry
1 月 17 日
@yikyo #7 你用 git+ssh 的话后面就是正常 url ,所以用户名和域名要有。用 github: 的话是走 github 特有的 fetcher ,就直接 owner/repo 就行。昨天一开始我也没看仔细,后来才注意到。。
sxfscool
1 月 19 日
为什么要用私有仓库呢,有需要加密的话就放到 agenix 里
yikyo
1 月 19 日
@sxfscool 用 nixos 不久,很多概念不太懂,所以直接将密码等信息放到仓库里了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1186184

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX