拆分 Home Manager 程序配置
This commit is contained in:
@@ -1,15 +1,19 @@
|
|||||||
{ config, pkgs, inputs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
let
|
|
||||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.system};
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
./programs/fish.nix
|
||||||
|
./programs/git.nix
|
||||||
|
./programs/plasma.nix
|
||||||
|
./programs/rime.nix
|
||||||
|
./programs/spicetify.nix
|
||||||
|
];
|
||||||
|
|
||||||
# ⚠️ 极其重要:替换成你的实际系统用户名
|
# ⚠️ 极其重要:替换成你的实际系统用户名
|
||||||
home.username = "luodh";
|
home.username = "luodh";
|
||||||
home.homeDirectory = "/home/luodh";
|
home.homeDirectory = "/home/luodh";
|
||||||
|
|
||||||
# 你的个人日常软件全写在这里!
|
# 个人日常软件
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
qq
|
qq
|
||||||
fastfetch
|
fastfetch
|
||||||
@@ -37,100 +41,12 @@ in
|
|||||||
wemeet
|
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 软件
|
# 让 nix-shell 等传统命令也能安装 unfree 软件
|
||||||
xdg.configFile."nixpkgs/config.nix".text = "{ allowUnfree = true; }";
|
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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.spicetify = {
|
|
||||||
enable = true;
|
|
||||||
enabledCustomApps = with spicePkgs.apps; [
|
|
||||||
marketplace
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Plasma 桌面环境接管
|
|
||||||
programs.plasma = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
# 关闭鼠标加速度,灵敏度保持默认
|
|
||||||
configFile."kcminputrc" = {
|
|
||||||
"Mouse" = {
|
|
||||||
"XLbInptPointerAccel" = 0.0; # 关闭鼠标加速度
|
|
||||||
"XLbInptAccelProfileFlat" = true; # 平坦加速曲线
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# 这个版本号不要改!它不是软件版本,而是系统状态标识
|
# 这个版本号不要改!它不是软件版本,而是系统状态标识
|
||||||
home.stateVersion = "25.11";
|
home.stateVersion = "25.11";
|
||||||
|
|
||||||
|
|
||||||
# 让 Home Manager 管理自己
|
# 让 Home Manager 管理自己
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-1
@@ -1,4 +1,6 @@
|
|||||||
{pkgs, ...}: {
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
programs.clash-verge = {
|
programs.clash-verge = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.clash-verge-rev;
|
package = pkgs.clash-verge-rev;
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.sessionPath = [
|
||||||
|
"$HOME/.npm-global/bin"
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.fish = {
|
||||||
|
enable = true;
|
||||||
|
interactiveShellInit = ''
|
||||||
|
fish_add_path "$HOME/.npm-global/bin"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
user = {
|
||||||
|
name = "Aloys23";
|
||||||
|
email = "aloys233@gmail.com";
|
||||||
|
};
|
||||||
|
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
pull.rebase = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.plasma = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
configFile."kcminputrc" = {
|
||||||
|
"Mouse" = {
|
||||||
|
"XLbInptPointerAccel" = 0.0;
|
||||||
|
"XLbInptAccelProfileFlat" = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
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
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{ pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.system};
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.spicetify = {
|
||||||
|
enable = true;
|
||||||
|
enabledCustomApps = with spicePkgs.apps; [
|
||||||
|
marketplace
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user