个人 Nix Flake,主要用来管理NixOS、home-manager、nix-darwin配置,也包含packages/bundlers等flake输出支持。
- 支持的系统架构:
x86_64-linux、aarch64-linux、aarch64-darwin - nixos配置:
playground(NixOS,impermanence + home-manager + 示例服务) - home-manager配置:
razyang、root、root@playground(均为 x86_64-linux)、yang(aarch64-darwin) - packages:
nixvim、nix-index-with-small-db、hm-switch等 - formatter:treefmt
flake.nix:声明基于nixos-unstable的 inputs,实际 flake-parts 入口为parts.nixmodules:参考dendritic模式,每个文件都是一个flake modulepackages/:由 flake-by-folder 自动导入各子目录的package.nixdevshells/:由 flake-by-folder 自动导入各子目录的devshell.nixoverlays/:由 flake-by-folder 自动导入各子目录的overlay.nixbundlers/:由 flake-by-folder 自动导入各子目录的bundler.nix
- 安装 Nix 并启用实验特性
nix-command flakes - 克隆仓库:
git clone <repo-url> && cd dotfiles - 预览输出:
nix flake show - NixOS:
nix run .#nixos-switch - nix-darwin:
nix run .#darwin-switch - 独立home-manager:
nix run .#hm-switch - 构建包:
nix build .#nixvim、nix build .#nix-index-with-small-db - 进入开发环境:
nix develop .#hello-custom - 代码格式化:
nix fmt