首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NixOS外部的Nix配置

NixOS外部的Nix配置
EN

Stack Overflow用户
提问于 2019-07-12 21:28:53
回答 1查看 845关注 0票数 5

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

目前我的config.nix代码看起来像这样:

代码语言:javascript
复制
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)?

EN

回答 1

Stack Overflow用户

发布于 2019-07-13 17:43:13

您似乎正在尝试使用home-manager的配置,而不是使用home-manager本身。正如您在所链接的NixOS模块中看到的,这实际上设置了/etc/zshrc等,因此它不打算在用户本地配置中使用,也不会在那里做任何事情。如果您查看corresponding home-manager module,您会发现它基本上是为用户本地目的重新实现了整个模块。因此,如果不依赖于home-manager,这种方法是行不通的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57007977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档