be247ff3b9
- Extract fonts, fish.enable, openssh.enable to modules/shared/ - Centralize sshKeys in lib/ via specialArgs - Merge nixos/base.nix + locale.nix into nixos/default.nix - Merge home/theme.nix into home/default.nix - Simplify homeManagerConfig, flake packages output - Remove redundant vim/wget from NixOS system packages - Update AGENTS.md to reflect new structure
38 lines
1009 B
Nix
38 lines
1009 B
Nix
{
|
|
pkgs,
|
|
username,
|
|
sshKeys,
|
|
...
|
|
}:
|
|
|
|
{
|
|
imports = [
|
|
./docker.nix
|
|
];
|
|
|
|
# ── System-essential packages ──────────────────────
|
|
environment.systemPackages = with pkgs; [
|
|
curl
|
|
git
|
|
ghostty.terminfo
|
|
];
|
|
|
|
# ── Locale / Timezone ──────────────────────────────
|
|
i18n = {
|
|
defaultLocale = "en_US.UTF-8";
|
|
supportedLocales = [ "en_US.UTF-8/UTF-8" ];
|
|
};
|
|
time.timeZone = "Asia/Shanghai";
|
|
|
|
# ── Default user ───────────────────────────────────
|
|
users.users.${username} = {
|
|
isNormalUser = true;
|
|
shell = pkgs.fish;
|
|
extraGroups = [ "wheel" ];
|
|
openssh.authorizedKeys.keys = sshKeys;
|
|
};
|
|
|
|
# ── sudo ───────────────────────────────────────────
|
|
security.sudo.wheelNeedsPassword = false;
|
|
}
|