<clever>
Henson: you can either cross-compile nixos, or you can natively build it, but do the evals outside
2021-05-16
<clever>
for me, it ran fine for years, until i moved it
<clever>
"we cant find any problem, it works fine now"
<clever>
that also explains why it was for sale as refurbished at wal-mart
<clever>
odiug: the ram sockets are loose, and the ram contact is lost if you subject the case to a sudden shock, reseating the ram fixed it
<clever>
odiug: after a few years of it being fine, then going bad again, then being fine, i figured out the cause
<clever>
odiug: i had a windows machine that would randomly bluescreen, and memtest86 confirmed bad ram, but when i started to try to find which stick of ram was bad, the problem always vanished
<clever>
i'm not sure either
<clever>
,tofu
<clever>
matthewcroughan: nixpkgs is capable of cross-compiling go, as i just did
<clever>
result/bin/ipfs: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, Go BuildID=tXXpJYAiC1C3XlXx0WKO/miG7PDhKc8yOpLwpzlLJ/i_Rsi4DG9V7QNkxXXHbW/WZKIREpJNQvuWOuTUo5z, not stripped
<clever>
[clever@amd-nixos:~/apps/rpi/nixpkgs-test]$ nix-build . -A pkgsCross.aarch64-multiplatform.ipfs
<clever>
kini: i'm thinking use tab-completion in the repl to find a few random tests, and use :b tests.foo.x86_64-linux to run them
<clever>
kini: yeah, i usually only run the tests that i think are effected
<clever>
kini: sounds like some of the tests are broken, you can maybe do something based on `nix-build nixos/release.nix -A tests`, but using hydra could be simpler
<clever>
kini: if you run `nix repl nixos/release.nix` and try to eval the tests attr, what do you find?
<clever>
either pop it into a repl.nix or assign it to some variable in a plain `nix repl`
<clever>
evalexpr: that expr can load a flake.nix and return whatever it returns
<clever>
MysteriousSilver: what command gave the error? what is the full output?
<clever>
so if nix sets those 2 vars, it will still report the version it was built from
<clever>
if .git is missing, it wil default to DRONE_COMMIT and DRONE_TAG i think
<clever>
or patching
<clever>
is there a way to override it without .git?
<clever>
read version.sh, and figure out how its querying the version
<clever>
ah, it could also be version related, or even time related
<clever>
once the x86 hydra builds that, the tainted x86-based $out will be in the public cache, and the aarch64 builders will just fetch it, and mask the problem
2021-05-10
<clever>
doesnt really matter that much where it is
<clever>
fuzzypixelz: you can just `mkdir foo ; cd foo`
<clever>
fuzzypixelz: you should probably run all of the phases in a freshly made empty directory, so you can easily remove it all afterwards
<clever>
fuzzypixelz: the unpackPhase copies $src to . so you always want to be modifying the source in . not $src
2021-05-09
<clever>
conkker: thats also how derivations work, pkgs.hello is a set with a .outPath
<clever>
conkker: if you treat a set like a string, nix will use the .outPath automatically
<clever>
> let set = { outPath = "foo"; }; in "${set}"
<clever>
conkker: does nixpkgs.outPath exist?
<clever>
ive never seen that one before
<clever>
that gives a shell suitable for building hello
<clever>
fuzzypixelz: nix-shell ~/apps/nixpkgs -A hello
<clever>
being a list, its hard to remove options, so mkForce tends to remove too much
<clever>
simpson: i think the default videoDrivers includes ones that cant compile on arm
<clever>
zeta_0: the gpu is always the same for a given model, every rpi4 has the exact same gpu
<clever>
its not a pci device
<clever>
zeta_0: lspci will never see the gpu
<clever>
zeta_0: shouldnt matter what its plugged into, as long as it has an edid eeprom (both monitors and tv's have one)
<clever>
that sounds likely
<clever>
not sure what the cfg for that is, but google should help there some
<clever>
you should be able to configure X to use /dev/fb0
<clever>
zeta_0: `modprobe vc4` and check lsmod?
<clever>
zeta_0: first, check if /dev/fb0 exists
<clever>
and u-boot is the default for nixos
<clever>
zeta_0: if your using u-boot, then i dont think kms can be loaded easily
<clever>
if both overlays are missing, then only /dev/fb0 will work
<clever>
zeta_0: the dri node only exists if you load the fkms or kms overlay
2021-05-07
<clever>
chloekek: this will open <nixos> from $NIX_PATH, then eval lib.version within it
<clever>
[clever@amd-nixos:~]$ nix-instantiate --eval '<nixos>' -A lib.version
<clever>
"21.05pre274021.d496205cf22"
<clever>
i'm also on my way to bed
<clever>
and if its single-user, "connecting" just means opening /nix/store directly
<clever>
and only when a build is done on a remote machine, will it connect to the local nix, and initiate a closure copy
<clever>
matthewcroughan: hydra-queue-runner connects to the build machines and manages starting the builds
<clever>
matthewcroughan: nixos containers share the /nix/store by default
2021-05-06
<clever>
you may need to write your own package
<clever>
so you dont run in cicles, fixing one error at a time
<clever>
ris: the other power of `assertions =`, is that nixos-rebuild can spit out multiple errors at once
<clever>
ris: yeah
2021-05-04
<clever>
pennae: what if you use the deps mechanism, to make users depend on your thing?
<clever>
pennae: lib.mkBefore ?
<clever>
sterni: 2nd link shows what it is hashing
<clever>
alschaapman: that doesnt really buy you much, enless you plan the change the port hourly
<clever>
alschaapman: it only takes slightly more time to scan every port, try to connect, and probe what service is listening
<clever>
you should instead disable password auth
<clever>
alschaapman: changing the port does nothing to help your security
<clever>
alschaapman: i think thats part of them locking down on security, in preparation to ipad-ify everything
<clever>
what does `echo $SSH_AUTH_SOCK` report on a mac?
<clever>
alschaapman: ssh just connets to whatever agent is on the far end of $SSH_AUTH_SOCK
<clever>
s1341_: pop the right config into /root/.ssh/config i believe
<clever>
8000, oops
<clever>
Frosku: what does `netstat -anp | grep 3000` say?
2021-05-03
<clever>
__monty__: just edit the 2nd one to basically do `import ~/nixpkgs1/pkgs/stdenv/linux/make-bootstrap-tools.nix` in the right place
<clever>
__monty__: in that case, i would just use 2 copies of nixpkgs, one to build it from a cached stdenv, the 2nd to then make a new stdenv from the bootstrap files the 1st produces
<clever>
__monty__: usually, the bootstrap files are fetched with import <nix/fetchurl.nix> {, and get re-patched for the new $out
<clever>
__monty__: though, the bootstrap tools are a special case...
<clever>
__monty__: you can import a second copy of nixpkgs to work around that
<clever>
i think builtins.storePath can work around that, but its recommended to just use the expr that made it in the first place
<clever>
__monty__: nix doesnt really allow passing a pre-built storepath into an expr, it will treat it the same as ./foo, copy the whole thing back into the store, loosing all runtime deps
<clever>
__monty__: i still need to sit down and learn how vim actually works, despite having used it for ~17 years!
<clever>
no rollbacks when grub.conf is missing a / in just the wrong spot!
<clever>
Orbstheorem: nixpkgs-unstable once had a bug corrupting grub.conf, dozens of mis-configured users started showing up, as they bricked the system
<clever>
Orbstheorem: nixos-unstable does extra tests to ensure it wont brick a nixos machine
<clever>
__monty__: oh, that works perfectly!
<clever>
xdej: depends on if your wanting to insert a new hash, or invalidate the old one
<clever>
there is a surround plugin, that will delete both forwards and backwards to the next ", so you dont have to trigger at the start
<clever>
it will delete everything from the cursor to the next ", and switch into insert mode
<clever>
there is also ct" to change to "
2021-05-02
<clever>
ah, its buildEnv
<clever>
Frosku: OPENSSL_PREFIX = buildenv { ... }; is one way
<clever>
Frosku: that expr will return a path for the output, so you can then put that expr somewhere useful
<clever>
buildenv*
<clever>
Frosku: buildenv is simpler, builtenv { name = "name"; paths = [ openssl.out openssl.dev ]; }
2021-05-01
<clever>
superherointj: check what ldd says
<clever>
superherointj: if you add `-o foo`, you will instead create a symlink called foo
<clever>
superherointj: the symlink called result is being updated, you can see it with `ls -l result`
<clever>
it is less tested outside of x86 though, arm->vpu for example fails, but x86->vpu works fine
<clever>
flip[m]: pkgsCross should just work, what error where you getting?
<clever>
native arm32 building is currently broken
<clever>
yaymukund: this will diff the final derivation for 2 generations, in my case, revealing that i only changed a single word in /etc/nix/machines