| 13 Aug 2021 |
@timdeh:matrix.org | d4hines: ^^ | 16:58:53 |
d4hines | Cool. I’ve been writing out the full path for each attribute. I think I should be able to make my config more compact by using attribute sets. The glorious thing is that if I’m wrong I just git reset and reload! | 17:09:16 |
@timdeh:matrix.org | BTW, welcome back Gytis Ivaskevicius. I was worried you may have run into an unfortunate affair with a bus or something 😛 | 17:21:35 |
@gytis-ivaskevicius:matrix.org | no, it was worse - deadlines | 17:23:12 |
@gytis-ivaskevicius:matrix.org | 😂 | 17:23:14 |
@timdeh:matrix.org | At some point, we need to start reformulating rfc 96 for acceptance, and possibly begin patching the nix build chain to accept experimental flags at compile time (though maybe that's after it's officially accepted) | 17:27:05 |
David Arnold (blaggacao) | In reply to @d4hines:matrix.org Ok, so the value I give to home-manager is intelligently merged with the defaults (and any other modules I load as well), and if there are conflicts it fails to switch. In the context of the 'module system' you can thing of advanced merge semantics and any such semantic can be expressed. Unfortunately, it is implemented itself in nix and not yet a language feature. This is at the root of a bad as bad can be tracing experience, which often hangs somewhere in or through the module system. nickel to the rescue. | 18:16:20 |
David Arnold (blaggacao) | In reply to @d4hines:matrix.org Ok, so the value I give to home-manager is intelligently merged with the defaults (and any other modules I load as well), and if there are conflicts it fails to switch. * In the context of the 'module system' you can thing of advanced merge semantics and any such semantic can be expressed. Unfortunately, it is implemented itself in nix and not yet a language feature. This is at the root of a bad as bad can be tracing experience, which often hangs somewhere in or through the module system. nickel to the rescue. 🙏 | 18:16:49 |
David Arnold (blaggacao) | Is there a bind mount experw among us who can give me a sanity check on:
mkdir -p "$mountPoint/dev" "$mountPoint/sys" "$mountPoint/tmp" "$mountPoint/etc"
chmod 0755 "$mountPoint/dev" "$mountPoint/sys" "$mountPoint/tmp" "$mountPoint/etc"
mount --rbind /dev "$mountPoint/dev"
mount --rbind /sys "$mountPoint/sys"
touch "$mountPoint/etc/mtab"
mount --rbind $(readlink -f /proc/mounts) "$mountPoint/etc/mtab" # Grub needs an mtab.
exec chroot "$mountPoint" "CHROOTED=1 ${command[@]}"
| 18:18:30 |
David Arnold (blaggacao) | * Is there a bind mount expert among us who can give me a sanity check on:
mkdir -p "$mountPoint/dev" "$mountPoint/sys" "$mountPoint/tmp" "$mountPoint/etc"
chmod 0755 "$mountPoint/dev" "$mountPoint/sys" "$mountPoint/tmp" "$mountPoint/etc"
mount --rbind /dev "$mountPoint/dev"
mount --rbind /sys "$mountPoint/sys"
touch "$mountPoint/etc/mtab"
mount --rbind $(readlink -f /proc/mounts) "$mountPoint/etc/mtab" # Grub needs an mtab.
exec chroot "$mountPoint" "CHROOTED=1 ${command[@]}"
| 18:18:42 |
David Arnold (blaggacao) | * Is there a bind mount expert among us who can give me a sanity check on:
mkdir -p "$mountPoint/dev" "$mountPoint/sys" "$mountPoint/tmp" "$mountPoint/etc"
chmod 0755 "$mountPoint/dev" "$mountPoint/sys" "$mountPoint/tmp" "$mountPoint/etc"
mount --rbind /dev "$mountPoint/dev"
mount --rbind /sys "$mountPoint/sys"
touch "$mountPoint/etc/mtab"
mount --rbind $(readlink -f /proc/mounts) "$mountPoint/etc/mtab" # Grub needs an mtab.
exec chroot "$mountPoint" "CHROOTED=1 ${command[@]}"
| 18:18:55 |
David Arnold (blaggacao) | (worth doing read only bind mounts in some places?) | 18:19:31 |
@gtrunsec:matrix.org | In reply to @kraftnix:matrix.org yeah a default like host.wait_for("multi-user.target") or "default.target" might be better It works well for me https://github.com/GTrunSec/digga/commit/eb224906cad3e45bca621f76f7c45ae02830dc37 | 23:35:24 |
| 14 Aug 2021 |
@kraftnix:matrix.org | is nickel usable with nix/nixos at the moment? i would be really interested to try it out if it were | 02:58:49 |
@timdeh:matrix.org | it outputs json, so you could output static values. Though, since nix derivations already have substitution scripts, it would probably be easy enough to leave placeholders in the nickel such as @foo@, and substitute dynamic values on the nix side | 03:03:49 |
@timdeh:matrix.org | I mean, you obviously have the computation on the nickel side to do whatever you like to generate those static values as well. If someone were to reimplement the nix module system in nickel, it would be a lot more ergonomic to generate an entire config, and then simply import the final result from the json | 03:07:55 |
@timdeh:matrix.org | And the nix module system could probably do with some strict contracts anyway. Could help improve the design. We certainly would have to maintain the bolted on type system there | 03:08:37 |
@timdeh:matrix.org | * And the nix module system could probably do with some strict contracts anyway. Could help improve the design. We certainly wouldn't have to maintain the bolted on type system there | 03:08:51 |
@gtrunsec:matrix.org | kraftnix: this PR for disable the allProfilesTest https://github.com/GTrunSec/digga/commit/ed16f26086809e7cc6019661ff702119f5135a01 | 07:33:19 |
@gtrunsec:matrix.org | * kraftnix: this rev for disable the allProfilesTest https://github.com/GTrunSec/digga/commit/ed16f26086809e7cc6019661ff702119f5135a01 | 07:33:39 |
@gtrunsec:matrix.org | * kraftnix: this rev for disable the allProfilesTest https://github.com/GTrunSec/digga/commit/2a14c3ed08401884b795bb9f46f365e2bd7eb988 | 07:39:14 |
@gtrunsec:matrix.org | * kraftnix: this rev for disable the allProfilesTest,or filterHost by ["host-1"host-2"] which one is better? https://github.com/GTrunSec/digga/commit/2a14c3ed08401884b795bb9f46f365e2bd7eb988 | 08:33:42 |
David Arnold (blaggacao) | A friend pointed me to https://github.com/nix-community/disko | 13:27:32 |
David Arnold (blaggacao) | (a declarative wrapper around parted/mkfs) | 13:27:51 |
David Arnold (blaggacao) | would be nice to explore how that could be connected with https://github.com/serokell/deploy-rs/issues/123 | 13:29:08 |
David Arnold (blaggacao) | (a --part-script flag for deploy-rs) | 13:30:09 |
d4hines | I wrote the following flake to run a simple JS script: https://github.com/d4hines/beth/blob/4f3bbdd8d627061b8b9ddd8e8593b8512c8fa7bd/scripts/complice/flake.nix
Is there a shebang I can add to the file ./complice.js such that I can invoke it directly from my normal home environment? There are guides for using nix-shell commands but none for nix develop that I can find.
| 17:59:23 |
@kraftnix:matrix.org | In reply to @blaggacao:matrix.org A friend pointed me to https://github.com/nix-community/disko i essentially have scripts for this for zfs/btrfs (which aren't currently supported 🤔, so may be worth contributing). one problem i see for install automation (unless your deploy-rs PR handles this for install) is if you are using luks and/or zfs you need some hashes for your new host (hostId for zfs, uuid for luks devices), i tend to just let this be auto-generated by nixos-generate-config but it's been a barrier for me in terms of further automation. | 21:18:03 |
| 15 Aug 2021 |
| yusdacra changed their profile picture. | 03:21:20 |
@gtrunsec:matrix.org | kraftnix: how about https://github.com/GTrunSec/digga/commit/11108bebc9422f4fae342c638b111719fa2e806a | 04:10:15 |