!UKDpaKNNsBpOPfLWfX:zhaofeng.li

Colmena

317 Members
A simple, stateless NixOS deployment tool - https://github.com/zhaofengli/colmena107 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
19 Aug 2023
@khalilsantana:matrix.org@khalilsantana:matrix.org My question is centered around package versions rather than anything else. Say all my hosts have foo-bar-v1.0, then at a later point the nixos-channel provides foo-bar-v2.0, since the config.nix didn't change I don't think colmena will fetch & apply the new binaries to the remote hosts, correct? 19:29:07
@khalilsantana:matrix.org@khalilsantana:matrix.org Or does a colmena apply also applies package upgrades, not only installs/uninstalls? 19:29:50
@zhaofeng:zhaofeng.liZhaofeng LiNix works fundamentally differently from other package managers. The package versions are decided when you evaluate the expression, and for Colmena everything is evaluated locally on the host you are deploying from19:31:33
@zhaofeng:zhaofeng.liZhaofeng Li so with channels, it will follow whatever you have on the machine running colmena 19:31:59
@khalilsantana:matrix.org@khalilsantana:matrix.orgPretty neat! So I guess I don't need to do anything special, just run an apply once in a while19:33:55
@khalilsantana:matrix.org@khalilsantana:matrix.org(I've seen there's an auto-upgrade option in nixos itself, but I'd rather have more control)19:34:29
@zhaofeng:zhaofeng.liZhaofeng Li

As a more concrete demonstration, run nix-build '<nixpkgs>' -A hello and you will get a path. This path is unique to this specific version of hello, tied to everything that it depends on:

$ nix-store -qR /nix/store/qi2wm8z1m8c8x164ki6r4fbpfl7is735-hello-2.12.1
/nix/store/2y9zl8ky5ac28ali6ly1zfz11d4fq48b-xgcc-12.3.0-libgcc
/nix/store/ic9wnagwh22yhqh3lcdlnv5m178w6f0f-libunistring-1.1
/nix/store/a9mxddm4a5p4kp84vys4n2nrmwqgk7kr-libidn2-2.3.4
/nix/store/1x4ijm9r1a88qk7zcmbbfza324gx1aac-glibc-2.37-8
/nix/store/qi2wm8z1m8c8x164ki6r4fbpfl7is735-hello-2.12.1
19:37:53

Show newer messages


Back to Room ListRoom Version: 6