2019-04-05
00:04
<
clever >
result/lib/R/bin/exec/R: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /nix/store/681354n3k44r8z90m35hm8945vsp95h1-glibc-2.27/lib/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, not stripped
00:03
<
clever >
ah, the one you showed above
00:03
<
clever >
mekeor: oh, R is just a bash script, we want to read that, and run strings on something else
00:01
<
clever >
mekeor: looking for the path of which, how did R get that path to pass it to execve
2019-04-04
23:59
<
clever >
mekeor: what if you just run `hexdump -C` on the binary, and then manually search thru it for a path, it may be one character on every 2nd or 4th byte
23:58
<
clever >
mekeor: wait, it is using the generated file, strace confirmed that
23:58
<
clever >
mekeor: then either its encoding things very weirdly, or its not using the generated file
23:54
<
clever >
mekeor: or `-e b`
23:53
<
clever >
mekeor: what about `strings -e l exec/R | grep which` ?
23:53
<
clever >
mekeor: i suspect R is encoding the paths strangely, so nix cant properly detect the runtime deps
23:43
<
clever >
mekeor: oh, if you run `strings` on the compiled binary, does the path to which appear?
23:43
<
clever >
mekeor: the runtime closure is a subset of the buildinputs, based on the paths that persist within $out
23:42
<
clever >
ar1a: you could also try asking domenkozar next time he is on, but i think he's sleeping right now
23:41
<
clever >
all revs in that list will have coverage on the binary cache, so you wont need to spend an hour building ghc
23:40
<
clever >
ar1a: and select a rev that has the ghc you want
23:39
<
clever >
ar1a: hie pins the version of nixpkgs, so nothing you do to your channels will have any impact on it
23:38
<
clever >
mekeor: yeah, it will hash everything in /nix/store/
23:37
<
clever >
ar1a: would be simpler to just point nix-build to the right rev, then to try and do a rollback
23:31
<
clever >
mekeor: what about the output of `nix-store --verify --check-contents` ?
23:30
<
clever >
mekeor: yeah, looks like the generation worked perfectly
23:29
<
clever >
mekeor: if you repeat the test from the issue, under `strace -e execve -f`, what does it show being ran?
23:28
<
clever >
mekeor: sounds like it got things right on its own
23:27
<
clever >
mekeor: i think configure needs a --flag to set the which path, but it may also use the WHICH env var at build time
23:26
<
clever >
mekeor: and if you read the configure script, what does it do?
23:24
<
clever >
mekeor: that will replace it with the env var WHICH, but it doesnt set that env var
23:23
<
clever >
## hopefully configure found [/usr]/bin/which
23:21
<
clever >
mekeor: the buildInputs are only available at build-time, and something during the build has to put their paths into the build product
23:21
<
clever >
mekeor: where in that file is it going to replace @WHICH@ ?
23:17
<
clever >
mekeor: can you pastebin the nix expression?
22:11
<
clever >
mekeor: nix-shell -A foo, when in the root of nixpkgs
22:10
<
clever >
mekeor: run `configurePhase` under nix-shell
21:56
<
clever >
that command will open its nix file in an editor
21:55
<
clever >
kalbasit: nix edit nixpkgs.pet
20:53
<
clever >
as long as you havent destroyed the boot chain
20:53
<
clever >
warbo: so even if you cant reach the power button, the old os will resume shortly
20:52
<
clever >
warbo: of note, my kexec image is configured to reboot itself 5 minutes before the end of the hour
20:50
<
clever >
warbo: so nixos will just forcibly hijack the cpu, and assume full control of the box, then run entirely from ram
20:50
<
clever >
warbo: basically, this will create the same kernel+initrd as the rescue setup, but instead of loading it with grub, it loads it with kexec
20:49
<
clever >
warbo: for that kind of crazy idea, kexec also works
20:48
<
clever >
or if you want to keep it around later, for rescue purposes
20:47
<
clever >
warbo: its mainly just a second option, to save you from having to find an unused usb stick
20:46
<
clever >
warbo: that will basically shove the entire liveusb (~400mb in size) into /boot, and give it a grub option
20:46
<
clever >
warbo: this is an alternative option to using a live usb
20:46
<
clever >
warbo: one min
20:44
<
clever >
warbo: but line 440 looks like its only for block devs, it will write the major/minor# to a magic /sys entry, then the kernel takes over resuming
20:43
<
clever >
warbo: i think the kernel cmdline part only works for proper block devices, this option adds stuff to the initrd for you
20:41
<
clever >
warbo: wait, the description mentions file...
20:40
<
clever >
warbo: offset alone wont work for ext4, it would be a list of offset+size pairs
20:39
<
clever >
warbo: the 2nd requires mounting the fs (probably read-only), and running a special util against the swap file
20:39
<
clever >
warbo: the 1st only works with swap parititions, and you specifiy the blockdev on the kernel cmdline
20:39
<
clever >
warbo: ah yeah, there are 2 ways to resume from hibernation
20:36
<
clever >
d10n-work: what does `nix-env -q | grep git` return?
19:59
<
clever >
wolfman154: yes
19:43
<
clever >
warbo: but changing the size of a swap file requires turning it off first, which requires flushing it all back into ram
07:18
<
clever >
mabel: just read the generated makefile and see where its trying to put the files, and how it downloads them
07:14
<
clever >
mabel: if they exist, make wont try to "make" them
07:14
<
clever >
mabel: find out where its trying to put the files, and manually copy them there before the buildPhase
00:53
<
clever >
eacameron: when you run `alsamixer -c 0` is it muted?
00:53
<
clever >
eacameron: when you run pavucontrol, is the app listed under playback?
00:26
<
clever >
and its only used to auto-mount things in .zfs/snapshots
00:25
<
clever >
gchristensen: and nixos uses that to solve the issue
00:25
<
clever >
gchristensen: zfs has already been patched to accept a path to something
00:23
<
clever >
gchristensen: and nixos's /bin/sh has a default PATH=/path-not-set, so it cant find mount
00:23
<
clever >
gchristensen: thats also why do_mount is missing, and zfs has to execute /bin/sh -c "mount ..." just to auto-mount things, lol
00:22
<
clever >
gchristensen: of note, linux has to whitelist symbols that can be used by "unfree" software, and sometimes they can simply forget to whitelist something
00:21
<
clever >
ajs124: ah yeah, i think thats fairly different
00:20
<
clever >
ajs124: no idea what repo is
00:20
<
clever >
eacameron: is pulseaudio enabled?
00:19
<
clever >
because gclient is fighting the nix sandbox constantly, and every test takes 3 hours to run
00:19
<
clever >
basically, i'm writing gclient2nix
00:19
<
clever >
gchristensen: can you guess what i'm implementing?
00:16
<
clever >
gchristensen: still need to fetchgit all of chromium though...
00:14
<
clever >
gchristensen: now i dont have to deal with git!
00:09
<
clever >
> lib.strings.hasPrefix
00:09
<
clever >
gchristensen: is there a simple way to check if a given string starts with another?...
00:07
<
clever >
gchristensen: now i get to fight the git protocol!
00:07
<
clever >
fatal: '538a5023af' is not a commit and a branch 'fetchgit' cannot be created from it
00:03
<
clever >
ar1a: nix-collect-garbage
00:03
<
clever >
thats one massive GC!
00:03
<
clever >
37844 store paths deleted, 245173.88 MiB freed
2019-04-03
22:07
<
clever >
samueldr: so we where both right!
22:07
<
clever >
samueldr: ah, that explains why i could see extra pins on my galaxy s3
22:04
<
clever >
wolfman154: yep
22:04
<
clever >
samueldr: so the biggest question, if MHL can do hdmi over a single pair, why couldnt apple do it over a single pair? lol
22:03
<
clever >
wolfman154: all window manager stuff has to be done in configuration.nix
22:02
<
clever >
and apple didnt bother with that, despite having a pair for usb
22:02
<
clever >
and MHL compatible TV's would do that for you
22:01
<
clever >
so the adapter expands the 1 pair to 4 pairs
22:01
<
clever >
and thats only one twisted pair, hdmi needs 4?
22:00
<
clever >
i thought, the wiki diagram implies otherwise
22:00
<
clever >
its basically hdmi + usb, in the same connector
22:00
<
clever >
ajs124: MHL is just putting more pins into the connector
21:59
<
clever >
so now you get to enjoy h264 compression artifacts on your website text, and your paying battery life to both encode and decode the entire screen as h264
21:58
<
clever >
samueldr: then hardware-decode it and spit it out hdmi
21:58
<
clever >
samueldr: ive heard horror stories about how the apple lightning port doesnt have enough pins to properly do hdmi, so they have to h264 encode the screen, and stream it over usb, to what is basically a raspberry pi in dongle form
18:34
<
clever >
eyjhb: `(import <unstable> {}).hello`
18:33
<
clever >
you can refer to every channel by its name, in any nix file
18:32
<
clever >
<unstable>
18:32
<
clever >
eyjhb: --add takes both a url and a name
18:32
<
clever >
eyjhb: you may be better off adding a 2nd channel for unstable, and then using that in the nix file
18:31
<
clever >
betaboon: -I can also accept paths to local directories
18:30
<
clever >
eyjhb: why does the overlay need a tar.gz?
18:29
<
clever >
-I does need a .tar.xz file, nix-channel doesnt
18:28
<
clever >
eyjhb: nix-channel will add /nixexprs.tar.xz to the url automatically
18:17
<
clever >
over7head: configuration.nix
18:04
<
clever >
eyjhb: are you building something custom, or something already in nixpkgs?
18:03
<
clever >
eyjhb: its trying to create a cache in $HOME, but nix doesnt allow $HOME access
18:03
<
clever >
over7head: thats just a single string in configuration.nix
18:03
<
clever >
so nixos's /boot/ never becomes the "real /boot"
18:03
<
clever >
if you set boot.loader.grub.device = "nodev"; then grub wont update the MBR
18:02
<
clever >
samueldr: gentoo had its own /boot/, and it would source the nixos grub.cfg from the nixos /boot/
18:02
<
clever >
samueldr: when i did similiar years ago, i just made nixos's /boot/ not the real boot
18:00
<
clever >
so i can dual-boot once in a blue moon
17:59
<
clever >
over7head: you can define the other OS's in configuration.nix
17:56
<
clever >
over7head: systemd.services.dhcpcd.wantedBy = lib.mkForce []; in configuration.nix will stop it from running on bootup i believe
17:32
<
clever >
which is why you need a custom package that contains the kernel+modules, and jam it into boot.kernelModules
17:31
<
clever >
over7head: any changes you want to do, must be defined in a nix file, and then built normally
17:30
<
clever >
over7head: if you modify anything in /nix/store, nix will treat it as corrupt and want to repair it
17:29
<
clever >
over7head: you could just do the ugly thing, and run insmod on the module
17:27
<
clever >
over7head: since your building your own kernel, you could just bake in the things you need, and just not use modules
17:26
<
clever >
betaboon: you would need a custom package, that contains the kernel and modules, and then jam that into boot.kernelModules
17:24
<
clever >
over7head: that directory will be read-only
17:23
<
clever >
over7head: nixos expects all modules to be in /run/booted-system/kernel-modules
17:21
<
clever >
over7head: could be the gpu drivers and/or xorg
17:21
<
clever >
over7head: slim is pretty slim, it should be near instant
17:20
<
clever >
over7head: which login manager are you using?
17:16
<
clever >
kumikumi: but it wont be getting new updates
17:15
<
clever >
kumikumi: somewhat, its will be receiving backports to fix failures, until its deemed stable
17:11
<
clever >
therealwaphire[m: note that its technically not a stable channnel yet, so its basically the same as nixos-unstable
17:01
<
clever >
kumikumi: is it listed in this directory?
17:01
<
clever >
ls ~/.nix-defexpr/channels_root/nixos/nixos/modules/services/x11/desktop-managers/
16:57
<
clever >
linarcx: you might be able to remove it by making a package override to set xterm = null;
16:54
<
clever >
linarcx: the xterm package is only 1.2mb in size, why bother?
16:52
<
clever >
linarcx: why do you want it gone?
16:51
<
clever >
linarcx: xterm will always be installed when enabling graphics, xterm.enable=false; just removes it from the list of display/window managers
16:37
<
clever >
xok: it should work in your normal ~/.ssh/config file
16:37
<
clever >
xok: youll want to look into something like the ssh keep-alives and tcp keep-alive options
16:35
<
clever >
xok: so if your router has a tendency to kill idle ssh connections, that will be a problem
16:35
<
clever >
xok: all it does is run sshfs with the right params
2019-04-02
20:40
<
clever >
mabel: your welcome
20:28
<
clever >
and if make is recursively calling make on more dirs, those 7 jobs could be very spammy
20:28
<
clever >
`make -j8` will wait for the other 7 jobs to finish upon failure of one
20:28
<
clever >
then it will stop immediately after failure
20:28
<
clever >
mabel: simplest thing is to enableParallelBuilding = false;
20:27
<
clever >
mabel: this is the main reason you had trouble finding it
20:27
<
clever >
make[2]:
*** Waiting for unfinished jobs....
20:26
<
clever >
mabel: line 2651
20:24
<
clever >
mabel: can you pastebin the entire log?
20:23
<
clever >
mabel: anything above that?
18:36
<
clever >
Thra11: builtins.toJSON will preserve most of the data
15:39
<
clever >
pie__: bbl
15:37
<
clever >
pie__: i think you probably do want callPackage
15:32
<
clever >
pie__: but then its difficult to get non-plugin things like stdenv
15:32
<
clever >
pie__: you could use callPackageWith to create a new scope that contains nothing else
13:17
<
clever >
slabity: i'm currently debugging a event loop bug in the core of electron
13:17
<
clever >
slabity: i already do that on a daily basis
13:16
<
clever >
gchristensen: making progress on packaging electron, and damn does it ever take forever to even fetch the sources
13:13
<
clever >
which can sometimes delete roots you did want
13:13
<
clever >
you have to delete gc roots via -d or --delete-older-than
13:13
<
clever >
nix-env adds GC roots, so you cant gc those versions
13:12
<
clever >
nix-env will keep every broken version around for months (to years), incase you want to perform rollbacks
13:11
<
clever >
genesis: just nix-build if you want to test things
13:11
<
clever >
genesis: and i never use nix-env when testing
13:10
<
clever >
genesis: hence, the config.nix
13:10
<
clever >
but both have the downside that its temporarily, and nix-env -u will undo your changes
13:10
<
clever >
nix-env -E can also do it
13:08
<
clever >
gchristensen: see how that will work, but also how ugly it is!
13:07
<
clever >
but, you could abuse that, nix-build '<nixpkgs>' -A hello.override --arg enableGui true
13:07
<
clever >
gchristensen: for non-function things, it wont do much
13:06
<
clever >
what about .a.b or (a { inherit foo; }).b
13:06
<
clever >
then it will check if .a acepts foo
13:06
<
clever >
then it will first check if foo.nix's top-level value accepts foo
13:06
<
clever >
if you nix-build foo.nix -A a.b.c --argstr foo bar
13:05
<
clever >
gchristensen: --arg interacts mainly with -A
13:05
<
clever >
genesis: your best off using config.nix and overrides
13:04
<
clever >
gchristensen: that would likely pass it to nixpkgs, not the package itself
2019-04-01
17:54
<
clever >
pie__: is the "compiled" copy of that script in the nix store?
17:53
<
clever >
pie__: is that template build at compile-time or runtime?
17:52
<
clever >
pie__: /bin/bash shouldnt exist on nixos
17:40
<
clever >
pie__: try PATH directly then
17:38
<
clever >
pie__: add bashInteractive to the buildInputs?
17:37
<
clever >
pie__: any time you run `bash` inside nix-shell, it will fail
17:37
<
clever >
pie__: that sounds likely
17:36
<
clever >
and then the 2nd nix-shell obeys, that
17:36
<
clever >
nix-shell nesting fails, because nix-shell adds the non-interactive bash to PATH
17:36
<
clever >
pie__: the wrong one could be in $PATH
17:33
<
clever >
pkgs.bash vs pkgs.bashInteractive
17:33
<
clever >
das-g[m]: that happens when you run a non-interactive bash
03:30
<
clever >
CMCDragonkai: one of the new string context things may allow it
2019-03-31
21:44
<
clever >
worldofpeace: ah, maybe its been improved since i last saw the weirdness
21:44
<
clever >
,locate bin/hello
21:44
<
clever >
and that doesnt seem to be anywhere obvious
21:43
<
clever >
the bot has a weird syntax
21:43
<
clever >
,locate bin locale-gen
01:32
<
clever >
mabel: cmake is pretty simple, the harder part is knowing enough c/c++ to re-assemble things
01:30
<
clever >
mabel: just rewrite the cmake file!
01:29
<
clever >
mabel: thats very anti-nix!
01:16
<
clever >
elvishjerricco: i think it will only show syscalls related to executing things
01:15
<
clever >
elvishjerricco: execsnoop shows you what was ran, then try manually running the same thing in a terminal
01:12
<
clever >
opensnoop is the other pre-made tool for it
01:12
<
clever >
no args needed
01:12
<
clever >
elvishjerricco: just run execsnoop as root, thats enough for this debugging
01:09
<
clever >
it got moved to conform to the XDG? standard
01:09
<
clever >
rotaerk: ~/.config/nixpkgs/config.nix is the new path and has priority
01:08
<
clever >
rotaerk: and does either override the version of the package in question?
01:07
<
clever >
rotaerk: does ~/.nixpkgs/config.nix or ~/.config/nixpkgs/config.nix exist?
01:06
<
clever >
rotaerk: yeah, only root has a channel, and the channel is called nixos, so both users should agree, baring overrides
01:04
<
clever >
rotaerk: i prefer using gist though
01:02
<
clever >
rotaerk: as a non-root user, `ls -l ~/.nix-defexpr/channels*/*` into a pastebin
01:00
<
clever >
rotaerk: nix-env's versions depend on when you last did nix-channel --update
01:00
<
clever >
rotaerk: nixos-rebuild will never affect nix-env
00:56
<
clever >
rotaerk: do you still have free space on /?
00:47
<
clever >
rotaerk: you need to nix-collect-garbage some profiles (-d or --delete-older-than) to stop nixos-rebuild from copying them back
2019-03-30
17:16
<
clever >
Aleksejs: double-check it in `mount`
17:15
<
clever >
Aleksejs: is /boot/ correctly mounted?
16:54
<
clever >
monokrome: gcc is a bash script, that will forcibly add those flags when calling the real gcc
16:49
<
clever >
and yes, it is in the path
16:48
<
clever >
-isystem /nix/store/3fhfmzlj2w31brqdb6wnp96kjds2s8zv-libXext-1.3.3-dev/include
16:48
<
clever >
monokrome: what args did you run nix-shell with?
16:46
<
clever >
monokrome: echo $NIX_CFLAGS_COMPILE
16:37
<
clever >
monokrome: i can see a CXX here
16:36
<
clever >
$ echo $CXX
16:36
<
clever >
$ nix-shell -E 'with import <nixpkgs>{}; clangStdenv.mkDerivation { name = "name"; }'
16:35
<
clever >
monokrome: then it probably isnt obeying $CC
16:31
<
clever >
and then you get clang instead of gcc
16:31
<
clever >
just clangStdenv.mkDerivation
16:30
<
clever >
monokrome: and clang on line 6 probably wont work right, you probably clangStdenv
16:30
<
clever >
monokrome: just xorg.libXext should get .dev for you
16:29
<
clever >
/nix/store/m50nq82b5w5wc4c0r3fs47dsrrmkh0gp-libXext-1.3.3-dev/include/X11/extensions/Xge.h
16:29
<
clever >
,locate Xge.h
15:50
<
clever >
you may also benefit from building zfs impurely, just inspect it
15:49
<
clever >
when building the zfs modules
15:49
<
clever >
a special CONFIG_ may need to be set
15:49
<
clever >
not sure that will help any with kernels
15:46
<
clever >
but its not clear if that helps any
15:45
<
clever >
gchristensen: 95 is ENOTSUP
15:45
<
clever >
1230: 94000000 bl 0 <preempt_schedule_notrace>
15:45
<
clever >
11dc: 94000000 bl 0 <__set_error>
15:45
<
clever >
11cc: 52800be3 mov w3, #0x5f // #95
15:42
<
clever >
gchristensen: i think i would need a debug build to get more info, the compiler can add line number<->addr mappings, that greatly simplify this
15:40
<
clever >
gchristensen: of note, __vdev_disk_physio is static, so the compiler might inline it
15:36
<
clever >
ioctl will then do some calls and more switch
15:36
<
clever >
and looking back at the source, the write and read blocks, simply set some flags, no function calls
15:35
<
clever >
that puts the first preempt_schedule_notrace within the c80 bock
15:35
<
clever >
ea4: 94000000 bl 0 <preempt_schedule_notrace>
15:35
<
clever >
and 1148 is a 3rd
15:35
<
clever >
c80 is another
15:34
<
clever >
offset b28 is one of the case sections
15:33
<
clever >
and the part after those 3 b.eq is the default:, confirmed via the set_error
15:33
<
clever >
gchristensen: i think the first 3 b.eq opcodes are the case block
15:27
<
clever >
gchristensen: what are you trying to get out of objdump?
2019-03-29
20:57
<
clever >
gchristensen: nice
20:56
<
clever >
martyet-o: shared hosting, each directory on your server runs php files as a diff user
20:53
<
clever >
martyet-o: each with its own config
20:53
<
clever >
martyet-o: php-fpm lets you configure multiple pools of workers
20:36
<
clever >
bemeurer: i messed up partitioning my laptop, made a 40mb swap, rather then a 40gig swap
20:35
<
clever >
bemeurer: suspend to ram works, suspend to disk doesnt
20:34
<
clever >
laalf: i simply dont reboot :P
20:34
<
clever >
laalf: correct, zfs looses the cache at shutdown, its more of a swap for the in-ram cache
20:32
<
clever >
gchristensen: when using supported kernel versions :P
20:31
<
clever >
laalf: zfs on linux is trivial with nixos
20:31
<
clever >
laalf: ahh, ive never delt with that before, and i use zfs now not lvm
20:30
<
clever >
laalf: which link?
20:29
<
clever >
laalf: caching issue?
19:54
<
clever >
laalf: yep
19:50
<
clever >
ghostyy: so such hacks arent needed anymore
19:50
<
clever >
ghostyy: nixos now saves the passphrase to a file on a tmpfs, and uses it for several devices
16:04
<
clever >
,locate gclient
2019-03-28
23:41
<
clever >
,locate bin service