<clever>
nh2: thats due to how callPackage is created, i'm searching for it...
<clever>
nh2: its not actually in the top-level scope
<clever>
> pkgs.libXtst
<clever>
so you need to override xorg.libXtst
<clever>
nh2: i think pkgs.libXtst is a reference to pkgs.xorg.libXtst
<clever>
ah
<clever>
monty: then you can just go to bed and know it wont brick itself overnight
<clever>
monty: you could `nixos-rebuild build` to build/download everything, but not activate
<clever>
--check-contents will compare the hashes of everything to the ones when they where first made
<clever>
monty: garbage collection may have also fixed things already
<clever>
yeah
<clever>
just --delete it
<clever>
monty: `nix-store --verify --check-contents`, but you mau not need to repair it since your changing channels
<clever>
monty: yeah
<clever>
monty: i would start with a further garbage collection, --repair would just re-download the missing ghc and run out of space
<clever>
and since all GUI's claim it doesnt exist normally, you never set a pw on it!
<clever>
windows has similar, their is a hidden admin account, that all GUI's claim doesnt exist, but if you boot into safemode, you can still login as that user
<clever>
monty: that is also basically how you can hijack any linux machine if you have physical access
<clever>
monty: that should work fine
<clever>
something went wrong updating them, due to lack of free space
<clever>
monty: `the root account is locked` pretty much confirms that the passwd/shadow files got borked
<clever>
monty: something may have crashed with /etc/passwd and wiped all passwords, use single mode to run passwd and set new passwords
<clever>
its needed more when you dont have a way to properly shutdown
<clever>
(a shell command)
<clever>
NAME
<clever>
sync - flush file system buffers
<clever>
verify can be done later, after you reboot
<clever>
monty: and then try a sync and reboot, that should be enough to get a shell and be able to gc more normally
<clever>
monty: try deleting the ghc with rm then
<clever>
monty: you can then run `nix-store --delete` on that path
<clever>
monty: you may need to `export PATH=/nix/var/nix/profiles/system/sw/bin` to make things simpler
<clever>
monty: then run `nix-store --query --roots` on that fat thing, to see why it cant be deleted
<clever>
monty: `du -hc --max=1 /nix/store | sort -h`, find the path to the fattest thing in the nix store
<clever>
monty: export HOME=/root, not sure why it needs it
<clever>
vandenoever: then run nix-shell on that attribute, `nix-shell -A libreoffice`
<clever>
vandenoever: you can run that on a .drv file for the expression, which nix-instantiate can generate
<clever>
vandenoever: nix-store -qR
<clever>
then systemd should boot directly to a root prompt
<clever>
monty: add `single` to the kernel cmd line at the bootloader
<clever>
inf: yeah, that looks good
<clever>
monty: start with `nix-collect-garbage --max-freed 10m`
<clever>
monty: you usually want to use a --max-freed to limit how much you GC when in this situation
<clever>
inf: check the systemd docs (and nixpkgs for examples) on RequiresMountsFor
<clever>
i would just do what you did, and maybe also set requires mounts for
<clever>
there is a systemd mount generated for zfs, but ive not looked into it yet
<clever>
but there is a flag you can add to fstab, to make things non-fatal
<clever>
yeah
<clever>
yeah
<clever>
systemd has a nasty habbit of having a complete panic if local-fs.target fails
<clever>
inf: `filesystems."/tank" = { device = "tank"; fsType = "zfs"; };` requires `mountpoint=legacy` on the dataset
<clever>
(but havent started yet)
<clever>
and thats why i have plans to make rollback options work remotely!
<clever>
inf: and thats why you have rollback options at grub!
<clever>
theduke: propagated inputs only appear at build time, for things depending on your package
<clever>
dmj`: undmg should do exactly what i said you need
<clever>
dmj`: did you read what tilpner said?
<clever>
red[evilred]: usually, start by finding out how to run any linux on it, usually u-boot, kernel config, and such, and then see what happens if you try to boot a kernel nixos made
<clever>
dmj`: step 1, find a command-line tool that can unpack a dmg without root
<clever>
dminuoso: ah
<clever>
red[evilred]: aarch64?
<clever>
i just run nixos as the host os on my nas
<clever>
dminuoso: the scsi subsystem in linux may be wonky, where it blame sd_mod for all "scsi" devices, even if the backend is virtio_scsi
<clever>
and here comes the scary part of my migration!
<clever>
[root@nas:/mnt/nix]# rm -rf store/
<clever>
you would need to check what your disk shows as, under the guest
<clever>
dminuoso: in my case, sda is handled by sd_mod
<clever>
[root@amd-nixos:~]# ls -lh /sys/class/block/sda/device/driver/module
<clever>
not sure what will be used for partitioning yet, but thats one option
<clever>
pistache: and then certain backend plugins, like hetzner would just tell hetzner to boot the iso, to meet that requirement
<clever>
pistache: you just need a way to give nixops root ssh to a nixos running from ram (or an iso), and it will do the install for you and deploy
<clever>
pistache: yeah, the idea is that it should work on pretty much anything, cloud providers, baremetal providers, and even baremetal you have physical access to
<clever>
pistache: my general plan with the above, is to be able to support custom fs layout, on all cloud providers, with a single api to control it
<clever>
Ericson2314: i need to test the vc4 stuff today
<clever>
Ericson2314: ah, i was just wondering why plex is broken on master, i thought somebody had fixed the qt stuff, now i see lua is broken, and you just fixed it
<clever>
OmnipotentEntity: run `nix-store --verify --check-contents` ?
<clever>
OmnipotentEntity: strace it and see what files its touching?
<clever>
OmnipotentEntity: is it possible to pre-compile that code when nix is building the python library?
<clever>
mojjo: so your things have priority over what the user had
<clever>
mojjo: yep, i would put $PATH at the end though
<clever>
mojjo: it will get the .bin or .out of each thing in the list, then shove a /bin on the end, and : seperate things
<clever>
> lib.makeBinPath [ hello ]
<clever>
mojjo: lib.makeBinPath
<clever>
das_j: there is also mapAttrsFlatten
<clever>
das_j: i sometimes use mapAttrs + attrValues
<clever>
mojjo: i also do `cp ${./foo} foo` a lot
<clever>
mojjo: you can also use builtins.filterSource to copy ./. and filter what it copies
<clever>
mojjo: fixed-output derivations just define the hash upfront, and then download later, and nix enforces it matching that hash
<clever>
mojjo: then use that hash to compute the outputs of things that depended on foo
<clever>
mojjo: when you do src = ./foo, nix will copy ./foo to /nix/store/hash-foo, and hash it as it copies
<clever>
mojjo: only if you declare upfront what the hash of $out will be
<clever>
i sometimes play with loopback modules in my pulse, and i'm pretty sure systemwide blocks all module loading
<clever>
you could also use $lib for libs, and $out for any text content
<clever>
neat
<clever>
dont code while bored :P
<clever>
once i got it all working, i never used it, never upstreamed the patches, and just commented out the package override! lol
<clever>
so i patched pulse to support that, lol
<clever>
and the pulse config file format, didnt support configuring them by index
<clever>
however, all 3 muxes have the identical name (due to alsa drivers), and they only differ by index#
<clever>
and you can either expose the mux's to the user (via pavucontrol) or pre-configure them with the config file
<clever>
but you can define a config file to describe all of the above to PA, so it can enable capturing on each seperately
<clever>
out of the box, pulseaudio only supports a single capture channel
<clever>
and 3 muxes, to select any jack for any ADC
<clever>
it has 3 ADC channels, and 3 physical inputs (front&rear line-in, and a mic jack)
<clever>
avn: that reminds me, my desktop sound card is a bit weird
<clever>
because i really dont want compiler tools in my global env, but i use strings a lot
<clever>
yeah, ive done that to extract `strings` from binutils
<clever>
nix-env and systemPackages will usually ignore .data
<clever>
avn: one option is to just make it split output, outputs = [ "out" "data" ]; then tell cmake to shove all of the data into $data, and the binary in $out/bin/
<clever>
das_j: lib.mapAttrsRecursive might help
<clever>
avn: yeah, and there is the unknowns of how the binary will try to find the other files, and the icky problem of it creating a $out/Etterna/ dir, which will show up in places like ~/.nix-profile and /run/current-system/sw/
<clever>
das_j: have you checked the directory listing of the zip for anything fishy?
<clever>
evils: its mainly a safety, to make the code harder to be exploited, so they are doing something "wrong" but it will work
<clever>
evils: thats the format security warnings being turned into errors, youll want to check nixpkgs for examples of how to disable format security
<clever>
maybe the version is too old?
<clever>
mananamenos_: it may be cachix use --nixos?