heather: switch to make-disk-image (qcow2 for YC), drop disko

- Rename muscari -> heather (YC VM). rosemary reserved for future EU server.
- Add hosts/heather/image.nix: YC guest profile + qcow2 build target based on
  nixos/lib/make-disk-image.nix (the nixpkgs-standard cloud image builder).
  partitionTableType=legacy (MBR + single ext4 root, label nixos), GRUB in MBR
  on /dev/vda, virtio drivers, console=ttyS0, cloud-init (Ec2 datasource) so
  poppy ssh key auto-lands from YC metadata, growPartition.
- Drop disko flake input + disk-config.nix (was only for nixos-anywhere runtime
  install; replaced by make-disk-image build-time approach, no kexec).
- Add home/server.nix: minimal headless home for NixOS hosts (no ollama/
  texliveFull/kitty/syncthing/pass). flake mkNixos uses it instead of full ./home.
- k3s.nix: drop dead firewall block (firewall off in image.nix -> trustedInterfaces
  was a no-op). Cilium manages pod networking via BPF.
- image.baseName=heather, configurationLimit=1, remove virtio dups (qemu-guest
  profile already provides most).
- Fix sha256 pin on forgejo mikl.keys (was stale, would break fetchurl).
- home/zsh.nix: source yandex-cloud yc completion.
This commit is contained in:
mikl 2026-07-11 21:13:38 +03:00
commit 79260cec6f
9 changed files with 264 additions and 131 deletions

View file

@ -18,15 +18,10 @@
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
{ self, nixpkgs, nix-darwin, home-manager, sops-nix, disko, ... }:
{ self, nixpkgs, nix-darwin, home-manager, sops-nix, ... }:
let
mkNixos = hostname:
nixpkgs.lib.nixosSystem {
@ -35,14 +30,15 @@
./hosts/common
./hosts/${hostname}
sops-nix.nixosModules.sops
disko.nixosModules.disko
home-manager.nixosModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
backupFileExtension = "backup";
users.mikl = import ./home;
# Серверные хосты используют минимульный home (headless).
# Десктоп-хосты (если появятся) могут переопределить users.mikl.
users.mikl = import ./home/server.nix;
};
}
];
@ -67,8 +63,8 @@
in
{
nixosConfigurations = {
muscari = mkNixos "muscari";
# rosemary = mkNixos "rosemary"; # TODO: add disk config
heather = mkNixos "heather";
# rosemary = mkNixos "rosemary"; # TODO: будущий EU сервер (не YC)
};
darwinConfigurations = {