mirror of
https://github.com/Dichgrem/DCGOS.git
synced 2025-12-17 03:31:59 -05:00
chore:misc_services
This commit is contained in:
@@ -1,55 +1,32 @@
|
|||||||
{ lib, pkgs, username, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ ./hardware.nix ]
|
lib,
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
./hardware.nix
|
||||||
|
]
|
||||||
++ lib.filesystem.listFilesRecursive ../../modules;
|
++ lib.filesystem.listFilesRecursive ../../modules;
|
||||||
|
|
||||||
users.users."${username}" = {
|
# Define users
|
||||||
extraGroups = [ "libvirtd" "networkmanager" "wheel" ];
|
# If use nixos-anywhere to install, hashedPassword should be declared before installation
|
||||||
homeMode = "755";
|
users = {
|
||||||
ignoreShellProgramCheck = true;
|
# users.root = {
|
||||||
isNormalUser = true;
|
# hashedPassword = "xxxxxx"; could be generated by mkpasswd
|
||||||
shell = pkgs.nushell;
|
# };
|
||||||
};
|
users."${username}" = {
|
||||||
|
extraGroups = [
|
||||||
# 不加载官方 aria2 模块
|
"libvirtd"
|
||||||
services.aria2.enable = false;
|
"networkmanager"
|
||||||
|
"wheel"
|
||||||
# 自定义 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"
|
|
||||||
];
|
];
|
||||||
|
# hashedPassword = "";
|
||||||
ExecStart = "${pkgs.aria2}/bin/aria2c --conf-path=/home/${username}/.config/aria2/aria2.conf";
|
homeMode = "755";
|
||||||
|
ignoreShellProgramCheck = true;
|
||||||
Restart = "always";
|
isNormalUser = true;
|
||||||
RestartSec = "5s";
|
shell = pkgs.nushell;
|
||||||
|
|
||||||
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 地址
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
_: {
|
{ lib, pkgs, username, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
services = {
|
services = {
|
||||||
# fgrim = {
|
# fgrim = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
@@ -10,4 +12,39 @@ _: {
|
|||||||
scheduler = "scx_lavd";
|
scheduler = "scx_lavd";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.aria2.enable = false;
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.syncthing = {
|
||||||
|
enable = true;
|
||||||
|
user = username;
|
||||||
|
dataDir = "/home/${username}/Sync";
|
||||||
|
configDir = "/home/${username}/.config/syncthing";
|
||||||
|
guiAddress = "127.0.0.1:8384";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ _: {
|
|||||||
source = [
|
source = [
|
||||||
{
|
{
|
||||||
address = "pool.ntp.org";
|
address = "pool.ntp.org";
|
||||||
mode = "pool";
|
mode = "server";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
address = "time.cloudflare.com";
|
address = "time.cloudflare.com";
|
||||||
|
|||||||
Reference in New Issue
Block a user