系统安装:

  1. 先分区:可使用镜像里带的gparted,如果下载的镜像没这东西,随便找张linux安装盘,利用里面的工具分区格式化之……然后退出,使用nixos镜像。

  2. 挂载和启用swap

     mount /dev/sdx1 /mnt/
     swapon /dev/sdx2
    
  3. 生成系统配置文件模板:会生成两个配置文件 configuration.nix(总控) 和 hardware-configuration.nix(分区设定)

     nixos-generate-config --root /mnt
    
  4. 修改配置:行首是#的表示不执行,默认大部分都不执行,需要改为可执行(去掉行首的#

需要修改的项:

具体设置可man configuration.nix 查看。

  1. 配置完成后,安装系统:

    nixos-install

若因为网络啥的问题安装失败或者更改了configuration.nix,要继续安装或者刷新配置,也是这个命令nixos-install

  1. 安装到最后一步,会要求设置root密码:修改密码用 passwd

    setting root password… Enter new UNIX password: ** Retype new UNIX password: **

  2. 全部搞定后,重启

    reboot

进入系统后,新建用户:比如下面

useradd -c 'Eelco Dolstra' -m eelco
passwd eelco

看看有啥软件可安装

nix-env -qa \*

安装

nix-env -i w3m

其他技巧

nixos安装操作:

技巧二:因为网络原因,一开始安装不要试图所有软件都一次装好,而是先装好基本的,进入系统后,再根据网络情况,逐个装好。

配置示例

``` { config, pkgs, … }:

{ imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ];

# 使用GRUB 2引导器 boot.loader.grub = { enable = true; version = 2; # 引导器安装磁盘位置 device = “/dev/sda”; };

# 需要额外挂载的文件系统 fileSystems = [ { mountPoint = “/home”; device = “/dev/disk/by-uuid/4955738b-a555-4e5c-8bc7-a9b42599f777”; fsType = “ext4”; } { mountPoint = “/docs”; device = “/dev/disk/by-uuid/b645272f-dad7-40aa-9701-6cd6a1657eb0d”; fsType = “ext4”; } ];

# 语言支持 i18n = { consoleFont = “Lat2-Terminus16”; consoleKeyMap = “us”; defaultLocale = “en_US.UTF-8”; supportedLocales = [ “en_US.UTF-8/UTF-8” “zh_CN.UTF-8/UTF-8” “zh_CN/GB2312” “zh_CN.GBK/GBK” “zh_CN.GB18030/GB18030” “zh_TW.UTF-8/UTF-8” “zh_TW/BIG5” ]; };

# 时区 time.timeZone = “Asia/Shanghai”;

# 系统内置软件 environment.systemPackages = with pkgs; [ # 文件系统 ntfs3g testdisk zip unzip unrar ark # 桌面 openbox obconf sddm # 网络相关 wget networkmanager w3m bridge-utils git softether aircrack-ng reaver-wps # 浏览器 firefox luakit # 中文相关 wqy-zenhei fcitx goldendict kde-l10n-zh_CN kde-gtk-config # 编辑器 emacs basket calligra libreoffice okular # 图形处理 gwenview gimp inkscape blender dia # 多媒体 k3b amarok smplayer vlc # 科学 stellarium # 游戏 freeciv-sdl wesnoth # 运行环境 qemu virt-manager docker virtualbox openjdk openjre android-sdk android-udev-rules android-ndk-r10c apache-maven gradle dosbox # 编程语言 ruby rubygems libyaml cabal-install python python3 ];

# 可用镜像 nix.trustedBinaryCaches = [ “http://cache.nixos.org” ];

boot.kernelModules = [ “kvm-amd” “wl” “tun” “virtio” ];

# 网络 networking = { nameservers = [ “8.8.8.8” ]; hostName = “atlas”; # Define your hostname. extraHosts = “74.125.206.93 dl-ssl.google.com”; networkmanager.enable = true; # 开启这个,需要把用户加入 networkmanager组,还需要启用nm-applet # wireless.enable = true; # 开启无线,默认管理工具为 wpa_supplicant enableB43Firmware = true; # 我笔记本无线网卡需要

  # 开启 vde2
  localCommands =
  ''
    ${pkgs.vde2}/bin/vde_switch -tap tap0 -mod 660 -group kvm -daemon
    ip addr add 10.0.2.1/24 dev tap0
    ip link set dev tap0 up
    ${pkgs.procps}/sbin/sysctl -w net.ipv4.ip_forward=1
    ${pkgs.iptables}/sbin/iptables -t nat -A POSTROUTING -s 10.0.2.0/24 -j MASQUERADE
  '';        };

# 要开启的服务:services

services = { # 开启 OpenSSH 守护进程 # openssh.enable = true;

# 开启打印服务 CUPS
# services.printing.enable = true;

}; # 图形界面 services.xserver = { # 开启 X11 enable = true; layout = “us”; xkbOptions = “eurosign:e”;

  ## ati 显卡厂家驱动
  # services.xserver.videoDrivers = [ "ati_unfree" ];

  # 开启sddm登录器
  displayManager.sddm.enable = true;
  # displayManager.kdm.enable = true;
  # 启用 kde4桌面
  desktopManager.kde4.enable = true;
  # 启用 openbox
  windowManager.openbox.enable = true;   };

## 32位硬件加速 # hardware.opengl.driSupport32Bit = true;

# 虚拟化 virtualisation = { # qemu有关的设定

  # 开启libvirtd,可用virt-manager操作
  libvirtd.enable = true;
  
  # vbox 要加boot.kernelModules vboxdrv vboxnetadp vboxnetflt
  # virtualbox.host.enable = true;

};

# 设定一个 用户级 帐号,后面可用 ‘passwd’来修改密码 users.extraUsers.atlas = { uid = 1000; group = “users”; extraGroups = [“wheel” “audio” “video” “libvirtd”]; home = “/home/atlas”; isSystemUser = false; useDefaultShell = true; initialPassword = “1234567890”; };

# 设定nixos版本 system.stateVersion = “15.09”; } ```