mirror of
https://github.com/Dichgrem/DCGOS.git
synced 2025-12-17 03:31:59 -05:00
56 lines
1.5 KiB
Nix
56 lines
1.5 KiB
Nix
{ lib, pkgs, username, ... }:
|
||
|
||
{
|
||
imports = [ ./hardware.nix ]
|
||
++ lib.filesystem.listFilesRecursive ../../modules;
|
||
|
||
users.users."${username}" = {
|
||
extraGroups = [ "libvirtd" "networkmanager" "wheel" ];
|
||
homeMode = "755";
|
||
ignoreShellProgramCheck = true;
|
||
isNormalUser = true;
|
||
shell = pkgs.nushell;
|
||
};
|
||
|
||
# 不加载官方 aria2 模块
|
||
services.aria2.enable = false;
|
||
|
||
# 自定义 systemd 单元:aria2
|
||
systemd.services.aria2 = {
|
||
description = "Aria2 Download Manager (dich)";
|
||
after = [ "network.target" ];
|
||
wants = [ "network.target" ];
|
||
wantedBy = [ "multi-user.target" ];
|
||
|
||
serviceConfig = {
|
||
Type = "simple";
|
||
User = username;
|
||
|
||
ExecStartPre = [
|
||
"${pkgs.coreutils}/bin/mkdir -p /home/${username}/.config/aria2"
|
||
"${pkgs.coreutils}/bin/touch /home/${username}/.config/aria2/aria2.session"
|
||
];
|
||
|
||
ExecStart = "${pkgs.aria2}/bin/aria2c --conf-path=/home/${username}/.config/aria2/aria2.conf";
|
||
|
||
Restart = "always";
|
||
RestartSec = "5s";
|
||
|
||
NoNewPrivileges = true;
|
||
PrivateTmp = true;
|
||
};
|
||
};
|
||
|
||
# 启用 Syncthing,为用户运行
|
||
services.syncthing = {
|
||
enable = true;
|
||
user = username;
|
||
dataDir = "/home/${username}/Sync"; # Syncthing 默认同步文件夹
|
||
configDir = "/home/${username}/.config/syncthing";
|
||
guiAddress = "127.0.0.1:8384"; # Web UI 地址
|
||
};
|
||
}
|
||
|
||
|
||
|