<joepie91> dmj`: where from?
markus1219 has quit [(Ping timeout: 240 seconds)]
newhoggy has joined #nixos
markus1209 has quit [(Ping timeout: 260 seconds)]
takle has joined #nixos
<perebor> bennofs: https://pastebin.com/LXfrBSrL , and in ldd I get the two entries for entries for libgfortran
newhoggy has quit [(Ping timeout: 258 seconds)]
takle has quit [(Ping timeout: 240 seconds)]
<dmj`> joepie91: on this site: https://www.habitat.sh/
<joepie91> oh
<dmj`> perebor: you patchELF’ing ?
<joepie91> dmj`: that's probably just a Management-Enforced Buzzword Compliance String
<joepie91> :P
<perebor> nope
<yumbox> when will firefox 53 be available as binary?
dbmikus has joined #nixos
kampfschlaefer has quit [(Ping timeout: 255 seconds)]
newhoggy has joined #nixos
[0x4A6F] has quit [(Ping timeout: 252 seconds)]
<dmj`> joepie91: container-native-cloud-ready, dynamic load-balancing functional dockerized services, that scale to meet web demands using micro-service architecture compliant packages
mudri has quit [(Quit: WeeChat 1.7)]
<joepie91> dmj`: you're missing 'web-scale' and 'enterprise'
<joepie91> :)
chakerbenhamed has quit [(Ping timeout: 260 seconds)]
<yumbox> also, how do i check what channel im on?
takle has joined #nixos
newhoggy has quit [(Ping timeout: 260 seconds)]
[0x4A6F] has joined #nixos
<dmj`> joepie91: installed on-premise with enterprise-grade configuration management for massive web-scale ingestion via RESTful command line interface. Insightful blue-green deploy, rolling-updated-rollbacks that are standardized, dependency-aware CMS systems.
<joepie91> dmj`: ... okay, you win <.<
<joepie91> dmj`: I'm only missing 'big data', 'neural networks', 'blockchain' (note: without 'the' in front), and 'machine learning' now
<dmj`> big neural data machine networks with blocking learning
takle has quit [(Ping timeout: 240 seconds)]
newhoggy has joined #nixos
yumbox has quit [(Quit: leaving)]
takle has joined #nixos
wkennington has quit [(Remote host closed the connection)]
newhoggy has quit [(Ping timeout: 240 seconds)]
takle has quit [(Ping timeout: 268 seconds)]
<bennofs> perebor: are you using static linking?
<perebor> bennofs: I'm using nixos and stack, I don't know what they're doing
<perebor> I have packages: [ gfortran blas liblapack ] in .stack/config.yaml
<bennofs> perebor: oh, so this is with hmatrix being built by stack?
<bennofs> perebor: ah, then I know what's going on
<perebor> yup
<bennofs> perebor: blas a liblapack are *static* libraries
<bennofs> perebor: so the usual mechanism of rpath for finding libgfortran don't apply, because static libs don't have a RPATH
<perebor> I see
<bennofs> perebor: the easiest fix for this would be replacing liblapack by (liblapack.override { shared = true; }) to build it as a shared lib
newhoggy has joined #nixos
<perebor> ok cool, so I just put that expression in the packages list?
<bennofs> perebor: or switch to using openblas, by using the openblas flag for hmatrix (idk how to specify flags in stack) and use openblasCompat as packages:
<bennofs> perebor: yeah put that instead of liblapack
<bennofs> perebor: you may need to quote it
derjohn_mob has quit [(Ping timeout: 260 seconds)]
spinus has joined #nixos
<perebor> so like packages: [ ... blas (liblapack.override { shared = true; }) ] ? it's not working qouted or not
<bennofs> perebor: hmm let me actually test that :)
<bennofs> i just assumed it would work, based on how I think stack handles this :p
jsgrant__ has joined #nixos
<spinus> is anybody using distributed build (buildMachines)? I have working ssh connection from nixos user and from root to the target machine, but I still got the error: unable to start any build; either increase ‘--max-jobs’ or enable distributed builds
<perebor> ohh its a yaml parse error
<spinus> is there any specific condition that needs to be met to have that working?
<perebor> so i needed to use a comma separated list
<perebor> still doesn't work :/
<bennofs> perebor: this seems to work for me
<bennofs> packages:
<bennofs> - blas
<bennofs> - (liblapack.override { shared = true; })
<obadz> bennofs: btw I ended up addressing that python library path issue we talked about yesterday: https://github.com/NixOS/nixpkgs/pull/25102/commits/a5cb00e884d3a2f7a8c0976cd0152c1c1ea1cca0
xadi has quit [(Quit: Leaving.)]
<perebor> bennofs: hmm, do I need to do anything besides stack install hmatrix to reinstall them?
<bennofs> obadz: oh ok. you should at least put an if darwin ... around that
<obadz> bennofs: I did…
<bennofs> obadz: i am blind, sorry
<obadz> np :)
<perebor> nixos and stack are giving me such great nostalgia for when installing a package in linux was a day long activity
taktoa has quit [(Ping timeout: 252 seconds)]
<bennofs> perebor: hmm for a simple project that doesn't actually use hmatrix it appears to work for me, but I get .stack-work/install/x86_64-linux-nix/lts-8.11/8.0.2/bin/project-exe: Relink `/nix/store/3m8wl9f0jq3w6xb94br7dnnhi3jdl2h4-gfortran-5.4.0-lib/lib/libgfortran.so.3' with `/nix/store/izxnyg94352qxa4a4783dzgnpy5cwazj-glibc-2.25/lib/libpthread.so.0' for IFUNC symbol `system'
<bennofs> perebor: (the exe still runs)
<dmj`> if you’re using nix, why use stack?
<perebor> i'm a glutton for punishment
roconnor has quit [(Remote host closed the connection)]
<spinus> dmj`: better incremental build experience (nix is building from scratch each time)
roconnor has joined #nixos
<spinus> I use nix with cabal and that duo works great
<dmj`> spinus: but with stack, you’re using deps outside of the /nix/store right?
<dmj`> haskell deps
<spinus> dmj`: that's true, but I have locked same versions
<dmj`> how?
<spinus> manually :-)
<dmj`> ugh
<bennofs> i think there is cabal freeze now for locking deps?
<spinus> bennofs: yes, but it won't give you same versions which nixos has, so you need to adjust
<dmj`> cabal freeze is obviated with your hash of nixpkgs
<dmj`> the dependencies are explicit in your checkout
<bennofs> spinus, dmj`: ah! i was thinking about implementing support for a nixpkgs resolver in stack
roconnor has quit [(Remote host closed the connection)]
roconnor has joined #nixos
<perebor> bennofs: its works!!! all I had to do was delete the .stack directory and reinstall everything
<dmj`> bennofs: a script copies the exact package versions out of LTS stackage to nixpkgs within 24 hours of a new LTS release
<bennofs> dmj`: yeah i know
<dmj`> spinus: you get incremental builds in the nix-shell
<bennofs> dmj`: but a nixpkgs resolver could allow you to do something like resolver: nixpkgs-<hash> in your stack.yaml, and stack could manage checking out that nixpkgs rev for you & take haskell prebuilt packages from that nixpkgs
<dmj`> spinus: it might be possible to not use cabal nor stack, just use genericBuilder, buildPhase, etc.
<bennofs> genericBuilder actually uses Cabal-the-library but not cabal-install as a tool
<dmj`> bennofs: generic builder compiles Setup.hs
<dmj`> and configures it
<bennofs> dmj`: yeah and that uses Cabal-the-library for 99% of haskell packages
<dmj`> bennofs: yea i know
<bennofs> (is there any Haskell package not using Cabal in Setup.hs?)
<dmj`> generic-builder.nix write a default Setup.hs for all package
<dmj`> s
<dmj`> writes* packages*
carlosda1 has joined #nixos
takle has joined #nixos
iyzsong has joined #nixos
<dmj`> My only point is that it’s probably scary to use deps outside of the nix store
<dmj`> one thing that nix does do for “incremental” builds is check if any modules are already compiled and in dist/
<bennofs> dmj`: i agree. you see how it went wrong here where you had to manually delete .stack since stack doesn't reailize the nix deps changed
<dmj`> yea, poor stack, lost in a sea of nix packages
<dmj`> we’d have to make each haskell file it’s own derivation
<dmj`> to get incremental
<spinus> if anyone is cabal-masta https://github.com/NixOS/cabal2nix/issues/246 :-)
<spinus> you might be interested
M1000teslas[m] has joined #nixos
<dmj`> lol "Well, a PR that implements this behavior would be gladly accepted."
systemfault has quit [(Quit: Bye!)]
carlosda1 has quit [(Ping timeout: 252 seconds)]
<bennofs> spinus: you want a cabal2nix that auto-runs cabal2nix on the deps as well?
takle has quit [(Ping timeout: 258 seconds)]
perebor has quit [(Quit: leaving)]
<bennofs> spinus: should be quite easy to implement: call finalizePackageDescription (from cabal, see FromCabal.hs:fromGenericPackageDescription in cabal2nix on example usage) to resolve all deps, then cabal2nix each one => profit
<dmj`> Since modules and files are 1-1 related, we just need to make a derivation per each one. But we’d probably also need to know the graph of imports, so we know what to recompile as well
<bennofs> dmj`: you'd be re-implementing cabal at that point
<bennofs> dmj`: don't forget about template-haskell dynamic deps, native library linking, preprocessing for hsc files, ...
steshaw_ has quit [(Quit: Connection closed for inactivity)]
<NixOS_GitHub> [nixpkgs] nicknovitski opened pull request #25129: bundix: 2.0.8 -> 2.1.0 (master...bundix-2.1.0) https://git.io/v9Tos
<bennofs> and compiling -dynamic-too for GHC > 7.8, and so on. don't think that is feasible
<dmj`> -dynamic is default in nixpkgs
<dmj`> to maximize sharing
<NixOS_GitHub> [nixpkgs] jeaye opened pull request #25130: simp_le: 0.1.1 -> 0.2.0 (master...simp_le-0.2.0) https://git.io/v9Toc
<dmj`> normally that is not the case, haskell libs are statically compiled by default
<spinus> bennofs: not sure if that's only it, I would like cabal2nix to generate independent haskellPackages set with only my dependencies, all of them locked
<dmj`> bennofs: re-implementing Cabal or cabal?
<bennofs> spinus: yes you can do that. In fact, I recently added some support to nixpkgs for this:https://github.com/NixOS/nixpkgs/pull/24850
<bennofs> dmj`: Cabal
<bennofs> spinus: you just generate your own hackage-packages.nix
<spinus> bennofs: nice, thank you
bennofs has quit [(Quit: WeeChat 1.7)]
<dmj`> bennofs: well… if that’s what it takes...
<dmj`> a package can be constructed outside of Cabal
ryanartecona has joined #nixos
<dmj`> albeit, not without some duct-taping
<DavidEGrayson> I'm playing around with making my own mkDerivation function that is tuned to my needs. Is there any particular reason why the $stdenv/setup script has so much logic for setting up environment variables instead of putting that logic in the Nix expressions?
<DavidEGrayson> Like it has a recursive function that figures out build inputs.
<DavidEGrayson> For my setup, I think I want that logic to be in the Nix expressions so I can refactor, change, or extend the logic without causing a mass rebuild.
<dmj`> If you want an escape hatch out of all phases, you can just define buildCommand in the derivation. You’ll have to setup your $out folder and copy stuff to it though
<DavidEGrayson> Oh yeah, I know how to set the `builder` to my own shell script and do my own thing.
<DavidEGrayson> Still just curious why stdenv.mkDerivation works the way it does. Perhaps it was just easier for people to write that logic as shell scripts, especially at an early stage where there might have been fewer features in the Nix language.
Zer000 has quit [(Quit: Leaving)]
Wizek_ has quit [(Ping timeout: 260 seconds)]
taktoa has joined #nixos
<NixOS_GitHub> [nixpkgs] primeos pushed 1 new commit to master: https://git.io/v9TKe
<NixOS_GitHub> nixpkgs/master e1244f6 Michael Weiss: Revert "display-manager: fix argument handling of sddm"...
stepcut has joined #nixos
takle has joined #nixos
mbrgm_ has joined #nixos
<dmj`> DavidEGrayson: no idea
mbrgm has quit [(Ping timeout: 240 seconds)]
tnks has quit [(Ping timeout: 240 seconds)]
mbrgm_ is now known as mbrgm
takle has quit [(Ping timeout: 255 seconds)]
Supersonic112 has quit [(Disconnected by services)]
Supersonic112_ has joined #nixos
tnks has joined #nixos
Supersonic112_ is now known as Supersonic112
radvendii has joined #nixos
<radvendii> Hey guys, so my xmonad seems to have completely pooped out on me, and rolling back doesn't help
<radvendii> my desktop background loads, as does xmobar, but nothing else works
<radvendii> is this an issue with a recent update?
<radvendii> I saw a related issue, but adding a .xsession with "xmonad" in it didn't help, so it seems to be a different problem
durham has joined #nixos
<spinus> radvendii: how did you upgrade, how did you try to roll it back?
<radvendii> I'm on unstable, i ran `sudo nixos-rebuild switch --upgrade` and then restarted and this happened. I tried to rollback by selecting a previous option in the menu when the computer starts up
<radvendii> This is a very odd thing to happen to begin with, becuase as far as I know xmobar is launched *from* xmonad, so xmonad is being launched, just nothing is working except xmobar.
<radvendii> but I didn't touch xmonad before this happened
filterfish has joined #nixos
takle has joined #nixos
infinisil has joined #nixos
Infinisil_ has joined #nixos
infinisil has quit [(Client Quit)]
Infinisil_ has quit [(Client Quit)]
takle has quit [(Ping timeout: 260 seconds)]
systemfault has joined #nixos
systemfault has quit [(Max SendQ exceeded)]
systemfault has joined #nixos
carlosda1 has joined #nixos
derjohn_mob has joined #nixos
<NixOS_GitHub> [nixpkgs] MP2E opened pull request #25132: ffmpeg(and -full) updates, use SDL2 instead of SDL for versions >3.2 (master...ffmpeg_updates) https://git.io/v9TKF
takle has joined #nixos
carlosda1 has quit [(Ping timeout: 260 seconds)]
newhoggy has quit [(Remote host closed the connection)]
newhoggy has joined #nixos
<NixOS_GitHub> [nixpkgs] Hodapp87 opened pull request #25133: darktable: Removed unneeded dependencies, update Lua to 5.3 (master...darktable_removedeps) https://git.io/v9T6e
radvendii has quit [(Remote host closed the connection)]
takle has quit [(Ping timeout: 252 seconds)]
newhoggy has quit [(Ping timeout: 260 seconds)]
betaboon has joined #nixos
newhoggy has joined #nixos
RayNbow` has joined #nixos
RayNbow`TU has quit [(Ping timeout: 240 seconds)]
newhoggy has quit [(Ping timeout: 255 seconds)]
takle has joined #nixos
<NixOS_GitHub> [nixpkgs] garbas opened pull request #25135: Update asciinema (master...update-asciinema) https://git.io/v9T6u
takle has quit [(Ping timeout: 260 seconds)]
takle has joined #nixos
filterfish has quit [(Remote host closed the connection)]
takle has quit [(Ping timeout: 255 seconds)]
filterfish_ has joined #nixos
filterfish_ has quit [(Remote host closed the connection)]
filterfish has joined #nixos
filterfish_ has joined #nixos
filterfish has quit [(Read error: Connection reset by peer)]
<NixOS_GitHub> [nixpkgs] garbas pushed 2 new commits to master: https://git.io/v9T6F
<NixOS_GitHub> nixpkgs/master 93cacf6 Rok Garbas: asciinema: 1.3.0 -> 1.4.0
<NixOS_GitHub> nixpkgs/master 0feca1a Rok Garbas: Merge pull request #25135 from garbas/update-asciinema...
ryanartecona has quit [(Quit: ryanartecona)]
takle has joined #nixos
hamishmack has quit [(Quit: hamishmack)]
takle has quit [(Ping timeout: 252 seconds)]
jmiven has quit [(Quit: WeeChat 1.7)]
<NixOS_GitHub> [nixpkgs] taku0 opened pull request #25136: hunspell: 1.3.3 -> 1.6.1 (master...hunspell-1.6.1) https://git.io/v9TiG
jmiven has joined #nixos
hexagoxel has quit [(Ping timeout: 260 seconds)]
<NixOS_GitHub> [nixpkgs] taku0 opened pull request #25137: firefox: 52.0.2 -> 53.0 [Critical security fixes] (master...firefox-53.0) https://git.io/v9Ti8
takle has joined #nixos
carlosda1 has joined #nixos
hexagoxel has joined #nixos
takle has quit [(Ping timeout: 258 seconds)]
carlosda1 has quit [(Ping timeout: 260 seconds)]
newhoggy has joined #nixos
takle has joined #nixos
betaboon has quit [(Quit: This computer has gone to sleep)]
eacameron has quit [(Remote host closed the connection)]
Piece_Maker has joined #nixos
Acou_Bass has quit [(Ping timeout: 260 seconds)]
Piece_Maker is now known as Acou_Bass
takle has quit [(Ping timeout: 260 seconds)]
eacameron has joined #nixos
newhoggy has quit [(Ping timeout: 260 seconds)]
filterfish_ has quit [(Read error: Connection reset by peer)]
Havvy has quit [(Ping timeout: 268 seconds)]
marusich has joined #nixos
filterfish has joined #nixos
filterfish has quit [(Read error: Connection reset by peer)]
joneshf-laptop has quit [(Remote host closed the connection)]
<NixOS_GitHub> [nixpkgs] primeos opened pull request #25138: [WIP] display-managers: Fix Exec key quoting (master...display-manager) https://git.io/v9TiN
takle has joined #nixos
griff_ has quit [(Quit: griff_)]
schoppenhauer has quit [(Ping timeout: 240 seconds)]
takle has quit [(Ping timeout: 268 seconds)]
zraexy1 has joined #nixos
schoppenhauer has joined #nixos
zraexy has quit [(Ping timeout: 240 seconds)]
durham has quit [(Ping timeout: 240 seconds)]
spinus has quit [(Ping timeout: 255 seconds)]
Svarog has joined #nixos
<Svarog> Is there a way to keep a virtual user environment so the dot files created by something in a nix-shell environment don't interfere with existing dot files?
<Svarog> I suppose I can always create a new user for this, but I was wondering if there is a better way.
filterfish has joined #nixos
systemfault has quit [(Read error: Connection reset by peer)]
shanemikel has joined #nixos
vaibhavsagar has joined #nixos
griff_ has joined #nixos
carlosda1 has joined #nixos
spinus has joined #nixos
filterfish has quit [(Remote host closed the connection)]
filterfish has joined #nixos
filterfish_ has joined #nixos
filterfish_ has quit [(Remote host closed the connection)]
carlosda1 has quit [(Ping timeout: 240 seconds)]
filterfish has quit [(Read error: Connection reset by peer)]
roconnor has quit [(Quit: Konversation terminated!)]
pie_ has quit [(Ping timeout: 260 seconds)]
takle has joined #nixos
systemfault has joined #nixos
takle has quit [(Ping timeout: 260 seconds)]
filterfish has joined #nixos
iyzsong has quit [(Quit: ZNC 1.6.5 - http://znc.in)]
<clever> Svarog: something i somes do is something like HOME=/home/clever/fake-home nix-shell -A ...
mog has quit [(Read error: Connection reset by peer)]
<clever> s/somes/sometimes/
<Svarog> ah cool, that's handy
<clever> that will affect everything that just reads $HOME
<clever> not much will check /etc/passwd
mog has joined #nixos
<clever> Svarog: oh, and it will also change where ~/.config/nixpkgs/config.nix is looked for
<Svarog> ah that's a good point
<clever> i always disable that though, it can lead to "but it works for me" situations
<clever> import <nixpkgs> { config = {}; }
<Svarog> oh
<clever> this will load nixpkgs, and tell it to use {} for the config, and ignore the file
<Svarog> neat
<clever> you can then fill it in with overrides, that other devs will automaticaly get, when they clone the project
<clever> no more "but it works for me"
filterfish_ has joined #nixos
filterfish has quit [(Read error: Connection reset by peer)]
takle has joined #nixos
drp has joined #nixos
takle has quit [(Ping timeout: 260 seconds)]
vaibhavsagar has quit [(Ping timeout: 260 seconds)]
takle has joined #nixos
griff_ has quit [(Quit: griff_)]
takle has quit [(Ping timeout: 258 seconds)]
nicknovitski has quit [(Ping timeout: 260 seconds)]
marusich has quit [(Ping timeout: 252 seconds)]
carlosda1 has joined #nixos
drp has quit [(Ping timeout: 240 seconds)]
carlosda1 has quit [(Ping timeout: 268 seconds)]
filterfish_ has quit [(Read error: Connection reset by peer)]
filterfish has joined #nixos
takle has joined #nixos
griff_ has joined #nixos
Guest75137 has joined #nixos
darlan has quit [(Write error: Connection reset by peer)]
takle has quit [(Ping timeout: 240 seconds)]
takle has joined #nixos
takle has quit [(Ping timeout: 268 seconds)]
takle has joined #nixos
takle has quit [(Ping timeout: 258 seconds)]
rcschm has joined #nixos
<rcschm> hi i am trying to have vim bundle files in nix store. so i use fetchgit to pull down the code. the question is how do i reference the folder in default.nix? thanks for your help.
filterfish has quit [(Quit: Leaving)]
Havvy has joined #nixos
justbeingglad has joined #nixos
takle has joined #nixos
justbeingglad has left #nixos []
griff_ has quit [(Quit: griff_)]
eacameron has quit [(Remote host closed the connection)]
takle has quit [(Ping timeout: 240 seconds)]
nicknovitski has joined #nixos
takle has joined #nixos
robertoti has joined #nixos
carlosda1 has joined #nixos
chatter29 has joined #nixos
<chatter29> hey guys
<chatter29> allah is doing
<chatter29> sun is not doing allah is doing
<chatter29> to accept Islam say that i bear witness that there is no deity worthy of worship except Allah and Muhammad peace be upon him is his slave and messenger
chatter29 has quit [(Client Quit)]
vaibhavsagar has joined #nixos
takle has quit [(Ping timeout: 258 seconds)]
carlosda1 has quit [(Ping timeout: 268 seconds)]
griff_ has joined #nixos
griff_ has quit [(Client Quit)]
takle has joined #nixos
takle has quit [(Ping timeout: 240 seconds)]
k0ral has joined #nixos
robertoti has quit [(Ping timeout: 252 seconds)]
rcschm has quit [()]
drp has joined #nixos
<drp> hi there, can anyone give me any tips on running 3rd party shell scripts?
k0ral has quit [(Quit: WeeChat 1.7)]
<drp> I have GOG games, the one i'm trying is pillars of eternity, but the .sh fails because it can't find anything in /bin
<drp> eg, can't find /bin/rm
<drp> does anyone have tips on fixing this? Do I need to use nix-shell?
<clever> drp: just use sed to change /bin/rm to rm
<clever> its already in $PATH
Guest75137 has quit [(Ping timeout: 260 seconds)]
takle has joined #nixos
<drp> so use sed to change /bin/* everytime it doesn't find a utility?
<clever> yeah
<clever> most of those are probably in coreutils, which is always installed
chessai has joined #nixos
<drp> brutal, so nixos hates shell scripts? I know that it doesn't like global paths but I thought maybe nix-env or nix-shell would help
<clever> nix-env puts things into ~/.nix-profile/bin/ and nix-shell updates $PATH
<clever> both assume that shell script authors are sane and obey $PATH
<clever> it would be better to add /bin to $PATH, then to do /bin/rm every single time you need rm, it makes it more portable, and it it saves 5 bytes per command
takle has quit [(Ping timeout: 255 seconds)]
davidak has quit [(Quit: Leaving.)]
<drp> not sure how successfull I would be at modifying a 20GB .sh file
<clever> is that one of those scripts with 5 lines of shell code and 20gig of raw binary appended to it?
takle has joined #nixos
<drp> yes, it's how GOG packages their linux games
<clever> ah
<clever> libredirect may also be an option then
<clever> drp: setting NIX_REDIRECTS to /bin/rm=${coreutils}/bin/rm should do it
<clever> then it may work without patching
<drp> before nixos I thought GOG did it in a more sane way than steam, but steam works better on nixos, albeit it seems a lot of work went into it
<clever> steam runs under a chroot that emulates the full FHS env
<clever> because the anti-piracy stuff in a lot of games will un-patch them, and the auto-update also unpatches them
<clever> which makes it imposible to patchelf things properly
takle has quit [(Ping timeout: 268 seconds)]
<drp> libredirect seems interesting, I guess I will check this out, although depending on the game I might need to do an FHS environment if looks for libs
marsel has joined #nixos
<clever> it may also be possible to run the gog installer and point it to $out, then patchelf the products
<clever> so it runs without an FHS env
<clever> drp: can you pastebin the result of running head on the installer?
* drp slaps forehead
<drp> I FORGOT ALL ABOUT HEAD
<drp> HOW COULD I?
ambro718 has joined #nixos
<clever> strange, they use rm in most of the file
<clever> but have /bin/rm on line 467
<clever> and 518
Itkovian has joined #nixos
<clever> drp: i think the problem might be the ELF it unpacks, what happens if you just run it with --noexec --keep, and dont try to patch anything?
<clever> drp: it may also help to use --target <dir>
<drp> is not having patchelf really that bad for games? seems a little more sane to shove the misbehaving unsane file into another environment than modifying every shell script I run? It also can't find its own mojoscript on line 55
carlosda1 has joined #nixos
<drp> running --noexec and -keep created a binaries folder
<clever> do you see the main elf for the game in there?
<clever> does it contain a startmojo.sh?
<drp> I don't see the main game it only extracted 2MB, but yes it does contain the startmojo.sh
<clever> can you pastebin that one?
<clever> so if --noexec was removed, it would have unpacked, and ran that
<clever> and that line 55 makes more sense for the error you previously gave
<clever> startmojo.sh may need to be patched after the unpacking
carlosda1 has quit [(Ping timeout: 260 seconds)]
<clever> are you able to link a copy of a smaller gog game using the same system?
<drp> unfortunately no, I don't have that many, but the other game I have(Wasteland2) has the exact same error on the same lines
<drp> so it's a bug with startmojo then
<drp> thanks for your help clever
<clever> i think its more that startmojo isnt compatible with nixos, a common issue
takle has joined #nixos
garbas has quit [(Quit: WeeChat 1.6)]
<NixOS_GitHub> [nixpkgs] FRidh closed pull request #7931: python-wrapper: Wrap interpreter rather than script (master...wrapPython) https://git.io/vTKec
<drp> makes sense, someone half a decade ago hardlinks something in a script which is then copied over and over and now something new comes out which calls out the script on cheating
Itkovian has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
takle has quit [(Ping timeout: 268 seconds)]
<drp> the guy probably never thought /bin/rm wouldn't exist
<clever> yeah
batdog has quit [(Quit: Bye)]
takle has joined #nixos
FRidh has joined #nixos
takle has quit [(Ping timeout: 260 seconds)]
<clever> drp: ive done the same, i used #!/bin/bash for ages, then one day i discovered ubuntu replaced bash with dash because its "faster"
<drp> lolwhat, ubuntu's default is dash?
<clever> many years ago it was
<clever> back when my primry system was a P2
<drp> I've always toyed with OpenBSD so by habit I used sh, I cried trying to use FreeBSDs csh
<drp> sh, it just werks
batdog has joined #nixos
<clever> yeah
ogkloo has quit [(Ping timeout: 240 seconds)]
Hunner has quit [(Ping timeout: 264 seconds)]
<clever> and on nixos, /bin/sh and /usr/bin/env are the only things in FHS locations
<drp> but for the most part I just don't touch scripting, kde and xorg have gotten so much better that I rarely find myself in the shell nowadays, bit sad really, I'm losing what little skills i had
<clever> so you need to use #!/bin/sh, or patch everything
simukis__ has joined #nixos
marsel has quit [(Ping timeout: 255 seconds)]
<NixOS_GitHub> [nixpkgs] Ma27 opened pull request #25140: Add configuration params for oh-my-zsh (master...zsh/oh-my-zsh-config) https://git.io/v9TSU
<drp> whelp, that nix-shell example worked :p
<clever> something that i think would be usefull for many, is to make a nix expression that takes a gog blob, and patches it
<clever> so you can just run nix-build to patch any game
<MichaelRaskin> DavidEGrayson: I actually implemented having a lot of small pieces that Nix can choose and compose instead of monolithic shell setup; people complained it was too complicated. And I guess moving everything to such an approach could hit the Nix performance wall somewhere
simukis__ is now known as simukis
simukis is now known as simukis_
simukis_ has quit [(Quit: simukis_)]
<drp> I wonder if they will just appimage/flatpack games going forward
<drp> you would hope that the nixos way will take over but everyone is doing the docker instead
andrew[m] has quit [(Ping timeout: 240 seconds)]
sziszi[m] has quit [(Ping timeout: 240 seconds)]
<drp> nixos and guixsd are the only ones i'm aware of
simukis_ has joined #nixos
andrew[m] has joined #nixos
corngood has quit [(Ping timeout: 240 seconds)]
corngood has joined #nixos
alain[m] has quit [(Ping timeout: 240 seconds)]
sziszi[m] has joined #nixos
primeos[m] has quit [(Ping timeout: 240 seconds)]
Ralith has quit [(Ping timeout: 260 seconds)]
xj9[m] has quit [(Ping timeout: 240 seconds)]
zetok has quit [(Ping timeout: 255 seconds)]
aKriJcz has joined #nixos
qrilka[m] has quit [(Ping timeout: 240 seconds)]
takle has joined #nixos
hamishmack has joined #nixos
endformationage has quit [(Quit: WeeChat 1.7)]
herzmeister[m] has quit [(Ping timeout: 240 seconds)]
primeos[m] has joined #nixos
xj9[m] has joined #nixos
dbmikus has quit [(Ping timeout: 260 seconds)]
qrilka[m] has joined #nixos
zetok has joined #nixos
dbmikus has joined #nixos
takle has quit [(Ping timeout: 268 seconds)]
takle has joined #nixos
garbas has joined #nixos
carlosda1 has joined #nixos
takle has quit [(Ping timeout: 240 seconds)]
Ralith has joined #nixos
Hoolootwo has quit [(Ping timeout: 255 seconds)]
carlosda1 has quit [(Ping timeout: 260 seconds)]
alain[m] has joined #nixos
herzmeister[m] has joined #nixos
MP2E has quit [(Quit: leaving)]
mudri has joined #nixos
takle has joined #nixos
thc202 has joined #nixos
<NixOS_GitHub> [nixpkgs] kevincox opened pull request #25142: etcd: 3.0.6 -> 3.1.6 (master...etcd-3.1.6) https://git.io/v9THs
newhoggy has joined #nixos
systemfault has quit [(Quit: Bye!)]
kampfschlaefer has joined #nixos
dmi3y has joined #nixos
aKriJcz has quit [(Ping timeout: 268 seconds)]
slyfox_ is now known as slyfox
dmi3y has quit [(Client Quit)]
dmi3y has joined #nixos
Svarog has quit [(Quit: Ex-Chat)]
carlosda1 has joined #nixos
<NixOS_GitHub> [nixpkgs] joachifm pushed 6 new commits to master: https://git.io/v9TQc
<NixOS_GitHub> nixpkgs/master 1b3300b Joachim Fasting: nixos/tests/misc: check hidepid mount via /proc/mounts
<NixOS_GitHub> nixpkgs/master 063ac40 Joachim Fasting: nixos: add a "hardened" profile...
<NixOS_GitHub> nixpkgs/master 160b9ab Joachim Fasting: runit: explain what static actually does
<sphalerite> drp: I doubt nixos will *lose* anything to docker, appimage, flatpak and friends, because it has technical advantages that none of the other systems address. Nixpkgs shows that there are ways to get even the most uncooperative software to work in the system. I think that either nixos will prevail, or it'll get replaced by something even better.
<NixOS_GitHub> [nixpkgs] joachifm closed pull request #24680: nixos: add a "hardened" profile (master...hardened-nixos) https://git.io/vS2S8
chakerbenhamed has joined #nixos
<NixOS_GitHub> [nixpkgs] 7c6f434c pushed 2 new commits to master: https://git.io/v9TQu
<NixOS_GitHub> nixpkgs/master 5bcaeda taku0: hunspell: 1.3.3 -> 1.6.1
<NixOS_GitHub> nixpkgs/master 8611d92 Michael Raskin: Merge pull request #25136 from taku0/hunspell-1.6.1...
carlosda1 has quit [(Ping timeout: 260 seconds)]
<NixOS_GitHub> [nixpkgs] 7c6f434c closed pull request #25137: firefox: 52.0.2 -> 53.0 [Critical security fixes] (master...firefox-53.0) https://git.io/v9Ti8
newhoggy has quit [(Remote host closed the connection)]
<NixOS_GitHub> [nixpkgs] 7c6f434c closed pull request #24549: qemu: 2.8.0 -> 2.8.1 (master...qemu-2.8.1) https://git.io/vSlEp
<7IZAAFFSB> [nixpkgs] 7c6f434c pushed 2 new commits to master: https://git.io/v9TQo
<7IZAAFFSB> nixpkgs/master 160a840 Volth: qemu: 2.8.0 -> 2.8.1
<7IZAAFFSB> nixpkgs/master f45f2fb Michael Raskin: Merge pull request #24549 from volth/qemu-2.8.1...
<NixOS_GitHub> [nixpkgs] 7c6f434c pushed 1 new commit to release-17.03: https://git.io/v9TQy
<NixOS_GitHub> nixpkgs/release-17.03 7b80438 Volth: qemu: 2.8.0 -> 2.8.1
dmi3y has quit [(Quit: dmi3y)]
elpea has joined #nixos
<hyper_ch> hmmm, syncthing won't work anymore for me
<NixOS_GitHub> [nixpkgs] FRidh pushed 1 new commit to staging: https://git.io/v9T7m
<NixOS_GitHub> nixpkgs/staging 4fc9b18 Frederik Rietdijk: Merge remote-tracking branch 'upstream/master' into HEAD
newhoggy has joined #nixos
newhoggy has quit [(Ping timeout: 240 seconds)]
<sphalerite> hyper_ch: how do you use it?
<NixOS_GitHub> [nixpkgs] Mic92 pushed 1 new commit to master: https://git.io/v9T7X
<NixOS_GitHub> nixpkgs/master 44c3726 Jörg Thalheim: fcron: install systab...
<sphalerite> I just launch it from my terminal, it's still working for me
<hyper_ch> sphalerite: already fixed it... seems my indexing db was broken
<hyper_ch> rm -Rf /path/to/syncthing/folder/index-v0*
<NixOS_GitHub> [nixpkgs] Mic92 pushed 1 new commit to release-17.03: https://git.io/v9T7y
<NixOS_GitHub> nixpkgs/release-17.03 a400bbb Jörg Thalheim: fcron: install systab...
carlosda1 has joined #nixos
carlosda1 has quit [(Ping timeout: 240 seconds)]
Guest75137 has joined #nixos
xadi has joined #nixos
<MarcWeber> nix-build -A php56Packages fails due to assertions, is there a simple way to ignore the assertions?
elpea has quit [(Ping timeout: 240 seconds)]
<ToxicFrog> So here's a question: I'm on a really unreliable net connection. I want to install a package that's about 400MB, but the connection drops before I can download that much, and nix-env/nixos-rebuild don't support resumes.
<ToxicFrog> Is there a way I can download the .nar.xz using something that does support resumes, then install from the local copy?
<jophish> I've added some authorizedKeys for a user and have run nixos-rebuild switch however I'm still promoted for a password when logging in as that user
<NixOS_GitHub> [nixpkgs] 7c6f434c pushed 2 new commits to release-17.03: https://git.io/v9TFL
<NixOS_GitHub> nixpkgs/release-17.03 a2b8e14 Michael Raskin: hunspell_1_6: init at 1.6.1 (ported from update by taku0 on master)
<NixOS_GitHub> nixpkgs/release-17.03 b2badb9 Michael Raskin: firefox: 52.0.1 -> 53.0. A hopefully correct port of a patch by taku0.
<jophish> Is there something obvious I'm missing
<ToxicFrog> jophish: run ssh with -vvv and see what it says
<ToxicFrog> Usually the obvious thing you're missing is that the permissions on something in ~/.ssh are wrong
<spacefrogg> ToxicFrog: try downloading it with curl -C
<ToxicFrog> spacefrogg: I know how to download it, the question is how do I get nix-env to accept it afterwards
<spacefrogg> ToxicFrog: After that do nix-prefetch-url on the local file. If it is intact you should end up with the right hash in the store
<ToxicFrog> Aah, awesome.
<ToxicFrog> Thanks.
<spacefrogg> yw
<jophish> ToxicFrog: This is the output, my key is offered https://gist.github.com/6911f3c10a60ee4ded58e1fb9aea7f84
<jophish> All of this is just from configuration.nix, it would be quite odd if the permissions were wrong
<Dezgeg> I doubt that will work though. I think you could download the nar + narinfo with the same filenames to a local folder, then pass --option extra-binary-caches file:///path/to/nars
<jophish> hmm /etc/ssh/authorized_keys.d/jophish is owned by root, (but readable by all)
<ToxicFrog> jophish: that looks correct
<ToxicFrog> It's the same for me and public key authentication works fine
<jophish> perhaps I'd as simple as I typed the publik key incorrectly in configuration.nix
<ToxicFrog> Do the contents of the file look correct? No extraneous newlines, contents match ~/.ssh/id_rsa.pub, etc?
<jophish> as badly as I typed that sentence perhaps...
<jophish> ah, I think that's it
<jophish> thanks for the help, ToxicFrog!
* ToxicFrog quacks
<ToxicFrog> You're welcome :)
<jophish> hahah
<MichaelRaskin> ToxicFrog: I would try fetching the NAR however you can (axel, maybe?) and nix-prefetch-url file:///path/to/nar/narfile.nar.xz and retrying
<MichaelRaskin> Looks like binary cache code does try to fetch from store before going to server
BlessJah has joined #nixos
Wizek_ has joined #nixos
carlosda1 has joined #nixos
<MarcWeber> @ ToxicFrog Long time ago I tried submitting a patch for continuing fetching src - the problem you describe does not only apply to nar, but also to src. It was not accepted that time. Of course you can always install to a v-server (with good connection), export nar to file, rsync it (using --continue), then import ..
<MarcWeber> You can script it. It is a solution you can get up and runnig fast, but might not be the best one.
<BlessJah> is there problem with nixos channels and website?
<MichaelRaskin> Definitely not with the website
<MarcWeber> ToxicFrog: If you create nars on the fly I've no idea whether file contents are exactly the same always. If its not the same always you have to cache (how long)? .. So if you want to implement such there could be some things to ensure.
exarkun has quit [(Read error: Connection reset by peer)]
<MichaelRaskin> OK, I was wrong
carlosda1 has quit [(Ping timeout: 268 seconds)]
<MichaelRaskin> OK, there is a simple solution
<MichaelRaskin> No external box needed
<ToxicFrog> MarcWeber: it's not on the fly; I'm downloading it from cache.nixos.org
<MichaelRaskin> ToxicFrog: MarcWeber: create a directory like /tmp/cache, download (with relative path preserved) nix-cache-info, narinfo and nar.xz (the latter into nar/) there
<MichaelRaskin> Then you have something that can work as --option binary-caches file:///tmp/cache
<MarcWeber> ToxicFrog: If there is no implementation then for src= you'd need an impure cache directory (which would be fine because the src files get checked by sha256) and patch fetchurl. For substitution I don't know the code.
JagaJaga has joined #nixos
<ToxicFrog> MarcWeber: "no implementation"?
<ToxicFrog> The package is wesnoth-dev, for the curious, and it's built on Hydra and available as a binary.
<MarcWeber> ToxicFrog: I didnt' follow all commits. Its likely that it hasn't been done - but I'm not 100% certain.
exarkun has joined #nixos
<MichaelRaskin> ToxicFrog: my approach is likely to have slightly more manual steps, but should be simpler for small values of N (like N=1, just get the Wesnoth)
<ToxicFrog> MarcWeber: what hasn't been done?
<MarcWeber> So find the code "fetching from binary caches" and create a patch which can be opted in?
<MarcWeber> Maybe there are more ways such as openvpn tunnels to fetch packages so that you can reestablish broken connections and continue.
<NixOS_GitHub> [nixpkgs] joachifm closed pull request #25111: Gitlab runner update (master...gitlab-runner-update) https://git.io/v9Tve
<ToxicFrog> I no longer have any idea what you're talking about.
<MarcWeber> ToxicFrog: "Is there a way I can download the .nar.xz using something that does support resumes"
<MarcWeber> Why do you want to resume? Either because your IP changed (lost conneciton) or because you're restarting your machine.
<MichaelRaskin> MarcWeber: you have an unrealistic expectation of reliability
<MarcWeber> In the first case some indirection (such as openvpn to a v-server) could solve you issue because the download connection will stay the same even if your IP changes.
<MichaelRaskin> I think the real question is a semi-broken NAT with a fixed low probability of connection failure per second
<MarcWeber> MichaelRaskin: Maybe you're right - just remember some ssh connection software which allowed such - forgott about its name.
<ToxicFrog> MarcWeber: because I'm on a very unreliable 32KBps connection and the idea that it might stay up long enough to download 350MB is completely laughable
<MarcWeber> Anyway I feel the pain because I had slow connection in the past..
<MarcWeber> And using curl manually over and over again is not a true fix.
peacememories has joined #nixos
<MarcWeber> A true fix is add a /var/nix-download-cache direcotry adding the files hashed by url so that --continue can be used .. and allow opting in.
<ToxicFrog> Anyways, the question wasn't "how do I download it using something that supports resumes", like I said I solved that problem already
<MarcWeber> For fetchurl I implemented such in the past and my patch got rejected.
<ToxicFrog> The question is "having downloaded it, how do I then feed it to nix-env so it doesn't try to re-download it", and I've gotten like four answers to that that I'm going to try once it finishes.
<MichaelRaskin> ToxicFrog: disregard my nix-prefetch-url answer
<MichaelRaskin> I checked, and it doesn't work
<ToxicFrog> Boo.
<ToxicFrog> That seems like it would be a useful thing for nix-prefetch-url to support
<MarcWeber> MichaelRaskin: If it doesn't work how does the VirtualBox extra packages thing work?
<MichaelRaskin> But my file:///tmp/cache answer does work
<ToxicFrog> My original plan was to remount /nix/store rw and unpack the nar into it
<MarcWeber> Its because its nar not src file, right?
<MichaelRaskin> Nope
<MichaelRaskin> MarcWeber: yes, because it is not supposed to be stored in store at any moment
<spacefrogg> ToxicFrog: Fifth: Find out the /nix/store path it has to go to and use nix-store --import or --restore
<MichaelRaskin> src file goes to store, so if it is there, good
sophiag has quit [(Ping timeout: 268 seconds)]
ixxie has joined #nixos
<spacefrogg> ToxicFrog: nix-env will tell you where it plans to put wesnoth
<Dezgeg> fifth is also wrong (you will lack the dependency information from the .narinfo) :)
xadi has quit [(Quit: Leaving.)]
<MarcWeber> ToxicFrog: You still have a databse where paths get registered.
<MichaelRaskin> «I don't care about common sense» approach: squid with a url-rewriter program that checks if a file with some name is in the cache and replaces the request with the cached file, if yes
<spacefrogg> Dezgeg: That is another problem as he would have to download the other NARs separately
xadi has joined #nixos
<MichaelRaskin> (this is invisible for the client of Squid Cache, and Nix can be asked to use proxy)
<ToxicFrog> It looks like it fetched all the other NARs already
<ToxicFrog> They're all pretty small
<spacefrogg> Then feed them on stdin to --import
<Dezgeg> you won't get a format suitable for --import from hydra
<MarcWeber> MichaelRaskin: the continuation would be interesting if nixos-rebuild build fails... Because multiple fetches might have been running.
<MarcWeber> If you get libreoffice sources or such continuation does make sense.
<spacefrogg> manpage says that --export just produces a nar. So I would expect I could import any NAR.
<MichaelRaskin> MarcWeber: we do need a better management of failing builds, to be honest
<MarcWeber> MichaelRaskin: How should it look like?
<MarcWeber> The perfect system would estimate remaining time based on CPU power and previous experience as well ..
<MichaelRaskin> If I build A dependent on B and C, and D depending on B and E and build of C fails, right now the build of B gets aborted, then restarted for D
<Dezgeg> nix-store --dump gives a nar, nix-store --export doesn't
<MichaelRaskin> In the abstract sense, build of A should fail and hand over the build of B to whomever was blocking on it
<spacefrogg> Dezgeg: that is not what the manpage says.
<spacefrogg> Dezgeg: You may be right, nonetheless.
<Dezgeg> "The operation --export writes a serialisation of the specified store paths to standard output in a format that can be imported into another Nix store with nix-store --import. This is like nix-store --dump, except that the NAR archive produced by that command doesn’t contain the necessary meta-information to allow it to be imported into another Nix store (namely, the set of references of the path)."
<Dezgeg> the only word "NAR" here refers to nix-store --dump
<MarcWeber> MichaelRaskin: AFAIK hydra has kind of "negative caching" no idea on what level it got implemented. Don't know details.
newhoggy has joined #nixos
<lassulus> I have 2 packages which have the same binary, I want both installed but want to specify which package is preferred, what is the intended way to do this?
<spacefrogg> Okay, I am obviously lacking reading comprehension.
<MichaelRaskin> MarcWeber: I talk not about the failing build restarted, I talk about the non-failing one being killed because it was a sibling of a failing one
<MichaelRaskin> Transient vs non-transient vs random is a separate annoying issue
<Dezgeg> it certainly is confusing since it's explaining what nix-store --dump is doing under the description of nix-store --export
<spacefrogg> --restore, then
xadi has quit [(Ping timeout: 258 seconds)]
<MarcWeber> MichaelRaskin: --keep-going is closer to what you want ?
<Dezgeg> --restore doesn't write to the store but to the filesystem
<MichaelRaskin> MarcWeber: sometimes but not always
<spacefrogg> Gnah, why doesn't the manpage say so?
<MarcWeber> nix-build -A --keep-going -> exit code > 0 but message "kept going in background finishing compilation of ..." is sometimes what you want but not always.
newhoggy has quit [(Remote host closed the connection)]
<MichaelRaskin> Sometimes I do not want _new_ dependency builds to be started as a part of the failed build
<Dezgeg> or I certainly hope it does because otherwise you get screwed dependency info in your store
<MichaelRaskin> And I may even want the existing builds not needed by separate ongoing builds to be stopped
yumbox has joined #nixos
<MichaelRaskin> But the builds needed by another build running at the same time are a different story
<yumbox> when will firefox 53 be available as binary?
<MichaelRaskin> Well, you can get firefox-bin…
<MichaelRaskin> Hydra scheduling is hard to predict
<MarcWeber> MichaelRaskin: So you want "ownership" of builds -> multiple owners -> don't stop.
<MichaelRaskin> Yes
<yumbox> MichaelRaskin: i currently have "firefox", but I haven't had it to build it.
<MichaelRaskin> yumbox: as I said, this is a question of Hydra scheduling
<yumbox> yeah, but it's out for several days already.
<yumbox> shouldn't that mean the build is already available?
<MichaelRaskin> It was also not updated in the master branch immediately
<yumbox> I'm on unstable by the way
<MichaelRaskin> As in, channel?
<yumbox> yes
<MichaelRaskin> No idea if there are failing tests that will keep channel back even after Firefox 53.0 is actually available in the binary cache…
<yumbox> how could i check what version is in cache?\
<MichaelRaskin> Actually, there is a fresh version in the cache now
<yumbox> 26 minutes I've had to go with old software, the horror
<MichaelRaskin> You are on a channel, so you have a lot more to wait
<yumbox> :(
<yumbox> how can I get it myself?
<MichaelRaskin> You can nix-store -r the path…
<yumbox> how do I do that?
<MichaelRaskin> Have you read the Nix manual?
<yumbox> not the entire thing ofcourse
<MichaelRaskin> nix-store -r /nix/store/hash-package-version
<MichaelRaskin> Why of course…
<yumbox> it's very long...
newhoggy has joined #nixos
bennofs has joined #nixos
<bennofs> What's the current recommended way to deal with dependencies on icon themes in GTK applications?
<yumbox> MichaelRaskin: it doesn't mention "nix-store -r" in the manual.
<spacefrogg> yumbox: --realise
<clever> yumbox: its in the man page
<MichaelRaskin> The string as is can be found in the online version of the manual, even in the correct --realise section
<clever> nix-store {--realise | -r} paths... [--dry-run]
<clever> yumbox: and yeah, the man page is confusing, it seems to start over repeatedly, the layout is not what i'm used to
newhoggy has quit [(Ping timeout: 255 seconds)]
<yumbox> MichaelRaskin: not here https://nixos.org/nixos/manual/
<MichaelRaskin> It is _NixOS_ manual not Nix manual
<yumbox> well, that's not clear
<bennofs> yumbox: there's 3 manuals around nix things: NixOS manual, nixpkgs manual, Nix manual
<MichaelRaskin> The first large header states that what you link is NixOS manual
<NixOS_GitHub> [nixpkgs] Lassulus opened pull request #25144: weechat: 1.7 -> 1.7.1 (master...weechat) https://git.io/v9TNW
yumbox has left #nixos []
<NixOS_GitHub> [nixpkgs] Mic92 pushed 1 new commit to master: https://git.io/v9TNB
<NixOS_GitHub> nixpkgs/master 9ec64d2 Maximilian Bosch: oh-my-zsh: add module (#25140)...
<NixOS_GitHub> [nixpkgs] bennofs closed pull request #25134: ripgrep: 0.5.0 -> 0.5.1 (master...ripgrep_update) https://git.io/v9T6v
peacememories has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
carlosda1 has joined #nixos
<NixOS_GitHub> [nixpkgs] Mic92 closed pull request #25144: weechat: 1.7 -> 1.7.1 (master...weechat) https://git.io/v9TNW
peacememories has joined #nixos
carlosda1 has quit [(Ping timeout: 240 seconds)]
mudri has quit [(Ping timeout: 260 seconds)]
<joepie91> MichaelRaskin: it's not obvious to new users that there are different manuals, or why there are different ones, or how they relate to each other.
peacememories has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
<joepie91> MichaelRaskin: a new user just sees "the manual".
<joepie91> I suspect that's what yumbox meant with "that's not clear"
<NixOS_GitHub> [nixpkgs] zimbatm pushed 1 new commit to master: https://git.io/v9TAG
<NixOS_GitHub> nixpkgs/master 37b0be6 Nick Novitski: bundix: 2.0.8 -> 2.1.0 (#25129)
<gchristensen> even we don't say "check the ___ manual" just "have you read the manual?"
<joepie91> I also want to point out that expecting people to frontload the entire manual(s) upfront is not realistic
<MichaelRaskin> I have a feeling that using NixOS (or Nix) still requires a lot of somewhat basic background knowledge, but we fail to convey it
<joepie91> given how large they are and how much seemingly irrelevant content it holds to a new user
<gchristensen> MichaelRaskin: same
<MichaelRaskin> gchristensen: speak for yourself, I actually do mention them by name
<gchristensen> MichaelRaskin: I noticed you did
<joepie91> MichaelRaskin: gchristensen: what is currently primarily missing is a bird's eye view of the different pieces, how they fit together, and how it differs from / translates to the concepts they are already familiar with (ie. a frame of reference)
<ixxie> joepie91: that hits the nail on the head; I wrote a post to the mailing list a while back proposing an infographic to do precisely this, an overview of the Nix Ecosystem
<MichaelRaskin> Basically, for the people who do understand the required background, it is obvious that there is a package manager, there is a package collection and then there is a distro
<ixxie> people sent some material for it, and I was gonna make it, but I still don't feel I understand enough to do it
<MichaelRaskin> And then some things become really annoying to find out which pieces someone could miss
<joepie91> ixxie: I am unfortunately in the same position :(
<ixxie> (I can do the graphics if people can tell me what needs to be made xD_
<joepie91> MichaelRaskin: right, but it's not as clear-cut as package manager vs. distro - for example, there's a configuration management component on NixOS, and for somebody who comes from a distro that doesn't *have* configuration management, it's unclear where it fits in
<joepie91> MichaelRaskin: is it a feature of Nix the package manager? of NixOS the distro? of both? is the functionality there in Nix on non-NixOS but simply never called? etc.
<MichaelRaskin> Well, people who knoe a few of the catches on the line like Mint-vs-Ubuntu-vs-Debian do have some expectations in this direction
<ixxie> joepie91: here is the thread, if you wanna check out the graphics people sent: https://mailman.science.uu.nl/pipermail/nix-dev/2016-November/022200.html
<joepie91> the problem is that Nix* introduces a bunch of new mechanisms and concepts that 'traditional' distros simply do not have or do entirely differently, so for somebody missing the technical background (and the rationale on how things came to be), it's totally unclear what goes where or why/how it works
<MichaelRaskin> But yes, I am not sure only documentation is missin
<joepie91> and it just looks like 'magic' to them
k0ral has joined #nixos
<gchristensen> joepie91: I've taken the stance that nix is magic, as it is indestinguishable from magic for brand new users coming from less good distros
<ixxie> joepie91: worst still is when you don't know how things are in a 'normal' distro / software package, because a lot of tutorials for Nix stuff assume that sort of knowledge
<joepie91> ixxie: which contrasts and explains NixOps and Disnix
<gchristensen> and then use that a an opportunity to peek behind the curtain :)
<NixOS_GitHub> [nixpkgs] 7c6f434c pushed 1 new commit to master: https://git.io/v9TAX
<NixOS_GitHub> nixpkgs/master 1931ad0 Volth: qemu: 2.8.1 -> 2.9.0
<joepie91> gchristensen: right. but if you can't explain the tricks, it will keep looking like magic, and people will eventually feel like they'll never master the tricks
<joepie91> gchristensen: like, fundamentally I don't believe Nix is very complex, there's just a lot of tooling and abstractions around it, and lots of work to fit things into the model... but it's not clear where one part starts and where another part ends
<bennofs> I believe what we actually lack is a coherent, tutorial style documentation
<bennofs> what we have is more of a reference with pieces of examples interleaved
<joepie91> bennofs: correct
<joepie91> I really should finish that documentation rant shouldn't I...
<bennofs> we need something that goes from start to "here's where you find more information if you need it"
<joepie91> hold on, let me paste an unfinished excerpt
<gchristensen> I'd prefer you worked on docs instead of the rant :P
<ixxie> cheers joepie91
<bennofs> gchristensen: +1
<ixxie> looks interesting
<joepie91> gchristensen: I would if I could
<joepie91> I don't even have all the pieces myself yet
<gchristensen> that is probably fne
<joepie91> gchristensen: I'm now at the point of "I know what I don't know"
<bennofs> Btw, does anyone have any ideas about why <insert some language framework> wasn't implemented <insert some other possibility to implement support for it in nixpkgs>?
<MichaelRaskin> gchristensen: wasn't magic for me after LFS…
<joepie91> bennofs: gchristensen: an excerpt from the thing I was writing: https://gist.github.com/joepie91/79042fa6bf69a8c6cfd53407361638a4
<joepie91> note: not proofread yet
<joepie91> there may be errors
<MichaelRaskin> gchristensen: joepie91: random pieces of documentation are less useful for making a roadmap than a rant, though
<joepie91> MichaelRaskin: you beat me on my own comment :P I was going to say that another reason the rant is important, is that documentation isn't a one-man job, and unless the current issues with the documentation are clearly articulated, there can't be an effective collaborative effort on fixing them
<spacefrogg> I liked the nix pills… they gave me a good start into the topic
<joepie91> so if I can spend a few hours either 1) writing about the current problems and how to solve them, or 2) actually solving the problems, then given >1 documentation writers option 1 will be more effective because it allows more people to work on fixing the issue
<MichaelRaskin> And it's not like Nix* community is known for miracles of collective decision-making, either!
<spacefrogg> It's a pity they are not officially promoted.
<joepie91> on reading back that excerpt, I realize i'm not being clear enough in the 'conceptual documentation' section...
<NixOS_GitHub> [nixpkgs] 7c6f434c pushed 1 new commit to release-17.03: https://git.io/v9TAb
<NixOS_GitHub> nixpkgs/release-17.03 bfff241 Volth: qemu: 2.8.1 -> 2.8.1.1
<ixxie> bennofs: I agree bennofs about the need for tutorial stuff, I recently had to post a question on Stackoverflow on how to package a simple shell script in Nix xD
<joepie91> clarification: some of the differences between conceptual documentation and tutorials are that 1) conceptual documentation doesn't assume linearity in reading/learning, and 2) it explains how something *works*, rather than how to *do* it (like a tutorial would)
<bennofs> ixxie: I think conceptual stuff is much more important right now
phreedom has joined #nixos
<joepie91> ixxie: bennofs: further excerpt on the nix pills: https://gist.github.com/joepie91/38a072e570752ea4071623892c924349
* joepie91 is just copypasting finished bits from his in-progress rant now :P
<bennofs> ixxie: if you understand the concepts, you should be able to figure out how to package a shell script yourself (although a "how to package X" may be useful too)
justbeingglad has joined #nixos
<ixxie> bennofs: I understand the basic concepts, but in this case the gap of knowledge was in knowing something which seems to most so basic it didn't need to be mentioned: that putting a script in /bin will automatically make it excecutable
<NixOS_GitHub> [nixpkgs] grahamc pushed 10 new commits to master: https://git.io/v9Txf
<NixOS_GitHub> nixpkgs/master 0ceb82d Graham Christensen: perlPackages.SetIntSpan: init at 1.19
<NixOS_GitHub> nixpkgs/master 76cea3d Graham Christensen: perlPackages.BusinessHours: init at 0.12
<NixOS_GitHub> nixpkgs/master a9f8912 Graham Christensen: perlPackages.CSSMinifierXP: init at 1.02
<gchristensen> ixxie: it does?
<MichaelRaskin> Well, executable bit still has to be set
<joepie91> heh :P
<MichaelRaskin> ixxie means adding to PATH
<MichaelRaskin> (at least I hope so)
lassulus has quit [(Remote host closed the connection)]
<gchristensen> ah
<ixxie> yes :P
<gchristensen> same, MichaelRaskin
<ixxie> I do
lassulus has joined #nixos
<gchristensen> there goes some "assumed background knowledge" :P
<joepie91> actually, meh, I'm going to finish my documentation rant now I think
<ixxie> yes
<ixxie> exactly
<joepie91> and finally post it on the issue tracker
<joepie91> several months overdue, I'm pretty sure :P
lassulus has quit [(Changing host)]
lassulus has joined #nixos
<MichaelRaskin> I think we are misleading with NixOS config description: it looks like a weird INI syntax, then suddenly you _do_ need to know that it is a Turing-complete purely-functional interpreted programming language
<MichaelRaskin> Lazily evaluated, too
<ixxie> joepie91: let me know if this turns into a documentation sprint, I would love to help if I can
<joepie91> MichaelRaskin: I've found https://medium.com/@MrJamesFisher/nix-by-example-a0063a1a4c55 invaluable in this respect
<MichaelRaskin> I cannot judge effectiveness of such things, to be honest
<joepie91> ixxie: heh, I hope it will. my #1 concern is helping the people that already know Nix* understand the problems with the documentation - it can be hard to understand what new users struggle with if you're not already an experienced documentation writer
<bennofs> wasn't there also this thing that was like learngitbranching teaching nix in some interactive way
<MichaelRaskin> I created a complicated tangle of unionfs mounts for my LFS, then found Eelco Dolstra's PhD thesis, easily read it in full, decided that's what I would design if ready to plunge that many time in details and switched easily
<FRidh> anyone knows how to extract comments from a tarball? GitHub adds the revision as a comment to their tarballs
<MichaelRaskin> Tar format has comments?
<joepie91> ixxie: but yeah, my skills are currently in documentation writing, not in Nix. so while I can't effectively write documentation for Nix myself (yet), I *can* write documentation on how to write documentation... which will hopefully help experienced Nix users fix the documentation :)
<FRidh> MichaelRaskin: Apparently. I noticed ark showing the revision as a comment.
justbeingglad has left #nixos []
<MichaelRaskin> And it can only _add_ comments to RAR?
<FRidh> oh, wait, I downloaded a zip this time
<FRidh> nevermind
<bennofs> joepie91: hmm, i think many people (including me) would be happy to answer all your questions regarding Nix etc if you want to help writing documentation ;)
<joepie91> bennofs: right, but it's not that simple. to really go in-depth effectively, I would need to reserve hours of people's time, which is usually a difficult thing to arrange
<bennofs> Ah, Tour of Nix was the interactive tutorial I was talking about
<joepie91> bennofs: and I've found that people who have difficulty writing clear documentation, often also have difficulty communicating knowledge to new users in person :P which is an efficiency problem
<joepie91> so I'd rather try and address the root cause
<joepie91> answering questions on IRC and writing documentation require a roughly similar skillset
<joepie91> (to do it effectively)
<bennofs> joepie91: except that you don't have to formulate your answers on IRC into coherent documents :)
<joepie91> bennofs: you do, though, if you want to communicate things effectively. they're just very small documents and not intended for a generic audience :)
marsel has joined #nixos
<NixOS_GitHub> [nixpkgs] zx2c4 opened pull request #25146: linux-chromiumos: remove 3.14 (master...remove-old-chromiumos) https://git.io/v9Txu
* gchristensen hard disagrees
<joepie91> that's the biggest difference between the two - a generic, unknown audience vs. a known audience whose background you more or less understand
<MichaelRaskin> Documentation is more functional and IRC is more imperative
<bennofs> joepie91: i'm much better at teaching interactively vs teaching without interaction
<bennofs> (at least that's what I think :)
<joepie91> (it's also why for example for Node.js, I generally only write docs on things once I've answered questions on the topic for multiple people - it helps me establish what the typical background knowledge on the topic is like, so I can anticipate that in the generic docs)
<joepie91> bennofs: right, that's probably because of the 'unknown audience' thing
<joepie91> you ideally want to provide precisely as much detail as the reader needs to understand it, and no more - but if you start out by writing generic docs, how do you know how much detail the reader needs?
<joepie91> this is much easier on IRC where you can use real-time feedback to determine their background
<joepie91> that doesn';t mean that you're better at teaching interactively; it means that teaching interactively is *inherently easier* :P
<joepie91> (from a communication POV anyway)
newhoggy has joined #nixos
<ixxie> One of the things I noticed is that a lot of the documentation I read was geared to a different usecase
<joepie91> anyhow, I would say that doing technical writing (including documentation) is just something that's hard-to-impossible to do effectively if you haven't gained an understanding upfront of how much detail people typically need on the topic... which is why starting out by answering questions in real-time is a great path to better generic documentation
<joepie91> because it tells you precisely what people typically struggle with, where the weak points of the current docs are, what frame of reference people consider things in, etc.
<joepie91> ixxie: if I had to make a guess, this is documentation that was written by people who had that specific usecase
<ixxie> for example, a lot of stuff tells you how to install things 'imperatively' with nix-env, as opposed to declaratively in the config
<MichaelRaskin> Which is also why bad documentation is easier to read than good ones
<manveru> anyone have experience with radicale on nixos?
newhoggy has quit [(Ping timeout: 240 seconds)]
<ixxie> joepie91: so we have to consider 1. use-case, including context and 2. user background
<gchristensen> I'm considering breaking my 10 year moratorium on running my own email server ... uguh
<ToxicFrog> gchristensen: it's a trap
<NixOS_GitHub> [nixpkgs] lethalman pushed 1 new commit to master: https://git.io/v9Tx7
<NixOS_GitHub> nixpkgs/master fa652ce Luca Bruno: Fix node2nix installation instructions in README
<ToxicFrog> MichaelRaskin: so you said to download the nar.xz, the nix-cache-info, and the narinfo
<ToxicFrog> Where's the narinfo?
<joepie91> ixxie: right. but ideally, explain the concepts by themselves, without assuming a specific usecase, and then provide some 'glue information' like "for example, in <specific usecase> you'd use it like such, and in <other specific usecase> you'd use it like such, and..."
<joepie91> ixxie: one sec
<clever> ToxicFrog: given /nix/store/hash-name-version/, the narinfo is at https://cache.nixos.org/hash.narinfo
<joepie91> ixxie: so I wrote this article a while ago, as an experiment on accommodating multiple types of readers/learners: http://cryto.net/~joepie91/blog/2015/05/04/functional-programming-in-javascript-map-filter-reduce/
<clever> ToxicFrog: and the narinfo has the url to the .nar.xz (which may not be xz)
<MichaelRaskin> ToxicFrog: https://cache.nixos.org/[hash of the store path].narinfo
<gchristensen> ToxicFrog: it is so I can receive bug reports via email
<MichaelRaskin> ToxicFrog: nix-store -q --outputs $(nix-instantiate '<nixpkgs>' -A wesnoth.all)
<joepie91> ixxie: that article can be read by three different audiences in three different ways; 1) people who have no clue about any of it, and read line by line, 2) people who are quite familiar with the environment they're working in (JS), and who just read through the examples and infer the workings from the differences between them, and 3) people who already fully understand the concepts explained there, but just want a refresher on some specific aspect of
<joepie91> it, and skim the headers until they find the relevant section
<ToxicFrog> MichaelRaskin: will it be the same hash as the name of the nar.xz?
<MichaelRaskin> Nope
<ToxicFrog> Delightful
<sphalerite> gchristensen: why is that?
<joepie91> ixxie: I've found this approach to work quite well; but critical to making it work, was to consider the different types of audiences *upfront*, based on the familiary with the concepts that I'd seen in the #Node.js channel
<MichaelRaskin> sphalerite: because no mail service provides sane spam filtering configuration
<MichaelRaskin> I guess
<sphalerite> hm
newhoggy has joined #nixos
<sphalerite> I've been running my own mail server for a while now
<gchristensen> sphalerite: why is what?
<sphalerite> 2 years or so, I think
<sphalerite> control freak :p
<joepie91> ixxie: so you would want to assess the types of users there are, what their backgrounds are, sort of 'group them together' into 'classes' of experience/skill/understanding, and try to design documentation such that each of those classes of readers has a clear and efficient path to the answers
<sphalerite> In retrospect, maybe not the best idea. But I think I would do it again
<clever> sphalerite: the ONLY time a virus has ever gotten into a linux machine i run, is when i ran an outdated copy of exim, with a known exploit right in the irc channel topic, lol
<sphalerite> I really need to set it up anew though, because it's currently on debian and all ugh
<ixxie> joepie91: the difficulty would be then, in how to structure documentation for both different user classes and different usecase classes
<sphalerite> and I want to switch from postfix+dovecot to Cyrus IMAP
<sphalerite> oh yeah, I haven't PR'ed my addition of Cyrus IMAP to nixpkgs yet
carlosda1 has joined #nixos
<ToxicFrog> sphalerite: I ran Cyrus for a while until I was told by one of the cyrus devs that it was effectively a dead project and I should switch to dovecot ;.;
<joepie91> ixxie: for example, some obvious categories in this case are: 1) people who have never used Linux at all, 2) people who have used Linux but don't understand how it works, 3) people who have used a 'traditional' Linux distro but are only familiar with imperative mechanisms, and 4) people who are familiar with declarative / functional mechanisms but haven't seen it applied in the context of system management, and who have never done a significant amount
<joepie91> of system administration, and finally 5) people who are already familiar with Nix* and just need to refresh their knowledge on a topic they don't quite recall
<NixOS_GitHub> [nixpkgs] abbradar pushed 3 new commits to master: https://git.io/v9Tpq
<NixOS_GitHub> nixpkgs/master f5fa056 Guillaume Maudoux: thunderbird: (re)add features lost in refactoring...
<NixOS_GitHub> nixpkgs/master eb8f604 Guillaume Maudoux: thunderbird: fix default mail client detection
<NixOS_GitHub> nixpkgs/master 9f6baaa Nikolay Amiantov: Merge pull request #24961 from layus/thunderbird-default-mail-client...
<ixxie> joepie91: I think `concept first` - as bennofs is advocating - makes a lot of sense. But how to arrange different user and usecase categories inside the manual is not obvious (one could split it into different manuals or color code different usecases inside each section of the manual for example).
<joepie91> ixxie: right, exactly. and sometimes the solution to that is "don't, and write multiple sets of documentation instead" - and this can be interlinked documentation, like is the case with eg. the ElasticSearch guide (which regularly links to the Reference for more in-depth information about syntax and such)
<joepie91> ixxie: well, *if possible*, the best way to accomplish this is to make your documentation skimmable - clearly delineate and format your documentation so that it's obvious which sections start where, and such that experienced users can infer things from examples, diagrams, etc.
<ixxie> joepie91: the Nix ecosystem already has several manuals, it would seem adding more is illadvised xD
<joepie91> but this may not necessarily cover all cases
<sphalerite> ToxicFrog: they just released 3.0.0 a month or two ago...
<joepie91> ixxie: the amount of documentation doesn't really matter, what matters is how clear the path from question to answer is
<joepie91> the user needs to be able to make sense of it
<ixxie> joepie91: I was thinking maybe a quickstart manual for Nix in general that would act as a launchpad into the various specific manuals out there already
<ixxie> joepie91: the advantage here would be one could just add this document to the existing ones instead of overhauling anything existing
<ixxie> joepie91: and glue it as you say
<sphalerite> ToxicFrog: https://github.com/cyrusimap/cyrus-imapd doesn't look dead to me
<sphalerite> Maybe it was revived
newhoggy has quit [(Ping timeout: 240 seconds)]
<ToxicFrog> sphalerite: huh
<ToxicFrog> This was sometime last year
<ixxie> joepie91: I was thinking that a guide to declarative reproducible system configuration is what I personally would have liked to see
<gchristensen> does nixos have something like fetchmail / getmail packaged as a service?
* ToxicFrog bangs head against keyboard. --option binary-caches file://... doesn't work because that path isn't in trusted-binary-caches. The file it tells me to edit to add it is a symlink into /nix/store, which is ro
<joepie91> ixxie: that would be a start, yeah. my initial suggestion would be to have all the of the following: 1) a quickstart tutorial, 2) an architecture document, something that gives a bird's eye view of the design of Nix*, 3) a set of conceptual documentation that goes into more detail about specific mechanisms (one article/page per topic), 4) a set of FAQs (anticipated questions), 5) a reference manual on the CLI tools, and finally 6) a reference manual
<joepie91> on the standard library of abstractions
<joepie91> ixxie: most of the *content* already exists, it's just not in an easily digestible format or structure yet
<MichaelRaskin> ToxicFrog: you can run nix-store -r as root with that option
<MichaelRaskin> root can use untrusted caches
<joepie91> I'd also very very strongly against the "one big manual" model - this isn't an effective way for people to learn Nix, for the same reason other book-like mechanisms are not effective
<ixxie> joepie91: agreed, I think you are on the right track, of course the details can be debated
<joepie91> the web is designed around interlinking, so let's use it :P
<ixxie> joepie91: it may make sense to make a seperate channel to discuss this sort of project
<joepie91> ixxie: perhaps, we'll have to see what comes out of the issue thread
<joepie91> ixxie: I kind of want to avoid creating a "documentation taskforce" that's totally disconnected from everything and everybody else
<joepie91> because writing good docs inherently requires community involvement
<ToxicFrog> MichaelRaskin: -r seems to want a file path rather than a derivation name?
<MichaelRaskin> ToxicFrog: both output path and derivation name work
<ToxicFrog> $ sudo nix-store -r wesnoth-1.13.6 --option binary-caches file:///home/ben/tmp/
<ToxicFrog> error: getting status of ‘/home/ben/tmp/wesnoth-1.13.6’: No such file or directory
<joepie91> ixxie: anyhow, I cover a lot of this stuff in my documentation rant, so I should probably finish that now :P
<ixxie> joepie91: on a somewhat related note, I posted this recently: https://github.com/NixOS/nixos-homepage/issues/134
* joepie91 has some 40 bulletpoints he's working through...
newhoggy has joined #nixos
<MichaelRaskin> ToxicFrog: you specified attribute
<MichaelRaskin> You need store package path
<MichaelRaskin> The one where the hash for narinfo comes from
<joepie91> ixxie: right. I wouldn't consider a 'manual' link to be consistent at all
<joepie91> er
<joepie91> important *
<ToxicFrog> MichaelRaskin: ok, but I didn't think that was the same as the derivation name
<joepie91> ixxie: ideally you want a single 'entry point' for anybody who has a question about anything Nix-y
<joepie91> a single page that tells them where to look for their specific problem
<ToxicFrog> (and the attribute name is 'wesnoth-dev', not 'wesnoth-1.13.6')
<ixxie> joepie91: navigation should be consistent imo, makes things easier to find. I think the primary entry point is also important
<joepie91> ixxie: approach it like a helpdesk, basically - "I have a problem, where do I go?"
orbekk has quit [(Quit: upgrade)]
<joepie91> ixxie: right, but there shouldn't be a NixOS manual button, and a Nix manual button, and a nixpkgs manual button, and...
<MichaelRaskin> ToxicFrog: well, you need full store path starting with /nix/store
<joepie91> ixxie: because the user does not know which of the buttons they need
<joepie91> ixxie: there just needs to be a "Documentation" button
<MichaelRaskin> I may have been unclear
<joepie91> and the page they end up on then, should tell them where their particular question is answered
<ToxicFrog> MichaelRaskin: ok, so, by derivation name you mean /nix/store/<hash>-<derivation> path
<ToxicFrog> There we go! Sorted.
<ToxicFrog> Thank you for all your help.
<ixxie> joepie91: some users do know where they are going; I think once you picked Nix/NixOS/NixOps from the drop down, you already know where you are going, and then it makes sense the menus of those pages are consistent between eachother
<joepie91> ixxie: ideally, that page should immediately list the top 5 or 10 most common issues that people run into, with a direct link to whichever article explains it
<joepie91> ixxie: but now you're only accounting for one of the 5 categories :)
<ixxie> joepie91: but it would also be nice if the entry page was a general Nix* ecosystem thingy which, as you say, guides the user to what they need
<joepie91> ixxie: the other 4 categories will be looking at "the Nix site", not realize there's a difference between Nix/NixOS/NixOps, and assume that the "Manual" button they clicked is the *entire* manual for *everything*
<k0ral> Hello
<joepie91> ixxie: so the same user might end up on the wrong manual at different times depending on what page they were on when they clicked "Manual"
<ixxie> joepie91: exactly, I think these are complementary points, and that if both are accounted for it will be easier for all user classes to find whatever
<k0ral> I can't install bumblebee because the patch fetched from github gives non-deterministic hash
<joepie91> ixxie: right, but this is why you want a single 'funnel', a single Documentation button, no matter where you are on the site - the resulting page can have links to Nix manual / NixOS manual / nixpkgs manual under the "If you already know where you're going" header, but it just shouldn't have a subsite-dependent "Manual" button in the menu since this confuses other users
<k0ral> from what I read, the fetchpatch function is supposed to eliminate that issue
<k0ral> but here it doesn't
<ixxie> joepie91: it would help in that case also to distinguish the Nix Package Manager from the Nix Ecosystem in general
<k0ral> (working on nixos-unstable)
<k0ral> any clue ?
<joepie91> ixxie: if you nuke the Manual button from the menu and have a single Documentation funnel, the result is that the experienced users have to click one extra link that they already know how to find, and for *everybody else* a major point of confusion/misdirection is removed... this is a net win
<k0ral> the exact error is: output path ‘/nix/store/ss2ryfgmlriv96k4ag9i88bzspwfhanb-1ada79fe5916961fc4e4917f8c63bb184908d986.patch’ has sha256 hash ‘11k98njp8scx528389ycqsv6mh9y01hg4bldmlkwdczsh527gnqi’ when ‘02vq3vba6nx7gglpjdfchws9vjhs1x02a543yvqrxqpvvdfim2x2’ was expected
<joepie91> ixxie: essentially you solve the problem by putting the cognitive load on the shoulders of the experienced users as opposed to the new users :P
orbekk has joined #nixos
<joepie91> ixxie: and well, that distinction only matters for users that already understand stuff
<joepie91> so the primary representation should be of Nix as a single thing
<k0ral> side question: should we prefer storing patches in nixpkgs or fetch them from upstream ?
<joepie91> the ecosystem
<joepie91> then once a user understands the pieces, they can look further into specific pieces
<joepie91> but presenting it as consisting of several pieces upfront is a bad idea
<gchristensen> k0ral: we prefer fetching from upstreeam
<MichaelRaskin> Some advanced users even know how to use bookmarking
<joepie91> the new user only cares about "this thing called Nix or NixOS", they don't care what pieces it consists of yet
<ixxie> joepie91: maybe, but the seperability also makes sense: its nice to be able to link to a seperate subsite for NixOps or whatevber
<MarcWeber> join #datomic
<joepie91> ixxie: right, but the same applies here: what matters is the first impression, the initial representation. that first impression should accommodate the new users (who have no clue where they're going), not the experienced users (who can find it anyway)
<ixxie> MichaelRaskin: I don't know about you, but I am not interested in saving 5 different bookmarks for the Nix* ecosystem xD
<joepie91> ixxie: it's completely okay to kind of tuck away the subsites so that people don't notice them until they already understand what the ecosystem is for
<joepie91> ixxie: because it's much less cognitive load to an experienced user to find that stuff, than it is to a beginner to *not* get confused by it
<ixxie> joepie91: this is why I think the current menu structure is so brilliant
<MichaelRaskin> ixxie: at some point I used 5 bookmarks just for _Hydra jobs_
nckx has quit [(Quit: restarting my GuixSD server)]
<joepie91> ixxie: right, but it fails the moment you click anything :P
<ixxie> joepie91: except at the moment, it reaches NixOS first, instead of a Nix Ecosystem overview (we don't even have an official name for the Nix ecosystem)
<joepie91> right, exactly
<MichaelRaskin> And some people need to be separately reassured that NixPkgs on Fedora does work and it is not completely by accident
<joepie91> ixxie: let's say I'm a new user, I've heard of this thing called NixOS and I want to know what it is. I look at the frontpage, well, okay, cool I guess? is there documentation that gives me more details? so I look for a "Documentation" button and don't find one... but there's Support, which *kinda* looks the same, although it might also be for a support department... but meh, I'll click it and see. okay, cool, I'm on a documentation page. hm, mailing
<joepie91> lists are annoying and I don't use IRC, and I don't have a bug, so I guess that I want the big-blue-text "MANUAL" section? so I click the bold "NixOS manual" text and end up on the manual.
nckx has joined #nixos
<joepie91> ixxie: now I'm thrown into what's effectively a complete reference book, and I mistakenly believe that this tells me everything I need to know, and I get intimidated by the large amount of text. combined with the presentation on the homepage, this looks rather academic, and not for me.
<joepie91> ixxie: see the problem? :P
<k0ral> gchristensen: ok thanks for clarification, then I would like to know how to suppress non-determinism from patches fetched from github
<MichaelRaskin> Which may not be the worst case, The worst case is you do read all of it and not notice immediately there is more to read.
<joepie91> ixxie: (this is /very very/ close to how a beginner would navigate through the site in reality, btw)
<ixxie> joepie91: my main point is posting that issue was about *parallelism* in the navigation; I can see how documentation is broader than manual, and it makes sense to put that on the main menu instead
<k0ral> when fetching the following patch multiple times, hash differs: https://github.com/Bumblebee-Project/Bumblebee/commit/1ada79fe5916961fc4e4917f8c63bb184908d986.patch
<joepie91> ixxie: I would go further and argue that "Documentation" and "Support" should be two separate menu items entirely.
<ixxie> joepie91: but *if* you have Nix/NixOS/NixOps in a dropdown, their menus should be identical
<joepie91> or even make Support a subsection of Documentation
<joepie91> ixxie: sure, but that's a relatively insignificant stink compared to the overall experience for beginners
<joepie91> right now, the site and docs look super intimidating
<ixxie> joepie91: yep
<ixxie> joepie91: I think with your suggestions about a concise central starting point / overview, plus menu parallelism and clear cross linking, plus consideration for different user and use-case classes, you will have gone a long way towards accessibility :)
<joepie91> ixxie: the flow it should have instead: I go to the nixos.org site, it tells me about NixOS, what is unique about it, and why I should care - what problems it solves for me in my daily life. I'm intrigued, and I spot a "Documentation" link in the menu, so I click that to learn more about what it does and how. the Documentation page starts out with "If you're new to NixOS and want to learn more about how it works, read [this article]" - great, that's
<joepie91> what I'm looking for! I click the link, and am presented with a short-ish article that tells me what problems NixOS solves, and then goes into some detail about how it solves it, using some diagrams to illustrate it. It then tells me how NixOS actually consists of a few different parts - NixOS, Nix, nixpkgs, and shows me how they relate together, and which parts of the preceding explanation each component was responsible for.
<joepie91> ie. start with the "what", and only go into the "how" afterwards
<ixxie> joepie91: except it seems a ton of people start with Nix on another distro
<joepie91> ixxie: sure, second line on the Documentation page - "If you want to use Nix on another Linux distribution and want to know how it works, read [this article]"
<NixOS_GitHub> [nixpkgs] gnidorah opened pull request #25147: qtstyleplugins: 2016-12-01 -> 2017-03-11 (master...master) https://git.io/v9Thn
<ixxie> joepie91: lets discuss this further in the thread you are starting
<joepie91> ixxie: said article then provides an abbreviated explanation of what Nix does and how, and regularly references the full-blown NixOS "how it works" guide for more details about how it works on a NixOS system and what additional features it gifves you there, that you don't get on non-NixOS
<ixxie> joepie91: its getting unwieldy for chat, I think we should both draft our concept of the ideal website layout in such a thread and discuss with with everyone else there
<joepie91> ixxie: well, IRC is helpful for real-time spitballing :)
yorick has joined #nixos
<joepie91> but yes, this needs to eventually be added to the issue
<ixxie> joepie91: yes, but I think it sucks for making a complex menu structure in our heads clear for the other person
<joepie91> right - I'm not so concerned about the rest of the structure though
<ixxie> joepie91: you can think of the website as the top-level documentation for the whole Nix ecosystem
<ixxie> joepie91: xD
<ixxie> anyway, let me know when you posted this!
<ixxie> gtg now
<ixxie> ciao!
ixxie has quit [(Quit: leaving)]
takle has quit [(Remote host closed the connection)]
<NixOS_GitHub> [nixpkgs] abbradar pushed 2 new commits to master: https://git.io/v9Tje
<NixOS_GitHub> nixpkgs/master 6df350f Nikolay Amiantov: firefox-bin: use wrapGAppsHook
<NixOS_GitHub> nixpkgs/master a02b189 Nikolay Amiantov: firefox-bin: don't install .desktop file...
shanemikel has quit [(Remote host closed the connection)]
newhoggy has quit [(Remote host closed the connection)]
obadz has quit [(Quit: brb)]
obadz has joined #nixos
johnsonav has joined #nixos
<NixOS_GitHub> [nixpkgs] obadz pushed 1 new commit to release-17.03: https://git.io/v9kee
<NixOS_GitHub> nixpkgs/release-17.03 4031daf lassulus: weechat: 1.7 -> 1.7.1...
takle has joined #nixos
taktoa has quit [(Remote host closed the connection)]
<bennofs> joepie91: perhaps a simple solution would be to have a site with the layout like https://nixos.org/nixos/support.html but instead of "Manual" "Mailing List" etc it would have "NixOS" "Nix" "NixOps" etc with a short description of them as the main docs entrypoint
mudri has joined #nixos
<NixOS_GitHub> [nixpkgs] ryantrinkle opened pull request #25148: dockerTools: optionally preserve directory symlinks (master...docker-dirlinks) https://git.io/v9ket
<joepie91> bennofs: no, that's precisely the wrong thiing to start with
<joepie91> bennofs: NixOS vs. Nix vs. NixOps is a totally meaningless distinction to a new user
<joepie91> it will just confuse them
<bennofs> joepie91: it is not. some people will want to use the package manager will other people will want help setting up the OS
<bennofs> joepie91: or?
<joepie91> you should start out with something that explains the whole thing as a single entity, and then afterwards splits up the bigger picture into which is responsible for what
<joepie91> bennofs: yes, some people will want to do that. but that's step two, *after* they've understood what the whole stack does, and which part is responsible for what.
<bennofs> joepie91: I actually think the main thing should be "nix". everything else is based on that
<bennofs> joepie91: because you won't be able to understand NixOS without understanding nix
<joepie91> bennofs: you're still trying to treat them as separate things to teach.
<NixOS_GitHub> [nixpkgs] matthiasbeyer opened pull request #25149: Revert "ipfs: 0.4.6 -> 0.4.8" (master...ipfs-rollback-to-4.6) https://git.io/v9ke3
<joepie91> this is precisely where the problem lies!
<joepie91> you _shouldn't_ do that
<ryantrinkle> bennofs: i think that might be slightly too strong
<joepie91> don't start with the components, start with the bigger picture
<bennofs> joepie91: well but you can use `nix` completely without knowing about either nixops or nixos
<ryantrinkle> i switched to nixos without having much understanding of nix
<joepie91> bennofs: yes, but again, this is not relevant to a new user
<joepie91> bennofs: this is relevant to people who already understand the bigger picture
<ryantrinkle> just like when i switched to ubuntu (from windows), and i had no idea about apt-get other than "if i want a thing, i usually run apt-get install thing"
<bennofs> joepie91: as a new user on ubuntu just trying to use Nix, won't it confuse me if the site talks about a whole new OS?
<joepie91> bennofs: and being realistic, with the current state of documentation, not knowing what NixOS is means you will run into a lot of trouble using Nix on non-NixOS.
<joepie91> bennofs: this is why I suggested having two entrypoints.
newhoggy has joined #nixos
<bennofs> joepie91: but then the user somehow needs to know which entrypoint to chose
takle has quit [(Ping timeout: 260 seconds)]
<joepie91> bennofs: yes, which is why the order matters.
<joepie91> bennofs: the thing for the least experienced/knowledgeable users should go at the start.
<NixOS_GitHub> [nixpkgs] obadz pushed 7 new commits to release-16.09: https://git.io/v9keG
<NixOS_GitHub> nixpkgs/release-16.09 b417442 Andrew R. M: weechat: help weechat find nix's python on darwin...
<NixOS_GitHub> nixpkgs/release-16.09 41fb3d4 Moritz Ulrich: weechat: 1.5 -> 1.6...
<NixOS_GitHub> nixpkgs/release-16.09 8f7eab2 Moritz Ulrich: weechat: Work around darwin linking issue...
<joepie91> bennofs: because more experienced users already know what they *don't* want and can skip.
<bennofs> joepie91: hmm. is standalone nix not less advanced than NixOS?
<joepie91> bennofs: and if somebody knows that there's a distinction between NixOS and Nix, and they know they just want the latter, then that means they are *already* more knowledgeable than the absolute beginners
<gchristensen> bennofs: I did a ton of stuff with nixos before I really learned nix
<joepie91> because the absolute beginners only know "there's this thing called NixOS, what is it?"
<joepie91> bennofs: using Nix without knowing about NixOS is basically a pipedream right now
<joepie91> even if you don't *use* NixOS
<joepie91> because the Nix ecosystem is full of "... oh, but if you're not on NixOS, then it's different"
<joepie91> so even if you only intend to use Nix stand-alone, you STILL need to understand how NixOS fits into the picture
Oo[m] has joined #nixos
* gchristensen strongly disagreees
taktoa has joined #nixos
<joepie91> and why it matters whether you use it or not
<bennofs> joepie91: but i think a lot of users would be turned of if we promote NixOS too much, as they will think it don't applies to them if they don't want a whole new distribution
<joepie91> gchristensen: most of my early issues on the tracker were precisely because of this.
<bennofs> joepie91: they may not read until "well you can also use nix standalone"
<joepie91> gchristensen: I've heard similar issues from other beginners.
<joepie91> bennofs: I feel like you're not considering the audience. again, somebody who knows that there's a difference between Nix and NixOS is *already* more knowledgeable than the absolute beginner, and *already* knows that NixOS is not what they want, so they can skip the first "getting started" sentence and move on to the second one that talks about using Nix standalone.
<joepie91> you can't simultaneously assume that somebody knows they don't want NixOS, and doesn't know they don't want NixOS
<bennofs> joepie91: I'm precisely talking about someone who does not know about Nix at all
newhoggy has quit [(Ping timeout: 260 seconds)]
<bennofs> joepie91: he comes to the site, reads NixOS, says "well this is a distribution but I'm happy with my current distribution so this project is not for me"
<bennofs> joepie91: not realizing that there is also standlone nix
<gchristensen> I've had all the fun I can with this convo, see y'all :)
<joepie91> bennofs: honestly? in the current state of usability, they're probably not wrong.
<joepie91> bennofs: it's not trivial to make everything work on non-NixOS
<joepie91> and I definitely get the impression that it's an under-supported usecase, based on my experiences running Nix on openSUSE
iyzsong has joined #nixos
<joepie91> the development very much seems NixOS-first, which is fine and understandable, but that also means you have to be realistic about how you market it to people
<bennofs> joepie91: hmm, i had a different impression about this before, but you may be right
<joepie91> you can't claim "it works just as well on non-NixOS!" and then have them find out two weeks later that you don't get declarative config and that GPU drivers don't work out of the box and a bunch of other misc stuff fails for obscure reasons because it's not quite as well-supported
<joepie91> so I would say that treating non-NixOS as an "also possible" from a documentation POV is reasonable and in line with the development process, and it still makes Nix available on non-NixOS to people who have eg. heard of it through third-party channels or who have been instructed by some project to use it, or whatever
<joepie91> at which point they already have the knowledge that they don't want NixOS, just Nix
<joepie91> (in the end, I suspect that the bulk of Nix-on-non-NixOS users are NixOS users working on other systems, anyway)
<joepie91> (but I don't have hard data on that)
<bennofs> joepie91: is there really so much intertanglement between NixOS and Nix docs that it doesn't make sense to document them as individual components?
<joepie91> bennofs: I'm not saying it doesn't make sense to document them separately, I'm just saying the *first impression* shouldn't present them as separate things
<joepie91> you shouldn't immediately dive into the nitty and gritty
<joepie91> because the reader won't have a frame of reference
<bennofs> joepie91: hmm, but do you think that the reader won't be able to choose between Nix and NixOS if we explain what it is to them in a paragraph?
<joepie91> you need to start out by describing things generically, then gradually going into more detail to show the user how it works 'behind the scenes', and then dive into more detail about how it's actually multiple components working together, and you can use one without the other, etc.
<clever> and there is also the differences between pure nix, and nixpkgs
<bennofs> joepie91: or perhaps we should have a "Getting started" link that just explains how to set up your env to get started with the whole nix project, and describes set up of a NixOS system with Nix and perhaps even a chapter about using Hydra if you wish
<joepie91> bennofs: can you explain the full difference in a paragraph, without using the phrase "etc."? :)
newhoggy has joined #nixos
<joepie91> in a way that makes sense to somebody who knows nothing about either
<bennofs> joepie91: is "package manager" vs "linux distribution" not clear enough?
<ryantrinkle> is there any way to reset the ACLs on my journald files?
<joepie91> bennofs: no, because that's a "technically correct" description that's totally useless to the user. it doesn't tell the user why it matters or what the tradeoffs are, or why there's a difference, or which they should pick.
<ryantrinkle> i just installed on zfs without acltype=posixacl, but that seems to have meant that the permissions didn't get created in the first place
<bennofs> joepie91: so you're assuming an user who does not know if they want a new OS or a new package manager?
<bennofs> joepie91: hmm
<joepie91> bennofs: when you say "package manager vs. linux distribution", it sounds like "if you're already using Linux, just use the package manager"
<joepie91> which is not /at all/ what it means
<joepie91> but that's how it'll be interpreted by somebody unfamiliar with the ecosystem
<joepie91> "this one is for Linux users, this one is for not-yet-Linux users"
<NixOS_GitHub> [nixpkgs] abbradar pushed 1 new commit to master: https://git.io/v9kep
<NixOS_GitHub> nixpkgs/master 5565728 Nikolay Amiantov: system-config-printer: 1.5.7 -> 1.5.9...
<NixOS_GitHub> [nixpkgs] evujumenuk opened pull request #25150: zfs: Bump incompatibleKernelVersion to "4.11" (master...zfs-ikv) https://git.io/v9kve
newhoggy has quit [(Ping timeout: 252 seconds)]
<joepie91> bennofs: this is what I mean with the whole 'frame of reference' thing and why it's so important; you intuitively understand the tradeoffs because you've worked with it, so to you "distribution vs. package manager" sounds right, and it *is* technically correct... but it doesn't convey any useful new information to somebody who *doesn't* understand the tradeoffs (which are unique to NixOS), and if you reason through it based on the expected background
<joepie91> knowledge of a new user, you end up with a totally different interpretation from what you intended
<bennofs> joepie91: package manager vs distribution is not unique to NixOS
<joepie91> bennofs: I'm saying the *tradeoffs* are unique
<bennofs> joepie91: there is RPM vs Fedora/RedHat, apt-get vs Ubuntu/Debian/Mint
Infinisil_ has joined #nixos
<joepie91> bennofs: declarative configuration, system rollbacks, that kind of thing
<joepie91> out of the box GPU support
<joepie91> if you run yum on debian, then your GPU stuff is probably going to work fine, and your HTTPd config won't magically break either
<joepie91> so these tradeoffs don't really exist there
<joepie91> whereas Nix maintains a totally isolated dependency model that doesn't *at all* interact with the system you're running it on, so you're effectively running two stacks of software that barely interact
<joepie91> one of them uses some sort of FHS structure, the other doesn't
<joepie91> this is a totally alien concept to somebody who's new to NixOS, and who might believe that "well, everything uses FHS or some variant thereof"
<bennofs> joepie91: so perhaps we should have some kind of tutorial that assumes that you're running at least the NixOS live cd?
Infinisil_ is now known as Infinisil
newhoggy has joined #nixos
<joepie91> bennofs: well, like I said, there has to be a high-level overview of how all the pieces together, what role each piece plays. once you have that, you can explain how things change when NixOS is left out of the picture, since the user now has a frame of reference of what parts NixOS is responsible for
<joepie91> how all the pieces fit together *
<joepie91> this high-level overview does not need to provide any instructions
<joepie91> so it's not really a tutorial, nor does it require an environment
<joepie91> it just explains it on a conceptual level
<joepie91> from that, you can diverge to tutorials for "running with NixOS" vs "running without NixOS", for example, because now the user has a grasp of the tradeoffs involved, and can make an informed decision of which they want
<bennofs> joepie91: i feel like one of the problems is that usage of nix really changes as you get more experiences. for example, I personally would prefer to just install "expressions" directly but I'm sure that would confuse new users even more
<joepie91> bennofs: this is less of a problem if you focus more on concepts and less on instructions :)
takle has joined #nixos
<joepie91> "do X, then Y" is not generically applicable knowledge
<joepie91> but "X is responsible for doing Y by doing Z" is
Infinisil has quit [(Quit: leaving)]
<joepie91> same reason "build an Express + Angular + MongoDB chat app in a day" tutorials don't work for teaching people programming
takle has quit [(Remote host closed the connection)]
takle has joined #nixos
newhoggy has quit [(Ping timeout: 240 seconds)]
<joepie91> bennofs: in other words: give people the conceptual understanding needed to figure out how things fit together, rather than outright telling them how to put the pieces together for specific requirements
<bennofs> joepie91: hmm, do you have an example of a project that has great docs in this form?
newhoggy has joined #nixos
<clever> joepie91: when i was new to nix, i was often confused by packages needing either { stdenv, dep1, dep2, dep3 }: or with import <nixpkgs> {};
<clever> joepie91: and how they where not compatible
<joepie91> bennofs: the best *complete* example I am aware of that follows a model like this is the ElasticSeach guide: https://www.elastic.co/guide/en/elasticsearch/guide/current/index.html (specifically, starting from Search in Depth)
<joepie91> bennofs: a work-in-progress example is this set of documentation that I'm working on: https://gist.github.com/joepie91/95ed77b71790442b7e61
<bennofs> joepie91: but if you look at their website, they have this "choose your product" as well: https://www.elastic.co/products
<joepie91> bennofs: I'm specifically talking about the guide, not the rest of the site
tommyangelo has joined #nixos
<joepie91> clever: that's something that confused me as well, actually
<joepie91> clever: though in a slightly different way
<clever> joepie91: learning how import, callPackage, and function definitions work, would explain that issue
<clever> though it would help massively if nix-build foo.nix would do it more like this by default
<clever> nix-build -E 'with import <nixpkgs>{}; callPackage ./foo.nix {}'
<clever> then you dont need to keep fliping between the 2 forms
<bennofs> clever: I would actually go the other way and say nix-env should be more like nix-build :)
<joepie91> heh, I have separate issues with the CLI
newhoggy has quit [(Ping timeout: 260 seconds)]
<bennofs> clever: like nix-build should default to -E, and add with (import <nixpkgs> {}) by default
<joepie91> the CLI fails the principle of "obvious and common command should be simpler than rare commands"
<joepie91> commands *
<bennofs> clever: then you just to: nix-build "callPackage ./foo.nix {}
<joepie91> (the UX proposal fixes that though)
derjohn_mob has quit [(Ping timeout: 260 seconds)]
<joepie91> I should make lunch...
tommyangelo has quit [(Ping timeout: 255 seconds)]
<bennofs> clever: and nix-env would just be a version of nix-build that symlinks $out into the profile instead of creating a result symlink
<bennofs> clever: and nix-channels could be replaced by setting NIX_PATH's nixpkgs
<joepie91> bennofs: did you read the UX proposal?
<bennofs> joepie91: where's that?
<bennofs> joepie91: no
newhoggy has joined #nixos
<joepie91> brb lunch :P
Itkovian has joined #nixos
newhoggy has quit [(Ping timeout: 258 seconds)]
mudri has quit [(Ping timeout: 260 seconds)]
newhoggy has joined #nixos
systemfault has joined #nixos
hotfuzz_ has joined #nixos
hotfuzz has quit [(Ping timeout: 252 seconds)]
tommyangelo has joined #nixos
newhoggy has quit [(Ping timeout: 258 seconds)]
<clever> bennofs: i'm more against just putting a url in $NIX_PATH, that can lead to things upgrading without warning
<clever> bennofs: what if i want to make 1 minor tweak to a package, and then nixpkgs decides i need to re-download all of the stdenv
<clever> and while i can rollback the changes in the profile, i cant recreate things easily against an older nixpkgs
<clever> i would need to do a channel rollback
<bennofs> clever: yeah i'm not sure that is a good solution either
newhoggy has joined #nixos
<bennofs> clever: i would keep a nix channel command, but have that manage NIX_PATH
<bennofs> clever: like, if you add nixos and nixpkgs channels, then you get `import <nixos> {}` and `import <nixpkgs> {}` via NIX_PATH
<clever> we already have that
<clever> /nix/var/nix/profiles/per-user/root/channels
<clever> this entry is in NIX_PATH by default, and there is one dir per channel, named after the channel
<bennofs> clever: well my NIX_PATH looks like nixpkgs=/home/.nix-defexpr/channels/nixpkgs:nixpkgs=/home/.nix-defexpr/channels/nixpkgs:nixpkgs=/home/.nix-defexpr/channels/nixpkgs
<bennofs> clever: on non-nixos
<clever> ah
<clever> yeah, its a bit more messy on other distros
<clever> and you have 3 identical entries?
<clever> nixpkgs=/home/clever/.nix-defexpr/channels/nixpkgs:nixpkgs=/home/clever/.nix-defexpr/channels/nixpkgs
<clever> weird, even my gentoo box has that
<bennofs> clever: I think I got an entry twice because I added it to ~/.profile and the installer added it to ~/.bash_profile
<bennofs> clever: export NIX_PATH=${NIX_PATH:+$NIX_PATH:}nixpkgs=$HOME/.nix-defexpr/channels/nixpkgs is what the nix.sh script does
<clever> i dont even have a .profile on my gentoo
<bennofs> clever: I wonder why it does not set NIX_PATH=$HOME/.nix-defexpr, and instead manually sets only nixpkgs?
<bennofs> ~/.nix-defexpr/channels I mean
newhoggy has quit [(Ping timeout: 240 seconds)]
<clever> .nix-defexpr normaly contains both channels and channels_root
<bennofs> clever: it could set NIX_PATH=$HOME/.nix-defexpr/channels:$HOME/.nix-defexpr/channels_root ?
<clever> but on non-nixos, there is no root setup
<NixOS_GitHub> [nixpkgs] abbradar pushed 1 new commit to master: https://git.io/v9kJq
<NixOS_GitHub> nixpkgs/master 13162b9 Nikolay Amiantov: fritzing: 0.9.0b -> 0.9.3b...
<clever> lrwxrwxrwx 1 clever users 46 Mar 7 2016 channels -> /nix/var/nix/profiles/per-user/clever/channels
<NixOS_GitHub> [nixpkgs] zraexy opened pull request #25151: kile: build with okular for embedded viewer (master...zraexy-kile) https://git.io/v9kJY
<clever> lrwxrwxrwx 1 clever users 44 Oct 11 2015 channels_root -> /nix/var/nix/profiles/per-user/root/channels
<clever> this is what nixos has
newhoggy has joined #nixos
<bennofs> clever: and how does NIX_PATH look on nixos
<clever> each dir is managed identicaly by nix-channel
<clever> nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs:nixos-config=/etc/nixos/configuration.nix:/nix/var/nix/profiles/per-user/root/channels
<clever> ah, i see a minor bug as well
bennofs1 has joined #nixos
<clever> <nixpkgs> will try the 'nixos' channel on root first, <nixos-config> will try /etc/nixos/configuration.nix first
<clever> and anything else that fails, will be looked in roots channels
<clever> so <nixos> will load the nixpkgs of root's channel, by the name of nixos
<clever> but nothing can load from the users channels!
<clever> root could also potentialy add a channel called nixos-config, and delete /etc/nixos/configuration.nix
<bennofs> clever: ah hmm. i really think NIX_PATH should just be ~/.nix-defexpr/channels:/nix/var/nix/profiles/per-user/root/channels
acarrico has joined #nixos
<bennofs> clever: so it <foo> first looks in user's channels, and then in roots (perhaps we should even replace root with system)
<clever> thats close to what i would want also, but then <nixpkgs> wont work
<bennofs> clever: then make it possible to alias?
<bennofs> clever: or just add the nixos channel under the name of nixpkgs
<clever> yeah, it already starts with nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs
<bennofs> clever: makes more sense anywya
<bennofs> clever: because the nixos channel provides nixpkgs
<clever> other tools expect the channel to be called nixos on nixos machines
<clever> another old bit of legacy stuff, the nixpkgs at the end of "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs"
<clever> thats a symlink to .
griff_ has joined #nixos
<bennofs> omg
spinus has quit [(Quit: Leaving.)]
<clever> lrwxrwxrwx 1 root root 1 Dec 31 1969 /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs -> .
<bennofs> clever: ok then just make nix channel support aliases, and on nixos, alias nixpkgs to nixos
newhoggy has quit [(Ping timeout: 268 seconds)]
<bennofs> clever: and set NIX_PATH like i described
<clever> ah, that could work out well
<clever> another thing about nix-path that i havent seen documented well
<clever> <nixpkgs> will return the first nixpkgs it can find, which might even be an empty directory
<clever> but <nixpkgs/pkgs/top-level/default.nix> will only return a nixpkgs that contains that exact file
<clever> while <nixpkgs>/pkgs/top-level/default.nix wont confirm the existance of the file, and may fail
<bennofs> clever: oh, that is clever
<clever> bennofs: https://github.com/NixOS/nix/blob/master/corepkgs/unpack-channel.nix is involved in channel setup
<bennofs> clever: so <nixpkgs/nixos> will do the right thing if you had a non-nixos channel
<clever> yeah
<clever> and <nixos/nixos> will refer to the nixos inside nixpkgs
Infinisil has joined #nixos
<bennofs> clever: on my nixos system, I just set NIX_PATH=nixpkgs=/run/current-system/sw/nixpkgs
<clever> but it can be confusing, so i always use <nixpkgs/nixos>
<clever> but the nixpkgs inside current-system is read-only, so you need to force things with -I to make any upgrades
<clever> i do see that being of use though
<bennofs> clever: yeah, it makes the nixpkgs update "sticky"
<clever> it will never update, even if you rollback nixos from grub
<clever> and you could then use a url in -I when doing nixos-rebuild
<clever> and it will do a one-time fetch
<bennofs> clever: so my update workflow is like: update nixpkgs git repo to latest nixos-unstable branch, rebuild with -I nixpkgs=/path/to/repo
<clever> or that
<bennofs> clever: then whenever I nixos-rebuild again after that, it will use the nixpkgs
<clever> ive also done something related, let me gist it
<bennofs> clever: and also nix-env will always use the same nixpkgs as my system config which is nice to reduce disk usage
newhoggy has joined #nixos
<clever> bennofs: this puts a snapshot of all of my nixos config files into every build
<clever> so if i ever need to rollback from grub, and cant remember what i changed to break things
<clever> i have a snapshot of the known-good config in current-system
<bennofs> clever: i store my config in git, and make sure to only build my system from commits (I have script for that)
drasich has quit [(Ping timeout: 260 seconds)]
<clever> i try to avoid spamming git with commits
<clever> every month or 2, i commit changes on every box, and merge them together
<clever> havent read this since the de-perl-ification of nix
newhoggy has quit [(Ping timeout: 240 seconds)]
<Infinisil> Was nix written in perl originally? o.O
newhoggy has joined #nixos
<clever> Infinisil: some of the utils where in perl
<clever> Infinisil: nix-channel was a perl script that ran nix-build and nix-env
<Infinisil> I see
<clever> and nix-build was a perl script that ran nix-store and nix-instantiate
<clever> nix-env, nix-store, and nix-instantiate where all c++
<clever> a few months ago, the perl was purged
<Infinisil> Btw it's "were", not "where" in that case :)
<bennofs> i think it actually used the perl bindings for nix and did not call the executables directly
<clever> bennofs: ah, its still doing the same as before: https://github.com/NixOS/nix/blob/master/src/nix-channel/nix-channel.cc#L134
iyzsong has quit [(Quit: ZNC 1.6.5 - http://znc.in)]
<bennofs> oh what lol
<clever> nix-channel is still executing nix-env as a sub-process, exactly like it did before
<clever> the perl was just translated directly to c
<clever> ++
newhoggy has quit [(Ping timeout: 240 seconds)]
Infinisil has quit [(Quit: Lost terminal)]
infinisil has joined #nixos
<infinisil> Damnit, my nix doesn't want to start anymore, i messed up something with .xsession/.xprofile
<clever> infinisil: you should be able to ctrl+alt+f1 and get a text console still
<infinisil> Ohh, I'll try that
<infinisil> brb, hopefully on nixos
infinisil has quit [(Client Quit)]
newhoggy has joined #nixos
Infinisil_ has joined #nixos
<Infinisil_> Hi from nixos
<clever> yay!
griff_ has quit [(Quit: griff_)]
<Infinisil_> Now i can at least fix it from here, it's a bit cumbersome though, as the kezboard layout is different
<Infinisil_> im glad i remebered a bit of tmux so i can chat here and have another terminal
<Infinisil_> :D
<clever> you can also use alt+f1 thru alt+f6
<clever> all of them have login prompts
<clever> and f7 is the gui
<Infinisil_> whoa
frankpf has joined #nixos
<bennofs1> Infinisil_: do you use SDDM as login manager?
dejanr has joined #nixos
newhoggy has quit [(Ping timeout: 268 seconds)]
<clever> i think i already fixed him yesterday, but a channel update may help
<Infinisil_> thats immenlsly helpful
<clever> i think the install cd also has a manual on f8
<clever> and a game on another
bennofs has quit [(Quit: WeeChat 1.7)]
bennofs has joined #nixos
dejanr has quit [(Client Quit)]
<clever> Infinisil_: aha, the installer lets you play rogue on F9, and the manual on F8
Infinisil has joined #nixos
<Infinisil> Okay i now know what the problem was
<Infinisil> I used "exec albert" in .xprofile, which waits until albert is done executing, which runs in the foreground
vaibhavsagar has quit [(Ping timeout: 240 seconds)]
newhoggy has joined #nixos
peacememories has joined #nixos
<clever> Infinisil_: and there are 2 of you now
frankpf has quit [(Ping timeout: 260 seconds)]
<NixOS_GitHub> [nixpkgs] Ma27 opened pull request #25153: Add more configuration options for zsh-syntax-highlighting (master...zsh/syntax-highlighting-config) https://git.io/v9kTK
newhoggy has quit [(Ping timeout: 240 seconds)]
newhoggy has joined #nixos
systemfault has quit [(Quit: Bye!)]
<NixOS_GitHub> [nixpkgs] asppsa closed pull request #24648: php: fix php-config header file paths (master...php-config-fix2) https://git.io/vSu18
Wizek_ has quit [(Ping timeout: 268 seconds)]
<NixOS_GitHub> [nixpkgs] asppsa reopened pull request #24648: php: fix php-config header file paths (master...php-config-fix2) https://git.io/vSu18
betaboon has joined #nixos
newhoggy has quit [(Ping timeout: 255 seconds)]
<NixOS_GitHub> [nixpkgs] ttuegel pushed 2 new commits to master: https://git.io/v9kku
<NixOS_GitHub> nixpkgs/master 4204c47 gnidorah: qtstyleplugins: 2016-12-01 -> 2017-03-11
<NixOS_GitHub> nixpkgs/master 6565ef0 Thomas Tuegel: Merge pull request #25147 from gnidorah/master...
drp has quit [(Remote host closed the connection)]
newhoggy has joined #nixos
newhoggy has quit [(Ping timeout: 260 seconds)]
mudri has joined #nixos
tommyangelo has quit [(Ping timeout: 260 seconds)]
betaboon has quit [(Quit: This computer has gone to sleep)]
newhoggy has joined #nixos
newhoggy has quit [(Ping timeout: 260 seconds)]
<jophish> Is there a function to take a string with lines in, or a list of strings and turn it into a list of strings
<jophish> for example the consumer of "configureFlags" must do this
k0ral has quit [(Quit: WeeChat 1.7)]
newhoggy has joined #nixos
<rotaerk> jophish, not sure if I understand the question, but could you mean "lines"?
<rotaerk> > lines "aoeu\nsnth"
<rotaerk> err wait, sorry, thought I was in #haskell
<rotaerk> lol
<jophish> hah, it's a bizarre question to have to ask for haskell!
<jophish> Sonarpulse: I'm trying to cross compile a native ghc now but am running to into problems cross compiling llvm
contrapumpkin has joined #nixos
<rotaerk> jophish, look at nixpkgs/lib/strings.nix
<rotaerk> I see splitString in there
newhoggy has quit [(Ping timeout: 258 seconds)]
<jophish> rotaerk: isList helps here too
<jophish> thanks!
khebbie has joined #nixos
<jophish> Sonarpulse: for example: `nix-build cross.nix pkgs.llvm` fails
<jophish> I think it's trying to get gccCrossStageStatic from buildPackages or something
tommyangelo has joined #nixos
<jophish> ah, perhaps because it's not using buildPackages for cmake
Infinisil has quit [(Quit: leaving)]
Infinisil has joined #nixos
newhoggy has joined #nixos
contrapumpkin has quit [(Ping timeout: 260 seconds)]
Infinisil has quit [(Client Quit)]
<jophish> Also, could you clarify a little on "Need to get rid of these when cross-compiling." regarding passing binutils to llvm?
bennofs1 has quit [(Ping timeout: 260 seconds)]
pie_ has joined #nixos
<jophish> I'm hitting an issue with the dev attr in binutils being missing
tommyangelo has quit [(Ping timeout: 260 seconds)]
newhoggy has quit [(Ping timeout: 240 seconds)]
<jophish> Should stdenv.ccCross be replaced with buildPackages.stdenv.cc (I think this is the case, but it would be nice to know for sure)
takle has quit [(Read error: Connection timed out)]
takle has joined #nixos
<manveru> building IPFS fails pretty hard here :(
bennofs1 has joined #nixos
<manveru> can someone merge https://github.com/NixOS/nixpkgs/pull/25149 ? :)
jacob has joined #nixos
<NixOS_GitHub> [nixpkgs] obadz pushed 1 new commit to master: https://git.io/v9ktt
<NixOS_GitHub> nixpkgs/master c44be81 Matthias Beyer: Revert "ipfs: 0.4.6 -> 0.4.8" (#25149)...
<LnL> Is there some sort of spec for the nix expression language, I noticed some unexpected behaviour with the "with" statement
jacob is now known as Guest77836
<obadz> LnL: yup
<tjg1> Has anyone here used a NixOS box as an IPv6 router and got NDP proxying to work? I've been struggling with this for 2 days.
<obadz> LnL: https://github.com/NixOS/nix/tree/master/src ⇐ specs is right here :)
<LnL> nix-instantiate --eval -E 'let x = "foo"; in with { x = "bar"; }; x' # "foo"
<bennofs> obadz: haha...
bennofs1 has quit [(Ping timeout: 260 seconds)]
<bennofs> LnL: with will never override let-bound things
<bennofs> LnL: it's documented somewhere i believe (not sure)
<LnL> that's intentional?
<obadz> in the spirit of preventing globals to override locals?
<LnL> allright, I wasn't sure
<bennofs> LnL: yes. stuff like with pkgs; ... is common, and if you added a pkg that conflicts with any of the other vars all such code would break
<jophish> LnL: yeah, that's be design
<jophish> let me find the log
<LnL> it does make sense, with can introduce arbitrary variables that might not be clear
Infinisil has joined #nixos
newhoggy has joined #nixos
<jophish> hmm, I don't think I can grep for "with" in the logs
phreedom has quit [(Remote host closed the connection)]
<tjg1> Specifically, I'm trying to split a routeable /64 block to provide IPv6 connectivity via OpenVPN. I can ping6 the OpenVPN server from a client, but have no IPv6 connectivity to the outside world unless I enable SNAT :(
Infinisil has quit [(Client Quit)]
m0rphism has joined #nixos
paperd has quit [(Quit: WeeChat 1.5)]
Infinisi1_ has joined #nixos
phreedom has joined #nixos
Infinisi1_ has quit [(Client Quit)]
<LnL> hmm, with ({ x = "bar"; }) x; x has the same behaviour, that could be pretty confusing
Infinisi1_ has joined #nixos
Infinisi1_ has quit [(Client Quit)]
newhoggy has quit [(Ping timeout: 240 seconds)]
Itkovian has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
Infinisi1_ has joined #nixos
khebbie has quit [(Ping timeout: 258 seconds)]
<bennofs> wow, did you know that read skips the last line if it does not end with a newline? o.o
<bennofs> (in bash)
<jophish> lots of tools used to do that
<hyper_ch> pic or I won't believe it
<jophish> sed not acting on the last line in the file if there wasn't a newline
<bennofs> apparently you have to do while read line || [ -n "$line" ]; do echo $line; done < y
<jophish> Is it possible to cross compile perl with nix?
<LnL> yeah...
newhoggy has joined #nixos
Infinisi1_ has quit [(Client Quit)]
Infinisi1_ has joined #nixos
<hyper_ch> bennofs: can you show an example where it does that?
peacememories has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
<Infinisi1_> (sorry for the continuous joins of me, im testing my irc client)
contrapumpkin has joined #nixos
<bennofs> hyper_ch: http://prnt.sc/ezwdj1
<hyper_ch> is that some weird pastebin that requires activated javascript?
<bennofs> oh sorry, here's a text only: echo -n " argh" | while read -r var; do echo "$var"; done
<bennofs> hyper_ch: will print nothing
acarrico has quit [(Ping timeout: 260 seconds)]
MinceR has quit [(Ping timeout: 260 seconds)]
Infinisi1_ has quit [(Client Quit)]
newhoggy has quit [(Ping timeout: 260 seconds)]
marsel has quit [(Ping timeout: 260 seconds)]
MinceR has joined #nixos
Infinisi1_ has joined #nixos
<NixOS_GitHub> [nixpkgs] PanAeon opened pull request #25155: #25152 add skypeforlinux beta (new) (master...feature-skypeforlinux) https://git.io/v9kqT
newhoggy has joined #nixos
mizu_no_oto has joined #nixos
<NixOS_GitHub> [nixpkgs] obadz closed pull request #25102: python2Packages.pyspread: init at 1.1 (and fix wxPython to inject required dependencies) (master...python-pyspread) https://git.io/v9UgW
Wizek has joined #nixos
<hyper_ch> bennofs: interesting
<manveru> obadz: thx
newhoggy has quit [(Ping timeout: 240 seconds)]
bennofs has quit [(Ping timeout: 258 seconds)]
nwspk has quit [(Quit: Quit: *.banana *.split)]
nwspk has joined #nixos
mizu_no_oto has quit [(Quit: Computer has gone to sleep.)]
<Infinisi1_> (Test)
<hyper_ch> (failed)
newhoggy has joined #nixos
<obadz> manveru: np
Infinisi1_ has quit [(Quit: leaving)]
<Sonarpulse> jophish: right i don't get why we need to remove all these outputs from binutils
Infinisi1_ has joined #nixos
<Sonarpulse> but i had trouble doing otherwise
<hyper_ch> btw, is there planned to update systemd in unstable?
Infinisi1_ has quit [(Client Quit)]
Infinisi1_ has joined #nixos
newhoggy has quit [(Ping timeout: 255 seconds)]
newhoggy has joined #nixos
marsel has joined #nixos
Guest75137 has quit [(Ping timeout: 240 seconds)]
Infinisi1_ has quit [(Quit: leaving)]
Infinisil has joined #nixos
<hyper_ch> Infinisil: swisscom? oO
<Infinisil> Alright I automatically join #nixos now as Infinisil when i start the irssi client :D
<Infinisil> I'm connecting via 4G
<hyper_ch> but overpriced swisscome? oO
newhoggy has quit [(Ping timeout: 260 seconds)]
<Infinisil> We got a super cheap one because of business relations :D
bennofs has joined #nixos
<hyper_ch> that's what they want to make you believe ;)
<Infinisil> I assume you're swiss, hyper_CH?
<hyper_ch> you assume correctly
<Infinisil> Now we know there's at least 2 people using nixos in switzerland :D
ryanartecona has joined #nixos
mudri has quit [(Ping timeout: 268 seconds)]
<hyper_ch> Infinisil: you don't happen to have a SuisseID and got it to work with nixos?
<Infinisil> Nope, don't even know what that is
<Infinisil> (looking it up now)
<hyper_ch> Infinisil: smart card with qualified electronic signature for submitting stuff electroncially to courts, law enforcement, betreibungsämter etc?
newhoggy has joined #nixos
<hyper_ch> and I still need to port my pdforts tools to nixos
<hyper_ch> ... one day...
<Infinisil> I see, definitely seems like something i don't need heh
<hyper_ch> awww :(
<Infinisil> What does your pdforts do?
<hyper_ch> still kde 4 and not ported to nixos... need to overhaul the whole code anyway
<jophish> Sonarpulse: are you able to compile pkgs.llvm?
<jophish> (cross compile)
<Infinisil> Seems like a good usecase for nix with all those dependencies
<Sonarpulse> havne't tried that
<hyper_ch> it's just a collection of scripts making daily working with pdfs easier
<jophish> I'm going through trying to fix things, but I feel like Sisyphus
newhoggy has quit [(Ping timeout: 245 seconds)]
<Sonarpulse> jophish: yeah sorry
<Sonarpulse> there's oh so much to untangle
<NixOS_GitHub> [nixpkgs] aszlig pushed 2 new commits to master: https://git.io/v9kmM
<NixOS_GitHub> nixpkgs/master 83e1400 aszlig: nixos/slim: Implement logging to journal...
<NixOS_GitHub> nixpkgs/master dc87b55 aszlig: nixos: Add a VM test for the SLiM display manager...
<jophish> It's a little annoying, I can't not use your patch, because ghc doesn't cross compile without it, but with your patch it seems like lots of the other cross compile machinery is not working
<jophish> :P
<bennofs> wow NixOS tests even support OCR?
<bennofs> I'm always surprised how powerful NixOS vm tests are
<Sonarpulse> jophish: heh
<Sonarpulse> well i didn't *try* to break everything else :D
<Sonarpulse> the biggest braking change (which I already landed) was making crossDrv the default
<Sonarpulse> that was last year
<hyper_ch> bennofs: you were right about read in bash - https://paste.simplylinux.ch/view/5fa2f9bb
<Sonarpulse> bennofs: what's OCR again?
<jophish> It's quite possible that I've just got things muddled up. Let me show you my changes and you can perhaps say "wtf, jophish. Don't do it like that"
<bennofs> Sonarpulse: image-to-text recognition
<Sonarpulse> oh right
<Sonarpulse> wow
<bennofs> Sonarpulse: it seems to be used in the Slim LM test
<hyper_ch> [o]ptical [c]haracter [r]ecognition
phreedom has quit [(Ping timeout: 268 seconds)]
<Sonarpulse> that's....end to end alright
<jophish> Sonarpulse: actually, there's nothing else changed for llvm. Just trying to build pkgs.llvm fails
<jophish> :)
<hyper_ch> but what OCR are you talking about with NixOS?
<bennofs> hyper_ch: looks like VM tests can use it to test graphical things
<Sonarpulse> jophish: but there's definitely things that ought to be changed for it
<Sonarpulse> though that's more cross than cross-built native
<NixOS_GitHub> [nixpkgs] bjornfor pushed 1 new commit to master: https://git.io/v9kmF
<NixOS_GitHub> nixpkgs/master ddb788b Bjørn Forsman: OVMF: get version number from edk2...
<NixOS_GitHub> [nixpkgs] Mic92 closed pull request #25150: zfs: Bump incompatibleKernelVersion to "4.11" (master...zfs-ikv) https://git.io/v9kve
<hyper_ch> ah... well, I currently use Abby's CLI OCR for Linux at the office... the best solution I could find to run on a server
<jophish> Sonarpulse: what do you mean "more cross"?
<hyper_ch> bennofs: not quite sure what vms have to do with ocr
newhoggy has joined #nixos
<maurer> My guess would be "check to make sure the right text is appearing on the screen"
<jophish> hyper_ch: nixos is booted in a vm, and some ocr is done to make sure it prints the correct text
<maurer> to make sure e.g. video drivers are working
<hyper_ch> ah I see
<bennofs> in this case, it's to make sure the display manager is working
<jophish> I wonder why it doens't just compute the hash of the image
<jophish> or do some image similarity
<hyper_ch> all documents that are scanned at the office go through OCR and get a digital signature with qualified timestamp attached, so it can be proved that the documents weren't altered since then
<jophish> Sonarpulse: I think I might try to get ghc cross compiling on master again. sadly even basic things like zlib are not able to be cross-built on your branch D:
<jophish> It's a shame, because your branch does seem to be a much more elegant solution
<Sonarpulse> zlib huh
<Sonarpulse> that is very basic
<Sonarpulse> well hopefull I'll be moving stuff to master v soon
<Sonarpulse> so keep on pullling :)
newhoggy has quit [(Ping timeout: 240 seconds)]
ryanartecona has quit [(Quit: ryanartecona)]
<bennofs> what does "warning: rewriting hashes in ‘/nix/store/z4fn7kg5d8ryr0g0qf2rn7mib8hf3fkd-ethabi-1.0.4-fetch’; cross fingers" do?
<bennofs> s/do/mean
<jophish> Just to saity check, here's how I'm cross compiling zlib. Perhaps I've got something really wrong: https://gist.github.com/f81a1d3d73ee9d6797f52cdfb8ba997f
<Infinisil> I'm gonna steal that substitution expression for my future types, very smart
<Infinisil> s/types/typos
<jophish> bennofs: I think that it's fiddling with the bytes in that derivation, replacing all the occurrences of one hash with another
<jophish> I've no idea why
<Sonarpulse> jophish: ok I'll try that
<jophish> thanks
<bennofs> jophish: seems to be for more atomic installs. if you're not doing chroot builds, then nix cannot set $out to the store path if $out already exists
<bennofs> jophish: so it sets $out to some dummy value and the rewrites
<jophish> ah I see
<jophish> Sonarpulse: also, I had to use buildPackages.buildPackages.binutils sometimes!
<Sonarpulse> hmm
<bennofs> jophish: i think buildPackages.buildPackages.binutils would be a host-native binutils, right?
<Sonarpulse> buildPackages sould be idempotent
<Sonarpulse> err oops
<Sonarpulse> yeah you are right
acertain has joined #nixos
<jophish> bennofs: correct, but so should buildPackages.binutils I think
<bennofs> while buildPackages.binutils is a host-cross binutils
<bennofs> no?
<Sonarpulse> err sorry
<Sonarpulse> I am doing bad just explaining my own thing
<Sonarpulse> basically shift the platforms over
<Sonarpulse> binutils = {build: foo, host: bar, target: bar}
<Sonarpulse> buidlPackages.binutils {build: foo, host: foo, target: bar}
<jophish> bennofs: that thought is what prompted me to try buildPackages.buildPackages
<bennofs> jophish: i think buildPackages.binutils is a binutils that runs on $host but spits out code for $cross
<Sonarpulse> buidlPackages.buidlPackages.binutils { all foo }
<bennofs> jophish: while buildPackages.buildPackages.binutils is a binutils that runs on $host and produces code for $host
<Sonarpulse> buildPackages.buildPackages is what you get if you are doing no cross
<jophish> yeah, I thought that it was supposed to be idempotent :D
<Sonarpulse> buildPackages.buildPackages.buildPackages = buildPackages.buildPackages
Infinisil has quit [(Quit: leaving)]
JayVii has quit [(Remote host closed the connection)]
<jophish> Sonarpulse: any idea what changed to make zlib stop working?
<bennofs> jophish: no its not idempotent since you've got 3 stages: host native -> cross -> target native
<Sonarpulse> "3 ideompotents"
Infinisil has joined #nixos
<hyper_ch> Infinisil: when did you start using nixos?
<Sonarpulse> jophish: trying now
newhoggy has joined #nixos
<jophish> thanks
<jophish> should just be nix-build on that gist
<jophish> oh, I have that done on a cache
JayVii has joined #nixos
<Sonarpulse> jophish: this is which branch?
<Sonarpulse> wait
<Sonarpulse> oh did you try the PR itself??
<Sonarpulse> the merge??
<jophish> yeah
<Sonarpulse> ahhhhh
<Sonarpulse> yeah the merge is totally broke
<Sonarpulse> sorry!
<jophish> obsidiansystems.haskell-cross
<Sonarpulse> the base branch
<Sonarpulse> my bad
<jophish> what's the rev I should be using?
<Sonarpulse> ghc-android is the branch
<jophish> ok
<Sonarpulse> or ghcjs-update-consolidate-1 for improved history but seem treeish
<jophish> let's try this again! :D
<jophish> what do you recommend?
<Sonarpulse> the latter
<Sonarpulse> easier to read
<Sonarpulse> more matching what I'm PRing
<jophish> ok
<Sonarpulse> haskell-cross is a mess that PR was basically a TODO for me probably should not even even opened it yet
<jophish> ok obsidiansystems/ghcjs-update-consolidated-1
derjohn_mob has joined #nixos
<Sonarpulse> yeah
<Sonarpulse> that's we we're using right now
<Infinisil> hyper_ch: I just started actually using it last week, I have soooo many things left to configure though, I'm not even remotely done, what about you?
<hyper_ch> I started a little while earlier
newhoggy has quit [(Ping timeout: 260 seconds)]
pbogdan has joined #nixos
<jophish> Sonarpulse: oh, this is annoying. You forked before aarch64 support was added
<Sonarpulse> well we are cross compiling to aarch64
<Sonarpulse> but yeah
<Infinisil> hyper_ch: What de/wm/terminal/whatever_else_interesting are you using?
<Sonarpulse> that is a annoying
newhoggy has joined #nixos
newhoggy has quit [(Ping timeout: 258 seconds)]
Itkovian has joined #nixos
endformationage has joined #nixos
Itkovian has quit [(Client Quit)]
<Infinisil> hyper_ch: Thanks for sharing, are you using firefox or chromium?
<hyper_ch> mostly chromium
<Infinisil> Asking because my firefox is starting super slow (like 15 seconds) and links open after like 5 seconds
<hyper_ch> then you're doing it wrong :)
phreedom has joined #nixos
<Infinisil> I just noticed I installed firefox via nix-env -iA nixos.firefox, I'll try sytem configuration.nix now
<Sonarpulse> jophish: also i was thinking last night
<Sonarpulse> we could make something like cross stdenv
<Sonarpulse> which adds extra boot stage for "new native"
newhoggy has joined #nixos
<Infinisil> Took only 30 seconds to start, somethings not rig
<Infinisil> ht
<Sonarpulse> [ {native, native, native}, {native, native, cross}, {native, cross, cross}, {cross, cross, cross} ]
<Infinisil> Ohh actually it's really fast after the initial start now, weird
<jophish> Sonarpulse: that's pretty much what I was going to try this weekend (albeit just for ghc)
<Sonarpulse> right you had to crate a new ghcHeadNativeCross or whatever
<jophish> exactly
pbogdan has quit [(Quit: ERC (IRC client for Emacs 25.1.1))]
<Sonarpulse> but it's not *that* odd a usecase
<Sonarpulse> especially for people with a heterogenous build farm
<Sonarpulse> so might as well support it right
pbogdan has joined #nixos
<jophish> I did it on saturday for binutilsin arm
<Sonarpulse> add a bootstrapping stage?
<Sonarpulse> or crate a 1-off binutilsCrossNative
<Sonarpulse> *create a..
<jophish> I did it as a one off, but I don't think it would have been to hard to do it otherwise
<Sonarpulse> yeah the stuff I did last year is pretty tailored for things like it
newhoggy has quit [(Ping timeout: 260 seconds)]
<Sonarpulse> jophish: https://travis-ci.org/NixOS/nixpkgs/builds/224958163 yay something finally built
<bennofs> Sonarpulse: is the last thing there $target ?
<Sonarpulse> yeah
<Sonarpulse> host build target
<Sonarpulse> but I type so poorly, better to just type less :D
<Sonarpulse> *build host target
<Sonarpulse> excuse me!
Itkovian has joined #nixos
<NixOS_GitHub> [nixpkgs] zimbatm pushed 1 new commit to master: https://git.io/v9kOM
<NixOS_GitHub> nixpkgs/master 749d495 gnidorah: rambox, franz: cleanup (#25020)
<Sonarpulse> wow i'm spreading misinformation today
<jophish> Sonarpulse: what's that on travis?
<Sonarpulse> first 2 commits
<Sonarpulse> of ghcjs-update-consolidated
<Sonarpulse> more or less
<Sonarpulse> the upstream begins!
<NixOS_GitHub> [nixpkgs] Ericson2314 pushed 4 new commits to master: https://git.io/v9kOH
<NixOS_GitHub> nixpkgs/master af8f87a John Ericson: top-level: Do not splice `pkgs`, `buildPackages` or `*Platform`...
<NixOS_GitHub> nixpkgs/master d59e4fb John Ericson: stage.nix: Better explain why `buildPackages` as `null` is valid arg
<NixOS_GitHub> nixpkgs/master 863d79b John Ericson: top-level: Introduce targetPackages and a "double link fold"...
<bennofs> Sonarpulse: oh so the additional stage would allow you to substitute on the cross platform from a hydra that cross-built for it
<Sonarpulse> right
<bennofs> Sonarpulse: so you can bootstrap easier?
<Sonarpulse> yeah
<Sonarpulse> build-time tools would be cross-built
<Sonarpulse> it's kind of an arbitrary way to decide what's cross built and what's native built
<Sonarpulse> but it is a sound bootstrap (no cycles)
<Sonarpulse> if normal package set it no cycles
<aszlig> FRidh: output path ‘/nix/store/nsc6daq6bkz9j18babppwvac29419lin-wine-staging-v2.6-src’ has r:sha256 hash ‘1j1fsq7pb7rxi7ppagrk93gmg5wk3anr9js0civxiqd3h8d4lsz2’ when ‘1l0sjbsajr4m7w3ar2ljwr3ffmwyv57g85a068ard3v8fv4nil22’ was expected
<Sonarpulse> ideally I'd like way to opt-into ignore the builder completely
<Sonarpulse> maybe really good deterministic builds + intensional store
<Sonarpulse> would allow the build system provenance of a derivation to be forgetten without hacks
<aszlig> FRidh: i'd assume you still have the store path for 1l0sjbsajr4m7w3ar2ljwr3ffmwyv57g85a068ard3v8fv4nil22 available, can you please do a diff?
<Sonarpulse> that would be the even better ideal
Infinisil has quit [(Quit: leaving)]
<Sonarpulse> *build platform
Infinisil has joined #nixos
Infinisil has quit [(Client Quit)]
Infinisil has joined #nixos
newhoggy has joined #nixos
<aszlig> FRidh: oh, never mind... that sha256 is for 2.5, fixing...
newhoggy has quit [(Ping timeout: 260 seconds)]
ixxie has joined #nixos
griff_ has joined #nixos
newhoggy has joined #nixos
<Infinisil> htop
elpea has joined #nixos
<Infinisil> wrong window sorry
<Infinisil> Can I ask you people how much cpu a browser should use when e.g. playnig a video?
<FRidh> aszlig: was one of the hashes incorrect in the updates?
<aszlig> FRidh: see the upcoming commit, currently building wineStaging
<NixOS_GitHub> [nixpkgs] Mic92 closed pull request #25119: emacs-all-the-icons-fonts: init at 2.5.0 (master...emacs-all-the-icons) https://git.io/v9TGs
newhoggy has quit [(Ping timeout: 260 seconds)]
<steveeJ> hey clever, about our conversation about './.' in nix expressions yesterday. Did we talk about a way to access the original argument that was passed to nix-{env,build,instantiate}? e.g. if it's an URL to an archive that will be downloaded
<clever> Infinisil: the process in the chrome taskmanager for a video-ing tab is using between 23 and 36% cpu while doing fullscreen playback
<clever> Infinisil: another process, for totally idle tabs, is using a constant 42%!
winmillwill has joined #nixos
<Infinisil> clever: Hmm thanks, It's about the same for me, but I feel like it should be lower
khebbie has joined #nixos
<clever> a process with just a wiki, imgur, reddit, twitter, and youtube, is using more cpu then fullscreen video playback
<bennofs> clever: "just"
<jophish> Sonarpulse: as an aside, pkgs.llvm isn't able to be cross compiled
<jophish> (on master)
<clever> bennofs: most of those are sites that have extremely low background usage
<clever> its not the wiki
<Infinisil> I can't wait for the servo web engine written in rust to come to firefox, should be faster and lighter. That's the main reason I want to use firefox
<clever> nor twitter
<jophish> clever: do you know if it should be possible to cross compile llvm?
newhoggy has joined #nixos
<bennofs> jophish: i think even a native llvm should be able to produce code for cross compilation
<joepie91> wiki, imgur, reddit, twitter and youtube all don't have an excuse to be using any significant amount of CPU unless they're decoding video :P
<steveeJ> clever: it's possible that the video playback is handled by a background process and the GPU
<joepie91> it's basically content on a page
<steveeJ> joepie91: decoding should not happen in the CPU
<joepie91> but it will depending on the system and the video format :P
<jophish> bennofs: sure, but I'm trying to cross compile llvm itself
<clever> steveeJ: yeah, but a lot of tabs that should be idle are listed as using cpu
<clever> jophish: probably
betaboon has joined #nixos
<clever> joepie91: i cut that process down to 1 reddit thread and 2 imgur tabs, and its still using 44%
<clever> oh, one of those imgur's is animated
<joepie91> clever: that's most likely a pile of tracking and advertising cruft
<joepie91> clever: right, that'd be a video then
<jophish> clever: ah, I meant with nix :)
<jophish> for example this expression with nixpkgs master: https://gist.github.com/43e8374d7dae7629d641bd551f9c1904
<joepie91> it's uh, impressive how much better stuff performs when you disable JS or block trackers
<clever> joepie91: ahh, it was an album full of animated things
<clever> joepie91: that process is now at 0%
<clever> explains how it was using more then fullscreen video was
<joepie91> hm. it shouldn't render all of it at the same time
newhoggy has quit [(Ping timeout: 260 seconds)]
marsel has quit [(Ping timeout: 255 seconds)]
<clever> 54% when visible, 40% when on another tab, no effect from minimizing
<NixOS_GitHub> [nixpkgs] aszlig pushed 1 new commit to master: https://git.io/v9ks0
<NixOS_GitHub> nixpkgs/master f84b817 aszlig: wine-staging: Fix SHA256 hash...
<aszlig> FRidh: ^
<FRidh> aszlig: thanks
FRidh has quit [(Quit: Konversation terminated!)]
reinzelmann has joined #nixos
marusich has joined #nixos
<sphalerite> clever: I find that twitter has very high background usage
<Infinisil> I try to avoid webapps as much as possible
frankpf has joined #nixos
m3tti has joined #nixos
<NixOS_GitHub> [nixpkgs] dezgeg pushed 2 new commits to master: https://git.io/v9kGJ
<NixOS_GitHub> nixpkgs/master f3b1d69 Tuomas Tynkkynen: Revert "patchutils: Drop patch applied upstream"...
<NixOS_GitHub> nixpkgs/master 814772e Tuomas Tynkkynen: Revert "patchutils: 0.3.3 -> 0.3.4"...
mudri has joined #nixos
<m3tti> hi there anyone any luck to get quakespasm running
<m3tti> ???
newhoggy has joined #nixos
<bennofs> anyone here familar with fetchgit implementation?
<bennofs> it does a repack, but it does not seem to repack submodules?
<m3tti> i'm trying to get a derivation up and running but i couldn't build the correct hash from sourceforge with sha256sum
<bennofs> also it does not seem to remove tags etc from submodules at all?
<avn> aszlig: It why I always wait staging release to update both staging and unstable same time
<clever> m3tti: nix needs the hash of the NAR (nix archive), not the hash of the .tar.bz2
<m3tti> that's my derivation right now https://pastebin.com/TzXmkEWH
<bennofs> oh no it does
<clever> m3tti: it will basicaly nix-store --dump the $out path, and hash that
<m3tti> clever: who could i get this
<clever> m3tti: nix-build will tell you the correct hash when the hash fails
<m3tti> ok
<clever> m3tti: you just need to enter a known-wrong hash
<bennofs> clever: you can also run mirror://sourceforge/quakespasm-${version}.tgz
<bennofs> m3tti: you can also run nix-prefetch-url 'mirror://sourceforge/quakespasm-0.92.1.tgz'
newhoggy has quit [(Ping timeout: 255 seconds)]
newhoggy has joined #nixos
acarrico has joined #nixos
<clever> bbl
spinus has joined #nixos
python476 has joined #nixos
<NixOS_GitHub> [nixpkgs] vcunat pushed 1 new commit to master: https://git.io/v9kGD
<NixOS_GitHub> nixpkgs/master 5a3e454 Vladimír Čunát: Revert "kdiff3: fixup patch hash after #25059"...
<NixOS_GitHub> [nixpkgs] vcunat pushed 1 new commit to release-17.03: https://git.io/v9kGH
<NixOS_GitHub> nixpkgs/release-17.03 e9360f2 Vladimír Čunát: Revert "kdiff3: fixup patch hash after #25059"...
newhoggy has quit [(Ping timeout: 260 seconds)]
<m3tti> ok next question how could i properly test my build and do i have to build the source on my own or could i use the prebuild packages from sourceforge and only link the binaries
<m3tti> ?
newhoggy has joined #nixos
peacememories has joined #nixos
marsel has joined #nixos
peacememories has quit [(Client Quit)]
peacememories has joined #nixos
peacememories has quit [(Client Quit)]
newhoggy has quit [(Ping timeout: 260 seconds)]
newhoggy has joined #nixos
peacememories has joined #nixos
newhoggy has quit [(Ping timeout: 240 seconds)]
<Infinisil> m3tti: Maybe you can ask later again
<Infinisil> I sadly don't know the answer
pie_ has quit [(Ping timeout: 260 seconds)]
<bennofs> m3tti: you should build from source
<MichaelRaskin> As for testing: enable sandboxing, this is usually enough. As for prebuilt binaries: they will not work without some patchelf, and packages patching the prebuilt binaries are generally considered worse
<bennofs> m3tti: you can test it by running nix-build -E 'with (import <nixpkgs> {}); callPackage ./path/to/your.nix {}'
newhoggy has joined #nixos
<NixOS_GitHub> [nixpkgs] Mic92 closed pull request #25153: Add more configuration options for zsh-syntax-highlighting (master...zsh/syntax-highlighting-config) https://git.io/v9kTK
<m3tti> bennofs: thanx
newhoggy has quit [(Ping timeout: 245 seconds)]
jensbin has joined #nixos
jensbin has quit [(Max SendQ exceeded)]
jensbin has joined #nixos
jensbin has quit [(Max SendQ exceeded)]
<NixOS_GitHub> [nixpkgs] Mic92 pushed 2 new commits to master: https://git.io/v9knU
<NixOS_GitHub> nixpkgs/master 32d649e Kevin Cox: etcd: 3.0.6 -> 3.1.6...
<NixOS_GitHub> nixpkgs/master e57a4f3 Jörg Thalheim: Merge pull request #25142 from kevincox/etcd-3.1.6...
<NixOS_GitHub> [nixpkgs] kamilchm opened pull request #25157: ponyc: 0.13.0 -> 0.13.1 (master...ponyc) https://git.io/v9knT
jensbin_ has joined #nixos
betaboon has quit [(Quit: This computer has gone to sleep)]
jensbin_ has quit [(Remote host closed the connection)]
jensbin_ has joined #nixos
newhoggy has joined #nixos
jensbin_ has quit [(Remote host closed the connection)]
newhoggy has quit [(Ping timeout: 260 seconds)]
newhoggy has joined #nixos
marusich has quit [(Remote host closed the connection)]
fresheyeball has joined #nixos
<fresheyeball> is there a way I can add global npm packages to me nix-env?
<fresheyeball> I know this will work, but... mutable? ftw!
systemfault has joined #nixos
newhoggy has quit [(Ping timeout: 240 seconds)]
newhoggy has joined #nixos
<m3tti> where do i find mad.h
<m3tti> whats the parameter i'm looking for
newhoggy has quit [(Ping timeout: 240 seconds)]
<bennofs> m3tti: libmad
newhoggy has joined #nixos
robertoti has joined #nixos
<NixOS_GitHub> [nixpkgs] Mic92 pushed 2 new commits to master: https://git.io/v9knh
<NixOS_GitHub> nixpkgs/master cccd842 Jörg Thalheim: vimPlugins.vim-trailing-whitespace init at 2016-03-27
<NixOS_GitHub> nixpkgs/master 647b1a6 Jörg Thalheim: vimPlugins: update sources
<m3tti> bennofs: looks like it couldn't find it even if i use libmad the message is "snd_mp3.c:35:17: fatal error: mad.h: No such file or directory"
<m3tti> aaaaah damn XD
<m3tti> buildInputs is my foult
<m3tti> fault
<m3tti> do i need the buildInputs ???
<m3tti> i feels redundant
<bennofs> m3tti: yes you need it
Mutter has joined #nixos
<m3tti> damn last error "cp quakespasm /usr/local/games/quake
<m3tti> cp: cannot create regular file '/usr/local/games/quake': No such file or directory"
<m3tti>
justanotheruser has joined #nixos
newhoggy has quit [(Ping timeout: 255 seconds)]
pbogdan has quit [(Quit: ERC (IRC client for Emacs 25.1.1))]
ixxie has quit [(Ping timeout: 240 seconds)]
justan0theruser has quit [(Ping timeout: 260 seconds)]
takle has quit [()]
Mutter has quit [(Client Quit)]
newhoggy has joined #nixos
<NixOS_GitHub> [nixpkgs] Mic92 pushed 1 new commit to master: https://git.io/v9kcX
<NixOS_GitHub> nixpkgs/master 77e6529 Jörg Thalheim: vimPlugins.pony-vim-syntax: init at 2016-01-23
<m3tti> i've found out that the cp command is in the make install of the makefile
newhoggy has quit [(Ping timeout: 240 seconds)]
<m3tti> how could i disable that do i have to remove that line with a preInstall hook command?
reinzelmann has quit [(Quit: Leaving)]
<bennofs> m3tti: yeah you should probably replace that line with substituteInPlace Makefile --replace "/usr/local/games/quake" "$out/bin"
<bennofs> m3tti: in preInstall
frankpf has quit [(Ping timeout: 268 seconds)]
<m3tti> ok now i'm out xD. What does that mean
<m3tti> "error creating link ‘/nix/store/lxpx8l5ksl2c59zi2dx10zb6sy58qkn1-user-environment/bin’: File exists at /nix/store/64jc9gd2rkb
<m3tti> gdb4yjx3nrgc91bpjj5ky-buildenv.pl line 87."
newhoggy has joined #nixos
<bennofs> m3tti: oh sorry, you probably need to substituteInPlace Makefile --replace "/usr/local/games" "$out/bin"
<bennofs> m3tti: you may also need an mkdir -p "$out/bin"
davidak has joined #nixos
kalei has joined #nixos
<jophish> Sonarpulse: I've narrowed it down to 22277893923cdf26004d83b608b7e1c3ca7030fb which broke the ghc cross compiling
<jophish> err, ignore that I think
newhoggy has quit [(Ping timeout: 260 seconds)]
bennofs1 has joined #nixos
newhoggy has joined #nixos
<kalei> I try to get grsecurity running on my desktop computer. Unfortunately I need the properitary nvidia drivers. On gentoo, I got it working (prehabs because they're using an extra pax patch for nvidia drivers). Has anyone experience with this on nixos?
<m3tti> bennofs: it works
<m3tti> thanx
<m3tti> i'll open a pull request asap
<gchristensen> kalei: I think joachifm is the person most likely able to help you
<m3tti> great my first nixpkg
peacememories has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
kalei has quit [(Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)]
kalei has joined #nixos
newhoggy has quit [(Ping timeout: 260 seconds)]
<kalei> thx, i will contact him
newhoggy has joined #nixos
fresheyeball has quit [(Quit: WeeChat 1.7)]
bennofs1 has quit [(Quit: WeeChat 1.7)]
newhoggy has quit [(Ping timeout: 240 seconds)]
<NixOS_GitHub> [nixpkgs] armijnhemel opened pull request #25158: bc: 1.06 -> 1.07.1 (master...bc) https://git.io/v9kCh
khebbie has quit [(Ping timeout: 252 seconds)]
bennofs has quit [(Ping timeout: 268 seconds)]
<m3tti> is there any commit msg guideline???
<gchristensen> yes, m3tti
<NixOS_GitHub> [nixpkgs] Mic92 pushed 2 new commits to master: https://git.io/v9kWv
<NixOS_GitHub> nixpkgs/master b125fbf Kamil Chmielewski: ponyc: 0.13.0 -> 0.13.1...
<NixOS_GitHub> nixpkgs/master 3d893ac Jörg Thalheim: Merge pull request #25157 from kamilchm/ponyc...
<mitchty> clever: as a note, i had to do this in the project stack.yaml to get intero+ghc-mod to play nicely together https://gist.githubusercontent.com/mitchty/1deb39735868878bb30d9eb5d750afeb/raw/a3cbeda2303b51491290f2c0f7ef4d7de58ffe59/stack.yaml
<m3tti> gchristensen: and i've to push my changes into the master branch? or something else ???
betaboon has joined #nixos
<mitchty> but that causes other fun as i'm developing on OS X, but wanting to also build on normal non nix linux, so have to strip out those first three lines when building there, but not too big of a deal
monsieurp has left #nixos ["15"]
Infinisil has quit [(Quit: Good night!)]
newhoggy has joined #nixos
<gchristensen> m3tti: master branch would be fine, but I would recommend making a second branch specific to this change
robertoti has quit [(Ping timeout: 255 seconds)]
<NixOS_GitHub> [nixpkgs] matthewbauer opened pull request #25159: wxWidgets: move wxGTK-* to one wxWidgets folder (master...wxwidgets-refactor2) https://git.io/v9kWV
tv has quit [(Ping timeout: 255 seconds)]
newhoggy has quit [(Ping timeout: 260 seconds)]
tv has joined #nixos
<NixOS_GitHub> [nixpkgs] m3tti opened pull request #25160: Quakespasm: init at 0.92.1 (master...quakespasm) https://git.io/v9kW5
newhoggy has joined #nixos
<ericnoan> isn't users.users.myuser.shell = "pkgs.fish"; valid? i get a "is not a package or path" error
<gchristensen> = "${pkgs.fish}/bin/fish" or something
<NixOS_GitHub> [nixpkgs] vcunat pushed 1 new commit to master: https://git.io/v9klk
<NixOS_GitHub> nixpkgs/master 5c7f466 Linus Heckemann: nixpkgs manual: Remove obsolete warning (#21117)...
thinkingeye has joined #nixos
m3tti has quit [(Ping timeout: 240 seconds)]
<NixOS_GitHub> [nixpkgs] vcunat pushed 1 new commit to release-17.03: https://git.io/v9klq
<NixOS_GitHub> nixpkgs/release-17.03 be65d23 Linus Heckemann: nixpkgs manual: Remove obsolete warning (#21117)...
newhoggy has quit [(Ping timeout: 240 seconds)]
<ericnoan> well, setting it to /run/current-system/sw/bin/fish works anyway
newhoggy has joined #nixos
Infinisil has joined #nixos
m3tti has joined #nixos
Infinisil has quit [(Client Quit)]
<NixOS_GitHub> [nixpkgs] armijnhemel opened pull request #25161: ucommon: 6.3.1 -> 7.0.0 (master...ucommon) https://git.io/v9klr
Guest77836 has quit [(Quit: Lost terminal)]
<jophish> Hmm. In my cross compile to arm, nix is trying to fetch sources with an arm curl!
<jophish> (and failing because this machine can't execute arm code)
<jophish> What's going on?
newhoggy has quit [(Ping timeout: 268 seconds)]
<gchristensen> which fetcher? sounds like a nativeBuildInputs problem
<clever> though network should be disabled everywhere but a few well-maintained derivations
<jophish> gchristensen: tar, it's a real mess: /nix/store/fwdvb9l8333snjw5c7kbjp5x8db7i2a0-QuickCheck-2.9.2.tar.gz-arm-linux-gnueabihf
<jophish> should that have that suffux?
<clever> sounds more like a bug in the cross-compile framework now?
<clever> like it forced a fetchurl derivation to be cross-compiled with the arm curl
newhoggy has joined #nixos
<jophish> I think that the ghc cross compilation code is very broken
<jophish> For example, to build pkgs.haskell.packages.ghcCross.ghc with crossSystem set fails with that error
<jophish> http://147.75.204.163:5000 build3:vpbxco206R9CVRqVQZYTyTYGYJKpVbQp/O50gOIdF48= is the machine doing this building
<jophish> everything up to the failure is cached
ertesx has joined #nixos
<jophish> shlevy: When was the last time you had ghcCross building?
newhoggy has quit [(Ping timeout: 240 seconds)]
<jophish> oh, master needs `perl` replaced with `buildPackages.perl` in ghc/head.nix
justan0theruser has joined #nixos
ertes has quit [(Ping timeout: 258 seconds)]
ertesx is now known as ertes
newhoggy has joined #nixos
justanotheruser has quit [(Ping timeout: 240 seconds)]
python476 has quit [(Ping timeout: 240 seconds)]
newhoggy has quit [(Ping timeout: 240 seconds)]
newhoggy has joined #nixos
<jophish> ah, I think that make-package-set might be being cross compiled too far
<jophish> inherit (pkgs) fetchurl pkgconfig glibclocales coreutils gnugrep gnused;
<jophish> I bet these should be from pkgs.buildPackages
newhoggy has quit [(Ping timeout: 252 seconds)]
sdll has joined #nixos
sdll has quit [(Client Quit)]
Bane^ has quit [(Ping timeout: 260 seconds)]
newhoggy has joined #nixos
chatter29 has joined #nixos
chatter29 has quit [(Client Quit)]
GLn has joined #nixos
Zer000 has joined #nixos
<GLn> How nixos works with selfupdating software? For example if i got something like telegram client. Will it be able to update itself?
<clever> GLn: the directory its installed to is read-only, so it will usualy fail to update
<manveru> GLn: that depends on where it writes those updates
<clever> though some things like steam and dropbox try to save the updates to a dir under $HOME
<clever> in that case, the new version will fail to run
<clever> (though steam has special stuff to handle it)
<manveru> steam has a whole fake ubuntu :)
<GLn> Ok! Thanks. Should i look steam.nix to understand it better?
<GLn> or whatever it called
<clever> usually better to just block the auto-update, and just update nixpkgs often
kampfschlaefer has quit [(Ping timeout: 240 seconds)]
<Zer000> Hydra just says "error: regex_error" in both the interface and when I run hydra-eval-jobset. I have no idea how to debug this. Everything goes smoothly when I run nix-build. I am trying to build this expression https://github.com/Zer0-/nix-ruma/blob/master/default.nix
Bane^ has joined #nixos
<NixOS_GitHub> [nixpkgs] DrawnWren opened pull request #25162: Changed package name in example command (master...patch-1) https://git.io/v9k4R
kalei has quit [(Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)]
thinkingeye has quit [(Quit: Konversation terminated!)]
GLn has left #nixos []
newhoggy has quit [(Remote host closed the connection)]
ryanartecona has joined #nixos
thc202 has quit [(Ping timeout: 240 seconds)]
<Zer000> My hydra config http://i.imgur.com/zhGLQmT.jpg
m3tti has quit [(Ping timeout: 240 seconds)]
bennofs has joined #nixos
<jophish> How can I access a cross compiling gcc from within buildPackags?
<jophish> buildPackages*
roconnor has joined #nixos
<jophish> I have a derivation which tries to get stdenv.ccCross
<jophish> I want to build a native version of this package, however it requires arm-linux-gnueabi-gcc
<jophish> when I build it as buildPackages.myPackage the stdenv it is called with no longer contains ccCross
<jophish> gccCrossStageFinal doesn't work either, as it asserts that it is actaully cross compiling
<jophish> (and I am cross compiling, as targetPlatform != buildPlatform)
hiratara has quit [(Ping timeout: 258 seconds)]
<ryantrinkle> has anyone done something like "declarative container in user area"?
<ryantrinkle> i'd really like to set up my containers just like how they're done in /etc/nixos/configuration.nix
<ryantrinkle> but ideally i'd like them to live in my home directory rather than in a global place
<ryantrinkle> in particular, i'm hoping to be able to rm -rf them
<ryantrinkle> and just generally treat them like directories
<clever> ryantrinkle: when i was experimenting with containers to test some fuse stuff, i had to run systemd-nspawn as root, but i was able to just put the rootfs anywhere
hiratara has joined #nixos
<clever> ryantrinkle: this is how i was doing it for random tests: https://github.com/cleverca22/fusenar/blob/master/container.nix
<jophish> Sonarpulse: Is there an easy way I can pull across the __targetPackages work from your big PR?
<ryantrinkle> clever: that looks really cool :)
<clever> ryantrinkle: the idea with that project, is that ipfs needs a copy of the objects its sharing, and if you want to share your nix store over ipfs, you wind up with a copy in /nix/store, and a .nar file of equal size
<jophish> oh, It's already merged
<clever> ryantrinkle: why not use fuse to mount a pile of .nar files at /nix/store?
<clever> just dont unpack the nar's!
<ryantrinkle> clever: yeah, that sounds cool :)
<clever> ryantrinkle: i also quickly discovered, that if the fuse program crashes in a weird way, pid 1 will get stuck at 100% cpu and go unresponsive
griff_ has quit [(Quit: griff_)]
<ryantrinkle> is there a performance issue?
<clever> ryantrinkle: you are then unable to shutdown or reboot
<ryantrinkle> hahaha
<ryantrinkle> ahhh
<clever> and thats the host pid1, that was supposed to be spawning a container
<MichaelRaskin> clever: well fuse locks are easy to solve by killing fuse connection
<clever> MichaelRaskin: i think systemd glitched because the fuse app segfaulted, and the fs still existed
<MichaelRaskin> Well, systemd glitching is not surprising
<clever> MichaelRaskin: and maybe systemd wasnt coded to handle errors when the carpet gets pulled out from under its feet
<MichaelRaskin> At least not correctly
<sphalerite> jophish: won't $CC refer to the appropriate cross compiler when building for a different target platform?
<clever> ryantrinkle: i had originaly written it in c++, but ran into performance issues because it had to parse the entire NAR (potentialy several gig) just to figure out if it was a file or a directory
<clever> ryantrinkle: and just doing "ls /nix/store" led to it having to fully parse every nar in the entire store
<jophish> sphalerite: I wanted __targetPlatform
<jophish> it was merged just 2 days ago
JagaJaga has quit [(Ping timeout: 240 seconds)]
<jophish> sphalerite: and I needed it at eval time
<sphalerite> oooh right
<clever> ryantrinkle: so, i rewrote the whole thing in haskell: https://github.com/taktoa/narfuse
<ryantrinkle> nice :)
<ryantrinkle> rewriting things in haskell is a bit of a pastime of mine :P
<clever> ryantrinkle: i still think perf could be improved more by keeping a database with the results of parsing things
<bennofs> clever: how many github acounts do you have? :o
<clever> bennofs: 2, both have clever in the name, taktoa was just helping more with that project
<taktoa> hi
<bennofs> oh :)
<ryantrinkle> clever: yeah, since nar <-> store-path is supposed to be an isomorphism, it should be able to cache one or the other or both
newhoggy has joined #nixos
<ryantrinkle> clever: have you used 'subuser'?
<clever> ryantrinkle: nope
<bennofs> just require the nars to be named after the store path?
<ryantrinkle> i recently had an incident where a script from one of my clients accidentally did rm -rf /*
<ryantrinkle> it was on a machine i didn't care about, so nbd
<ryantrinkle> but
marsel has quit [(Ping timeout: 260 seconds)]
<ryantrinkle> i realized that i'm not being quite as careful as i should be
<taktoa> zfs snapshots
<ryantrinkle> hence looking for a cheap and cheerful way to sandbox everything all the time
<clever> bennofs: i think it kept them as <hash>-<name>.nar i believe
<ryantrinkle> taktoa: already deployed
<ryantrinkle> but i want *more* layers of defence :P
<ryantrinkle> for example
<bennofs> clever: then figuring out which nar belongs to a store path should be easy, no?
<ryantrinkle> what if client code tries to send my whole home directory to their server?
<ryantrinkle> home directory contains bank info, etc.
<bennofs> I wonder how https://firejail.wordpress.com/ compares to subuser
<taktoa> true. auditing and VMs are good for that
<clever> bennofs: yep, but the type of the root node (file, or directory) required parsing the nar, and making a lazy parser in c++ had a higher difficulty then just redoing it all in haskell
<taktoa> (auditing the client code before you run it)
Guest690 has quit [(Ping timeout: 240 seconds)]
<ryantrinkle> taktoa: yeah, although auditing this client code, i'm almost 100% certain i wouldn't have caught it
<clever> bennofs: haskell just turns half of the parsing job into a thunk, and can resume the parsing later
<bennofs> clever: btw, nowadays hydra provides file listings of each nar
<ryantrinkle> it was one of those terrible bashisms
<bennofs> clever: so you may just use that
<ryantrinkle> rm -rf $out/*
<ryantrinkle> haha
<ryantrinkle> i know not to write taht
<ryantrinkle> but i'm not confident i'd find it while skimming
<taktoa> `nixos-rebuild build-vm` is useful for more than just testing if your computer will boot before you reboot
<ryantrinkle> hmm
<ryantrinkle> vms are pretty heavy, though, aren't they?
elpea has quit [(Ping timeout: 240 seconds)]
<taktoa> it mounts the nix store
<clever> bennofs: i think if i was to improve it now, i would have it index the .nar when you register it into the framework, and cache that in a db
<ryantrinkle> i haven't used the absolute latest stuff
<taktoa> so you don't need very much disk space unless you have a chrome profile in there or something
<taktoa> KVM helps a lot too
<ryantrinkle> but i've always been annoyed with perf for development
<clever> bennofs: and nix itself would need to be patched, so when you tell nix to substitute a .nar from the cache, it will save it to a dir and IPC fusenar, rather then unpacking
<clever> bennofs: and at that point, fusenar can index the file, and cache that
<taktoa> oh yeah, I just mean for the first time you run the client code
<taktoa> not for full development
<ryantrinkle> ah yeah
<taktoa> also in theory you can set the outside machine as a build slave for the VM
* bennofs feels bad for pressing "n" when pacaur asks for "do you want to view PKGBUILD" :)
<ryantrinkle> firejail looks interesting
<ryantrinkle> seccomp seems about right
<ryantrinkle> i did manage to rig up a way of using unshare to mark everything outside the current directory as unwritable
<bennofs> note that firejail currently does not sandbox dbus. so your sandboxed script may be able to escape by talking to the systemd user daemon i believe if it has net access
<bennofs> afaik
<ryantrinkle> bennofs: ah, interesting
<ryantrinkle> and i guess i do use dbus
<bennofs> (you can just instruct systemd user daemon via dbus to spawn a scope iirc)
<ryantrinkle> interesting
<ryantrinkle> well, i'm not really worried too much about malicious behavior here, so hopefully that's not too likely :P
marsel has joined #nixos
<bennofs> yeah, just saying that if somebody is specially targeting that it may be easy to escape
<ryantrinkle> right, definitely
<ryantrinkle> i really wish the mandatory access control systems from the Orange Book had taken off
<bennofs> i don't know of any solution that can actually sandbox DBus correctly (allow apps to partly access the bus)
<bennofs> I guess SELinux can do it
<ryantrinkle> oh hey, maybe i could do this with an selinux profile?
<bennofs> and apparmor as well it seems
<bennofs> ryantrinkle: i heard it was hard to setup. idk, I only read about all this stuff but haven't actually used it :p
<bennofs> ryantrinkle: an apparmor profile may be simpler
<ryantrinkle> bennofs: yeah, makes sense
drasich has joined #nixos
griff_ has joined #nixos
marsel has quit [(Ping timeout: 260 seconds)]
<clever> ryantrinkle: oh, another thing ive been thinking of adding to nix, have it save the binary cache signatures to /nix/var/nix/db/db.sqlite
<clever> ryantrinkle: without that, non-primary hydras have to re-sign everything they share, even if it was originaly signed by the main hydra
<ryantrinkle> clever: oh, that sucks
<ryantrinkle> yeah, ideally you could have multiple signatures, too
<clever> this also opens up the option of signing local builds when the build finishes, rather then when somebody asks for it
<clever> and if you throw in some keypair rotation, and put a timestamp into the signature, you could proove what month something was signed during
<clever> so even if an attacker gets root, and can mess with db.sqlite, he cant repair signatures on a year-old storepath
<clever> and it would make nix-store --verify --check-contents crypographicaly secure
<ryantrinkle> that would be pretty sweet :)
<clever> you could proove that 98% of the storepaths are unmodified originals from cache.nixos.org
<clever> and massively cut down on what you need to audit
<ryantrinkle> right
<clever> and if your local builds where signed with a given pair, and you securely destroyed the secret, you can proove those are also unmodified
<clever> or just go nuts and throw in a hardware signing token
<ryantrinkle> haha
<ryantrinkle> yeah, it would definitely open up a lot of possibilities
<clever> there are also some security issues i have heard about, if you start sharing the entire /nix/store over IPFS
<clever> lrwxrwxrwx 1 root root 92 Apr 21 00:21 /run/current-system -> /nix/store/5biaa9fmvi3dfyibwaba8i6xf5z4h7y0-nixos-system-amd-nixos-17.09pre105622.f0fac3b578
<hodapp> If foo is in buildInputs for bar, then foo's dependencies (while foo has access to them) are not exposed in bar's environment... right?
<clever> for one, you would be able to download a complete copy of my nixos build, including its configs, just because i "leaked" the above path
<hodapp> trying to make sure I get this
<clever> ryantrinkle: but if the signatures are kept, you could just configure it to never share unsigned things, so the locally built stuff remains private
<bennofs> hodapp: yes, only propagatedBuildInputs of foo are in bar's env
<clever> hodapp: but things in foo's propagatedBuildInputs will propagate into bar's inputs
<ryantrinkle> clever: yeah, that's a good point, although it seems like "is unsigned" might not be a perfect proxy for the behavior you want
<ryantrinkle> e.g. if i have one computer and i use that to share things with all my other computers
<ryantrinkle> i would still probably want signatures in place
<hodapp> okay, and likewise for nativeBuildInputs?
rnhmjoj has joined #nixos
<clever> ryantrinkle: yeah, you could also have a whitelist for keypairs you can share
systemfault has quit [(Quit: Bye!)]
<clever> ryantrinkle: so only cache.nixos.org-1 can be shared
<clever> ryantrinkle: a second issue though, is that you are broadcasting to the world that you have a given storepath in your hdd
betaboon has quit [(Quit: This computer has gone to sleep)]
<clever> ryantrinkle: so if somebody finds an exploit in /nix/store/foo, they can just ask IPFS, "who can give me a copy of foo?", and now they have a list of target IP's
<ryantrinkle> clever: yeah
<ryantrinkle> ideally ipfs would also be anonymized, for exactly this sort of reason
<clever> and there are some minor privacy issues in how ipfs handles its p2p stuff as well
hiratara has quit [(Remote host closed the connection)]
<ryantrinkle> but i imagine that would slow it down a great deal
<clever> you have a persistant keypair, and the (public key, public ip) is advertised on the dht
<clever> so if i have your pubkey, i can find your ip, at any time
<ryantrinkle> yeah
newhoggy has quit [(Remote host closed the connection)]
<ryantrinkle> interesting
<ryantrinkle> i've gotta get caught up on this ipfs stuff
<ryantrinkle> however, in the mean time, gotta run!
<clever> its almost a dynamic dns layer running over ipfs
systemfault has joined #nixos
<ryantrinkle> ttyl :)
<clever> yep :)
hiratara has joined #nixos
dustmote has joined #nixos
dustmote has quit [(Client Quit)]
<rnhmjoj> could someone review/merge https://github.com/NixOS/nixpkgs/pull/24359? it seem it has been forgotten
ryanartecona has quit [(Quit: ryanartecona)]
ambro718 has quit [(Ping timeout: 240 seconds)]
marusich has joined #nixos
MP2E has joined #nixos
newhoggy has joined #nixos
taktoa has quit [(Ping timeout: 245 seconds)]
taktoa has joined #nixos
Lisanna_ has joined #nixos
<jophish> Hmm, I can't build pkgs.buildPackages.llvm when cross compiling
<jophish> I hit the gccCrossStageFinal assertion that it is cross compiling
<jophish> which is silly, because llvm is always a cross compiler
justelex_ has joined #nixos
<jophish> ah, neede buildPackages.cmake
Itkovian has quit [(Ping timeout: 260 seconds)]
stepho_ has joined #nixos
stepho_ has quit [(Max SendQ exceeded)]
jmeredith has quit [(Quit: Connection closed for inactivity)]
stepho_ has joined #nixos
stepho_ has quit [(Max SendQ exceeded)]
stepho_ has joined #nixos
stepho_ has quit [(Max SendQ exceeded)]
stepho_ has joined #nixos
stepho_ has quit [(Max SendQ exceeded)]
stepho_ has joined #nixos
stepho_ has quit [(Max SendQ exceeded)]
stepho_ has joined #nixos
stepho_ has quit [(Max SendQ exceeded)]
Zer000 has quit [(Ping timeout: 258 seconds)]
dupin has joined #nixos
<dupin> trying to install with xfce but ca not because of error message
<dupin> attribute display manager missing
drasich has quit [(Ping timeout: 260 seconds)]
marusich has quit [(Quit: Leaving)]
agjacome has quit [(Quit: leaving)]
<rnhmjoj> dupin: are you installing nixos? what is your config?
bennofs has quit [(Ping timeout: 240 seconds)]
<dupin> rnhmjoj, yes I´m installing nixos and i put lightdm in config file
<dupin> same thing if i try t ouse sddm
<dupin> same message attribute missing in ....
<dupin> very long message
<dupin> I don´t wnat to use kde if that is possible
Infinisil_ has quit [(Remote host closed the connection)]
<dupin> and I don´t need two de so I will be happy if I can install just xfce
<rnhmjoj> i have just tried a VM with this config and it's fine: services.xserver = {enable = true;desktopManager.xfce.enable = true;displayManager.lightdm.enable = true;};
<NixOS_GitHub> [nixpkgs] 7c6f434c pushed 1 new commit to release-17.03: https://git.io/v9kgk
<NixOS_GitHub> nixpkgs/release-17.03 2d88a1b Michael Raskin: qemu: take force-uid0-on-9p.patch from master to fix patch application
<dupin> rnhmjoj, let me check conf file but I think it is same
fkz has joined #nixos
<dupin> rnhmjoj, it was # in front of services.xserver = {enable = true;
fkz is now known as Guest10971
Itkovian has joined #nixos
<dupin> how stupid man must be for this kind of mistake
<dupin> rnhmjoj, tnx for help
<rnhmjoj> dupin: solved?
<dupin> it is installing now so I think so
<dupin> conf file was incorrect and you were right about that
<rnhmjoj> no problem
<dupin> rnhmjoj, one more questio if I´m not bodering you
<dupin> I want to have my locale ( croatian) is it supported
<rnhmjoj> the option you need to change is i18n.defaultLocale
joelpet has quit [(Ping timeout: 240 seconds)]
sigmundv__ has joined #nixos
chakerbenhamed has quit [(Ping timeout: 258 seconds)]
<dupin> where is now us ok I will try that
<dupin> good night
<rnhmjoj> you should set it to "hr_HR.UTF-8" i believe
dupin has quit [(Quit: Leaving)]
eacameron has joined #nixos
eacameron has quit [(Remote host closed the connection)]
<jophish> Why do these commands behave differently:
<jophish> nix-build -E '(import ./. { crossSystem = import ./plat.nix; }).pkgs.llvm'
<jophish> nix-build -A pkgs.llvm --arg crossSystem '(import ./plat.nix)'
eacameron has joined #nixos
markus1209 has joined #nixos
<jophish> The former does what I'm expecting, the latter doesn't seem to set crossSystem at all
markus1219 has joined #nixos
vaibhavsagar has joined #nixos
<davidak> is there a way to shorten `nix-shell -p python35Packages.bottle python35Packages.gunicorn python35Packages.sqlalchemy python35Packages.pymysql`?
<joepie91> `nix-shell -p python35Packages.{bottle,gunicorn,sqlalchemy,pymysql}` ?
<joepie91> (ie. shell expansion)
<jophish> davidak: `nix-shell -p '(with python35Packages; [bottle gunicorn ...])'`
<jophish> for a nix only solution
<joepie91> jophish: wait, you can do that?
<jophish> yeah, just a sec, I'll show you something gross
<joepie91> hehe, I can't wait :)