2019-12-09
03:20
<
clever >
infact, with my download speed, i could probably download an entire album faster then i could rip a cd
03:20
<
clever >
simpson: i did go thru a phase where i was ripping every single cd in the house, but at this point, its faster to just pirate it, rather then find the physical copy on a shelf, then re-install a cdrom drive, lol
03:19
<
clever >
notgne2: not-os would probably run on 64mb of ram, might want to tweak the boot order a bit though, to leave the rootfs on disk, rather then copying to ram
03:18
<
clever >
i dont even have a cd drive in any of my functional machines
03:18
<
clever >
simpson: it should work on CD's too, but then you have to burn a cd
03:17
<
clever >
simpson: 2019-12-08 23:12:51 < keithy[m]> note installing on old imac so cant boot form usb
03:17
<
clever >
simpson: yep, that works when the bios supports usb booting
03:16
<
clever >
so you can customize the key, after making the tarball
03:16
<
clever >
but if it can find a /ssh_pubkey on the host, when you run the kexec script, it will paste that into /root/.ssh/authorized_keys
03:16
<
clever >
by default, it doesnt add any ssh keys, so you need physical access to control it after kexec
03:15
<
clever >
so you can just partition, format, mount, nixos-generate-config, edit, nixos-install
03:14
<
clever >
once you ssh back in, it will behave just like the normal livecd
03:13
<
clever >
so it doesnt care what you do to the hdd
03:13
<
clever >
keithy[m]: the kexec script i linked above, will copy the entire nixos rootfs to ram before "booting"
03:12
<
clever >
keithy[m]: why wouldnt it work?
03:10
<
clever >
it will basically then boot the livecd, without needing any cd/usb
03:10
<
clever >
keithy[m]: basically, you build a kernel+initrd+bash-script with nix, copy it to another machine, and run the bash script
03:09
<
clever >
keithy[m]: kexec can also be used
03:08
<
clever >
keithy[m]: what are you intending to do?
03:08
<
clever >
keithy[m]: it would be simplest to do a normal chroot (not a namespace one) as real root
03:07
<
clever >
keithy[m]: because you could just modify /etc/shadow and claim to know the root pw
03:06
<
clever >
keithy[m]: the chroot stuff entirely neuters any ability to gain root
01:59
<
clever >
similar to a symlink
01:59
<
clever >
you can use `mount --bind` to place any dir at any other dir
01:58
<
clever >
no need for a symlink
01:58
<
clever >
keithy[m]: if you can `mkdir /nix` then you can just `mount --bind /home/foo/bar /nix/`
01:47
<
clever >
keithy[m]: sounds like a normal fs on lvm, should have no trouble writing to it, `sudo mkdir /nix` ?
01:46
<
clever >
keithy[m]: what does `mount` say is mounted to / ?
01:46
<
clever >
keithy[m]: is / truely read-only, or just a tmpfs that is lost on shutdown?
01:42
<
clever >
if you want to change the path, you need to re-compile EVERYHING for the new path
01:41
<
clever >
keithy[m]: use namespacing to give yourself a chroot with a /nix you own, nix-user-chroot can do that
2019-12-08
23:44
<
clever >
zeta_0: `nixos-rebuild release0.nix` ??
23:40
<
clever >
and LICENSE doesnt exist, so cabal fails
23:40
<
clever >
yes, that tells cabal to copy LICENSE when installing
23:39
<
clever >
zeta_0: the cabal file, not the nix file
23:35
<
clever >
zeta_0: you need to either remove that line, or make a LICENSE file
23:35
<
clever >
zeta_0: the cabal file says that you have a LICENSE file
19:47
<
clever >
dongcarl: because that file is a set, containing key/value pairs, and its invalid to have the same key listed twice
19:45
<
clever >
dongcarl: if you just want to add rules, just systemd.tmpfiles.rules = [ <my new rule here ];
19:45
<
clever >
dongcarl: yes, nix already merges the value from other files for you
19:43
<
clever >
dongcarl: either use ++ to concat the lists, or use mkMerge with several sets
19:37
<
clever >
ah, correction, a btrfs specific ioctl
19:37
<
clever >
ioctl(4, BTRFS_IOC_CLONE or FICLONE, 3) = -1 EOPNOTSUPP (Operation not supported)
19:37
<
clever >
das_j: reflink?
19:36
<
clever >
gchristensen: ive looked at how --reflink=always, and i believe it was an xfs specific ioctl, lol
19:29
<
clever >
scasc: ive been sticking to zfs
17:57
<
clever >
there are string split map, and concat functions, and that can let you add something
17:57
<
clever >
my OCD isnt that bad, lol
17:56
<
clever >
id just ignore it then
17:56
<
clever >
betawaffle: does it need to be indented, or is it just to make the config pretty?
17:55
<
clever >
betawaffle: there was plans to make nix do that automatically, but it would mess up with the binary caching if it was applied globally
17:39
<
clever >
aterius: yeah, niv should work nicely there
16:12
<
clever >
but that default profile cant do system level things
16:11
<
clever >
nixos also has that profile
07:20
<
clever >
that would return a version of pkgs that obeys the config flag
07:20
<
clever >
to write to it, import <nixpkgs> { config.retroarch = something; }
07:20
<
clever >
kolbyjcrouch: if you want to read it
07:20
<
clever >
kolbyjcrouch: pkgs.config.retroarch ?
04:58
<
clever >
any tools you run at build time go into native
04:55
<
clever >
where does it say that thunderbird depends on nasm?
04:54
<
clever >
that was a typo
04:54
<
clever >
lovesegfault: nix-shell -a pkg
2019-12-07
23:25
<
clever >
jjulianc: if you have write permission to /nix/ then it wont need to use sudo to install
19:46
<
clever >
and also set wantedBy
19:44
<
clever >
systemd.services.something.script = "${pkgs.something}/bin/something --config ${configfile}";
19:44
<
clever >
systemd.services.something.script = "
19:43
<
clever >
__marlene__: you may need nixos to auto-generate the entire unit, and ignore the one it ships with
19:37
<
clever >
but thats for when nixos is auto-generating a unit for you
19:37
<
clever >
usually, thats done with systemd.services.something.path = [ pkgs.iputils ];
19:37
<
clever >
you need to add iputils to the path
19:31
<
clever >
thats better
19:30
<
clever >
__marlene__: also, nothing happens when you @clever, so i dont notice the messages
19:27
<
clever >
andreoss: check the docs for dockerTools.buildLayeredImage
19:27
<
clever >
__marlene__: systemd stuff must go there, not nix-env or systemPackages
19:27
<
clever >
__marlene__: and i think you then need to add it to systemd.packages
19:26
<
clever >
__marlene__: add an echo to it, does anything print?
19:26
<
clever >
__marlene__: what happens if you use that override?
19:25
<
clever >
__marlene__: you could just set postInstall
19:22
<
clever >
__marlene__: override the derivation to put the systemd unit at a diff path within $out
18:58
<
clever >
aleph-: if you add options = [ "nofail" ]; to the fileSystems entry, then systemd wont fail horribly when it fails to mount
05:50
<
clever >
there is also a propagatedNativeBuildInputs
05:50
<
clever >
and i should get to bed, its nearly 2am now
05:49
<
clever >
not sure, i havent looked into the internals of the python code yet
05:48
<
clever >
lovesegfault: depending on how things are done in python, the normal buildInputs may not wind up in PATH
05:48
<
clever >
2019-12-07 01:40:04 < clever> Miyu-saki: so you can simulate some cross-compile issues, without actually cross-compiling
05:48
<
clever >
2019-12-07 01:39:49 < clever> Miyu-saki: there is an optional strict mode, that wont put the normal buildInputs into PATH
05:48
<
clever >
lovesegfault: also, your already adding flac in both files, so it should already be present
05:47
<
clever >
and python packages propagate the PYTHONPATH, so the non-check-beets version may override the check-beets
05:46
<
clever >
and the check version of beets depends on the beets-check
05:46
<
clever >
so beets-check depends on the non-check version of beets
05:46
<
clever >
lovesegfault: but the defaults beets doesnt have enableCheck
05:46
<
clever >
lovesegfault: beets-check depends on beets, which depends on beets-check, that should fail
05:46
<
clever >
lovesegfault: you also have a cycle, sorta
05:45
<
clever >
lovesegfault: you can also edit an existing gist
05:43
<
clever >
lovesegfault: just put all of the files in one gist
05:40
<
clever >
Miyu-saki: so you can simulate some cross-compile issues, without actually cross-compiling
05:39
<
clever >
Miyu-saki: there is an optional strict mode, that wont put the normal buildInputs into PATH
05:38
<
clever >
because `-p A` generates a derivation with buildInputs = [ A ];
05:38
<
clever >
i think so
05:37
<
clever >
but thats not needed for dependency tracking
05:37
<
clever >
propagatedBuildInputs just automatically adds it to the buildInputs of future derivations
05:36
<
clever >
it sounds like you dont need propagatedBuildInputs
05:36
<
clever >
have you tried just plain buildInputs ?
05:36
<
clever >
if you expect to run them at "build time"
05:36
<
clever >
lovesegfault: binaries should probably be in the native inputs list
05:35
<
clever >
lovesegfault: are you expecting a binary or a library?
05:32
<
clever >
enless A also propagates B
05:32
<
clever >
if you open a shell with a built copy of A, you wont get C
05:32
<
clever >
only if you open the shell suitable for building A
05:32
<
clever >
lovesegfault: is it in the propagatedBuildInputs of something that is in beet's buildInputs?
05:31
<
clever >
lovesegfault: where are you expecting them to propagate to?
05:27
<
clever >
lsblk if i just care about dev names
05:26
<
clever >
i use fdisk if i want to see parititon type codes, table type, and positions
05:24
<
clever >
or just use `lsblk` and tell fdisk what to list
05:19
<
clever >
infinisil: ramdisks, they show up if a certain kernel module is loaded
05:18
<
clever >
yorick: thats supposed to be a symlink, moving there will break things
05:17
<
clever >
juxiemaotu: how long have you waited for it to finish downloading?
03:04
<
clever >
aleph-: this is an rpi3, with custom firmware
03:03
<
clever >
yeah, that borks everything, lol
03:03
<
clever >
[ 0.000000] arch_timer: cp15 timer(s) running at 0.00MHz (virt).
03:03
<
clever >
i think 0 ms have passed? lol
03:03
<
clever >
[ 0.000000] [<801a0c2c>] (clocks_calc_max_nsecs) from [<80c0ff28>] (sched_clock_register+0xcc/0x2f4)
03:02
<
clever >
eek, what have i done now? lol
03:02
<
clever >
[ 0.000000] Division by zero in kernel.
03:00
<
clever >
aleph-: try an older generating in the bootloader?
02:58
<
clever >
aleph-: did you change anything?
02:57
<
clever >
aleph-: yes, without that, it wont be able to find the root disk
02:57
<
clever >
aleph-: boot.initrd.availableKernelModules = [ "nvme" ];
02:57
<
clever >
aleph-: did you tell nixos to include nvme support in the initrd?
02:56
<
clever >
slack1256: the nixos manual has an example of how to get a shell that can build kernel modules
02:56
<
clever >
aleph-: is the disk on usb, sata, or nvme?
02:03
<
clever >
evanjs: 5.4 is also in unstable
02:00
<
clever >
and return a path
02:00
<
clever >
lovesegfault: all <nixpkgs> does, is look for nixpkgs in $NIX_PATH
02:00
<
clever >
lovesegfault: replace <nixpkgs> with ./.
01:59
<
clever >
evanjs: you shouldnt need an mkForce
01:58
<
clever >
lovesegfault: -A can only accept an attribute path, you want -E
01:56
<
clever >
,unstable evanjs
01:56
<
clever >
evanjs: it will only exist in nixos-unstable, but you can still mix that into stable
01:55
<
clever >
evanjs: rather then override linux_latest, just set boot.kernelPackages to linuxPackages_5_3
2019-12-06
23:32
<
clever >
pamplemousse: not sure, i havent looked that closely at the python stuff
23:30
<
clever >
pamplemousse: pip likely wont play nicely with nix, can you try ignoring pip?
23:23
<
clever >
pamplemousse: but you can likely still import it if you run python in that shell
19:22
<
clever >
tobiasBora: after you update your channels, it will update nix
19:17
<
clever >
tobiasBora: or set `sandbox = false` in nix.conf
19:17
<
clever >
tobiasBora: the work-around is to --option sandbox false
19:17
<
clever >
tobiasBora: i dont think the fixed nix is in nixpkgs yet
19:11
<
clever >
lordcirth_: yeah
19:10
<
clever >
tobiasBora: already known and fixed, one min
19:10
<
clever >
lordcirth_: probably
19:09
<
clever >
lordcirth_: you want -A netboot.x86_64-linux
19:09
<
clever >
lordcirth_: yes
19:08
<
clever >
lordcirth_: run `nix repl ~/gitRepos/nixpkgs/nixos/release.nix` and then eval `netboot`, you should see that it is an attribute set containing many builds
18:54
<
clever >
hexo: stable wont get any version updates
18:48
<
clever >
> pkgs.all-cabal-hashes
18:47
<
clever >
selfsymmetric-pa: callHackage relies on it being in all-cabal-hashes
18:47
<
clever >
selfsymmetric-pa: you want callHackageDirect, which also needs a sha256
18:07
<
clever >
juxiemaotu: for a non-trusted user to specify his own substituters, they must already be listed in trusted-substituters, yeah
17:52
<
clever >
zeta_0: yep
17:51
<
clever >
> pkgs.hello
04:51
<
clever >
energizer: ^^^
04:51
<
clever >
evils: fileSystems."/" = { fsType = "ext4"; device = "/dev/sda1"; };
04:05
<
clever >
just name = "whatever";
04:04
<
clever >
kyren: mkShell is a function that runs stdenv.mkDerivation for you, i just ignore mkShell entirely
04:01
<
clever >
evils: mostly out of ideas, and its now 12:01 am here, heading to bed soon
03:56
<
clever >
bot isnt as flexible as c++, lol
03:54
<
clever >
kyren: ccacheStdenv.mkDerivation
03:19
<
clever >
evils: not sure how you could make it better
03:16
<
clever >
evils: same as any other package, kicad-libraries.symbols.overrideAttrs (old: { src = something; name = "kicad-symbols-1.2.3"; })
03:12
<
clever >
and then do kicad-libraries.symbols
03:11
<
clever >
change this to callPackages
03:11
<
clever >
kicad-libraries = callPackage ../applications/science/electronics/kicad/libraries.nix { };
03:11
<
clever >
when you load that file with callPackages, it will put a set into pkgs
03:09
<
clever >
evils: nope, just return a set
03:08
<
clever >
evils: or use .overrideAttrs on a single drv from it, like any other drv
03:08
<
clever >
evils: it would need to accept a version and 5 hashes, which just makes it more confusing
03:07
<
clever >
evils: thats not a good idea, because you have to update 5 sha256's every time you change the version
03:06
<
clever >
evils: although, all calls of mkLib take the same version, so just remove that arg to mkLib, and keep it in the let block, ebwteen 6&7
03:06
<
clever >
evils: put it into the let block between 6&17
03:05
<
clever >
evils: and use callPackages to load the file, instead of callPackage
03:04
<
clever >
evils: just delete lines 18-21, and 42-50, then change 22 to a plain {
03:01
<
clever >
o1lo01ol1o: /var/lib/acme/
2019-12-05
22:39
<
clever >
i can just walk up to the kitchen, in the middle of a meeting :P
22:38
<
clever >
i prefer wireless, so i can be even more remote
22:38
<
clever >
but, its server-side echo reduction, so under high latency, it fails
22:37
<
clever >
fresheyeball: though google hangouts has somewhat decent echo reduction
22:37
<
clever >
fresheyeball: yeah, that happens any time you dont use headphones
22:36
<
clever >
fresheyeball: i know some people that wear a headset like the G533 around their neck, and use normal desk speakers
22:34
<
clever >
fresheyeball: cant really fit a hat over or under the G533
22:31
<
clever >
but no feedback when it does fail
22:31
<
clever >
less confusion for apps (the device doesnt vanish)
22:30
<
clever >
only real problem (both good and bad), is that the alsa device is still present and accepting data, even if the headset disconnects
22:30
<
clever >
fresheyeball: nixos thinks its just a plain old usb sound card in alsa
22:30
<
clever >
fresheyeball: a usb dongle
22:28
<
clever >
and better range too
22:28
<
clever >
stereo speakers + mic, something bluetooth cant do, lol
22:28
<
clever >
fresheyeball: ive been using a logitech G533 for a while now
22:25
<
clever >
fresheyeball: also using pulse full?
22:12
<
clever >
on both ends of the bluetooth link
22:11
<
clever >
fresheyeball: ive also heard that each bluetooth profile, needs specific support from the hardware
22:11
<
clever >
fresheyeball: in the configuration tab of pavucontrol, you must set it to headset profile
21:46
<
clever >
HugoB200: youll need to figure out how its booting nixos, and mount the right thing to /boot, and fix the configuration to automount it
21:45
<
clever >
HugoB200: then its failing to update the bootloader config, and just boots whatever it last made default
21:45
<
clever >
HugoB200: is /boot mounted when you run that?
21:44
<
clever >
HugoB200: how are you updating it?
21:32
<
clever >
cmacrae: then you can use config.local.id to read the id new-main.nix was setting
21:32
<
clever >
cmacrae: and then beside config=, add options={local={id=lib.mkOption { type = types.str; }; }; };
21:31
<
clever >
cmacrae: the whole contents of configuration.nix should be moved into a config= key, so it should return { config = { ... }; }
21:30
<
clever >
stagboot: python3Packages
21:23
<
clever >
stagboot: nixos.pythonPackages.mutagen
21:19
<
clever >
and _module.args.domain is a normal nixos option, to let you do { pkgs, lib, domain, ... }: in any module
21:18
<
clever >
cmacrae: if you define config for a machine called "defaults", nixops will apply it to every machine in the cluster
21:17
<
clever >
cmacrae: its in the main attributeset that main.nix returns
21:10
<
clever >
cmacrae: then compute defines options and config, and options makes local.id a valid option, config then uses it
21:09
<
clever >
cmacrae: for example, lines 19-29 of main.nix can do: compute1 = { imports = [ ./compute/configuration.nix ]; local = { id=; hostid=; ... }; };
21:08
<
clever >
cmacrae: and instead of _module.args, you can also just define your own custom options
21:06
<
clever >
cmacrae: same for hardware-configuration.nix, just put a path in the imports, dont import it yourself
21:05
<
clever >
that breaks everything
21:05
<
clever >
rather then the nixos config
21:05
<
clever >
cmacrae: line 12 of main.nix, is passing pkgs.config to a nixos module
21:05
<
clever >
cmacrae: oh, i think i see the problem
21:04
<
clever >
cmacrae: domain can be done via defaults._module.args.domain = domain;
21:03
<
clever >
cmacrae: line 11 of main.nix, you can do just net1 = ./net1/configuration.nix
20:59
<
clever >
cmacrae: thats only for the nixos parts, and they already default to linux in nixops
20:55
<
clever >
if you want `with import <nixpkgs> {}` to generate linux binaries, use { system = "x86_64-linux"; }
20:54
<
clever >
cmacrae: you lied to nix, and claimed the host can run linux binaries, so its running linux binaries
20:54
<
clever >
cmacrae: --option system is what breaks everything
20:51
<
clever >
cmacrae: did you use --option system?
20:51
<
clever >
cmacrae: which can leak darwin binaries into a linux build
20:51
<
clever >
cmacrae: if you do `import <nixpkgs> {}` anywhere, it will default to the host arch
19:48
<
clever >
betawaffle: it uses a mount namespace to isolate the rw mount to the builder, so its still ro from outside
18:47
<
clever >
samueldr: so nix will try to GC your nix-env profile and all other nixos generations!
18:47
<
clever >
samueldr: if it gets ran again, anything you added to the store afterwards becomes invalid
17:04
<
clever >
selfsymmetric-pa: it should be in all nix-shells
16:44
<
clever >
when a library loads another library, it uses its own rpath, not the executables rpath
16:44
<
clever >
kai_w: you need to set the rpath of the libraries also
16:26
<
clever >
nixtacular: configurePhase = ''export makeFlags="$makeFlags PREFIX=$out"'';
04:20
<
clever >
> llvmPackages.openmp
04:20
<
clever >
pkgs/development/compilers/llvm/8/default.nix: openmp = callPackage ./openmp.nix {};
04:19
<
clever >
cinimod: search nixpkgs to see what references that file
04:11
<
clever >
cinimod: you may need to package openmp then
04:11
<
clever >
yep, the guest just thinks its a normal keyb/mouse
04:10
<
clever >
CMCDragonkai: kvm requires less config from the guest, but serial gives you better copy/paste and potentially higher res
04:07
<
clever >
cinimod: its possible that its not been packaged yet
04:05
<
clever >
cinimod: do you know the name for the .so file it noramlly ships?
04:01
<
clever >
> openmpi.meta.description
04:01
<
clever >
cinimod: does it also go by openmpi?
03:30
<
clever >
payas: yeah
03:29
<
clever >
payas: you can use boot.kernelPackages in configuration.nix to switch back to an older kernel
03:28
<
clever >
payas: that looks like the firmware is not compatible with the hardware
03:25
<
clever >
payas: just run dmesg and use grep to search it
03:24
<
clever >
payas: any firmware related messages in dmesg?
02:56
<
clever >
gchristensen: [root@router:~]# tcpdump -i enp4s2f1 ip6 -p -n | grep --color router
02:56
<
clever >
gchristensen: this is the thing your looking ror
02:56
<
clever >
02:56:29.606781 IP6 fe80::230:48ff:fec5:d2df > ff02::1: ICMP6, router advertisement, length 56
02:56
<
clever >
gchristensen: neighbor advertisement is something different, oh, i pasted the wrong thing above
02:55
<
clever >
gchristensen: what is your config file for radvd?
02:48
<
clever >
delroth: nix-shell is generation an rc file automatically, based on the nix expression you give it
02:43
<
clever >
gchristensen: i caught them with `tcpdump -i enp4s2f1 proto 58 -p -n`
02:43
<
clever >
gchristensen: you want to be seeing packets like this
02:43
<
clever >
02:43:30.995676 IP6 fe80::d250:99ff:fe7a:8021 > fe80::230:48ff:fec5:d2df: ICMP6, neighbor advertisement, tgt is fe80::d250:99ff:fe7a:8021, length 24
02:37
<
clever >
gchristensen: checking my router...
02:36
<
clever >
delroth: at that point, your just re-implementing the stdenv, and nix-shell is a tool to run the stdenv for you
02:36
<
clever >
delroth: youll need to re-implement all of the -I, -L pkg-config, qt, cmake, and other things
02:35
<
clever >
delroth: and it will also add every buildInput to the CFLAGS automatically, for use with -I
02:35
<
clever >
delroth: oops, ^
02:35
<
clever >
gchristensen: when you run nix-shell, it will source the setup hooks in each buildInput, which can set env vars
02:33
<
clever >
delroth: i would just redo everything to use nix
02:33
<
clever >
gchristensen: any coming from the source ip of the radvd host?
02:33
<
clever >
delroth: also, anything nix does build, will fail if you copy it outside of a nix machine
02:33
<
clever >
so you must do the build under nix-shell
02:32
<
clever >
part of the issue, is that libraries dont really work as you would expect when installed
02:31
<
clever >
delroth: just write a nix expression to build the thing, configure nix.buildMachines, and run nix-build
02:30
<
clever >
delroth: why not use nix-build?
02:30
<
clever >
delroth: it would be best to just configure it to run nix-shell or nix-build directly
02:28
<
clever >
gchristensen: use tcpdump to listen for the radvd packets
02:25
<
clever >
can you confirm its in the same broadcast domain?
02:24
<
clever >
thats fairly automated and hard to break...
02:23
<
clever >
gchristensen: do you know if the router is using radvd or dhcpv6?
00:33
<
clever >
fresheyeball: `cat /nix/var/log/nix/drvs/2q/i6b6qc4v73swpbkk16hjb6ci9775mj-invoice-06-26-19.pdf.drv.bz2 | bunzip2 | less` to read it
00:33
<
clever >
fresheyeball: the stdout/stderr from when the build was building
00:32
<
clever >
if you had the drv, you could use `nix show-derivation` and `nix diff` to recover things
00:32
<
clever >
not much you can do then
00:31
<
clever >
fresheyeball: is the output still in /nix/store? and its .drv file?