Files
nixos-config/home.nix
T
2026-05-30 21:34:50 +08:00

126 lines
2.6 KiB
Nix

{ config, pkgs, ... }:
{
# ⚠️ 极其重要:替换成你的实际系统用户名
home.username = "luodh";
home.homeDirectory = "/home/luodh";
# 你的个人日常软件全写在这里!
home.packages = with pkgs; [
qq
fastfetch
jetbrains-toolbox
google-chrome
neovim
telegram-desktop
wechat
gpu-screen-recorder
gpu-screen-recorder-gtk
android-tools
openjdk21
cloudflared
obsidian
zed-editor
postgresql
rclone
feishu
wpsoffice-cn
flutter
nodejs
pnpm
kdePackages.kate
rime-ice
wemeet
];
# Rime 输入法配置(雾凇拼音)
home.file.".local/share/fcitx5/rime/default.custom.yaml".text = ''
patch:
schema_list:
- schema: rime_ice
menu/page_size: 7
'';
xdg.configFile."fcitx5/profile" = {
force = true;
text = ''
[Groups/0]
Name=Default
Default Layout=us
DefaultIM=keyboard-us
[Groups/0/Items/0]
Name=keyboard-us
Layout=
[Groups/0/Items/1]
Name=rime
Layout=
[GroupOrder]
0=Default
'';
};
home.activation.setupRimeIce = config.lib.dag.entryAfter ["writeBoundary"] ''
RIME_DIR="$HOME/.local/share/fcitx5/rime"
mkdir -p "$RIME_DIR"
for item in ${pkgs.rime-data}/share/rime-data/*; do
name=$(basename "$item")
[ -e "$RIME_DIR/$name" ] || ln -sf "$item" "$RIME_DIR"
done
for item in ${pkgs.rime-ice}/share/rime-data/*; do
name=$(basename "$item")
[ -e "$RIME_DIR/$name" ] && rm -rf "$RIME_DIR/$name"
ln -sf "$item" "$RIME_DIR"
done
'';
home.sessionPath = [
"$HOME/.npm-global/bin"
];
# 让 nix-shell 等传统命令也能安装 unfree 软件
xdg.configFile."nixpkgs/config.nix".text = "{ allowUnfree = true; }";
programs.fish = {
enable = true;
interactiveShellInit = ''
fish_add_path "$HOME/.npm-global/bin"
'';
};
programs.git = {
enable = true;
settings = {
user = {
name = "Aloys23";
email = "aloys233@gmail.com";
};
init.defaultBranch = "main";
pull.rebase = false;
};
};
# Plasma 桌面环境接管
programs.plasma = {
enable = true;
# 关闭鼠标加速度,灵敏度保持默认
configFile."kcminputrc" = {
"Mouse" = {
"XLbInptPointerAccel" = 0.0; # 关闭鼠标加速度
"XLbInptAccelProfileFlat" = true; # 平坦加速曲线
};
};
};
# 这个版本号不要改!它不是软件版本,而是系统状态标识
home.stateVersion = "25.11";
# 让 Home Manager 管理自己
programs.home-manager.enable = true;
}