2017-05-16
21:20
<
clever >
joepie91: i have heard about an irc client written in bash
20:40
<
clever >
and then ~/bundler/bin/bundle lock
20:40
<
clever >
you can also "nix-build '<nixpkgs>' -A bundler -o ~/bundler"
20:38
<
clever >
but if you only want the $PATH changes and dont care about the rest
20:38
<
clever >
so changing the shell out would usualy break that
20:37
<
clever >
its meant to give you access to all of the bash functions that the stdenv has
20:35
<
clever >
but that may not always be an easy thing
20:35
<
clever >
so vim can use it without having to install it globally
20:35
<
clever >
ah, for edge cases like that, i would usualy compile a vimrc file that embeds the absolute path of gotools
20:31
<
clever >
so once the shell has been quit, its basicaly gone
20:31
<
clever >
Judson1: that will put bundler at the start of $PATH, and not install it to any profile
20:31
<
clever >
dhess`: ah, but if you setup hardeningDisable, then gcc will allow it
20:30
<
clever >
rather then in the derivation
20:30
<
clever >
dhess`: oh, then that env variable needs to be set when ghc runs gcc
20:29
<
clever >
dhess`: you need to set hardeningDisable=["pie"] in the derivation
20:28
<
clever >
and probably the same for bundler, just "nix-shell -p bundler"
20:27
<
clever >
gotools sounds like something i wouldnt even install, only ever use under nix-shell
20:26
<
clever >
Judson1: what 2 packages are colliding, and on what binary?
20:23
<
clever >
Judson1: it has to be installed before you can set a priority on it
20:19
<
clever >
write a nix package!
20:13
<
clever >
so i wouldnt care about docs
20:13
<
clever >
i would only use that as a bootstrap to do a proper nixpkgs build of ghc
20:11
<
clever >
dhess`: ah, then ${stdenv.cc}/bin/gcc is probably what you want
20:10
<
clever >
dhess`: why do you need its path?
20:08
<
clever >
acertain: skype and teamspeak are other examples
19:39
<
clever >
pulse also makes use of dbus to find the server
19:38
<
clever >
'env' will print them all out, then you can export things one by one in the --pure shell until it recovers
19:35
<
clever >
oh, i could see --pure clearing env vars it needs to find pulseaudio
19:34
<
clever >
add this to ~/.nixpkgs/config.nix, chromium.pulseSupport = true; inside the top level { and }
19:33
<
clever >
are you installing chromium with nix-env or nixos-rebuild?
19:32
<
clever >
vandenoever: i have chromium.pulseSupport = true; in my nixpkgs config
19:31
<
clever >
vandenoever: do you see chromium in "pavucontrol" ?
19:30
<
clever >
vandenoever: is pulseaudio working?
19:10
<
clever >
and also, nix cleans all env variables up, so the NIX_SSL_CERT_FILE you set isnt reaching wget
19:10
<
clever >
kiloreux: line 40 is trying to use wget inside a build
19:08
<
clever >
and all other attempts are blocked
19:08
<
clever >
basicaly, every network access must go thru a function that starts with "fetch"
19:07
<
clever >
that one is allowed to access the network
19:06
<
clever >
kiloreux: builtins.fetchurl will let you impurely fetch something, it returns a path to the file it fetched
19:05
<
clever >
kiloreux: nix will try to disable all network access inside a normal nix build
18:33
<
clever >
kiloreux: change the name in the stdenv.mkDerivation
18:31
<
clever >
kiloreux: and for testing, you would just do "nix-build ~/another-directory && ls result/ -l"
18:31
<
clever >
kiloreux: so "nix-env -f ~/another-directory -i" will install transloadit
18:30
<
clever >
kiloreux: oh right, that will only be able to install that 1 derivation
18:28
<
clever >
kiloreux: yeah
18:27
<
clever >
kiloreux: nix-env -f ~/another-directory -iA hello
18:27
<
clever >
kiloreux: yes
18:26
<
clever >
you need to put this in its own directory, and leave the nixpkgs intact
18:25
<
clever >
kiloreux: thats your problem, line 25 imports <nixpkgs>, which is itself
18:25
<
clever >
kiloreux: did you put that into the root of a nixpkgs copy?
18:24
<
clever >
kiloreux: can you update the gist to include all the comments, the line numbers in the --show-trace dont match up
18:23
<
clever >
shosti`: try deleting it and then using nix-env again
18:23
<
clever >
shosti`: it appears to be a 0 byte file, can you confirm that?
18:22
<
clever >
kiloreux: answer the question, does ~/.nixpkgs/config.nix exist?
18:21
<
clever >
it should be, but weird things in config.nix can break it
18:20
<
clever >
ls -lh ~/.nixpkgs/config.nix
18:20
<
clever >
it wont be there
18:19
<
clever >
kiloreux: which nixpkgs dir did you look in?
18:18
<
clever >
kiloreux: oh, is there anything in config.nix?
18:15
<
clever >
kiloreux: can you do it again with --show-trace ?
18:14
<
clever >
kiloreux: there is no line 50 on that gist
18:13
<
clever >
matthewbauer: yeah, but there are no logs of what commits a channel has been on
18:12
<
clever >
matthewbauer: nope
18:09
<
clever >
matthewbauer: the binary cache has no garbage collection
16:33
<
clever >
why do you need static libs?
16:33
<
clever >
it still makes shared libs
16:32
<
clever >
MoreTea: and the devicemapper configure script ignores those flags
16:32
<
clever >
MoreTea: internally, it just passes --disable-shared --enable-static to configure and tells nixpkgs not clean things up
16:30
<
clever >
[root@amd-nixos:~]# nix-build -E 'with import <nixpkgs>{}; devicemapper.override { stdenv = makeStaticLibraries stdenv; }'
16:30
<
clever >
nix-repl> devicemapper.override { stdenv = makeStaticLibraries stdenv; }
16:24
<
clever >
danbst: ah, nice
07:52
<
clever >
how did it get this late?
07:52
<
clever >
same, its now 5am
07:50
<
clever >
but those are harder to patch in
07:50
<
clever >
-f flags would probably be faster, since it wont carry down to every child without limit
07:50
<
clever >
the env wont be that bloated, if you limit each var to the programs that need it
07:49
<
clever >
and for apps the user runs, wrapProgram
07:49
<
clever >
and then set the env in the systemd unit
07:49
<
clever >
it seems simple enough to patch the source to getenv("FOO_CFG") or "/etc/foo"
07:49
<
clever >
or pass absolute paths via env variables
07:48
<
clever >
so only the writeable remain, and there is no need for setup-etc.pl
07:48
<
clever >
every read-only part of /etc can go
07:48
<
clever >
but nearly everything else can go!
07:47
<
clever >
ehh, things like resolv.conf can stay in /etc
07:47
<
clever >
though if i was feel a little more crazy, i would just patch all the things, and just get rid of /etc!!
07:45
<
clever >
dont think that would work if it was a symlink into the store, or an overlay of the store
07:44
<
clever >
and if i dont embed host private keys into the store, they change constantly, and the ssh client makes things difficult
07:43
<
clever >
so it gets factory-reset on every boot
07:43
<
clever >
not-os has no persistant writable mountpoints
07:43
<
clever >
and ssh complains that the host keys are changing constantly
07:43
<
clever >
it has no root disk, so the activation script has to recreate /etc on every boot
07:42
<
clever >
i was putting them in the store for faster testing in not-os
07:41
<
clever >
sshd says similiar things about its private key files
07:41
<
clever >
setup-etc.pl copies it over, and does a chmod to make sudo happy
07:41
<
clever >
MichaelRaskin: but nix says all files in the store must be world readable
07:40
<
clever >
MichaelRaskin: some programs like sudo incist that /etc/sudoers isnt world-readable
07:40
<
clever >
LnL: that saved 26mb
07:40
<
clever >
MichaelRaskin: there is also an edge-case that setup-etc.pl handles that i dont think i see in your pseudo-system.nix
07:36
<
clever >
hyper_ch: 16.03 was over a gig with xfce enabled
07:35
<
clever >
hyper_ch: i had to disable xorg to even get the 16.03->17.08 upgrade to fit
07:33
<
clever >
hyper_ch: i currently have the entire nixos closure down to 619mb, and i have 1.3gig free, thats enough to fit ~3 copies of nixos
07:33
<
clever >
hyper_ch: the hdd isnt replacable, raw NAND flash chips soldered directly to the motherboard, 4gig total
07:32
<
clever >
MichaelRaskin: ah yeah, i saw that in an issue somewhere recently, what was the link?
07:32
<
clever >
hyper_ch: my netbook barely has enough disk space for 2 full nixos generations, so a glibc change causes any attempt at upgrading to run out of space
07:31
<
clever >
MichaelRaskin: i have done that in not-os, but it still needs perl for setup-etc.pl
07:31
<
clever >
almost down 80mb fro where i started
07:30
<
clever >
programs.info.enable=false; shaved another 19mb off the closure
07:29
<
clever >
closure size on-disk
07:28
<
clever >
turning man and the manual off saved another 26mb
07:27
<
clever >
MichaelRaskin: it looks like he started out by making it optional with proper optional calls and a ?null, but then missed a spot, and made the PR
07:27
<
clever >
that was there from the first commit that added pcsclite
07:25
<
clever >
programs.man.enable and services.nixosManual.enable
07:24
<
clever >
oh yeah, man pages
07:24
<
clever >
if all the python is purged
07:24
<
clever >
and thats going to get me maybe 46mb
07:22
<
clever >
scratch that, the guy that originaly added pcsclite only wrote half the code to make it optional
07:21
<
clever >
somebody broke the optional-ness
07:20
<
clever >
and its already optional
07:19
<
clever >
so i can sign into wpa with a hardware auth token
07:19
<
clever >
ah, pcsclite is for smartcards
07:18
<
clever >
just push it off to a machine with more space
07:18
<
clever >
FRidh: build slaves and nixops could eliminate that usage
07:16
<
clever >
wpa_supplicant does something with pcsclite, which has a python #!
07:16
<
clever >
makefu: wow, python actualy has a chance of being purged, only in use by git, wpa_supplicant, and zfs-user (grub shouldnt be using that)
07:15
<
clever >
wpa_supplicant
07:15
<
clever >
wait no, misread
07:14
<
clever >
python somehow is in the closure of glibc
07:13
<
clever >
makefu: and systemd-boot pulls in python instead
07:12
<
clever >
36mb saved!
07:12
<
clever >
swapping out the git build reduced the closure from 696m to 660m
07:11
<
clever >
makefu: no EFI support on the machine
07:11
<
clever >
or runCommandNoCC did its job
07:11
<
clever >
it had to redownload make, but not gcc
07:11
<
clever >
i think something is wrongly holding a reference to gcc at runtime though
07:10
<
clever >
and now the nixos config will figure that out on its own
07:09
<
clever >
(if config.services.xserver.enable then gitAndTools.gitFull else git)
07:08
<
clever >
but now that i purged xorg, i cant use git gui
07:08
<
clever >
which lacks 'git gui'
07:08
<
clever >
fetchgit, and the main 'git' attribute use a more slimmed down git build
07:07
<
clever >
/nix/store/pjj9npd844a0byw7rvynhr8lzds73fsp-git-2.13.0/libexec/git-core/git-instaweb:PerlPassEnv GIT_DIR
07:06
<
clever >
gitAndTools.gitFull
07:05
<
clever >
LnL: oh god, the whole switch script for changing nixos builds at runtime is perl!!
07:04
<
clever >
nixos-generate-config
07:04
<
clever >
git (it can probably be turned off)
07:04
<
clever >
nixos-container
07:03
<
clever >
perl is also pulled in via man-db -> groff -> perl
07:02
<
clever >
if those 3 get rewritten in c/c++, we will be 1 step closer to purging all perl code from nixos
07:02
<
clever >
any time your booting from a potentialy different generation
07:02
<
clever >
LnL: that doesnt feel safe, setup-etc.pl is required to boot
07:00
<
clever >
makefu: its used by the grub install script, setup-etc.pl, and the user/group scripts
06:58
<
clever >
still 2 even in the top 20
06:57
<
clever >
only 2 things in the top 10 have a hope of being removed, git(35mb) and svn(17mb)
06:57
<
clever >
LnL: the biggest thing in the system profile cant just be removed
06:56
<
clever >
109M /nix/store/r9dbza2lhsnmj0078p46p7ql3cvrhn9z-glibc-locales-2.25
06:53
<
clever >
turning xorg off let me shrink the current profile just enough, after a full nix-collect-gabrage -d
06:50
<
clever >
LnL: yep, i have 3 servers and a desktop setup for auto-gc
06:46
<
clever >
MichaelRaskin: i had to disable xorg and GC just to update it
06:46
<
clever >
MichaelRaskin: i have a netbook that doesnt have enough hdd space to hold even 2 generations
01:36
<
clever >
[root@amd-nixos:~]# zfs list -t snapshot | wc -l
01:36
<
clever >
but i do have automatic snapshots on
01:35
<
clever >
not on the machine that had the problem
01:32
<
clever >
so maybe the import is being a little async?
01:32
<
clever >
but there is no ability to run things in parallel in stage-1
01:27
<
clever >
oh, lets yeah, search for EBUSY in all related files
01:27
<
clever >
mount_nodev takes a function pointer, and also calls dget
01:26
<
clever >
ive memorized the github url for linux
01:24
<
clever >
i think mount_nodev is part of the kernel, to handle mounting a filesystem that lacks a blockdevice
01:23
<
clever >
simukis_: yeah, thats looking pretty close
01:20
<
clever >
we need to go deeper!
01:20
<
clever >
i think this is userland code
01:20
<
clever >
simukis_: oh, line 206, openat()
01:18
<
clever >
simukis_: it will probably also return -EBUSY, which the userland may translate to "Device or resource busy"
01:17
<
clever >
simukis_: that error may only go to dmesg
01:14
<
clever >
simukis_: i believe this the code handling the mount
01:06
<
clever >
let me check something else
01:06
<
clever >
not that i know of
01:05
<
clever >
simukis_: but i did have the shell enabled, and had no trouble manualy calling mount after it failed
01:05
<
clever >
simukis_: i prefer to just never reboot, so i dont get a chance to debug it often
01:02
<
clever >
which is over in stage-1
01:01
<
clever >
simukis_: it also didnt print any . so line 301 never ran
01:01
<
clever >
simukis_: so if the first import works, it never sleeps for 0.25
01:01
<
clever >
simukis_: that 0.25 sleep on line 300, is after the first zpool import on line 299
00:59
<
clever >
but networkmanager says wifi shouldnt be enabled
00:59
<
clever >
installation-device says that wifi should be enabled
00:59
<
clever >
oh, i see the same one here
00:58
<
clever >
mellowmaroon: can you pastebin the full error?
00:58
<
clever >
-I nixos-config should stop that
00:56
<
clever >
mellowmaroon: oh, and that directory will be read-only, so you need to add "-o ~/result" to make it write the output elsewhere
00:55
<
clever >
mellowmaroon: just "cd /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos" then run it
00:54
<
clever >
mellowmaroon: yeah, one second
00:54
<
clever >
oh, i think i see it
00:53
<
clever >
mellowmaroon: which path is it saying doesnt exist?
00:53
<
clever >
but --list wont show roots channels
00:53
<
clever >
mellowmaroon: it will use root's channels automaticaly
00:52
<
clever >
mellowmaroon: nope
00:52
<
clever >
mellowmaroon: and does /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs exist?
00:51
<
clever >
mellowmaroon: what does 'echo $NIX_PATH' say?
00:49
<
clever >
simukis_: once the import is done, it should just work
00:49
<
clever >
simukis_: zfs filesystems dont have a normal block device, so device-mapper shouldnt come into play at all
00:47
<
clever >
mellowmaroon: and it can go almost anywhere, as long as its not after -A or -I
00:47
<
clever >
mellowmaroon: that path doesnt need an argument
00:43
<
clever >
simukis_: if nixos finds a filesystem with fsType = "zfs" it will do that for you
00:42
<
clever >
simukis_: i dont see a need to set boot.kernelModules to zfs, nixos will figure that out on its own
00:41
<
clever >
simukis_: interesting, i had that exact failure yesterday
00:37
<
clever >
and you may wnat to check to see if nix-channel is already setup, nix-channel --list
00:37
<
clever >
either add a channel with nix-channel and use '<nixpkgs/nixos>', or clone nixpkgs from git
00:36
<
clever >
or pass it '<nixpkgs/nixos>'
00:36
<
clever >
the nixos subdir of it
00:36
<
clever >
that has to be ran in a directory where you cloned nixpkgs
00:35
<
clever >
mellowmaroon: what error did it fail with?
2017-05-15
23:55
<
clever >
dhess`: yep
23:52
<
clever >
gchristensen: about point #1, i believe the PS3 has a crypto key in the cpu die, that is used to handle harddrive encryption
23:45
<
clever >
and unpack the .deb directly to there
23:45
<
clever >
though you could also just mkdir $out; cd $out at the start
23:44
<
clever >
and also destroys the source so you cant do this kind of thing
23:44
<
clever >
mv may be faster then cp, for some filesystems
23:43
<
clever >
dhess`: then on line 53, you patch everything in .
23:43
<
clever >
dhess`: on line 50, you copy everything from . to $out
23:42
<
clever >
dhess`: found the problem
23:33
<
clever >
yeah, it will probably work the same on arm
23:33
<
clever >
that at least makes testing faster
23:32
<
clever >
ah, looks like its currently aimed at patchelf'ing the 64bit x86 ghc?
23:26
<
clever >
and then gist the output of nix-build
23:26
<
clever >
try adding a "set -x" to your installPhase before you run patchelf
23:24
<
clever >
just "nix-build force-patchelf.nix" and then ./result <some-elf-file>
23:18
<
clever >
dhess`: i heard about a bug like that a while ago, try running it twice with the same args
23:15
<
clever >
so you could unpack the .deb to $HOME and patch it with this, until it at least partialy runs
23:15
<
clever >
you can then run that bash script on any elf file to just fix it (assuming you put the libs into the nix file ahead of time)
23:15
<
clever >
dhess`: if you run nix-build on one of these, it will generate a bash script containing a patchelf invocation
23:13
<
clever >
try running file against the binary inside installPhase, before and after patchelf
23:12
<
clever >
can you gist the expression and i can test it on my pi?
23:12
<
clever >
this should automaticaly find the right path for you
23:12
<
clever >
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)"
23:11
<
clever >
it should start with /nix
23:11
<
clever >
dhess`: what does 'file' say about the binary?
23:10
<
clever >
dhess`: 'not found' means you forgot to set the interperter
22:18
<
clever >
manveru: why do you need it in a derivation?
22:06
<
clever >
bisect doesnt handle those kinds of problems well
22:06
<
clever >
any time i hit the binary cache, it broke, any time i missed, it built it locally and worked
22:06
<
clever >
at the time i had sandboxing off, and was trying to git bisect nixpkgs
22:05
<
clever >
building it with a nix sandbox broke everything
22:05
<
clever >
i have run into a complex problem with net-snmp before in nixpkgs
21:56
<
clever >
bennofs: or rather, it did at one time, i think it was fixed a month ago
21:56
<
clever >
bennofs: nix-shell -p uses stdenvNoCC by default
21:55
<
clever >
aanderse: you may need to add gcc to the nix-shell flags as well
21:52
<
clever >
aanderse: do you have a github link for the project?
21:49
<
clever >
it is a bit odd that it couldnt find <GL/gl.h>
21:49
<
clever >
mesa.out 0 s /nix/store/nppbk91gbdnys2950grrl9zbpssx4iyg-mesa-17.0.3/include/GL/gl.h
21:48
<
clever >
checking things on this end...
21:44
<
clever >
"nix-shell -p cmake mesa --run kdevelop" will probably work
21:44
<
clever >
so ; wont work
21:44
<
clever >
run kdevelop under the shell nix-shell creates
21:43
<
clever >
and then run cmake under that
21:43
<
clever >
aanderse: to start with, try "nix-shell -p cmake mesa"
21:43
<
clever >
aanderse: you must write a proper package or use nix-shell to load mesa
21:42
<
clever >
aanderse: nix goes out of its way to ignore include files when you put packages into systemPackages
21:41
<
clever >
aanderse: is mesa in the buildInputs list?
21:16
<
clever >
ij: and that tells ld.so where to search
21:15
<
clever >
ij: the lib folder for every dependency gets put into the rpath, a field in the elf headers
21:06
<
clever >
so it acts as a prefetch
21:06
<
clever >
i was thinking accept null, but always treat the hash as wrong
21:05
<
clever >
misread it then
21:04
<
clever >
probably so you dont have to insert clearly wrong hashes just to get it to even build
21:04
<
clever >
there was also a recent change to nix master, i believe it will now accept null as a "valid" hash
21:03
<
clever >
but if the name is different, it wont reuse the old output