【注意】最后更新于 October 7, 2023,文中内容可能已过时,请谨慎使用。
前言
有段时间用 archlinux
,每次更新系统都是非常的难受,aur
用的倒是很爽,最近看到 nixos
打算尝试一下,fhs
有些时候还是太容易挂了。
一、安装后换源
先添加 unstable 的 channel,毕竟有些软件必须追最新版。
1
2
3
| > sudo nix-channel --add https://mirrors.ustc.edu.cn/nix-channels/nixos-23.05 nixpkgs
> sudo nix-channel --add https://mirrors.ustc.edu.cn/nix-channels/nixpkgs-unstable nixpkgs-unstable
> sudo nix-channel --update
|
在 /etc/nixos/configuration.nix
里添加 nix.settings.substituters
设置(默认没有 vim,可以用 nano 编辑)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| {
nix.settings.substituters = ["https://mirrors.ustc.edu.cn/nix-channels/store"];
nixpkgs.config = {
# 可以安装不开源软件例如 nvidia 官方驱动,必须开启
allowUnfree = true;
# 开启 unstable 支持 systemPackages 里可以 unstable.vscode 安装最新版 vscode
packageOverrides = pkgs: {
unstable = import <nixos-unstable> {
config = config.nixpkgs.config;
};
};
};
environment = {
systemPackages = with pkgs; [
# 系统安装一些必须工具
vim
curl
git
];
};
}
|
最后应用 /etc/nixos/configuration.nix
的更改。
1
| > sudo nixos-rebuild switch
|
二、显卡驱动
一般来说安装时会自动安装驱动,如果没有可以参考 wiki 的文章
笔记本的驱动可以去 这个仓库 看看。
三、ssh 配置
开启 ssh 支持,这里会自动去拉取对应的 openssh 包,可以设置 openssh 的监听端口。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| {
services.openssh = {
enable = true;
listenAddresses = [
{
addr = "0.0.0.0";
port = 22;
};
];
# 关闭 root 登录和密码登录
settings.PermitRootLogin = "no";
settings.PasswordAuthentication = false;
};
# 配置 authorized_keys 加载路径
users.users."user" = {
openssh.authorizedKeys.keyFiles = [
/etc/nixos/ssh/authorized_keys
/home/"user"/.ssh/authorized_keys
];
}
}
|
四、输入法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| {
# 安装一些字体
fonts = {
fontDir.enable = true;
fonts = with pkgs; [
noto-fonts
source-code-pro
source-han-sans
source-han-serif
sarasa-gothic
];
# 设置 fontconfig 防止出现乱码
fontconfig = {
defaultFonts = {
emoji = [
"Noto Color Emoji"
];
monospace = [
"Noto Sans Mono CJK SC"
"Sarasa Mono SC"
"DejaVu Sans Mono"
];
sansSerif = [
"Noto Sans CJK SC"
"Source Han Sans SC"
"DejaVu Sans"
];
serif = [
"Noto Serif CJK SC"
"Source Han Serif SC"
"DejaVu Serif"
];
};
};
}
# 设置 locale 默认值为 zh
i18n.defaultLocale = "zh_CN.UTF-8";
# 输入法引擎使用 ibus,输入法使用 rime
i18n.inputMethod = {
enabled = "ibus";
ibus.engines = with pkgs.ibus-engines; [rime];
};
}
|
然后安装 rime-cloverpinyin,由于 nixos 的包管理要求不能修改另一个包,直接参考 github 里下载安装到 home 的 rime 里。
参考
NixOS 系列
其它参考
文章作者
上次更新
2023-10-07 19:24:38 +08:00
(d87f0eb)
许可协议
CC BY-NC-ND 4.0