muscari: add disko config, hardcode mikl ssh key

This commit is contained in:
mikl 2026-06-26 00:40:19 +03:00
commit 99b887e97f
6 changed files with 85 additions and 45 deletions

View file

@ -1,28 +1,20 @@
# mikl — пользователь с SSH-доступом через forgejo .keys endpoint
# Live-ключи с git.iscg.dev/mikl.keys (sha256-pinned)
# Hardcoded fallback для восстановления если forgejo недоступен
# mikl — пользователь с SSH-доступом
# Ключи захардкожены (recovery-friendly — не зависит ни от чего)
{ pkgs, ... }:
let
# Live-ключи с forgejo — обновляются автоматически при изменении на forgejo
# sha256 защищает от подмены: новое содержимое = явный коммит с новым хэшем
forgejoKeys = pkgs.fetchurl {
url = "https://git.iscg.dev/mikl.keys";
sha256 = "sha256-4n6QLUPozdhHOmsRCuFn7HR9BU3nF0/GR2E7s5Lpz+Q=";
};
in
{
users.users.mikl = {
isNormalUser = true;
extraGroups = [ "wheel" ];
uid = 1000;
openssh.authorizedKeys.keyFiles = [ forgejoKeys ];
# Hardcoded ключи — надёжно, не зависит от forgejo
openssh.authorizedKeys.keys = [
# poppy-legacy (id_ed25519) — основной ключ
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH0TxZWagV8rjwJkmspEyLyyW9Uwty99pkVx4/pgO3Zj poppy-legacy"
];
# Hardcoded fallback key — НЕ зависит ни от чего
# Вставить сюда свой recovery-ключ когда сгенерируешь (например, YubiKey)
# openssh.authorizedKeys = [
# "ssh-ed25519 AAAA... my-recovery-key"
# ];
# TODO: подключить git.iscg.dev/mikl.keys через fetchurl когда починим sha256
# openssh.authorizedKeys.keyFiles = [ forgejoKeys ];
};
}