Nix 是一个纯函数式、跨平台的包管理器,通过声明式配置实现可复现的软件环境,支持多版本共存和原子升级回滚。
[[NixOS]] 是基于 Nix 构建的 [[Linux]] 发行版。
安装
[[macOS]] 安装:
curl -L https://nixos.org/nix/install | sh[[Linux]] 安装:
curl -L https://nixos.org/nix/install | sh -s -- --daemon等安装完成后新开一个终端,验证是否安装成功:
nix --version配置
文件:
- flake.nix: 记录外部依赖项
- flake.lock:依赖锁定
home.nix
- home.package: 安装 pkgs 支持的软件,但不进行管理,类似通过 apt 安装
- programs:通过 Home Manager 安装,并托管配置。
命令
run
search
flake
使用
- Flakes: 包管理
- home-manager: 用户配置和软件管理
- nix 语言
neovim
- 配置
- extraConfig: 生成到 init.vim
- initLua: 生成到 init.lua (lua 生态)
- extraLuaConfig:已重命名为 initLua
- 插件
- extraPackages: 系统可执行的程序,来源 pkgs.*
- plugins: neovim 插件,来源 pkgs.vimPlugins.*