Commit graph

41 commits

Author SHA1 Message Date
9fb72e762b
docs(age): improve readability with structured comments
Add section headers and explanatory comments to clarify the purpose of each configuration block, with emphasis on the critical persistent path requirement for early boot secret decryption.
2025-10-12 10:19:42 +08:00
8874c88fbc
fix(ssh): enable key-based root login and use FQDNs for system services
Fixes backup system authentication and hostname resolution issues.

Changes:
- Change PermitRootLogin from "no" to "prohibit-password" in global SSH config
  (allows key-based root login for host-to-host backups while blocking passwords)
- Update fuchsia onsite backup to use viridian.home.arpa FQDN instead of shortname
- Update SSH knownHosts to use FQDNs (fuchsia.home.arpa, viridian.home.arpa)
  (system-level config uses FQDNs, user shortcuts remain in home-manager)

This enables the complete 3-2-1 backup strategy with automated backups working
correctly between fuchsia and viridian, and fuchsia to BorgBase.
2025-10-07 23:11:31 +08:00
6723c0e0b6
chore(secrets): rekey agenix secrets for new configuration
- Add rekeyed borgbackup passphrase for fuchsia offsite backups
- Remove unused projectsend secret from viridian
2025-10-07 22:37:26 +08:00
85dc419349
refactor(ssh): decentralize SSH configuration to per-host services
Restructures SSH trust relationships from global to host-specific configuration
for better locality of concern and principle of least privilege.

Changes:
- Collapse nixos/common/global/ssh/ back to ssh.nix (single-file module)
- Move internal host trust (fuchsia/viridian) to per-host services/ssh/
- Split BorgBase known hosts by repository (li9kg944 for fuchsia, r7ag7x1w for viridian)
- Add viridian SSH server config to accept backup connections from fuchsia
- Add fuchsia borgbackup passphrase for offsite backups
- Configure viridian to create /srv/borg-repo/fuchsia for remote backups

This enables the 3-2-1 backup strategy with fuchsia backing up to both viridian
(onsite) and BorgBase (offsite) with proper SSH authentication.
2025-10-07 22:33:20 +08:00
acab920858
WIP: SSH configuration restructure
Backup of SSH reorganization changes for future reference.
2025-10-07 20:58:09 +08:00
28ba8186bb
refactor(global): reorganize system packages by category
Restructured systemPackages list with alphabetically sorted categories to improve
maintainability and reduce vertical space. Added descriptive comments for all
environment configuration sections.
2025-10-05 22:37:48 +08:00
341d8ecf45
docs: add explanatory comments to global configurations
Add comprehensive inline documentation to both NixOS and Home Manager
global configuration files, explaining the purpose of each section,
overlay usage, unfree package policy, and configuration settings.
2025-10-05 16:40:48 +08:00
591346600f
refactor: centralize unfree package allowlists
Move all allowUnfreePredicate declarations to global configs to prevent
the "last definition wins" merging issue. Unfree packages are now managed
in two central locations:
- NixOS system packages: nixos/common/global/default.nix
- Home Manager packages: home-manager/sajenim/global/default.nix
2025-10-01 10:23:20 +08:00
1b857236ee
reduce time to keep garbage 2025-09-26 18:06:08 +08:00
03a597ae6d
feat: setup projectsend docker containers 2025-08-07 21:41:33 +08:00
f2d9cfc350
remove redundant secrets 2025-06-30 11:28:53 +08:00
92f35bf09d
refactor 2025-06-23 23:16:41 +08:00
82231ab120
move direnv to nvim, install devenv 2025-05-04 20:53:55 +08:00
c38f58067a
opt in unfree 2025-04-30 12:18:32 +08:00
413d6aa28b
install lmodern font 2025-03-17 23:41:47 +08:00
f06011e890
chore: refactor 2025-03-08 12:02:30 +08:00
3dcfac6d31
delete older 28d 2025-03-07 21:01:58 +08:00
cd7f0eb21d
install p7zip 2024-11-28 22:21:16 +08:00
3df22f9eb0
fix crowdsec/traefik 2024-11-24 09:36:36 +08:00
9b13797b9b
install wiki-js 2024-10-16 04:59:02 +08:00
2e7fefa7b9
migrate backups to borgbase 2024-10-15 06:46:10 +08:00
253cdf8ede
remove some unused services/refactor 2024-10-15 06:27:48 +08:00
d5c0320eee
install sshfs + add zsh alias 2024-10-01 11:58:33 +08:00
a98bb5989d
setup immich 2024-09-30 09:22:07 +08:00
7203fc1ed9
refactor 2024-09-20 20:24:55 +08:00
6704bab226
limit garbage collection and boot configurations 2024-08-30 21:59:52 +08:00
3350d19a45
fmt: alejandra 2024-08-08 09:02:42 +08:00
6081d1c293
Install some tools 2024-08-07 20:58:06 +08:00
a9b70d6e04
Use local storage 2024-07-26 14:40:05 +08:00
98891a9b15
Change SSH port to default as we no longer expose the service 2024-07-09 09:49:10 +08:00
6f4a3e7a96
Install nmap 2024-07-09 09:46:08 +08:00
a98e863719
Refactor 2024-06-16 23:10:03 +08:00
0b4ce24253
Setup ssh/promtail/loki for grafana ssh dashboard 2024-06-13 21:37:38 +08:00
670a7f2cd4
Fix forgejo ssh 2024-06-06 20:56:17 +08:00
f183eee3ac
Move ssh port 2024-06-06 20:34:19 +08:00
1b60568c2c set storage mode for rekey 2024-04-01 10:00:19 +08:00
47bae37e86
add sajenim to trusted users 2024-01-22 20:03:37 +08:00
0a4f535117 refactor imports 2024-01-21 22:32:25 +08:00
3e16c5a55d fix cache dir sandbox path 2024-01-21 22:18:12 +08:00
186ace4edd refactor nixos 2024-01-21 21:03:57 +08:00
bf62eaece2 refactor 2024-01-14 06:29:18 +08:00