# configuration.nix 基础
# 启动引导
可以用 systemd-boot 或者 grub 引导,如果是 systemd-boot 双系统,可能需要自己添加 windows 的引导
下面是使用 systemd-boot 的例子:
 # Use the systemd-boot EFI boot loader.
  boot.loader.systemd-boot.enable = true;
  boot.loader.efi.canTouchEfiVariables = true;
下面是使用 grub 的例子:
 # Use GRand Unified Bootloader
  boot.loader = {
    efi.canTouchEfiVariables = true;
    grub = {
      enable = true;
      version = 2;
      device = "nodev";
      useOSProber = true;
      efiSupport = true;
    };
  };
# 声音
 # Enable sound.
  sound.enable = true;
  hardware.pulseaudio.enable = true;
# 触摸板
# Enable touchpad support (enabled default in most desktopManager).
  services.xserver.libinput.enable = true;
# 软件源配置
使用镜像源,软件下载速度更快
  nix.binaryCaches = [ 
      "https://mirrors.tuna.tsinghua.edu.cn/nix-channels/store"
      "https://mirror.sjtu.edu.cn/nix-channels/store"
      "https://mirrors.ustc.edu.cn/nix-channels/store"
  ];
# 时区
设置为上海
time.timeZone = “Asia/Shanghai”
# 桌面环境
使用 KDE 桌面
 # Enable the Plasma 5 Desktop Environment.
  services.xserver.enable = true;
  services.xserver.displayManager.sddm.enable = true;
  services.xserver.desktopManager.plasma5.enable = true;
你也可以使用 GNOME 桌面:
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true; 
services.xserver.desktopManager.gnome3.enable = true;
# 本地化
支持中文,输入法使用 fcxit
i18n = {
    defaultLocale = "zh_CN.UTF-8";
    supportedLocales = [ "zh_CN.UTF-8/UTF-8" "en_US.UTF-8/UTF-8" ];
    inputMethod.enabled = "fcitx";
  };
# 配置字体
fonts = {
        enableDefaultFonts = true;
        fontconfig.enable = true;
        enableFontDir = true;
        enableGhostscriptFonts = true;
        fonts = with pkgs; [
            sarasa-gothic
            noto-fonts
            noto-fonts-cjk
            noto-fonts-emoji
            wqy_microhei
            wqy_zenhei
        ];
  };
# 用户配置
  # 假设用户名是 alice
   users.users.alice = {
     isNormalUser = true;
     extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
   };
配置完成后需要用 passwd 为用户设置密码.
# 系统版本
  system.stateVersion = "22.05";
system.stateVersion 影响系统的默认配置等,修改这个参数不会让你的系统升级,请保持与系统版本(nixos-version可以查看)一致
← NixOS 的安装教程 软件安装 →