Подписаться

С новой версией nixops стало неудобно работать.
Теперь утилита проверяет наличие файла nixops.nix или flake.nix в текущей директории. Если его нету - выдаёт ошибку. Из директории с исходным кодом nixpkgs тоже не запускается. Надо, либо указывать новый параметр `--network` с указанием расположения файла `nixops.nix`, либо переходить сперва в директорию где он расположен, и только после этого запускать nixops.
Неудобно и непривычно :(
Так ещё надо осваивать `nix flake`...

@Lafiel
Мой конфиг основан на nix flakes, но я так и не понял, как оно работает 🙃

Кстати, вот один классный конфиг, который юзает и overlays и nix flakes.

Можно тут что-то подглядеть

github.com/Horhik/nixconfig

@horhik
Если упрощённо, то в flake.nix ты задаешь вводные данные, из которых ты будешь собирать пакет/систему и т.п.. А в файле flake.lock фиксируются ревизия, хэш, пути и т.п..
Таким образом увеличивается точность воспроизведения сборки на других системах.

До ново-ведения, мне удобно было развёртывать изменения в nixpkgs на тестовую виртуальную машину прямо из папки с исходниками nixos. Теперь так не получается. Вот думаю, как можно решить проблему.

@Lafiel

заверни в flake.nix тогда

В вики даже код есть, как это сделать

@horhik
Это для текущей системы. Мне надо для nixops.

@horhik
Для nixops у меня и так получается много параметров:
`nixops deploy -d labs -I nixpkgs=/home/user/works/src-nix/nixpkgs`
Так теперь надо ещё добавлять каждый раз `--network ~/works/nixops`.
Хотелось бы вообще укоротить до `nixops deploy -d labs`.

@Lafiel
echo "alias nixos-deploy = ..." >> ~/.bashrc 🙃

@horhik
Не, такой способ не подходит мне.

@horhik
С одной проблемой разобрался - в дополнительных параметрах nixops не надо прописывать `-I nixpkgs=...`.
В `configuration.nix` прописал:
```
...
nix = {
nixPath = [
"nixpkgs=/home/user/works/src-nix/nixpkgs"
...
```

Войдите, чтобы принять участие в дискуссии
Elven Perfect World

Персональный микроблог социальной сети Mastodon.