跳过正文

NixOS 安装与配置笔记

·130 字·1 分钟
[你的名字]
作者
[你的名字]
用 Sony A7R2 记录光影,用 NixOS & Emacs 构建工作流,探索大模型与 Agent 的边界。
目录
NixOS 工具链 - 这篇文章属于一个选集。
§ 1: 本文

NixOS 是一个基于 Nix 包管理器的 Linux 发行版,以声明式配置和可复现性著称。

这篇文章记录我从零开始安装和配置 NixOS 的过程。

安装准备
#

  • 下载 NixOS 最小化 ISO
  • 制作启动盘(我用的 dd
  • 备份数据(重要!)

分区与安装
#

# 查看磁盘
lsblk

# 分区(以 /dev/nvme0n1 为例)
parted /dev/nvme0n1 -- mklabel gpt
parted /dev/nvme0n1 -- mkpart primary 512MiB -8GiB
parted /dev/nvme0n1 -- mkpart primary linux-swap -8GiB 100%

# 格式化
mkfs.ext4 -L nixos /dev/nvme0n1p1
mkswap -L swap /dev/nvme0n1p2

configuration.nix
#

这是我的基础配置文件:

{ config, pkgs, ... }:

{
  imports = [ ./hardware-configuration.nix ];

  boot.loader.systemd-boot.enable = true;
  boot.loader.efi.canTouchEfiVariables = true;

  networking.hostName = "nixos-desktop";
  time.timeZone = "Asia/Shanghai";

  i18n.defaultLocale = "zh_CN.UTF-8";

  users.users.yourname = {
    isNormalUser = true;
    extraGroups = [ "wheel" "networkmanager" ];
    packages = with pkgs; [ firefox git ];
  };

  environment.systemPackages = with pkgs; [
    vim
    wget
    git
  ];

  system.stateVersion = "24.11";
}

后续优化方向
#

  • Flakes 迁移
  • Home Manager 配置
  • 开发环境封装(devShell)
  • 远程构建缓存

配置还在持续迭代中,欢迎交流。

NixOS 工具链 - 这篇文章属于一个选集。
§ 1: 本文