Skip to content

NixOS 安装

Switch non-NixOS Home Manager to flakes
i-e-b/Readme_NIX_OS.md
reckenrode/nixos-configs

install on a Raspi*

  • 备份数据 back up raspi image
  • 从 Hydra 下载镜像
  • 写入 sd 卡,启动设备
  • 设置 root 和 nixos 用户密码(需要屏幕等设备)
  • 网线连接,通过 ssh 登录
  • 添加用户 useradd -m <name>
  • 设置密码 passwd <name>
  • 生成 configuration.nix
    • nixos-generate-config
  • 编辑 configuration.nix
    • nixos-rebuild edit
  • 应用配置 nixos-rebuild test 或 nixos-rebuild switch

配置 *

  • 编辑初始的 config,如启用 bluetooth 和 Flakes
  • 从 profile 安装 home-manager,部署配置

WSL2*

GitHub - nix-community/NixOS-WSL: NixOS on WSL [maintainer=@nzbr]

Import Installer

wsl --install --from-file nixos.wsl [--name NixOS] [--location .\NixOS]
# older than 2.4.4
wsl --import NixOS .\NixOS\ nixos-wsl-installer.tar.gz --version 2

Build Installer

sudo nix run .#nixosConfigurations.your-hostname.config.system.build.tarballBuilder

Build Config

Configure ~/.config/nix/nix.conf

extra-substituters = https://3waffel.cachix.org
trusted-public-keys = 3waffel.cachix.org-1:Tm5oJGJA8klOLa4dYRJvoYWQIpItX+0w9KvoRP8Z2mc= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=

Deploy Keys

  • Deploy your age keys inside ~/.config/sops/age/keys.txt
  • Deploy your ssh keys inside ~/.ssh/

troubleshooting

启用 VSCode Server

  • VSCode Remote 插件可能无法使用
  • 因为 NixOS 的特色系统路径,默认安装的 nodejs 不受支持
# 启用服务
systemctl --user enable auto-fix-vscode-server.service
systemctl --user start auto-fix-vscode-server.service
# 重启服务
systemctl --user disable auto-fix-vscode-server.service

Qt*

qutebrowser issue

修改环境变量

export QT_XCB_GL_INTEGRATION=none