Kopioi Github identity tiedosto kohde koneelle:
scp ~/.ssh/github-id-rsa <kone>:
ssh <kone>
sudo su
mv github-id-rsa ~/.ssh/
chown root:root ~/.ssh/github-id-rsaLisää rootin ~/.ssh/config tiedostoon:
Host github.com
User git
IdentityFile /root/.ssh/github-id-rsa
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
koti rakenna <kone>Esim.
koti rakenna dellxps13Debuggaus:
koti rakenna --debug <kone>Inputtien päivitys uusimpaan:
npins updateKaikkien koneiden päivitys:
koti rakenna -t bootKoneiden uudelleen käynnistys:
koti buuttaa
sudo reboot
Jos etäkone ei löydä pakettia cache.nixos.org:sta ja sen käännös epäonnistuu, paketin voi kokeilla asentaa läppärillä ja lähettää sen etäkoneelle ennen deployn uudelleenyritystä.
Esimerkkinä grafanan käännös feilaa kanto koneella:
nix shell --inputs-from . nixpkgs#grafana
which grafana
> /nix/store/bgxpkjnfx9dp3yyjvkcrmcpmga0qiy1w-grafana-10.2.6/bin/grafana
nix-copy-closure --to root@kanto /nix/store/bgxpkjnfx9dp3yyjvkcrmcpmga0qiy1w-grafana-10.2.6
npins update [<inputin nimi>]
# Inputtien lisääminen
npins add github nixos nixpkgs --branch nixos-25.11
npins add github nix-community home-manager --branch release-25.11
npins add container ghcr.io/lemonade-sdk/lemonade-server latest --name lemonade-serverEstä läppärin meneminen valmiustilaan jotta verkkoyhteys ei katkea kesken kaiken.
Testaa että päivitys onnistuu:
koti rakenna -t test <kone>Lopuksi tee boot entry ja käynnistä kone uudelleen:
koti rakenna -t boot <kone>
koti buuttaa <kone>Toista kullekkin koneelle.
nix run github:astro/deadnix .
nix run github:nix-community/nixpkgs-lint .nixos-rebuild list-generationsnh clean all --keep 5 --keep-since 30dMinulla on myös automaattinen puhdistus otettu käyttöön kaikilla NixOS koneilla joten tätä ei tarvitse välttämättä tehdä.
df -h /boot
Tiedostojärjestelmä Koko Käyt Vapaa Käy% Liitospiste
/dev/nvme0n1p1 511M 511M 0 100% /bootAja koneella:
sudo nix-collect-garbage --delete-older-than 5d
sudo /run/current-system/bin/switch-to-configuration switchnix repl
nix-repl> :l .
nix-repl> flake.nixosConfigurations.dellxps13.configSalaisuudet on jaettu kahteen eri kansioon:
agenix: Agenix työkalulla kryptatut salaisuudet, nämä ovat kryptattuna nix-storessa ja salaus puretaan vasta aktivointivaiheessa.encrypted: Git-crypt työkalulla kryptatut salaisuudet, nämä on selkokielisenä nix-storessa. Salaus puretaan git pullin yhteydessä.
Tiedostot agenix kansiossa joiden pääte on .age ovat salattuja tiedostoja.
Uuden salatun tiedoston lisäys tapahtuu lisäämällä tiedostolle rivi agenix/secrets.nix tiedostoon. Sen jälkeen luo tiedosto komennolla:
cd agenix
agenix -e <salaisuus>.ageSalatun tiedoston muokkaus tapahtuu samalla komennolla.
Salatun tiedoston poistaminen tapahtuu poistamalla sen .age-tiedosto. Poista myös sen rivi agenix/secrets.nix tiedostosta.
Jos muutat tiedostojen julkisia avaimia agenix/secrets.nix tiedostossa, niin silloin tulee ajaa komento:
cd agenix
agenix --rekeyKaikki tiedostot encrypted kansiossa (ja alikansioissa) salataan ja puretaan automaattisesti git komentojen yhteydessä.
Tiedostot voi halutessaan salata niin että tiedostot ovat salattuna levyllä käyttäen komentoa:
git crypt lockTiedostojen palautus kryptaamattomiksi tapahtuu komennolla:
git crypt unlock ./nixos-config.keyAvaintiedosto on salasanakannassa.
sudo restic-<palvelu> snapshots
# Esimerkiksi:
sudo restic-grafana snapshotssudo restic-<palvelu> restore <snapshot> --target <kohde>
# Esimerkiksi:
sudo restic-grafana restore latest --target /tmp/restoredsystemctl start restic-backups-<palvelu>.service
# Esimerkiksi:
systemctl start restic-backups-grafana.servicesudo restic-<palvelu> check --check-dataEheyden tarkastus tapahtuu myös osana varmuuskopiointia kunhan palvelulle on checkOpts määriteltynä.