73 lines
2.2 KiB
Nix
73 lines
2.2 KiB
Nix
{ pkgs, lib, config, ... }:
|
||
let
|
||
serverIP = "10.0.174.12";
|
||
buildNodeYggIP = "200:ccc6:1361:5c84:aba0:1244:35f5:c903";
|
||
configRepoUrl = "https://forgejo.gregorbednov.ru/gregorbednov/configuration.nix.git";
|
||
in
|
||
{
|
||
isoImage.isoName = "mirea-nixos-installer.iso";
|
||
isoImage.squashfsCompression = "zstd -Xcompression-level 6";
|
||
|
||
services.getty.autologinUser = lib.mkForce "root";
|
||
|
||
environment.systemPackages = with pkgs; [
|
||
parted
|
||
gptfdisk
|
||
util-linux
|
||
dosfstools
|
||
e2fsprogs
|
||
git
|
||
pv
|
||
curl
|
||
(writeShellScriptBin "mirea-install" (
|
||
builtins.replaceStrings
|
||
[ "@CONFIG_REPO_URL@" ]
|
||
[ configRepoUrl ]
|
||
(builtins.readFile ./mirea-install.sh)
|
||
))
|
||
];
|
||
|
||
# Yggdrasil запускается на установщике — благодаря ему доступен локальный кэш сборок
|
||
services.yggdrasil = {
|
||
enable = true;
|
||
persistentKeys = false;
|
||
settings.Peers = [ "tcp://${serverIP}:12345" ];
|
||
};
|
||
|
||
networking.networkmanager.enable = true;
|
||
networking.hosts."${buildNodeYggIP}" = [ "nixos.builds.node" ];
|
||
|
||
nix.settings = {
|
||
substituters = [
|
||
"http://nixos.builds.node"
|
||
"https://cache.nixos.org"
|
||
];
|
||
trusted-public-keys = [
|
||
"nixos.builds.node:E/XNkcdzB0EyTyEJuOTXJH8qynxgCfQ87JHkbD88uF8="
|
||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||
];
|
||
trusted-substituters = [ "http://nixos.builds.node" ];
|
||
connect-timeout = 5;
|
||
experimental-features = [ "nix-command" "flakes" ];
|
||
};
|
||
|
||
systemd.services.nix-daemon = {
|
||
after = [ "yggdrasil.service" ];
|
||
wants = [ "yggdrasil.service" ];
|
||
};
|
||
|
||
i18n.defaultLocale = "ru_RU.UTF-8";
|
||
time.timeZone = "Europe/Moscow";
|
||
console.font = "cyr-sun16";
|
||
|
||
environment.etc."issue".text = ''
|
||
|
||
┌─────────────────────────────────────────┐
|
||
│ Установщик NixOS MIREA │
|
||
│ Запустите: mirea-install │
|
||
└─────────────────────────────────────────┘
|
||
|
||
'';
|
||
|
||
system.stateVersion = "24.11";
|
||
}
|