2019-06-14
08:08
<
clever >
clacke_movim: oh, that seems new
07:29
<
clever >
it was basically your mission to break as many sites as possible
07:29
<
clever >
and many sites have a max length on the input, so you cant put it all in
07:28
<
clever >
ashkitten: it was just the entire alphabet, repeated as many times as the dns system would allow
07:28
<
clever >
ashkitten: i remember once having an email addr at something like abcde.......com
07:21
<
clever >
so i need a 2nd wifi without v6 support to get netflix
07:21
<
clever >
i was turning v6 support off on android, via root, but now all of my devices arent rooted
07:21
<
clever >
but now, if your v6 and v4 dont agree on your country, it will just block all of netflix
07:21
<
clever >
turning on v6 support in windows let me play stuff for a few years
07:20
<
clever >
so linux got the american lineup, and windows got the canadian lineup
07:20
<
clever >
then i figured it out, linux was on v6, and the tunnel exits in america
07:20
<
clever >
further testing, showed that the windows netflix refused to even admit the actors existed
07:19
<
clever >
but netflix+linux didnt work, so i went to the windows machine, and wut, it doesnt have star trek!?
07:19
<
clever >
and one day, i was talking about how netflix didnt have startrek, and pulled it up on my linux laptop, and wait, it does...
07:19
<
clever >
ashkitten: that reminds me, when i first setup tunnelbroker, i didnt have v6 enabled on everything in the house
07:15
<
clever >
turns out, the motherboard driver for cellphone charging, segfaults while trying to parse the usb descriptors for the teensy
07:15
<
clever >
plugged it directly into a front port, and
*boom* blue-screen!
07:15
<
clever >
then one day i stopped using it as a usb keyboard, and took out a usb extension i was using
07:14
<
clever >
and all problems vanish
07:14
<
clever >
so just having it plugged in, convinces the game that i have a mouse
07:14
<
clever >
ashkitten: but it actually emulates a full mouse+keyboard
07:14
<
clever >
ashkitten: i had one of these programed to act as a usb keyboard, with 2 buttons
07:13
<
clever >
so you now have the stability of windows, on nixos!
07:13
<
clever >
but gpu passthru tends to be very fiddly and requires a host reboot to reset
07:13
<
clever >
and then stream it over
07:13
<
clever >
Miyu-saki: i was thinking the same thing, gpu passthru a 2nd card to a windows guest
07:12
<
clever >
one click down, and it just infinitely scrolls down
07:12
<
clever >
and then i discovered, if i boot certain games without a mouse, the forwarded wheel goes nuts
07:12
<
clever >
i was using synergy to control windows, so windows had no mouse attached
07:11
<
clever >
i once had a weird mouse problem on windows
07:10
<
clever >
i used mplayer to play the rtmp stream, and some custom output flags to feed it into v4l-loopback
07:09
<
clever >
because it was playing off a remote rtmp server, lol
07:09
<
clever >
it had horid latency
07:09
<
clever >
i used that before to force obs down hangouts's throat :P
07:08
<
clever >
v4l-loopback
07:07
<
clever >
now you can use obs to composite your hangouts screen-share
07:07
<
clever >
then tell hangouts to share that window
07:07
<
clever >
i also recently discovered a neat trick, tell obs to open a a windowed preview projector
07:07
<
clever >
i use obs-studio a lot
07:06
<
clever >
linux has much better stuff, but steam probably isnt using it
07:06
<
clever >
if you are using something like RDP to get a 2nd isolated desktop
07:05
<
clever >
ashkitten: and windows has to update all of the globals when context-switching to another desktop
07:05
<
clever >
ashkitten: i came across a blog that went into detail, how the currently active screen is essentialy a set of global variables in the kernel
07:05
<
clever >
ashkitten: yeah, its a fairly crude screen-capture, and windows really isnt designed for multiple screens
07:01
<
clever >
Yaniel: and which port it uses is semi-random
07:01
<
clever >
Yaniel: it uses a range of udp ports, and the existing firewall config wont let you specify a range
07:00
<
clever >
Yaniel: ive been considering using wireguard to mess with that
07:00
<
clever >
hyper_ch2: just a matter of if you can be bothered to lookup the ports, or say f-it :P
06:59
<
clever >
hyper_ch2: it needs a few ports in the nixos firewall opened, or just turn the firewall off
06:56
<
clever >
ashkitten: ive mostly tested it nixos->nixos, to play on my laptop
06:56
<
clever >
ashkitten: i think it needs a monitor plugged in, but it can be off
06:55
<
clever >
you instead pay a monthly rate for permission to use it :P
06:54
<
clever >
hyper_ch2: the main different with stadia, is that its over the internet, and you no longer own the hardware
06:50
<
clever >
and play all the windows-only games, on real windows
06:50
<
clever >
hyper_ch2: so you could have a win10 box in the closest, with a beefy gfx card, and then have steam stream it to the nixos box for you
06:49
<
clever >
hyper_ch2: steam in-home streaming also works on nixos, so you can basically do stadia in-home
06:49
<
clever >
hyper_ch2: yeah, stadio is different and will let even crap machines run games
06:45
<
clever >
hyper_ch2: proton is valves fork of wine, it has steam integration and improvements to help with compatability
06:42
<
clever >
hyper_ch2: proton
06:17
<
clever >
there is also a path = ../..; in nixpkgs, that will always point to itself
06:17
<
clever >
> pkgs.path
06:17
<
clever >
read that file to see how it works
06:17
<
clever >
nixpkgs/pkgs/stdenv/generic/make-derivation.nix: position = pos.file + ":" + toString pos.line;
06:16
<
clever >
Miyu-saki: and the stdenv uses that to point to an attr in the package
06:16
<
clever >
> pkgs.hello.meta.position
06:16
<
clever >
> pkgs.hello.meta.location
06:16
<
clever >
> pkgs.hello.path
06:16
<
clever >
Miyu-saki: while import doesnt save the path, the parser saves the path of every attr in every set
06:15
<
clever >
> builtins.unsafeGetAttrPos "a" { a=42; }
06:15
<
clever >
Miyu-saki: you may be interested in some of the unsafe flags
04:14
<
clever >
--dump doesnt preserve names
04:14
<
clever >
dependency information, and the actual names of things
04:13
<
clever >
--export and --import support the metadata
04:13
<
clever >
petersjt014: --dump is basically tar, and wont store any metadata
04:09
<
clever >
?root= is an argument it can take, that will prepend a string to all paths, so it operates on /mnt/nix/store/
04:09
<
clever >
petersjt014: nix copy takes store URI's, and local is the name of the local store in /nix/store/
04:07
<
clever >
petersjt014: its related to nix-copy-closure, but i dont think the old syntax can do that
04:04
<
clever >
petersjt014: nix copy --all --to local?root=/mnt/
03:54
<
clever >
but you may need to patch hydra to get any useful output, like URL's
03:54
<
clever >
o1lo01ol1o: journalctl -f -u hydra-evaluator should show the output it does print
03:48
<
clever >
each ocaml thing will be a small overlay, that you apply to the ocaml packages
03:47
<
clever >
trace: warning: `overrideScope` (from `lib.makeScope`) is deprecated. Do `overrideScope' (self: super: { … })` instead of `overrideScope (super: self: { … })`. All other overrides have the parameters in that order, including other definitions of `overrideScope`. This was the only definition violating the pattern.
03:47
<
clever >
like: ocamlPackages.overrideScope' (self: super: { ... });
03:47
<
clever >
that will take an overlay
03:47
<
clever >
Netsu: ocamlPackages.overrideScope'
03:46
<
clever >
Netsu: when you use // it wont propagate to other packages in that set
03:39
<
clever >
Netsu: can you pastebin your override code?
01:57
<
clever >
o1lo01ol1o: and there is also builtins.trace, which takes a string, and an anything, and it returns the 2nd arg
01:56
<
clever >
> builtins.attrNames { a=42; }
2019-06-12
10:15
<
clever >
tobiasBora: go ahed
10:15
<
clever >
immae: yet another way to find nixpkgs!
10:15
<
clever >
nix-instantiate --eval '<nixpkgs>' -A path
10:14
<
clever >
and every time you do <nixpkgs> it will be translated into `builtins.findFile builtins.nixPath "nixpkgs"`
10:14
<
clever >
behind the scenes, nix will parse NIX_PATH and convert it into builtins.nixPath
10:13
<
clever >
immae: also, nix-instantiate --eval -E builtins.nixPath
10:09
<
clever >
with that, you can experiment to see what does what
10:09
<
clever >
immae: you can also NIX_PATH=something nix-instantiate --find-file nixpkgs
10:09
<
clever >
[clever@amd-nixos:~]$ nix-instantiate --find-file nixpkgs/default.nix
10:09
<
clever >
/nix/var/nix/profiles/per-user/root/channels/nixos/default.nix
10:09
<
clever >
[clever@amd-nixos:~]$ nix-instantiate --find-file nixpkgs
10:09
<
clever >
/nix/var/nix/profiles/per-user/root/channels/nixos
08:52
<
clever >
dminuoso: ah, i didnt make that one
08:51
<
clever >
dminuoso: about?
08:48
<
clever >
,libraries Athas
08:05
<
clever >
madhukar: i'm just fairly active in irc
07:55
<
clever >
madhukar: some gui and audio things dont like running as root, because of security reasons
07:14
<
clever >
teto: a lot of those arent actually binaries
07:13
<
clever >
kibana.out 12 d /nix/store/6v4zl7g2pl2nyvlj47vc3igggqc5gdm3-kibana-4.6.0/libexec/kibana/webpackShims
07:13
<
clever >
teto: its more visible if you run nix-locate locally
06:45
<
clever >
teto: Data.ByteString.Lazy.writeFile
03:38
<
clever >
mac10688: run pavucontrol, is anything muted?
03:22
<
clever >
i was going to mess with hostapd
03:22
<
clever >
which reminds me
03:22
<
clever >
now that i know how it works, its fine :P
03:21
<
clever >
back in my day, network-manager didnt exist, and i had to figure out wpa_supplicant without internet access, just to get internet working!
03:20
<
clever >
mac10688: networking.wireless.enable is what i use
03:18
<
clever >
niten: everything nix-env manages will appear to be read-only
03:18
<
clever >
niten: another solution is lets encrypt
03:18
<
clever >
niten: your containers are in /var/lib/containers
03:17
<
clever >
i would just copy the keys in by hand then
03:16
<
clever >
niten: nixops?
03:16
<
clever >
that is a better solution
03:13
<
clever >
makes it more reproducable, because it doesnt care what the end user did to config.nix
03:13
<
clever >
so it ignores whatever the user has in config.nix
03:12
<
clever >
i try to always do { config = {}; overlays = []; }
03:12
<
clever >
import <nixpkgs> { config = { allowBroken = true; }; }
03:12
<
clever >
tA_: when you import <nixpkgs> {} you can just pass it a config attr
03:00
<
clever >
tA_: echo $NIX_REMOTE
02:55
<
clever >
tA_: try setting it to singleuser mode, rather then multiuser mode
02:55
<
clever >
tA_: that implies that nix-daemon isnt running as root
02:21
<
clever >
and double-check that `iwconfig` shows it as being online
02:20
<
clever >
while the ethernet is unplugged
02:20
<
clever >
mac10688: it has a bit of trouble switching, try restarting wpa_supplicant again?
02:17
<
clever >
mac10688: wpa_passphrase networkname password >> /etc/wpa_supplicant.conf ; systemctl restart wpa_supplicant
02:16
<
clever >
mac10688: i just use wpa_passphrase and wpa_cli
01:15
<
clever >
Shados: i can hit multiple caches, but not have to setup 5 nginx caches and configure every machine to use 5 different local nginx's
01:06
<
clever >
and its caching narinfo files in ram, rather then disk, since those are always small and requesting them is a bottleneck often
01:06
<
clever >
Shados: main difference from that, is that it can merge multiple binary caches into a single url
01:00
<
clever >
dhess: and the nixos module to run it
00:58
<
clever >
so i have 2 upstream caches, cachecache will check both, and then present a single cache to my LAN
00:58
<
clever >
this will also multiplex many caches into a single url
00:58
<
clever >
why not cache the ache?
00:58
<
clever >
but i have gigabit inside the house
00:58
<
clever >
dhess: basically, i have 4 nixos machines in my house, and re-downloading things from cache.nixos.org is a bottleneck
00:57
<
clever >
dhess: a cache for binary caches, lol
00:57
<
clever >
and check the dir before downloading
00:56
<
clever >
dhess: i think that makes it save the .nar to a dir, after downloading
00:56
<
clever >
dhess: that also looks like it may entirely replace cachecache, lol
00:56
<
clever >
dhess: ah, i dont think that existed when i set things up
00:55
<
clever >
dhess: nar cache?
00:53
<
clever >
alienpirate5: `sudo -i` and then --list again
00:53
<
clever >
alienpirate5: every user has his own channels, and root is the fallback
00:53
<
clever >
alienpirate5: no
00:52
<
clever >
alienpirate5: what does nix-channel --list say?
00:52
<
clever >
alienpirate5: your nixpkgs may be too old
00:52
<
clever >
alienpirate5: what errors do you get?
00:51
<
clever >
alienpirate5: use gcc9Stdenv.mkDerivation
00:49
<
clever >
dhess: yeah
00:48
<
clever >
store_uri is the only one you really care about, thats where hydra will push things when a build finishes
00:47
<
clever >
no clue, lol
00:47
<
clever >
(thats what server_store_uri did)
00:46
<
clever >
and it uses this to fetch a single file from the cache
00:46
<
clever >
dhess: hydra build products again, it can host documentation and html pages directly thru hydra
00:44
<
clever >
or you could point it to blame.dhess.for.breakage.com
00:43
<
clever >
you could point it to a custom nginx, that uses basic auth to authenticate people
00:43
<
clever >
dhess: when generating hydra product URL's (which must be clickable in the browser) it will use that string
00:42
<
clever >
$c->stash->{binaryCachePublicUri} = $c->config->{binary_cache_public_uri};
00:42
<
clever >
to the source!
00:42
<
clever >
dhess: i dont remember what the public uri was for
00:40
<
clever >
dhess: actually using it though, would require aws keys on every person wanting to use it, and an s3://bucket in the cache config
00:39
<
clever >
dhess: so private might be simpler
00:39
<
clever >
dhess: the only s3 one ive setup is public, but it needed extra redirect rules to make the bucket accessible easily, and acl's to make the bucket public by default
00:33
<
clever >
bsima: the builder didnt produce the path it was supposed to produce
00:00
<
clever >
simpson: so ive been forced to just not use 2 entire disks
00:00
<
clever >
simpson: the firmware update util also fails
2019-06-11
23:59
<
clever >
Shados: its a cpu task within zfs, probably when multiple reads are already waiting in the queue, because other reads are in progress
23:59
<
clever >
simpson: that explains why my SSD's where locking up randomly :P
23:59
<
clever >
Resolved a race condition where a write command during SATA error handling process could cause drive to hang
23:57
<
clever >
wheres that pdf...
23:57
<
clever >
simpson: oh, something else, i have 2 entire SSD's in my desktop that are just totally unused
23:56
<
clever >
less round trips, faster thruput!
23:55
<
clever >
so if it wants to read 2 nearby things, it may just ask the drive for one big chunk, that covers both
23:55
<
clever >
Shados: and this allows zfs to merge multiple reads together, and read up to 384kb at once
23:55
<
clever >
echo $((384 * 1024)) > /sys/module/zfs/parameters/zfs_vdev_aggregation_limit
23:55
<
clever >
Shados: `zpool iostat -r 30` then shows how many reads, of what type, and size, every 30 seconds
23:54
<
clever >
Shados: if the kernel is merging several read requests together, then zfs isnt detecting the merges itself
23:54
<
clever >
Shados: the main thing i'm looking at right now is the rrqm/s in `iostat -x 30`
23:53
<
clever >
Shados: ive been experimenting with grafana and zfs metrics lately to see what does what
23:52
<
clever >
xorax: one searches by name, the other searches by attrpath
23:52
<
clever >
xorax: you need a -A or -Q in there somewhere i think
23:51
<
clever >
so it can cache things that are used a lot, but not very often (like an hourly cron job)
23:51
<
clever >
simpson: and based on the hit% of both classes, it will adjust how much ram it allocates to both types
23:51
<
clever >
simpson: basically, zfs has the ARC, which will cache both recently used things, and frequently used things
23:50
<
clever >
my desktop fits entirely on nvme, so it boots damn fast
23:50
<
clever >
tobiasBora: the main restriction, is that the L2ARC doesnt persist between reboots
23:49
<
clever >
simpson: thats what the L2ARC in zfs does
23:47
<
clever >
xorax: nix-env -q to list all of them, and nix-env -e to remove each one, or `nix-env --rollback` to just undo the last thing you did (you can repeat rollback a few times)
23:45
<
clever >
xorax: you want nix-env -iA nixos.nodePackages.node2nix
23:45
<
clever >
xorax: that only shows channels, not packages in a channel
23:44
<
clever >
xorax: what are you using to search?
23:32
<
clever >
Athas: bingo, it was llvmPackages: 5 -> 7 (bump our default LLVM)
23:06
<
clever >
> nodePackages.node2nix
22:35
<
clever >
Athas: getting down into the mass-rebuilds now, with 83 commits left to scan
22:10
<
clever >
Athas: Bisecting: 84 revisions left to test after this (roughly 6 steps)
22:05
<
clever >
Athas: on many revs
22:04
<
clever >
Athas: Bisecting: 122 revisions left to test after this (roughly 7 steps)
21:56
<
clever >
m1cr0man: because of how the games self-update, and often tread any patching as either corruption or cheating
21:56
<
clever >
m1cr0man: yeah, its doing chroot's rather then patchelf
21:55
<
clever >
o1lo01ol1o: copy those definitions over, it just needs normal buildInputs
21:53
<
clever >
o1lo01ol1o: just use buildCommand = "ghc -Foo -Bar"; and dont use builder =
21:53
<
clever >
o1lo01ol1o: builder.sh disables 90% of the tools you need to make anything work
21:52
<
clever >
o1lo01ol1o: add a buildCommand or buildPhase to the derivation, and point nix-build at it
21:51
<
clever >
Athas: Bisecting: 4092 revisions left to test after this (roughly 12 steps)
21:49
<
clever >
i think the script can return 2 for skip, check the man page
21:48
<
clever >
and it can be tricky to write a script that can identify those automatically
21:48
<
clever >
but there can be other failures, that are caused by unrelated problems, which you want to skip
21:45
<
clever >
repeat building, and telling git if its good or bad
21:44
<
clever >
Athas: then checkout a rev you know works (and confirm with nix-build), and run `git bisect good`
21:44
<
clever >
Athas: in the nixpkgs dir, while checked out to a broken rev, run `git bisect bad`
21:41
<
clever >
m1cr0man: you either need to compile it with nix, or run patchelf over the binary
21:39
<
clever >
Athas: ahh, you can do `nix-build -A llvmPackages.compiler-rt --argstr system i686-linux` to force nix-build to do 32bit also, for testing
21:39
<
clever >
Athas: and one entry in that contents, is the $out path, /nix/store/<hash>-<name>/ which is based on a hash of a subset of the drv contents
21:38
<
clever >
Athas: <hash>-<name>.drv is based on the hash of its contents
21:35
<
clever >
Athas: you can also `nix-instantiate /path/to/nixpkgs -A llvmPackages.compiler-rt
21:32
<
clever >
Athas: nix-store --query --deriver /nix/store/foo
21:26
<
clever >
Athas: run nix-diff on the .drv file for both builds
21:23
<
clever >
zeta_0: it looks like it might only need a doJailbreak to fix it
21:22
<
clever >
zeta_0: and was flagged in this commit, with no mention of why
21:22
<
clever >
hackage2nix: disable broken Hydra builds
21:22
<
clever >
Date: Sat Sep 22 13:34:15 2018 +0200
21:21
<
clever >
zeta_0: it was already flagged as broken on this date
21:21
<
clever >
Date: Sat Mar 16 10:17:05 2019 +0100
21:16
<
clever >
zeta_0: the broken flag is mainly to save you from wasting time building something that will fail to build
21:16
<
clever >
zeta_0: you would want to either ignore the broken flag to see why, or check nixpkgs commit history
21:14
<
clever >
zeta_0: if you temporarily set allowBroken = true; what does it fail with?
21:12
<
clever >
Thra11: looks like one is muslc, the other is glibc
21:10
<
clever >
infinisil: its evil!
21:09
<
clever >
zeta_0: what error does it fail with?
21:05
<
clever >
infinisil: more likely with '' or you missing a trailing newline
21:04
<
clever >
infinisil: and create it with `git diff > patch-file.patch`
21:04
<
clever >
infinisil: i would just use patches = [ ./patch-file.patch ];
21:03
<
clever >
eraserhd: you would have to replace the unpackPhase = '' .... '';
21:03
<
clever >
eraserhd: the default unpackPhase expects $src to be either a directory or a tarball/zip
20:54
<
clever >
Thra11: nix-instantiate both, and then nix-diff the 2 .drv files
20:50
<
clever >
Thra11: yeah, i'm not sure what it will do
20:50
<
clever >
Thra11: oh, i didnt notice it in both
20:48
<
clever >
Thra11: one should be using dynamic linking, the other static
20:45
<
clever >
avn: you can omit the default.nix part, since thats the default!
20:45
<
clever >
thats about it
20:45
<
clever >
inquisitiv3: youll want to chown -R the dir after you boot, to make sure you own it
20:44
<
clever >
inquisitiv3: imports = [ ../../home/clever/nixcfg/amd-system.nix ];
20:42
<
clever >
inquisitiv3: i just have a git repo at /etc/nixos/nixcfg and then i do imports = [ ./nixcfg/amd-system.nix ];
20:42
<
clever >
inquisitiv3: if you use relative paths in configuration.nix, it doesnt really matter
20:33
<
clever >
i was mostly looking into how to boot linux, when you only have windows, with no external media, and no ability to flash a disk image
20:33
<
clever >
dont worry, i'm not going to switch back to windows :P
20:31
<
clever >
gchristensen: i also stumbled upon something interesting, windows can now boot from a .vhdx image on an ntfs partition
20:29
<
clever >
gchristensen: but that relies on having stage 1.5 in another partition
20:29
<
clever >
gchristensen: there are also other examples ive found, that are like chainload in grub, you just shove a 512 byte copy of the MBR at the windows bootloader, and it runs it
20:28
<
clever >
joepie91[m]: done
20:27
<
clever >
gchristensen: and at least on efi systems, thats trivial, and grub can then boot something like my kexec images
20:27
<
clever >
gchristensen: i was recently looking into the windows bootloader, and how to configure it to boot grub
20:25
<
clever >
joepie91[m]: just looked back at the original error i quoted, it makes no mention of what the storepath is, so the work-around is suddenly more complex
20:17
<
clever >
joepie91[m]: and it seems i already opened an issue for exactly this
20:17
<
clever >
joepie91[m]: to copy each output from a fetchTarball
20:16
<
clever >
joepie91[m]: the work-around is to use nix-copy --to local?root=/mnt/ /nix/store/foo
20:13
<
clever >
joepie91[m]: the error implies that something was calling builtins.fetchTarball and that has bugs with --store
20:04
<
clever >
joepie91[m]: point NIX_PATH to a real directory, not a tar URL
06:29
<
clever >
Izorkin: du -h --max=0 -c $(nix-store -qR /run/current-system) | sort -h | tail
06:12
<
clever >
ashkitten: it may also be down to which version of nix is being used to build it, there was a recent change to introduce pty's into the sandbox to fix stdout
06:09
<
clever >
ashkitten: what changes to make it start to fail?
06:09
<
clever >
ashkitten: the makefile might be trying to redirect > /dev/stdout
06:08
<
clever >
ashkitten: there was a recent mention of how you cant re-open /dev/stdout while in the nix sandbox
06:08
<
clever >
make[4]: write error: stdout
06:04
<
clever >
ashkitten: nix-env -iA nixos.gist ; gist -p dumpfile.txt