127 lines
4.3 KiB
Nix
127 lines
4.3 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
{
|
|
imports = [
|
|
./hardware-configuration.nix
|
|
./programs/clash.nix
|
|
];
|
|
|
|
# ── Nix 自身设置 ────────────────────────────────────────────
|
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
nix.settings.auto-optimise-store = true;
|
|
nix.gc = {
|
|
automatic = true;
|
|
dates = "weekly";
|
|
options = "--delete-older-than 7d";
|
|
};
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
# ── 引导 ────────────────────────────────────────────────────
|
|
boot.loader.systemd-boot.enable = true;
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
|
|
# ── 网络 ────────────────────────────────────────────────────
|
|
networking.hostName = "nixos";
|
|
networking.networkmanager.enable = true;
|
|
services.tailscale.enable = true;
|
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
|
|
# ── 时区与本地化 ────────────────────────────────────────────
|
|
time.timeZone = "Asia/Shanghai";
|
|
|
|
i18n.defaultLocale = "zh_CN.UTF-8";
|
|
i18n.extraLocaleSettings = {
|
|
LC_ADDRESS = "zh_CN.UTF-8";
|
|
LC_IDENTIFICATION = "zh_CN.UTF-8";
|
|
LC_MEASUREMENT = "zh_CN.UTF-8";
|
|
LC_MONETARY = "zh_CN.UTF-8";
|
|
LC_NAME = "zh_CN.UTF-8";
|
|
LC_NUMERIC = "zh_CN.UTF-8";
|
|
LC_PAPER = "zh_CN.UTF-8";
|
|
LC_TELEPHONE = "zh_CN.UTF-8";
|
|
LC_TIME = "zh_CN.UTF-8";
|
|
};
|
|
|
|
i18n.inputMethod = {
|
|
enable = true;
|
|
type = "fcitx5";
|
|
fcitx5.waylandFrontend = true;
|
|
fcitx5.addons = with pkgs; [
|
|
# 拼音输入 + KDE/Qt 集成
|
|
qt6Packages.fcitx5-chinese-addons
|
|
fcitx5-gtk
|
|
kdePackages.fcitx5-qt
|
|
kdePackages.fcitx5-configtool
|
|
];
|
|
};
|
|
|
|
# ── 桌面环境 (KDE Plasma 6 / Wayland) ───────────────────────
|
|
services.xserver.enable = true;
|
|
services.displayManager.sddm.enable = true;
|
|
services.desktopManager.plasma6.enable = true;
|
|
services.xserver.xkb.layout = "us";
|
|
|
|
# 字体
|
|
fonts.enableDefaultPackages = true;
|
|
fonts.packages = with pkgs; [
|
|
noto-fonts
|
|
noto-fonts-cjk-sans
|
|
noto-fonts-cjk-serif
|
|
sarasa-gothic # 更纱黑体,极其适合终端和编程
|
|
wqy_microhei
|
|
wqy_zenhei
|
|
];
|
|
fonts.fontconfig = {
|
|
enable = true;
|
|
defaultFonts = {
|
|
serif = [ "Noto Serif CJK SC" "Noto Serif" ];
|
|
sansSerif = [ "Noto Sans CJK SC" "Noto Sans" ];
|
|
monospace = [ "Sarasa Term SC" "Noto Sans Mono CJK SC" ];
|
|
};
|
|
antialias = true;
|
|
hinting.enable = true;
|
|
hinting.style = "slight";
|
|
subpixel.rgba = "rgb";
|
|
subpixel.lcdfilter = "default";
|
|
};
|
|
|
|
# 音频 (PipeWire)
|
|
services.pulseaudio.enable = false;
|
|
security.rtkit.enable = true;
|
|
services.pipewire = {
|
|
enable = true;
|
|
alsa.enable = true;
|
|
alsa.support32Bit = true;
|
|
pulse.enable = true;
|
|
};
|
|
|
|
services.printing.enable = true;
|
|
services.flatpak.enable = true;
|
|
|
|
# ── 用户 ────────────────────────────────────────────────────
|
|
users.users.test = {
|
|
isNormalUser = true;
|
|
description = "test";
|
|
extraGroups = [ "networkmanager" "wheel" ];
|
|
packages = with pkgs; [
|
|
kdePackages.kate
|
|
nodejs
|
|
bubblewrap
|
|
];
|
|
};
|
|
|
|
# ── 程序与服务 ──────────────────────────────────────────────
|
|
programs.firefox.enable = true;
|
|
programs.steam.enable = true;
|
|
programs.nix-ld.enable = true;
|
|
virtualisation.docker.enable = true;
|
|
services.gnome.gnome-keyring.enable = true;
|
|
|
|
# ── 系统级软件包 ────────────────────────────────────────────
|
|
environment.systemPackages = with pkgs; [ ];
|
|
|
|
# ── 系统状态版本(请勿修改) ────────────────────────────────
|
|
system.stateVersion = "25.11";
|
|
}
|