2018-07-26

<clever> checkRefs("disallowedRequisites", false, true);
<clever> symphorien: ok, thats weird, $out is made, but missing
<clever> symphorien: it looks like php is only creating $dev and not $out
<clever> symphorien: yeah, thats what its looking like
<clever> symphorien: the real problem might be that php is not even creating a $out...
<clever> symphorien: but $dev is present
<clever> symphorien: thats odd, the $out is missing
<clever> Henson: yeah
<clever> instead of import <nixpkgs> {}
<clever> import (builtins.fetchTarball https://github.com/nixos/nixpkgs/archive/GITREV.tar.gz) { config = {}; overlays = []; }
<clever> Henson: then nothing can ever update on its own
<clever> Henson: you can use a specific version of nixpkgs instead of <nixpkgs>
<clever> Henson: why do you need to do that?
<clever> Henson: nixpkgs.glibc can change every time you do nix-channel --update
<clever> symphorien: testing on this end...
<clever> so any gc or rebuild will delete it
<clever> symphorien: it does exist after the failure, but it is not registered as a valid store path
<clever> tilpner: has to be grep
<clever> symphorien: can you gist that derivation?
<clever> Denommus: acme is already supported in nixos, just set enableACME=true; in the right nginx block
<clever> logzet: usually, you want the few messgaes just before the error about lacking root
<clever> open its flat&sorted list, select the top store path, hit a why-depends hotkey
<clever> and having some why-depends in there would be nice, why does /run/current-system depend on ghc??
<clever> symphorien: i would still want the ability to see the entire closure of a given root, either as a tree or a flat&sorted list
<clever> logzet: run it under strace and see how it detects root
<clever> then booted, current, and generation are considered a single root
<clever> oh, or group all roots that point to the same path
<clever> maybe always exclude current and booted system, since you typically have 3 duplicates of that
<clever> add an option to exclude certain roots from the shared computation
<clever> and if your using the nix protocol, you can bulk-query for sizes with a single connection, which is far far faster then running this on each
<clever> 1554904
<clever> nix-store -q --size /nix/store/7kgkg5lv9c992q83n8nihk8h532m8nx6-util-linux-2.32
<clever> for each root
<clever> give a total of all storepaths, all paths with 1 root, and all paths with >1 root
<clever> symphorien: any storepath with >1 root is shared
<clever> symphorien: in ram, you get the -qR of every root, then you have a std::list on each storepath, denoting what roots point to it
<clever> symphorien: nix-store --gc --print-roots
<clever> symphorien: and maybe some options to delete a root and run a gc cycle
<clever> symphorien: and being able to open the root and see its full dep tree
<clever> symphorien: one UI element for each gc root, showing the total size of its closure, how much it shares, and how much is unique to that root
<clever> iqubic: something like: dd if=something.iso of=/dev/sdb
<clever> iqubic: try using dd again with sdb
<clever> iqubic: did you use sdb1 or sdb previously?
<clever> iqubic: what dd command did you previously use?
<clever> iqubic: you can do that with just dd, and it must not be mounted when doing so
<clever> iqubic: why are you using k3b on a usb stick?
<clever> iqubic: mkfs
<clever> iqubic: that filesystem doesnt support write
<clever> iqubic: TYPE="iso9660"
<clever> iqubic: 404
<clever> iqubic: can you paste it here?
<clever> iqubic: what does blkid say about the device your mounting?
<clever> the output is supposed to be based entirely on the build instructions, and not when you built it
<clever> not pure
<clever> Akii: nix doesnt allow any timestamps in the store,all files are last-modified at unix epoch + 1
<clever> d1rewolf: you want to see what the child proccesses of nixos-rebuild and nix-daemon are with `ps -eH x` and find one that is blocked on something
<clever> thats one reason to use zfs with automatic snapshots
<clever> so its always lost on reboot
<clever> the whole /run is a tmpfs
<clever> it will repair itself on every boot
<clever> if you cant use ssh to get root, then your only option is to reboot
<clever> tilpner: only the sudo in /run/wrappers/bin/sudo works
<clever> tilpner: that sudo will never work
<clever> tilpner: what binary did you run?
<clever> i dont remember how i figured out those args, i just mashed random things together over a decade ago and memorized what worked, lol
<clever> a literal x
<clever> an argument to ps
<clever> d1rewolf_: its no longer building anything at that point, check `ps -eH x`
<clever> maurer: there is also the problem that having permission to create iam roles, basically gives you complete admin
<clever> sophiag: can you pastebin all of the errors?
<clever> sophiag: stateVersion cant corrupt the nix store
<clever> sophiag: do you know what caused the corruption?
<clever> brodul: 00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04)
<clever> sophiag: can you pastebin the errors?
<clever> brodul: perfect 60 fps with 18.09pre145679.dae9cf6106d
<clever> anoying
<clever> goibhniu: also, --add and --list are oposite of eachother
<clever> can always undo the change, though you will need it every time ghc has to download
<clever> but its also nice that nixos can fully automate it
<clever> manually creating the swap file was the alternative solution :P
<clever> ah
<clever> if your too addicted, i can perscribe an alternative solution
<clever> if you are able to stop using haskell for 5 mins
<clever> ajs124: add this to your configuration.nix, temporarily disable the usage of haskell in configuration.nix, and nixos-rebuild switch
<clever> swapDevices = [ { device = "/var/lib/swap1"; size = 2048; } ];
<clever> i think that should still work, one min
<clever> ajs124: ext4 rootfs?
<clever> thought so, ghc causes issues like that
<clever> ajs124: what is it doing when it oom's?
<clever> dont really know fonts that well
<clever> grep
<clever> check fc-list then
<clever> also, fc-list
<clever> iqubic: did you properly configure the font? https://nixos.org/nixos/options.html#fonts.fonts
<clever> yay
<clever> ldlework: and even xterm
<clever> bar
<clever> ldlework: it also does that for my in xfce-terminal
<clever> foo
<clever> as long as you dont click things, you should be perfectly safe
<clever> c_wraith: ive only seen script tags and url's
<clever> tenten8401: ok, try doing installPhase = "env"; and then grep it for makeWrapperArgs
<clever> and it gets ran thru mkDerivation
<clever> then lines 67-69 remove a few things, and // on moar attrs!
<clever> and it also winds up as an attribute on attrs in 59
<clever> line 42 accepts makeWrapperArgs
<clever> mkPythonDerivation = import ./mk-python-derivation.nix {
<clever> and thats passed to mkPythonDerivation
<clever> so now formatspecific should have your flags
<clever> which adds more args
<clever> and then common is ran on the result
<clever> it will add a few attrs, and then return a new set
<clever> so most of your args are passed into this via the attrs var on 16
<clever> since format hasnt been set, it defaults to setuptools
<clever> ok, so that is an argument passed to buildPythonApplication
<clever> tenten8401: can you gist the nix expression involved?
<clever> but since it passed, `nix-store -l` can get a copy of the log
<clever> so it produced no logs
<clever> so when you re-ran it with redirections to a log file, it didnt build anything
<clever> tenten8401: the problem i think, is that your set -x build "passed"
<clever> redirect that into a file, upload to a pastebin
<clever> that gives you the full log
<clever> run `nix-store -l /nix/store/foo` on the storepath
<clever> oh also
<clever> then you can test with nix-build
<clever> tenten8401: break the problem out into a simpler nix file that doesnt involve all of nixos-rebuild
<clever> tenten8401: nix-build ... 2>&1 > logfile.txt
<clever> then bash will tell you every single thing it does
<clever> tenten8401: also, try preInstall = "set -x";
<clever> tenten8401: try using postInstall instead of installPhase
<clever> tenten8401: because you overwrite installPhase, and its not even making $out now
<clever> also, i think by setting installPhase, you stopped it from being installed, so the file no longer exists
<clever> tenten8401: it doesnt
<clever> tenten8401: and if you `ls -lh` that file, what does it say?
<clever> or just get the unstable iso
<clever> abueide: you can boot that usb stick on another machine that has working wifi
<clever> most other things can sorta be updated with nixos-rebuild, but it needs more ram
<clever> you cant upgrade the kernel on the livecd image
<clever> yeah
<clever> probably faster and more flexible then re-burning a new iso
<clever> samueldr: he's already got a fully installed copy on a usb, so he can freely upgrade the usb
<clever> abueide: and then it should work for any kernel version
<clever> abueide: nix-channel --add https://nixos.org/channels/nixos-unstable nixos ; nix-channel --update
<clever> so its simply broken in 18.03, and its working in unstable
<clever> and only the 55xx option is enabled, not 53xx
<clever> the style of the entire file is different
<clever> this is the state of the kernel config, from your version
<clever> is the hash at the end correct?
<clever> [clever@amd-nixos:~]$ nixos-version
<clever> 18.09pre145679.dae9cf6106d (Jellyfish)
<clever> what does `nixos-version` say?
<clever> check with the above command to see what the current config is
<clever> either
<clever> abueide: are you still able to boot the un-fixed usb stick?
<clever> abueide: my current kernel also has that option enabled
<clever> $ cat /proc/config.gz | gunzip | grep RT2800USB_RT53
<clever> CONFIG_RT2800USB_RT53XX=y
<clever> abueide: i suspect that something might be wrong with the config, its been in there for a few years
<clever> abueide: its already enabled...
<clever> abueide: oh
<clever> abueide: i think you need to file a PR here and add the option: https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/kernel/common-config.nix#L151
<clever> abueide: you can change the 4_9 in that example to 4_17, and then also use boot.kernelPackages = pkgs.linuxPackages_4_17;
<clever> abueide: ah, that would explain it
<clever> abueide: yeah, out of ideas
<clever> tertle||eltret: 2018-07-25 19:49:43 < clever> abueide: boot.kernelPackages = pkgs.linuxPackages_4_17;
<clever> tertle||eltret: do you want to use a diferent version already in nixpkgs or make one from your own source?

2018-07-25

<clever> joepie91: it could be an exact message match, so when you copy/paste the name is added and it doesnt match
<clever> but in theory, the server could auto-kick, without relaying the msg to others
<clever> yeah, it currently doesnt support systemd-boot
<clever> and the entire installer is a ~400mb file in /boot
<clever> it adds a grub option that boots into the installer
<clever> and then you have the entire installer sitting in /boot
<clever> iqubic: add imports = [ ./rescue_boot.nix ]; to your configuration.nix, and setup xserver on lines 9-13
<clever> iqubic: this is also a good use for my rescue env
<clever> its meant to be an installer, not a livecd where you can demo things
<clever> that would be simpler and safer
<clever> ah
<clever> and why do you need to shrink it while its running?
<clever> try it first
<clever> try it first
<clever> iqubic: you may also want to try gparted, it supports resize and has a gui
<clever> iqubic: fdisk -l
<clever> (Modern Linux 2.6 kernels will support on-line resize for file systems mounted using ext3 and ext4; ext3 file systems will require the use of file systems with the resize_inode feature enabled.)
<clever> iqubic: check its man page and read things closely
<clever> it should detect that its mounted, and contact the kernel and arrange for things to happen
<clever> iqubic: first, run resize2fs on the device, with the new size you want to use
<clever> iqubic: depends on the filesystem and which direction the size is going
<clever> abueide: boot.kernelPackages = pkgs.linuxPackages_4_17;
<clever> abueide: switching to 4.17 might help
<clever> abueide: what if you compare `uname -a` on both nixos and arch?
<clever> abueide: try booting nixos without the wifi plugged in, then plug the wifi in after booting
<clever> abueide: `dmesg | egrep 'rt2800usb|firmware' -i -C5` and throw it into a pastebin
<clever> abueide_: if you now boot the nixos usb stick, and repeat the same command, what do you see?
<clever> abueide_: i can see it loading normally, and requesting the firmware
<clever> [ 54.830821] ieee80211 phy1: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.36
<clever> [ 54.830421] ieee80211 phy1: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
<clever> abueide_: `dmesg | egrep 'rt2800usb|firmware' -i -C5` and throw it into a pastebin
<clever> abueide_: what does this output?
<clever> ls /sys/class/net/wlp0s29u1u2/device/driver -l
<clever> abueide_: what is the name of the interface in `ip link` ?
<clever> any linux where the wifi actually works
<clever> abueide_: a normal install also works
<clever> abueide_: dont have a spare usb?
<clever> abueide_: once we find out what arch is doing specially, we can just do the same thing in nixos
<clever> abueide_: in my case, it says e1000e is responsible for enp3s0
<clever> lrwxrwxrwx 1 root root 0 Jul 25 19:19 /sys/class/net/enp3s0/device/driver -> ../../../../bus/pci/drivers/e1000e
<clever> [root@amd-nixos:~]# ls /sys/class/net/enp3s0/device/driver -l
<clever> abueide_: can you boot the arch install cd, load up the wifi driver, and then run a command like this?
<clever> abueide_: it may also help to just look at what arch is doing differently, one min
<clever> abueide_: i just use bare wpa_supplicant
<clever> abueide_: you can enable graphical on the usb, and install a browser
<clever> abueide_: you can also test the usb wifi on that machine, and see if it works there first
<clever> abueide_: no need to nixos-install now, you can just boot the usb normally, adjust, and nixos-rebuild
<clever> abueide_: do you have 2 computers available, with ethernet ports, and an ethernet cable?
<clever> abueide_: but now you are free to boot the usb stick on another machine that does have wifi, tweak the config, and nixos-rebuild again
<clever> which i believe will un-stick the /init script that was blocked on a console password
<clever> mikky: this shell script will kill other cryptsetup prompts after it gets a password entered
<clever> abueide: probably, boot the stick up and see if the usb works
<clever> abueide: depends on if you enabled the firmware in the configuration.nix
<clever> kalbasit: nix repl '<nixpkgs/nixos>'
<clever> abueide: if using efi, you have to set the removable flag when you install
<clever> RetardedOnion: its plausible that its using cross-site scripting to connect to something like the freenode webchat from your ip, and then spam more
<clever> i found this being said in another room
<clever> 2018-07-25 17:52:23 < swedneck[m]> it seems to be a virus that relies on shitty web clients to propagate
<clever> rescue_boot.nix just saves you from needing to find that stick for most problems
<clever> mikky: yeah, you would still need a usb stick then
<clever> chances
<clever> mikky: but if /boot is damaged, what are the changes the rootfs is ok?
<clever> well, if /boot is damaged, itsless of a repair, and more of a reinstall
<clever> you cant loose the /boot
<clever> logzet: you can loose the usb stick :P
<clever> drakonis: and /boot could become part of / if you wanted
<clever> drakonis: using boot.loader.efi.efisysmountpoint you can have seperate partitions for /boot and /boot/efi
<clever> it eats about 300-400mb in /boot though
<clever> so as long as /boot is intact, you can repair the system, or even do a full reinstall
<clever> logzet: this nixos module will auto-generate an entire nixos installer, and put it in /boot, along with a grub entry to select it
<clever> logzet: i also make my /boot at least 1gig
<clever> logzet: i think it uses something like ${out}-root as the rootfs for the build, with many bind mounts
<clever> logzet: if sandboxing is on, it builds it in a chroot like namespace, if sandboxing is off, it just builds directly into /nix/store/
<clever> logzet: it would let you have a small fat32 efisys, then a much larger (or even part of the rootfs) /boot for many kernels, and proper journaling
<clever> so / can have automatic snapshots, but /nix doesnt
<clever> logzet: i always use zfs, with /nix on its own dataset
<clever> logzet: not really, as long as configuration.nix knows to mount it
<clever> logzet: id just create a new /boot and /, then clone everything over while booted into a livecd
<clever> logzet: depends on what the existing layout is, and what your filesystem preferences are
<clever> gchristensen: ah, i think its +d and freenode doesnt have it
<clever> gchristensen: i think there is a channel mode that forces you to idle for 30 seconds before you can speak
<clever> too slow!
<clever> logzet: and if the config is broken after copying the partitions, you could just use nixos-enter to chroot into it, fix the config, and nixos-rebuild boot
<clever> logzet: but since its nix, you can also just copy /etc/nixos/configuration.nix and nixos-install again, and it will be virtually identical
<clever> logzet: if you copy the partitions over while it is not running, it should be fine, as long as the old config in /boot is able to find the right partitions to mount
<clever> keith_analog: if you do `buildInputs = [ gperftools ];` then the stdenv will add a -L flag for you
<clever> fresheyeball: then re-run nix-build again
<clever> fresheyeball: delete result, then run nix-store --delete on the output path it made
<clever> fresheyeball: if its an intermitent failure due to ram, then you need to fight succeed on failure
<clever> fresheyeball: then you need to change something to correct the failure, and re-run it
<clever> fresheyeball: you need to check for result/nix-support/failed
<clever> fresheyeball: ah, succeed on failure
<clever> gchristensen: the is getting +o every time somebody joins the room
<clever> gchristensen: does it need to be op'd every time somebody joins?
<clever> fresheyeball: with `ls -l result result/`
<clever> fresheyeball: can you post a copy from the terminal of you running it, ls'ing result, running it again, and ls'ing result again?
<clever> fresheyeball: if you add a `ls -ltrh $out` after that line, does it show files being added to out?
<clever> fresheyeball: what part of that is writing to $out?
<clever> so it never runs the checkPhase
<clever> fresheyeball: you dont have a doCheck = true;
<clever> can you gist your nix file?
<clever> it doesnt need -r or rm
<clever> fresheyeball: you need doCheck = true;
<clever> fresheyeball: is the checkPhase enabled?
<clever> fresheyeball: the checkPhase is still part of the build
<clever> abueide: or just plug in an ethernet cable
<clever> and that will let you permanently install wifi drivers to the usb stick
<clever> abueide: then you can make changes to that stick freely and nixos-rebuild as normal
<clever> abueide: as i said before, try doing a normal nixos-install against a usb stick, from any nixos machine
<clever> abueide: i would expect things to just work then
<clever> abueide: and what about the booted-system?
<clever> ls /run/booted-system/firmware/rt2870.bin
<clever> abueide: does this show the firmware file?
<clever> ls /run/current-system/firmware/rt2870.bin
<clever> yeah, that driver does claim to support the card
<clever> alias: usb:v148Fp5372d*dc*dsc*dp*ic*isc*ip*in*
<clever> [clever@amd-nixos:~/apps/nixpkgs]$ modinfo rt2800usb | grep -i 148f --color | grep -i --color 5372
<clever> abueide: what is the vid:pid pair for the device in lsusb?
<clever> abueide: is that even the right driver?
<clever> abueide: nixos-rebuild would have given an error if you needed it
<clever> abueide: try unplugging and replugging the usb device
<clever> abueide: also, thats a 5372 card, and your using the 2800 driver
<clever> abueide: any output about firmware?
<clever> abueide: and now `ip link` ?