2023-12-05 16:40:40 +08:00
|
|
|
inputs:
|
|
|
|
{
|
2023-12-07 18:15:06 +08:00
|
|
|
imports = inputs.localLib.mkModules
|
|
|
|
[
|
|
|
|
./ssh
|
2023-12-22 11:38:56 +08:00
|
|
|
./zsh
|
2023-12-31 10:46:57 +08:00
|
|
|
./gpg.nix
|
2023-12-07 18:15:06 +08:00
|
|
|
];
|
2023-12-05 16:40:40 +08:00
|
|
|
config =
|
|
|
|
let
|
|
|
|
inherit (inputs.lib) mkIf;
|
|
|
|
inherit (builtins) concatLists map listToAttrs;
|
|
|
|
inherit (inputs.localLib) attrsToList;
|
|
|
|
in mkIf (builtins.elem "server" inputs.config.nixos.packages._packageSets)
|
|
|
|
{
|
|
|
|
nixos =
|
|
|
|
{
|
|
|
|
packages = with inputs.pkgs;
|
|
|
|
{
|
2024-02-09 10:56:24 +08:00
|
|
|
_packages =
|
2023-12-05 16:40:40 +08:00
|
|
|
[
|
|
|
|
# shell
|
|
|
|
ksh
|
|
|
|
# basic tools
|
|
|
|
beep dos2unix gnugrep pv tmux screen parallel tldr cowsay jq zellij neofetch ipfetch localPackages.pslist
|
|
|
|
fastfetch reptyr
|
|
|
|
# lsxx
|
2024-02-01 14:32:23 +08:00
|
|
|
pciutils usbutils lshw util-linux lsof dmidecode
|
2023-12-05 16:40:40 +08:00
|
|
|
# top
|
|
|
|
iotop iftop htop btop powertop s-tui
|
|
|
|
# editor
|
|
|
|
nano bat
|
|
|
|
# downloader
|
|
|
|
wget aria2 curl yt-dlp
|
|
|
|
# file manager
|
|
|
|
tree eza trash-cli lsd broot file xdg-ninja mlocate
|
|
|
|
# compress
|
|
|
|
pigz rar upx unzip zip lzip p7zip
|
|
|
|
# file system management
|
2023-12-11 13:48:47 +08:00
|
|
|
sshfs e2fsprogs adb-sync duperemove compsize exfatprogs
|
2023-12-05 16:40:40 +08:00
|
|
|
# disk management
|
|
|
|
smartmontools hdparm
|
|
|
|
# encryption and authentication
|
|
|
|
apacheHttpd openssl ssh-to-age gnupg age sops pam_u2f yubico-piv-tool
|
|
|
|
# networking
|
2023-12-07 16:19:24 +08:00
|
|
|
ipset iptables iproute2 dig nettools traceroute tcping-go whois tcpdump nmap inetutils wireguard-tools
|
2023-12-05 16:40:40 +08:00
|
|
|
# nix tools
|
|
|
|
nix-output-monitor nix-tree ssh-to-age
|
|
|
|
# office
|
|
|
|
todo-txt-cli
|
|
|
|
# development
|
2023-12-23 22:43:39 +08:00
|
|
|
gdb try inputs.topInputs.plasma-manager.packages.x86_64-linux.rc2nix hexo-cli
|
2023-12-05 16:40:40 +08:00
|
|
|
] ++ (with inputs.config.boot.kernelPackages; [ cpupower usbip ]);
|
2024-02-09 10:56:24 +08:00
|
|
|
_pythonPackages = [(pythonPackages: with pythonPackages;
|
|
|
|
[
|
|
|
|
openai python-telegram-bot fastapi pypdf2 pandas matplotlib plotly gunicorn redis jinja2
|
|
|
|
certifi charset-normalizer idna orjson psycopg2 inquirerpy requests tqdm
|
|
|
|
])];
|
2023-12-05 16:40:40 +08:00
|
|
|
};
|
|
|
|
users.sharedModules = [(home-inputs:
|
|
|
|
{
|
|
|
|
config.programs =
|
|
|
|
{
|
|
|
|
direnv = { enable = true; nix-direnv.enable = true; };
|
|
|
|
git =
|
|
|
|
{
|
|
|
|
enable = true;
|
|
|
|
lfs.enable = true;
|
|
|
|
extraConfig =
|
|
|
|
{
|
|
|
|
core.editor = if inputs.config.nixos.system.gui.preferred then "code --wait" else "vim";
|
|
|
|
advice.detachedHead = false;
|
|
|
|
merge.conflictstyle = "diff3";
|
|
|
|
diff.colorMoved = "default";
|
|
|
|
};
|
|
|
|
package = inputs.pkgs.gitFull;
|
|
|
|
delta =
|
|
|
|
{
|
|
|
|
enable = true;
|
|
|
|
options =
|
|
|
|
{
|
|
|
|
side-by-side = true;
|
|
|
|
navigate = true;
|
|
|
|
syntax-theme = "GitHub";
|
|
|
|
light = true;
|
|
|
|
zero-style = "syntax white";
|
|
|
|
line-numbers-zero-style = "#ffffff";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
vim =
|
|
|
|
{
|
|
|
|
enable = true;
|
|
|
|
defaultEditor = true;
|
|
|
|
packageConfigurable = inputs.config.programs.vim.package;
|
|
|
|
settings =
|
|
|
|
{
|
|
|
|
number = true;
|
|
|
|
expandtab = false;
|
|
|
|
shiftwidth = 2;
|
|
|
|
tabstop = 2;
|
|
|
|
};
|
|
|
|
extraConfig =
|
|
|
|
''
|
|
|
|
set clipboard=unnamedplus
|
|
|
|
colorscheme evening
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
})];
|
|
|
|
};
|
|
|
|
programs =
|
|
|
|
{
|
|
|
|
nix-index-database.comma.enable = true;
|
|
|
|
nix-index.enable = true;
|
|
|
|
command-not-found.enable = false;
|
|
|
|
autojump.enable = true;
|
|
|
|
git =
|
|
|
|
{
|
|
|
|
enable = true;
|
|
|
|
package = inputs.pkgs.gitFull;
|
|
|
|
lfs.enable = true;
|
|
|
|
config =
|
|
|
|
{
|
|
|
|
init.defaultBranch = "main";
|
|
|
|
core = { quotepath = false; editor = "vim"; };
|
|
|
|
};
|
|
|
|
};
|
2023-12-06 14:52:01 +08:00
|
|
|
yazi.enable = true;
|
2023-12-06 14:44:27 +08:00
|
|
|
mosh.enable = true;
|
2023-12-05 16:40:40 +08:00
|
|
|
};
|
|
|
|
services =
|
|
|
|
{
|
|
|
|
fwupd.enable = true;
|
|
|
|
udev.packages = with inputs.pkgs; [ yubikey-personalization libfido2 ];
|
|
|
|
};
|
|
|
|
home-manager = { useGlobalPkgs = true; useUserPackages = true; };
|
|
|
|
};
|
|
|
|
}
|