gpt4 book ai didi

zsh - NixOS 之外的 Nix 配置

转载 作者:行者123 更新时间:2023-12-02 16:05:44 29 4
gpt4 key购买 nike

因此,我正在尝试创建一个易于重现的开发环境(目前远离 home-manager 以更好地理解 Nix)。经过足够的搜索后,我弄清楚了如何进行一些自定义派生,使用 buildEnv 进行包集,并使用 ~/.config/nixpkgs/config.nix 进行覆盖。我现在正在设置 zshoh-my-zsh ,它们有大量的配置选项,但我能找到的唯一文档似乎建议将它们添加到 configuration.nix,这是我无法使用的 NixOS 选项。

目前我的 config.nix 代码如下所示:

let 
pkgs = import <nixpkgs> {};
in {
allowUnfree = true;

programs = {
zsh = {
enable = true;
promptInit = "source ${pkgs.zsh-powerlevel9k}/share/zsh-powerlevel9k/powerlevel9k.zsh-theme";
ohMyZsh = {
enable = true;
plugins = ["autojump"];
theme = "powerlevel9k/powerlevel9k";
};
};
};

packageOverrides = pkgs: with pkgs; rec {
all = buildEnv {
name = "all";
paths = with pkgs; [
tmuxinator
zsh
oh-my-zsh
autojump
...
];
};
};
}

到目前为止,我的理解是,在 ~/.config/nixpkgs/config.nix 中,应该有一个配置集,其中包含诸如覆盖函数之类的内容,并对应于 的文档示例>config.programs.zsh.enable 等。但是,我在该程序部分中编写的任何内容都不会影响或导致我的任何程序的不同输出。

我错过了什么?如何影响此处列出的配置选项 ( https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/programs/zsh/zsh.nix )?

最佳答案

您似乎尝试使用 home-manager 的配置而不使用 home-manager 本身。正如您在链接的 NixOS 模块中看到的,这实际上设置了 /etc/zshrc 等,因此它不适合在用户本地配置中使用,并且不会在那里执行任何操作。如果你看corresponding home-manager module ,您会发现它基本上出于用户本地目的重新实现了整个模块。因此,如果不依赖家庭管理器,这种方法就不会取得多大进展。

关于zsh - NixOS 之外的 Nix 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57007977/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com