justan0theruser has quit [Ping timeout: 240 seconds]
johnw has quit [Ping timeout: 248 seconds]
mayhewluke has quit [Ping timeout: 244 seconds]
mayhewluke has joined #nixos
kyren has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
justan0theruser has joined #nixos
kyren has joined #nixos
jperras has joined #nixos
<{^_^}>
[nixpkgs] @peti pushed to haskell-updates « hackage-packages.nix: automatic Haskell package set update »: https://git.io/fNAmu
andreabedini has joined #nixos
<Profpatsch>
johnw: pong I guess, but he’s offline.
fragamus has joined #nixos
fragamus has quit [Ping timeout: 268 seconds]
Fare has quit [Ping timeout: 260 seconds]
disasm has joined #nixos
carlosdagos has quit [Quit: Connection closed for inactivity]
<jasom>
okay, I know I've done this before, but how do I get a path to one of my build inputs in my build script? Since the executables end up in the path, I could just use command -v but I thought there was a better way
<clever>
jasom: 99% of the time, you never need to set builder, that just makes everything harder for yourself
<clever>
bash is also in the buildInputs by default, so that doesnt need to be there at all
<jasom>
clever: this time I do since it's got a weird install script
<clever>
switch over to buildCommand = '' .... ''; and just paste the entire contents of build.sh into that string
johnw has quit [Ping timeout: 240 seconds]
<jasom>
I've done this specific program before, but I neglected to back it up and I lost my entire filesystem
<clever>
you can do the same things with buildCommand, and it also be much easier
<jasom>
clever: just inline as a ''' string
<jasom>
?
<clever>
yeah
<clever>
and if it still has an issue, just edit the gist to include the new file and i can check it again
<jasom>
aha, does nix do substitutions in the string then? Because that allowed it to work.
<clever>
yep
<clever>
> "an example: ${curl}/bin/curl and more"
<{^_^}>
"an example: /nix/store/23bj61j1zrfpjzdin2pisa9yndx9flss-curl-7.60.0-bin/bin/curl and more"
<jasom>
I was thinking that was a shell variable substitution because it's identical syntax
<clever>
that also makes it a bit tricky sometimes to do actual shell variables
thc202 has quit [Ping timeout: 272 seconds]
<clever>
> '' prefix ''${foo} suffix ''
<{^_^}>
"prefix ${foo} suffix "
<clever>
need to escape the ${
<jasom>
well you can often not use the { e.g. $foo; will e.g. ${foo%bar} make it through unmolested
<clever>
yeah
<clever>
> "doublequoted ${foo%bar} "
<{^_^}>
error: syntax error, unexpected $undefined, expecting '}', at (string):169:20
<clever>
> '' double single ${foo%bar} ''
<{^_^}>
error: syntax error, unexpected $undefined, expecting '}', at (string):169:23
<clever>
neither one allows that
<clever>
> '' double single ''${foo%bar} ''
<{^_^}>
"double single ${foo%bar} "
<clever>
has to be escaped
<jasom>
boo
<jasom>
well at that point I *would* use a builder
<clever>
you can also mix things in fun ways
<clever>
source ${./foo.sh}
<clever>
this will copy foo.sh into /nix/store, and then substitute in its storepath
<clever>
so you can then export whatever=${curl} then source ${./foo.sh}
* jasom
is still getting used to the bashisms in nix scripts since he usually writes portable shell
<jasom>
e.g. posix doesn't define "source"
<clever>
ah
<jasom>
"." is used instead
<clever>
source and . are identical
<jasom>
right but posix defined . but not source
<clever>
but when i was first learning linux, i sometimes got ./foo and . ./foo mixed up and it led to confusion
<clever>
so i prefer to always use source, its also harder to miss, a stray . can just look like a typo
<jasom>
the only bashism I find necessary is arrays; there are hacks to get that behavior in shell (since "$@" behaves like an array) but they are ugly
lassulus_ has joined #nixos
<clever>
also of note, every attribute passed to mkDerivation, becomes an env var during the build
<clever>
so you could have also done curl = pkgs.curl; and then you would have a bash $curl that has the path
<clever>
then ${curl}/bin/curl would have actually worked
<jasom>
*that's* how I did it before, thanks. Doing it inline seems fine though
<clever>
it can also help to put all of these things into github
lassulus has quit [Ping timeout: 256 seconds]
lassulus_ is now known as lassulus
Supersonic has quit [Ping timeout: 265 seconds]
<aszlig>
jasom: note that if the value needs escaping (which in this case is not the case for store paths because they're sanitized), it might be a better idea to pass it to the builder env. the latter also helps if you want to override things...
<aszlig>
... like with .overrideAttrs
Supersonic has joined #nixos
justan0theruser has joined #nixos
mahavira has quit [Quit: Page closed]
justanotheruser has quit [Ping timeout: 240 seconds]
<jasom>
also I like running shellcheck which is hard to do with inline
justan0theruser is now known as justanotheruser
<jasom>
it's less necessary with nix since the inputs are identical every time it is run, but it does still save time by catching errors earlier
YellowOnion has joined #nixos
<YellowOnion>
Been looking for help with nix deployment, most guides cover VPS provisioning, I just want to push a website to my existing archlinux box.
<YellowOnion>
the website is currently just a ghcjs app, but I will add a servant backend to it eventually.
sigmundv has quit [Ping timeout: 256 seconds]
orivej has quit [Ping timeout: 256 seconds]
andreabedini has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<vaibhavsagar>
YellowOnion: AFAIK there's no non-NixOS deployment workflow which is as convenient as NixOps
<vaibhavsagar>
but it's definitely doable
<vaibhavsagar>
you can deploy artifacts to any computer with Nix you have SSH access to with nix-copy-closure
bongsun has joined #nixos
<vaibhavsagar>
and then you might need to update symlinks + restart services on the target manually
andreabedini has joined #nixos
Drakonis has joined #nixos
<YellowOnion>
vaibhavsagar, ahh, thanks I see, I'm currently just using WinSCP to copy files from my WSL dev environment, Maybe I'll look in to moving to NixOS later, last time I tried I couldn't figure out how to do multilib.
<vaibhavsagar>
oh, I meant NixOS on the target machine
<vaibhavsagar>
IME any linux distro with Nix works fine for a dev environment
<vaibhavsagar>
with macOS you have to worry about cross-compiling etc and it's a lot of work
<YellowOnion>
Yeah I'm running WSL for dev, after moving to Ubuntu it seems to be working fine.
Fare has joined #nixos
<vaibhavsagar>
out of curiousity, what issues were you running into with WSL?
<vaibhavsagar>
I was hoping Nix would work on it like it does on any other linux distro
<Drakonis>
now here's the thing though
<Drakonis>
ntfs discrepancies
<emily>
WSL exposes a more POSIX-y filesystem over NTFS, I think?
endformationage has quit [Quit: WeeChat 1.9.1]
<Drakonis>
ehhh
<ekleog>
cc symphorien if you feel like looking if this is interesting to you when coming back :) (for having issues with CIFS)
<Drakonis>
microsoft altered ntfs to make it similar to what linux syscalls want out of a filesystem
<clever>
emily: i think nixos-install and nixops are already using it
<emily>
*nod*
* clever
heads off to bed
butchery has joined #nixos
<butchery>
does anyone have nvidia 396 drivers working? I created an overlay for them that extended linuxPackages to replace nvidia_x11 with 396, but trying to build it, it only wants to build the (non-existant) 32 bit version, on my 64 bit install?
<YellowOnion>
vaibhavsagar, I was running it with an unoffical port of Archlinux, I got some errors about not being able to kill an app.
<{^_^}>
[nixpkgs] @matthewbauer pushed to staging « firefox: add default for execdir »: https://git.io/fNAZX
<YellowOnion>
Maybe it's actually related to using ArchLinux in root, I ended up moving to Ubuntu and solved the issues.
jD91mZM2 has joined #nixos
mayhewluke has quit [Ping timeout: 240 seconds]
justan0theruser has quit [Ping timeout: 240 seconds]
adamantium_ has joined #nixos
<adamantium_>
hello, i'm installing nixos into a zfs dataset ... going to try it out alongside funtoo (gentoo derivative) for a little while. I'm about to install, but it needs a hostid. I was thinking, perhaps i should use the hostid that I already have for this pool!! Well then, I'm not sure how to set it in configuration.nix before I try nixos-install. I currently have a hexdump of my hostid from my other dataset. Now what
<adamantium_>
clever: you would know this, i think. ? ^^ you were helpful the other day.
gspia has joined #nixos
<adamantium_>
Restated another way, I'm getting from nixos-install "ZFS requires networking.hostId to be set" , and I have a hexdump of my hostid from my other dataset. How do i set this?
<sb0>
the other packages above are installed just fine
freeman42x]NixOS has quit [Ping timeout: 268 seconds]
<ekleog>
timokau[m]: Thank you for the merge of javacard-devkit! :)
Fare has quit [Ping timeout: 272 seconds]
<cmcdragonkai>
Is there a way to specify that for a given package set to install, it doesn't matter if one or all fail, but try to install as much as possible? I'm thinking of grouping all the proprietary packages together, but the problem is that every once and a while, the upstream links break, and we cannot redistribute them because of their license, so you just have to update to the latest one.
<{^_^}>
[nixpkgs] @sjmackenzie opened pull request #45050 → carnix overrides: add gmp to rink-rs buildInputs & correct crateBin → https://git.io/fNAWL
Drakonis has quit [Remote host closed the connection]
PolarIntersect has quit [Ping timeout: 240 seconds]
<{^_^}>
#44836 (by Izorkin, 5 days ago, open): qemu-ga: fix working guest-shutdown
vmandela has joined #nixos
Have-Quick has quit [Quit: Have-Quick]
Have-Quick has joined #nixos
bitonic has quit []
bitonic has joined #nixos
Ariakenom has joined #nixos
Have-Quick has quit [Quit: Have-Quick]
vmandela has quit [Remote host closed the connection]
vmandela has joined #nixos
joncfoo has quit [Ping timeout: 240 seconds]
joncfoo has joined #nixos
Maxdamantus has quit [Ping timeout: 272 seconds]
Maxdamantus has joined #nixos
hyper_ch2 has joined #nixos
<hyper_ch2>
so, 4.18 kernel runs fine with zfs :)
johanot has joined #nixos
mayhewluke has quit [Ping timeout: 260 seconds]
orivej has joined #nixos
kyren has quit [Ping timeout: 240 seconds]
kandinski has joined #nixos
<kandinski>
hi, I'm running 18.03, and this happened when I tried to rebuild and switch (without changing my configuration, just updating the channel: http://paste.debian.net/1037995/
<kandinski>
Any help appreciated.
abueide has quit [Ping timeout: 260 seconds]
inquisitiv3 has joined #nixos
<inquisitiv3>
Where is everything installed when I create a nix-shell environment?
<kandinski>
you can have a "pure" nix-shell without the enclosing env
<inquisitiv3>
kandinski: What do you mean?
<kandinski>
nix-shell -- pure
<kandinski>
sorry for the extra space
<{^_^}>
[nixpkgs] @adisbladis merged pull request #45009 → ratpoints: 2.1.3 -> 2.1.3.p4; add darwin support → https://git.io/fNbRi
<hyper_ch2>
--repair Fix corrupted or missing store paths by redownloading or rebuilding them. Note that this is slow because it requires computing a cryptographic hash of the contents of every path in the closure of the build. Also note the warning under nix-store --repair-path.
<kandinski>
hyper_ch2: appreciated, can I sak a question? Why are the operations in nix designed as flags?
<hyper_ch2>
no idea what you mean
<kandinski>
flags like `nix-env --install` and not subcommands like `git checkout`
<kandinski>
is the reason anything beyond stylistic?
<hyper_ch2>
but then, if you prefix options with - or -- you can easily differentiate them from other arguments supplied
mayhewluke has joined #nixos
<inquisitiv3>
kandinski: Thanks for the explanation!
mzan has joined #nixos
<inquisitiv3>
But back to my original question. Where is derivates installed when I specify them in an `default.nix` file for nix-shell?
<{^_^}>
[nixpkgs] @peti pushed 6 commits to haskell-updates: https://git.io/fNAEe
thc202 has joined #nixos
<kandinski>
I was thinking about that too. I think the key is to inspect $PATH
<{^_^}>
[nixpkgs] @peti pushed 2 commits to haskell-updates: https://git.io/fNAEJ
<{^_^}>
[nixpkgs] @srhb opened pull request #45054 → pythonPackages.orderedset: Fix maintainers list → https://git.io/fNAEW
<{^_^}>
[nixpkgs] @peti pushed 3 commits to haskell-updates: https://git.io/fNAE8
<inquisitiv3>
kandinski: Seems to be the Nix store. The system profile hasn't been updated.
<inquisitiv3>
I'll ask some of the others when they return here.
<srhb>
What was the question again?
<kandinski>
inquisitiv3: I'm looking at the $PATH before and after invoking nix-shell, and there is a big difference
<srhb>
Right, nix-shell will not install into any profiles.
<inquisitiv3>
srhb: Where is derivates installed that is specified in a `default.nix` when creating a nix-shell environment.
<srhb>
Nowhere. :)
<inquisitiv3>
srhb: You confuse me a little now :P
<srhb>
OK, so the term "installed" is a little overloaded in Nix land
<srhb>
We could install into a profile, generating the usual /bin /share /... symlink farm
<srhb>
This is what happens with systemPackages, or with nix-env
<srhb>
(In different profiles, system and whatever respectively)
<srhb>
There's also just "the data is in the store"
<srhb>
Two different aspects of "installed"
<srhb>
In the nix-shell case, nothing is installed into any profile, but the packages are there in the nix store, and the shell can manipulate the PATH to bring them "in scope" inside the shell
<inquisitiv3>
srhb: So if I'm understanding you correctly: Every derivate is stored in `/nix/store`. But to have access to something in t
<srhb>
You got cut off at "something in t"
<inquisitiv3>
srhb: Yeah, easy to press enter on my new keyboard... It is always after pressing "t".
<srhb>
Heh :)
<inquisitiv3>
the "regular" environment (as kandinski called it) it has to be linked in a system or user profile. But nix-shell enables you to have access to the specified derivates that isn't linked from a profile?
<srhb>
That's correct.
<inquisitiv3>
srhb: Thanks!
<srhb>
A good test to see how it works is to use nix-shell with --pure
<srhb>
Which will remove most of the environment normally inherited
<kandinski>
so I was not misanswering the question that much
<srhb>
kandinski: Nope :)
<sphalerite>
inquisitiv3: re your flags-vs-subcommands question: the new `nix` command is based on subcommands. It's not feature-complete or considered a stable interface yet, but it is very nice for what it can do :)
<inquisitiv3>
srhb: Could you please tell me what the "proper" name for Racket/PltScheme is? According to the website it's "pltScheme", but Nix has no problems with using "racket" either. Booth seem to link to the same derivate. The former name is the old name for the project.
<srhb>
inquisitiv3: In 18.03 there is an alias in all-packages.nix: pltScheme = racket; # just to be sure
<sphalerite>
kandinski: the "legacy" UI isn't designed very well at all. So much inconsistency (see: nix-env using ~/.nix-defexpr unlike all the other tools for exmaple)
<sphalerite>
kandinski: it's a consequence of the tools having sort of organically grown to accommodate new functionality
<srhb>
inquisitiv3: It's gone in unstable.
vidbina_ has joined #nixos
<sphalerite>
kandinski: as opposed to large-scale design decisions
aarvar has quit [Ping timeout: 240 seconds]
<inquisitiv3>
srhb: So there's an alias saying that "pltScheme" is an alias for "racket" in 18.03, but from 18.09 t
<inquisitiv3>
^ see what I mean?
<inquisitiv3>
the alias is removed and the only name to use is "racket"?
<srhb>
Yep.
vmandela has quit [Remote host closed the connection]
vmandela has joined #nixos
vmandela has quit [Client Quit]
jperras has joined #nixos
<inquisitiv3>
srhb: Thank!
<kandinski>
sphalerite: that makes sense, thanks.
<srhb>
inquisitiv3: In case you're ever curious about this, check out the file pkgs/top-level/all-packages.nix -- it's where all the top level names are defined (ie pkgs.foo)
<inquisitiv3>
srhb: I'll remember that :)
jperras has quit [Ping timeout: 256 seconds]
<inquisitiv3>
Could someone please take a quick lock at my `default.nix` to check if I do something horrible wrong? It works, but I don't know if I've written the file the "right" way.
<srhb>
When it grows bigger it'll probably be easier to give some more advice :)
<inquisitiv3>
srhb: Thanks a lot! Your help is really appreciated! :D
<srhb>
No problem :)
<inquisitiv3>
srhb: Quick question. I've written `with import <nixpkgs/nixos> {};`. Does that mean that it prefix every package it installs with "nixos.", i.e. `nixos.racket`?
<inquisitiv3>
Wait, I removed that to get it installed.
<inquisitiv3>
Sorry :P
<srhb>
Oh, I actually missed that
<srhb>
You seem to be importing nixos, which I doubt you need
<{^_^}>
[nixpkgs] @dezgeg pushed commit from @Izorkin to master « qemu: add path to bin utilites »: https://git.io/fNAza
<srhb>
Take a look at the nixpkgs tree
<inquisitiv3>
Updated the gist. Now it shows what I actually have on the system.
<srhb>
There's a directory called nixos
<srhb>
What you're doing in import <nixpkgs/nixos> {} is calling the function in nixpkgs/nixos/default.nix
<srhb>
Similarly for import <nixpkgs> {}; you're calling the function in nixpkgs/default.nix
<srhb>
(Which is the entire nixpkgs package set)
alex`` has quit [Ping timeout: 244 seconds]
<inquisitiv3>
srhb: Does this have anything to do with the prefix you use when installing derivates with `nix-env`, e.g. `nix-env -iA racket`?
<srhb>
Not with nix-env, no, but with the nix commands somewhat.
<srhb>
<foo> is looked up in $NIX_PATH
<srhb>
So <nixpkgs> is an alias for "look up the name nixpkgs in $NIX_PATH and substitute in its value"
<srhb>
So in my case, <nixpkgs> becomes /home/sarah/src/nixpkgs
<srhb>
In you case, it's probably /nix/var/nix/profiles/per-user/inquisitiv3/channels or something like that :)
<srhb>
Try: nix eval '(<nixpkgs>)'
alex`` has joined #nixos
<inquisitiv3>
srhb: T
<inquisitiv3>
srhb: Thanks for the explanation.
<inquisitiv3>
I really need to learn where the "t" key is located on my keyboard...
<srhb>
Hehe
<srhb>
The second detail is that it also looks up the names of things IN the directories references by NIX_PATH
<srhb>
So say I had a channel called nixos-1803, then NIX_PATH=/nix/var/nix/profiles/per-user/sarah/channels nix eval '(<nixos-1803>)'
<srhb>
Would give me /nix/var/nix/profiles/per-user/sarah/channels/nixos-1803
<srhb>
It's a fairly flexible mechanism.
<inquisitiv3>
So it look up names recursively? (Not sure if that is the right word or I understood you correctly)
<srhb>
I'd say that's a good way of putting it :)
<ldlework>
How would I get started deploying an Emacs service with NixOps?
<sphalerite>
what's an emacs service?
<srhb>
What's an emacs service?
<srhb>
...
<ldlework>
The build is really easy just "make" and the run is really easy "make run"
<ldlework>
It is a service that is built on emacs
<ldlework>
So.. it just requires emacs.
* sphalerite
high-fives srhb
<ldlework>
I got some elisp in a git repo.
<ldlework>
And a Makefile
mlen has joined #nixos
<srhb>
At a guess, just treat emacs as a (propagated?)buildInput and build as normally?
<inquisitiv3>
srhb: I think that I understand your explanation. But the username in the path is "root" :/
<srhb>
Then create a systemd service to run it...
<srhb>
inquisitiv3: That's normal, on a regular install only root has a channel.
<srhb>
inquisitiv3: Which corresponds to the release of the installer you used
liori_ has quit [Ping timeout: 256 seconds]
<srhb>
inquisitiv3: You can add and remove as needed with nix-channel, but I think the default setup is easy and sensible, so I suggest you keep it like that :)
<inquisitiv3>
srhb: Aah good. Become a little worried because you wrote your own username in the path examples above.
<ldlework>
srhb: i looked for some documentation on how to go about creating your own systemd service but i didn't find much
<ldlework>
did I miss something good?
<srhb>
inquisitiv3: My setup is very non-default :P
<ldlework>
I know how to create a systemd periodic timer service thanks to infinisil.
<ldlework>
Do I kinda just wing it by looking at the options?
<srhb>
ldlework: That is a custom package of mine called qtr-web, which has a /bin/serve executable
<ldlework>
OK please confirm I understand; I want to start off by creating a derivation who's src is my relative git repo path - i need emacs and gnumake as build inputs - during the build I build the elisp files and move them to $out. I, uh, somehow also make a bash wrapper that calls emacs in a way that tells it to use the elisp from some store path. That package being complete.. I write a systemd service
<ldlework>
which...uh...refers somehow to the wrapper script defined in the aforementioned package...
<Profpatsch>
clever: pppppoonggggg
<srhb>
ldlework: Yes.
<ldlework>
lot of fog there :P
<srhb>
ldlework: "somehow" is as simple as "import your package expression"
<srhb>
With the relevant arguments from pkgs
<srhb>
ldlework: In my case, qtr-web = import ~/src/qtr-web {};
<ldlework>
srhb: i can just define the package inside the "in" part right?
<ldlework>
err
<ldlework>
let
<srhb>
(That's a bit of an antipattern because it uses its own nixpkgs...)
<srhb>
Sure
<ldlework>
let sophos = mkderivation { .. whoknows .. }
<srhb>
Yep.
<ldlework>
srhb: any idea about the bit where I make a bash script that calls emacs in a way that I can tell it where to load up that elisp i'm somehow building in the same derivation?
<sphalerite>
ldlework: note that there's machinery for building emacs packages in nixpkgs already
<srhb>
ldlework: mkWrapper?
<srhb>
Or probably wrapProgram really
<srhb>
Og writeScript, so many ways...
<srhb>
Or*
<ldlework>
srhb: let's go with the writeScript way
<ldlework>
srhb: should I copy the elisp straight to $out? or is there a more appropriate place?
<sphalerite>
ldlework: for building, you might want to look at emacsPackagesNg.{trivial,elpa,melpa}Build
<srhb>
ldlework: I don't know enough about emacs packages to answer that.
<ldlework>
sphalerite: I have a special build process - the sources are org-mode files yo usee
<srhb>
I'd do whatever those builders do ^
<ldlework>
srhb: i'm not building an emacs package perse
<{^_^}>
[nixos-weekly] @garbas pushed commit from NixOS Weekly Robot to gh-pages « Preview of '90e257c8054a2c671bcf88168a9cd662a9a626e3' commit built by Travis-CI \#416270635 »: https://git.io/fNAaV
<ldlework>
the elisp I'm building is more like "site modules"
<ldlework>
that run the service
<ldlework>
i don't need them in the proper emacs palce or whatever because the wrapper is gonna tell emacs where the files are direct :3
<sphalerite>
ldlework: ah ok
<srhb>
Well, then you're free to put them wherever in $out you like :P
<ldlework>
i do 'make' and i get 'core/el/*' and 'plugins/el/*'
<ldlework>
OK
<ldlework>
srhb: and the wrapper script into $out/bin ?
<srhb>
If you like.
<ldlework>
or is the wrapperScript its own package
<{^_^}>
[nixos-weekly] @domenkozar opened pull request #62 → Call for Content: 2018/07 → https://git.io/fNAab
<{^_^}>
[nixos-weekly] @garbas pushed commit from NixOS Weekly Robot to gh-pages « Release of (commit 'd79d298c7ced53f0682e26e8ab19bf217336bd92') built by Travis-CI \#416272311 »: https://git.io/fNAah
<{^_^}>
[nixpkgs] @alyssais opened pull request #45055 → slack-cli: init at 0.18.0 → https://git.io/fNAVI
<ldlework>
hmm this probably isn't going to work because the build process downloads packages, right?
<ldlework>
i might be able to get away with disabling that bit and installing the packages with nix
<{^_^}>
[nixpkgs] @xeji pushed commit from @bhipple to master « pythonPackages.fastcache: init at 1.0.2 (#45048) »: https://git.io/fNAV2
<ldlework>
srhb: what else did i get wrong
<srhb>
ldlework: I think the mkDerivation is a little funky, but nevermind that. What I really wonder about is why you're adding them to systemPackages
<ldlework>
srhb: i'm deploying this as a nixops thing
<srhb>
ldlework: And even if you wanted this, why add sophos directly, the wrapper depends on it.
<ldlework>
also i barely understand what i'm doing
<ldlework>
ok
<srhb>
ldlework: Sure, we'll work it out!
<srhb>
ldlework: As I see it, only the systemd service should refer to it, and the only on the wrapper
<ldlework>
srhb: is there a way to only have one package?
<srhb>
ldlework: Leave the dependency tracking up to nix :)
<ldlework>
srhb: makes sense
<srhb>
ldlework: Also, do not refer to "emacs" as a string
<srhb>
ldlework: At least, not in your wrapper.
<sphalerite>
out of curiosity, what is sophos? :)
<ldlework>
something like ${emacs}/bin/emacs ?
<srhb>
ldlework: {pkgs.emacs}/bin/emacs will ensure that the dependency is properly tracked, yes :)
<ldlework>
sphalerite: elisp irc bot of course
<ldlework>
i'm doing all this to just learn, elisp network services is a terrible idea; i just wanted to build something a bit bigger to practice out my elisp
<srhb>
Sounds fun.
<ldlework>
deploying it with nixops to clear up some fog, etc etc
<srhb>
I was wondering because sophos sounded like a nix thing in the old naming scheme of Nix tools :P
<srhb>
nix, charon, sophos, ...
<ldlework>
srhb: how can we merge the sophos and sophos-wrapper packages
<srhb>
ldlework: I suggest don't do it right now :)
<srhb>
The split is fine, really.
<srhb>
But otherwise, it would be as simple as dumping that script into bin/sophos in your sophos derivation
<MichaelRaskin>
mpickering: it unpacks the tarball and checksums the contents, not the random noise in the archive like timestamps (GitHub does not guarantee stability of tarballs)
<ldlework>
nix-build -A sophos --run-env spy.nix /nixcfg/hosts/spy
<ldlework>
error: cannot auto-call a function that has an argument without a default value ('config')
<srhb>
Ah, yes, that form is no good for nixops..
<ldlework>
fork my gist?
<srhb>
I cheated and separated out your package definition locally so I could build that alone
<ldlework>
I see..
<ldlework>
Should I put the package definition in my repo?
<ldlework>
and then import it
<srhb>
Just split it out in a file that the machine can import
mrottenkolber has left #nixos [#nixos]
<ldlework>
the remote machine
<ldlework>
I see...
<srhb>
Yes
mrottenkolber has joined #nixos
<ldlework>
hmm, that means it wont be able to access the source either?
<ldlework>
because I did src = /some/absolute/local/path
<srhb>
The most trivial way is to just import it in the systemd-service or something. let sophos-wrapper = import ./youremacsthing { inherit pkgs; }
<srhb>
ldlework: That's fine
<srhb>
ldlework: All that is local
<ldlework>
wait
<ldlework>
we didn't even specify the src
<srhb>
You're using a custom builder.
<ldlework>
what does that mean?
<srhb>
I was assuming ./etc/build.el actually pointed at the source
<ldlework>
nah
<srhb>
Oh, ok.
<ldlework>
that stuff is in /home/ldlework/src/apoptosis/sophos
<srhb>
Right, good time to specify src then :P
<ldlework>
okok
<srhb>
I just notice it wasn't even a nix path anyway
<srhb>
So yeah. src!
<mrottenkolber>
So I redeployed a nixops managed machine with a different nixpkgs (-I ) and that broke horribly (kernel panix), I wonder if I could try again but first delete/recreate the machine to get a cleaner reset?
<ldlework>
ok
<srhb>
mrottenkolber: Hopefully that should result in the exact same kernel panic.
<srhb>
Otherwise we've done something wrong.
<ldlework>
srhb: if I put the package definition in the source repo as default.nix then could I do src = ./.; ?
<srhb>
ldlework: Yep.
Maxdamantus has quit [Ping timeout: 240 seconds]
<ldlework>
then in the nixops expr do import /the/absolute/path/to/default.nix right
<srhb>
passing pkgs from the nixops machine, yes.
amir has quit [Ping timeout: 240 seconds]
<srhb>
It's good not to introduce multiple potential pkgs along the way.
Maxdamantus has joined #nixos
amir has joined #nixos
<ldlework>
srhb: do I write the default.nix as a nixpkgs module, or just a plain ol derivation expression?
<ldlework>
I'm guessing just an expression
<srhb>
ldlework: I would stick with what you have right now which is a function that takes pkgs
<srhb>
eg { pkgs ? import <nixpkgs> {} }: let ... in sophos-wrapper
<srhb>
That way you can call it with nix-build and nixops can import it passing its own pkgs
fendor has joined #nixos
rtjure has joined #nixos
<srhb>
I'm guessing this builder has never actually worked? It seems to do a lot of weird things...
<srhb>
I think using the generic builder would be simpler.
<ocharles>
Does anyone know how to evaluate a nixops network Nix expression from another Nix expression. That is, I can't use the nixops binary itself (that would be recursive Nix).
<ocharles>
I tried nixops/share/nix/nixops/eval-machine-info.nix and it very nearly works, but it barfs on grub not being set
<srhb>
ocharles: Somewhere in the nixops source tree there's something called.. eval-machines or something
<srhb>
Right, that one
<ocharles>
"- You must set the option ‘boot.loader.grub.devices’ or 'boot.loader.grub.mirroredBoots' to make the system bootable."
<srhb>
I guess there's also some kind of defaults merged in by nixops by default
<srhb>
probably based on the targetEnv or something.
<ocharles>
ec2.nix seems to at least give me fileSystems
<srhb>
You could try importing that manually in the definition.
<srhb>
Just to see if that's it
<srhb>
But you're on the right track. :P
<ocharles>
eval-machine-info.nix looks like it adds it to each machine
<ocharles>
"- The ‘fileSystems’ option does not specify your root file system." makes sense, because ec2.nix just sets it to {}
cyris212 has joined #nixos
<srhb>
iirc that thing is a bit complex because of how it uses multiple phases...
<srhb>
ldlework: So in that scope, pkgs is defined
jperras has quit [Ping timeout: 244 seconds]
<ldlework>
hmm
<srhb>
ldlework: Use that :)
<ldlework>
i see what you mean i think
<ldlework>
nice
<ldlework>
copying closure!
<ldlework>
my mom is gonna be so proud
<srhb>
:D
<inquisitiv3>
What does configuring a shell as an interactive shell mean? I'm reading the description for the option `programs.fish.enable`. Trying to set Fish as my default shell for my user.
<Enzime>
inquisitiv3: not sure about your original question, but you can set fish as your default shell with
<srhb>
You should also enable it in programs though. :)
<Enzime>
also use users if you're already using that
<Enzime>
(use users.users instead of users.extraUsers that is)
<inquisitiv3>
Enzime: Yep, checked that option. But that option has the following part in its description: "Don’t forget to enable your shell in programs if necessary, like programs.zsh.enable = true;". I checked the option for Fish and saw it's description and wonders why I've to change the value of that option to true.
<srhb>
programs.fish.enable and friends are responsible for setting /etc/fishshellstuff
Maxdamantus has quit [Ping timeout: 272 seconds]
<ocharles>
srhb: Figured it out. Turns out nixops generates a physical.nix expression which has that stuff. But you can get that with nixops show-physical, so I may just check that in (or a dummy value because I only care that things like systemd stuff is built)
<srhb>
users.users.name.shell is responsible for shetting the user's shell in /etc/passwd
<srhb>
ocharles: Great, thanks for calling back :D
<srhb>
inquisitiv3: Arguably we could traverse the shells of all users and enable the global stuff as necessary instead :)
<srhb>
But that's a bit spooky-action-at-a-distance
<srhb>
And _technically_ you can usally get by with just the shell binary set for the user, but you'll lose a lot of the nice extra features from the systemwide config.
<inquisitiv3>
Enzime, srhb: So I should add `shell = pkgs.fish` to my user config in `configuration.nix` and `programs.fish.enable = true;` somewhere in the same file?
<Enzime>
inquisitiv3: yep
* srhb
nods
<inquisitiv3>
Is Fish automatically installed if I set the later option to true?
<srhb>
inquisitiv3: So, let's assume you didn't set programs.fish.enable
Maxdamantus has joined #nixos
<srhb>
In this case, you only have users.users.you.shell = pkgs.fish
<srhb>
In this case, /etc/passwd looks like inquisitive:...:/nix/store/...fish-version/bin/fish
<srhb>
Because passwd now directly depends on fish, it will be installed as a dependency.
<srhb>
"Installed" in the sense that it's in the NIX_STORE
<srhb>
Not in any profile, nor any $PATH
<srhb>
... I don't know why I wrote NIX_STORE instead of /nix/store :P
<inquisitiv3>
srhb: Like with nix-shell?
<srhb>
inquisitiv3: Not quite, in nix-shell it would be on $PATH
<srhb>
In this case, it's just in the nix store.
liori has joined #nixos
<srhb>
So running "fish" would give command not found, but you would still be using it as your default shell.
<sphalerite>
I think these options usually do add them to systemPackages as well
<srhb>
On the other hand, programs.fish.enable = true; sets environment.systemPackages = [ pkgs.fish ]; so it's now in /run/current-system/sw/bin
<sphalerite>
oh right
<srhb>
Which is in your path
<ldlework>
srhb: OK it deployed but crashed, I think the last thing I need, is in my nixops expression, a way to install the sophos package such that we make a wrapper where I can provide all the environment variables to it
<srhb>
inquisitiv3: So now we're up to three different interpretations of the word "installed" :-)
<ldlework>
inquisitiv3: isn't nix fun?
<srhb>
ldlework: Doesn't systemd give you a way to set environment directly?
<ldlework>
I'll look
<sphalerite>
yep
<inquisitiv3>
srhb: Nix if fucking complex. But thanks for explanation :)
<ldlework>
indeed
<srhb>
inquisitiv3: :) Flexibility has a bit of cost. But it's really great.
<srhb>
The problem really is that all other distros usually collapse all these interpretations of "installed" into one, and we don't have better words for it without being really explicit, as I was above :-P
<Phillemann>
I'm trying to use pytest_xdist. I thought just adding it to my propagatedBuildInputs would suffice so that pytest finds it. But it doesn't.
<Phillemann>
Works with pycov, however (it's in propagatedBuildInputs and is found by pytest automatically).
<inquisitiv3>
srhb: Thanks for the help (again) and the explanations. We'll see if I begin to pester you with some more questions later :P
<srhb>
inquisitiv3: Feel free. I'm mostly active here in euro morning/early afternoon though :) (work afternoon/evening)
<srhb>
But there's lots of nice people here that are ready to help.
<Phillemann>
(Apparently, xdist _is_ in PYTHONPATH inside nix-shell though)
<{^_^}>
[nixpkgs] @xeji merged pull request #45051 → ptask: remove usage of nonexistent function is_error → https://git.io/fNAlE
<tinco>
hi, everytime I log in (through ssh) I get this message: mkdir: cannot create directory ‘/nix/var/nix/gcroots/per-user/tinco’: Permission denied
<tinco>
is that a mistake in my nixos config somewhere, or did I do something wrong and should I just chown something?
<ldlework>
i think one of the commands i'm using is messing up the site-lisp perhaps
<ldlework>
srhb: what do you mean?
<srhb>
ldlework: nix-shell --pure -p "pkgs.emacsWithPackages (epkgs: with epkgs; [ dash ])" -- I can't just (require 'dash)
<tinco>
srhb: should the directory just exist? I can make it and then chown it to myself, but I'm not sure why something is trying to mkdir it everytime I log in, when it's not supposed to be able to anyway, or should per-user be a+rw?
<ldlework>
srhb: does it work with s/dash/anaphora?
<srhb>
tinco: Oh, hm, yes it should exist...
<srhb>
At least I think so.. Maybe the nix-daemon sets it up for you as soon as you have some gc roots
<tinco>
what's a gc-root? :P
<srhb>
tinco: It's a symlink to a store path that prevents it from being garbage collected
<srhb>
ldlework: Nope.
<srhb>
ldlework: Does batch maybe clear the loading of site-lisp stuff?
<ldlework>
srhb: it doesn't matter if i open it with --batch or not
<ldlework>
just opening it normally it doesn't work
jiaew3 has joined #nixos
<ldlework>
srhb: is that the full line you need to actually install emacs with packages?
<ldlework>
in your -p flag
<srhb>
Yes.
<srhb>
ldlework: It just seems that emacs knows nothing about it. Specifying the path to dash with -L doesn't help either. Clearly something is missing :P
<ldlework>
srhb: I've gotta pass out, but you've been wonderful. I'm gonna ask some nix people who use emacs what they think.
<ldlework>
Thanks so much!
<srhb>
ldlework: Sleep well :)
bennofs[m] has quit [Quit: removing from IRC because user idle on matrix for 30+ days]
orivej has quit [Quit: No Ping reply in 180 seconds.]
alexteves has joined #nixos
orivej has joined #nixos
bionicmac[m] has quit [Quit: removing from IRC because user idle on matrix for 30+ days]
<{^_^}>
[nixpkgs] @timokau pushed 2 commits to release-18.03: https://git.io/fNA15
mankyKitty[m] has quit [Quit: removing from IRC because user idle on matrix for 30+ days]
<hyper_ch2>
hi sphalerite
<sphalerite>
hi hyper_ch2
<hyper_ch2>
sphalerite: what's up?
<bkchr[m]>
Hi, is someone "maintaining" `environment.noXlibs`?
<sphalerite>
bkchr[m]: not very actively by the looks of it
<bkchr[m]>
yeah, it does not compile :D
<bkchr[m]>
networkmanager-l2tp and networkmanager-SCAN_DELAY_MILLIS
<bkchr[m]>
networkmanager-l2tp and networkmanager-ionide
<bkchr[m]>
not scan delay xD
<sphalerite>
probably best not to even try to use network-manager without X!
hamishmack has joined #nixos
fenedor has quit [Ping timeout: 240 seconds]
<srhb>
nmtui has gotten pretty good
<hodapp>
I've used it outside of X, though it feels weird
<schmittlauch[m]>
Hi, how do I make programs use another language? `i18n.defaultLocale` didn't do the job, do I somehow have to enable language packages?
<schmittlauch[m]>
(example: KDE applications like Dolphin still use English)
kenshinCH has joined #nixos
Ridout has quit [Quit: Lost terminal]
<kenshinCH>
hi all. I tried to run the NixOS installer image from USB on my iMac, but it gets stuck at stage 1 saying "waiting for /root", then trying to mount anyway, and failing
<kenshinCH>
any hint?
<jD91mZM2>
Is this during bootup?
<kenshinCH>
yep, stage one, just like a second after booting
<d1rewolf>
quick poll: how many of you run on the unstable channel versus stable?
inquisitiv3 has quit [Ping timeout: 240 seconds]
jperras has quit [Ping timeout: 240 seconds]
MuffinPimp has quit [Quit: Goodbye.]
<sphalerite>
hyper_ch2: stuff
<sphalerite>
I'm in Germany
rprije has quit [Ping timeout: 272 seconds]
<d1rewolf>
also, is it very common to run with automatic upgrades, or should I be wary of that?
<sphalerite>
d1rewolf: well on nixos you can roll back upgrades
<sphalerite>
on ubuntu you can't ;)
<d1rewolf>
sphalerite: true. I just don't know what to expect if I run unstable with automatic upgrades. is it common for unstable to break things, or no?
<sphalerite>
d1rewolf: as long as you have stateVersion set correctly (no later than 18.03 at this point in time I believe) it shouldn't break anything majorly I think
<d1rewolf>
sphalerite: k, thx. how does one keep up with updates? is there a mailing list to be notified via?
orivej has quit [Quit: No Ping reply in 180 seconds.]
<sphalerite>
d1rewolf: not really, there's the git commit log :')
<sphalerite>
d1rewolf: what is worth following is changes to the 18.09 release notes, as all breaking changes *should* be documented there
<d1rewolf>
nixos-rebuild switch --upgrade reports errors for me when upgrading to unstable. I lost scrollback, tho. is there a way to see errors in a log somewhere?
<{^_^}>
[nixpkgs] @domenkozar pushed commit from @typetetris to master « ghc-8.0.2: Fix #44987 (#45014) »: https://git.io/fNAb7
mzan has left #nixos [#nixos]
klntsky has quit [Remote host closed the connection]
klntsky has joined #nixos
trcc has quit [Remote host closed the connection]
jperras has quit [Ping timeout: 244 seconds]
robstrr has joined #nixos
<Myrl-saki>
johanot: You can also `--max-jobs 0` to make sure that no compilation is done at all. :)
<johanot>
Myrl-saki: Actually ended up using "nix eval --raw nixpkgs.foo" for the same reason.
<johanot>
Adding --readonly-mode to nix-build also does the trick, but gives off a nasty error msg when trying to write to the store. Just want the store-path, don't want the package itself.
iyzsong-x has joined #nixos
<Myrl-saki>
TIL --readonly-mode
<clever>
readonly can also jam IFD
<sphalerite>
johanot: `nix-store -q --outputs $(nix-instantiate '<nixpkgs>' -A hello)` if you want to get the output path regardless of whether you have it or not
<Dezgeg>
watch out for multiple-output packages though
iyzsong has quit [Ping timeout: 244 seconds]
<symphorien>
sphalerite: there is also nix-instantiate '<nixpkgs>' -A hello.outPath --eval
<Myrl-saki>
Since we're talking about paths. I actually encountered a problem with a custom dependency checker, and turns out that `foo.out` is not always == `foo` anyone knows what's up with that?
<Dezgeg>
that's right
<Myrl-saki>
I think it's something more like `foo.buildInputs[0] != foo.buildInputs[0].out` that I encountered.
<johanot>
thanks a lot for all suggestions!
<Dezgeg>
I guess the question is; what are you going to do with the information? why would you care about .out in particular?
<clever>
Myrl-saki: foo will return the 1st output in .outputs
<robstrr>
Is there a common way running several nix-build for https://gist.github.com/rsoeldner/dabcffa9270b71147800c34931c6c2a3 ,currently i run them manually by `nix-build --argstr compiler ghc822 release.nix` to check different ghc versions. Is it also possible to setup a database und run "integration tests" ?
<clever>
infinisil: you can still run `nix-store -r` against an old storepath of it
<clever>
to grab it from the cache
<robstrr>
clever: :+1
ryanartecona has joined #nixos
vidbina_ has joined #nixos
Ariakenom_ has quit [Read error: Connection reset by peer]
Ariakenom has joined #nixos
<sphalerite>
clever: infinisil: or nix build -f channel:nixos-18.03 -iA nix-repl
<infinisil>
That's not really an option for people having nix-repl in their config files
<infinisil>
They'll be wondering where this "nix-repl" is not an attribute error suddenly comes from
<samueldr>
infinisil++
<{^_^}>
infinisil's karma got increased to 19
<Myrl-saki>
infinisil--
<Myrl-saki>
:(
init_6 has quit [Ping timeout: 268 seconds]
robstrr has quit [Ping timeout: 252 seconds]
<samueldr>
Myrl-saki: explain?
<Myrl-saki>
samueldr: :( because -- doesn't work. :P
<samueldr>
ah, I thought you disliked the solution :)
<samueldr>
(which left me utterly confused)
<worldofpeace>
It would also nice to have something somewhere clear the ambiguity of `nix-repl` and `nix repl`. An irc bot isn't consistent explainations :P
<{^_^}>
There's this: To use nix-repl with Nix 2.0, either use the new `nix repl` or `NIX_REMOTE=daemon nix-repl`. Just using `nix-repl` gives an error because it is linked to Nix 1.x which requires NIX_REMOTE to be set correctly, while Nix 2.0 doesn't (and unfortunately it wasn't kept for backwards compatibility)
<Myrl-saki>
Who here has a project(that they have control of) that they haven't converted to Nix, either in-repo or not.
<Myrl-saki>
Actually, "that they have control of" isn't even required considering you could do it out of repo.
<samueldr>
you probably should use: still actively used :)
johanot has quit [Quit: Lost terminal]
<samueldr>
should add*
DigitalKiwi has quit [Ping timeout: 272 seconds]
<infinisil>
samueldr: Feel free to refine it (not exactly sure what you mean myself)
<Myrl-saki>
samueldr: Oh wow. When you said that, I realized a project that I should have nixified(Was still an Arch Linux user(archer???) back then.)
arjen-jonathan has quit [Ping timeout: 248 seconds]
<sphalerite>
infinisil gchristensen: could we get {^_^} for #nixos-de as well?
<worldofpeace>
Should we use sha512's?
<infinisil>
Xyliton: A bit more concretely?
<infinisil>
sphalerite: up to gchristensen, my functionalities now work in all channels {^_^} is in
<Xyliton>
infinisil: I want something that wraps mkDerivation and sets some stuff as default
<sphalerite>
worldofpeace: no reason not to. Only reason to prefer it over sha256 I can think of though is if the hashes are sourced from upstream and they only publish sha512
<worldofpeace>
sphalerite: or maybe a large binary?
<sphalerite>
what?
Ariakenom has joined #nixos
<infinisil>
Xyliton: That would be something like `attrs: mkDerivation ({ buildPhase = "foo"; } // attrs)`
erasmas has quit [Quit: leaving]
erasmas has joined #nixos
<Xyliton>
infinisil: where would this "attrs" come from though? I'm kinda confused
<infinisil>
Xyliton: E.g. to define a package in a single file: `let mkMkDerivation = attrs: mkDerivation ({ buildPhase = "foo"; } // attrs); in myMkDerivation { name = "bar"; src = ...; }`
<Xyliton>
ohh
alexteves has quit [Remote host closed the connection]
<Xyliton>
is there any way I can have my .nix file defining the derivation for the compiler to also export the custom function?
<sphalerite>
is there a nice way to make a GC root for the entire build-time closure of a drv?
<clever>
sphalerite: only tool ive seen that does this is hydra, and its a bit tricky to get it to do just that
cyris212 has quit [Quit: WeeChat 2.0]
<sphalerite>
I suppose I could hack something with nix-store -qR and some manual symlinking
<infinisil>
Xyliton: you mean you have a nix file you can nix-build directly to get the compiler package?
<clever>
sphalerite: of note, nix-store -r /nix/store/foo --add-root result --indirect
<Xyliton>
infinisil: I have a file that I `(import "path")` in my systemPackages
<Xyliton>
which builds the compiler
<sphalerite>
clever: yeah but I can't do that to create a GC root for a .drv
<infinisil>
Xyliton: you can't make nix functions available in some global environment if you mean that
<clever>
sphalerite: yeah, theres no real good way to create indirect drv roots
<sphalerite>
manual symlinking! :D
<infinisil>
Xyliton: but what you can do is have the function available as (import "path").myMkDerivation
<Xyliton>
infinisil: how do things like stdenv.mkDerivation and clangStdenv work then?
<infinisil>
Ohh you mean nixpkgs
alexteves has joined #nixos
<infinisil>
,overlays Xyliton
<{^_^}>
infinisil: Did you mean overlay?
<{^_^}>
Xyliton: Overlays look like `self: super: { foo = ...; }`. Use the self argument to get dependencies, super for overriding things and library functions (including callPackage). More info: https://nixos.org/nixpkgs/manual/#sec-overlays-install
<Xyliton>
oh, those are in nixpkgs...
<infinisil>
You can use overlays to make it look like nixpkgs contains your own definitions
<Xyliton>
ah, nice
<infinisil>
Alternatively you can make a PR to add your definitions to nixpkgs itself
<Xyliton>
I don't think anyone would want my emojicode definitions in nixpkgs lol
orivej has joined #nixos
<infinisil>
Ohh I think I heard somebody say some time ago that they wanted to package emojicode, was that you?
johnw has joined #nixos
<Xyliton>
I was here regarding emojicode multiple times already :p
<Xyliton>
I got the compiler to build but I still need some nix-ish way to handle dependencies
<infinisil>
Ah yes, that's a fun topic
<infinisil>
You should take some inspiration from other (similar) compiler frameworks in nixpkgs
<Xyliton>
I remember there being some hook I can use for that which can iterate over all deps or something and then append stuff to an env var, right?
<infinisil>
buildInputs? propagatedBuildInputs? Not sure
<samueldr>
Xyliton: maybe setupHook
<samueldr>
it's a script that executes really early in the build of *dependents* and can do pretty much anything
<Xyliton>
yea, that seems to be it
<Xyliton>
just have to figure out how all this works now
<samueldr>
I advise: to understand it better, make dummy packages a and b, b depending on a, then add a setupHook and play around with things
<emily>
how do I write to /run/current-system/sw/etc/xdg/gtk-3.0/settings.ini in my config? I'm stracing gtk3 apps and they aren't even looking at /etc/gtk-3.0/settings.ini which I have, just locally (/nix/store/...-gtk/etc/gtk-3.0/settings.ini) and in the various profile directories
Ariakenom has quit [Ping timeout: 244 seconds]
sigmundv__ has joined #nixos
Drakonis has quit [Remote host closed the connection]
<sphalerite>
clever: I wrote this beautiful bash "one-liner" for it
<sphalerite>
rm /nix/var/nix/gcroots/per-user/lheckemann/bittorrent-test-roots/* ; nix-store -qR '/nix/store/xcqm6g6i9vyaym5qyg2r9qf98y6v9qk9-vm-test-run-bittorrent.drv' | (i=0 ; while read drv ; do ((i++)) ; ln -s $drv /nix/var/nix/gcroots/per-user/lheckemann/bittorrent-test-roots/$i ; done ) ; for link in /nix/var/nix/gcroots/per-user/lheckemann/bittorrent-test-roots/* ; do nix-store -q --outputs $link | (i=0 ; while
<clever>
you can also `nix edit nixpkgs.pkgconfig` to directly open it in your $EDITOR
<Xyliton>
oh, that's interesting
<{^_^}>
[nixpkgs] @fgaz opened pull request #45072 → lmdbxx: init at 0.9.14.0 → https://git.io/fNxqa
<sphalerite>
/nix/store/4ixqi391jjxjc210hravy9v9amk41c1r-extra-utils/bin/udevadm: error while loading shared libraries: /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-kmod-25/lib/libkmod.so.2.3.3: cannot open shared object file: No such file or directory
<gchristensen>
sphalerite: I'm pretty AFK for today / the next couple -- I can't stay in my house so I'm bouncing around between houses for a bit -- but if I don't get to it, ping me again in a few days.
<sphalerite>
gchristensen: no worries!
growpotkin has joined #nixos
<sb0>
I'm trying to write a derivation for a cross-compiling binutils, but nix keeps installing the native binutils instead - supposedly because there is already a sha256 for the src provided - and ignoring my other configuration flags. it just skips the whole build.
emacsomancer has quit [Ping timeout: 244 seconds]
<sb0>
how to solve this?
<growpotkin>
is there a nixos option to add an arbitrary folder to a user's path?
<{^_^}>
[nixpkgs] @Mic92 pushed commit from @rawkode to master « wavebox: init at 3.14.10 (#45021) »: https://git.io/fNx3G
<growpotkin>
take a peek into the 'way-cooler' package (under window managers) I know they pull a single file from a big git repo somehow. I thought it was with fetchgit
<growpotkin>
in any case it will be a good example for you
<clever>
growpotkin: looks like a simple fetchurl against github
<{^_^}>
[nixpkgs] @zimbatm merged pull request #44896 → add derivation for the virtualbox oracle extension pack → https://git.io/fN544
<{^_^}>
[nixos-hardware] @michaelpj opened pull request #71 → T480s: use CPU throttling fix too → https://git.io/fNxZ8
ntqz has quit []
<__monty__>
Is all of PyPi packaged?
<hodapp>
don't think so. I regularly have to write quick derivations for lesser-used packages
<LnL>
no, unlike eg. hackage you need to download the package source and execute some arbitrary python code to figure out what the dependencies are
<hodapp>
whaaa, seriously?
<emily>
setup.py is python code
<sphalerite>
sb0: in fact, it's *really really* old.
<hodapp>
-_-
<emily>
(although it doesn't seem insurmountable to sandbox to me?)
<__monty__>
Setup.hs is haskell code.
<sphalerite>
__monty__: yes, but you don't need to run it to get information like deps and stuff
bennofs[m] has joined #nixos
<sphalerite>
you have the cabal file for that
kiloreux has joined #nixos
<__monty__>
And hackage requires that? Why doesn't PyPi require a freeze file?
<disasm>
with 17.09, if I run nix-shell --run zsh the prompt changed to [in nix-shell]\n<rest of prompt>, but that stopped working after upgrading to 18.03. I've been trying to track down where in the code it changed, but haven't been successful. FYI, I use prezto.
mayhewluke has quit [Ping timeout: 240 seconds]
<philippD>
haskell dependencies are managed through delarative cabal files.
<__monty__>
philippD: They don't *have* to be though.
<sphalerite>
disasm: I don't see anything nix-related in prezto's source
<philippD>
disasm: the problem might be in your theme since nix-shell doesn't alter zsh promts
<philippD>
__monty__: what doesn't have to be what? All Haskell dependencies beeing declared in a cabal file?
<__monty__>
philippD: You don't need to use cabal files.
<inquisitiv3>
Is there any special tools available for Haskell development on NixOS? I'll be beginning to learn Haskell in some weeks, but I'm not familiar with the ecosystem.
<sphalerite>
__monty__: you do to be on hackage AFAIK
<sphalerite>
inquisitiv3: `nix-shell -p ghc` should be enough to get you started if you're just learning haskell
<__monty__>
sphalerite: Yes... That's my point, why doesn't PyPi enforce a very sensible rule like this?
<sphalerite>
__monty__: good question. Because python is insane? :D
<clever>
inquisitiv3: if you want to use a library like lens, then you would use nix-shell -p 'haskellPackages.ghcWithPackages (ps: [ ps.lens ])'
doyougnu has joined #nixos
<inquisitiv3>
sphalerite, clever: Thanks for the tips! I'm trying to learn what the `-p` flag does, but can't find a simple explanation.
<sphalerite>
inquisitiv3: it makes nix-shell automatically generate a drv for you to shell into, with the given expressions as dependencies
<clever>
inquisitiv3: it will drop you into a shell that has the listed derivations in $PATH
<sphalerite>
inquisitiv3: so `nix-shell -p hello` will give you a shell with hello available in it
<inquisitiv3>
sphalerite, clever: I'm testing the command. So it's a simplified way to create a nix-shell environment without having to write a default.nix file?
<clever>
which is identical to just pasting that string into a .nix file and running nix-shell on it
<inquisitiv3>
clever: Do I understand that code snippet correctly that if I run `nix-shell -p dev1 dev2 [...] devn` the derivates `nixpkgs.dev1 nixpkgs.dev2 [...] nixpkgs.devn` will be installed and available in that environment?
<inquisitiv3>
I don't understand the Nix code.
<clever>
inquisitiv3: yeah, it will download both of them, and put them into PATH
<inquisitiv3>
clever: That's nice. Now I don't need to try to hack together a default.nix file for simple dev environments.
doyougnu has quit [Quit: WeeChat 2.0]
simukis has quit [Quit: simukis]
Maxdamantus has joined #nixos
Maxdaman1us has quit [Ping timeout: 272 seconds]
alex`` has quit [Quit: WeeChat 2.2]
alex`` has joined #nixos
betaboon has quit [Quit: WeeChat 2.1]
arjen-jonathan has quit [Ping timeout: 276 seconds]
<clever>
ghci is just a bash script that runs ghc --interactive
<inquisitiv3>
clever: Aha, thanks for the explanation.
<inquisitiv3>
Is derivates installed via nix-shell connected to that specific directory or command, or are they just added to the store and ready to be called via nix-shell?
<clever>
inquisitiv3: they are just added to /nix/store/ and then inserted into env vars
<inquisitiv3>
clever: So they'll be removed next time I clean /nix/store?
<clever>
yeah, nix-collect-garbage will clean them up automatically
<clever>
if the nix-shell is not open
<{^_^}>
[nixpkgs] @markuskowa opened pull request #45077 → Add license meta tags → https://git.io/fNx8t
<inquisitiv3>
Good to know. :)
graphene has quit [Remote host closed the connection]
<johnw>
does anyone know why, when using haskellSrc2nix, I would be getting "fetchurl requires a hash for fixed-output derivation"?
graphene has joined #nixos
Maxdaman1us has joined #nixos
Maxdamantus has quit [Ping timeout: 240 seconds]
<bkchr[m]>
Hi, does someone has experience with networkmanager and creating hotspots and how to setup dhcp?
<clever>
2 different ways ive configured dhcp servers, but ive not done hostapd on nixos yet
<bkchr[m]>
Network manager directly supports creating a Hotspot
<clever>
and i avoid network manager like the plague :P
<bkchr[m]>
And as far as I googled it, it supports DHCP.
<bkchr[m]>
But it does not seem to work in nixos.
<bkchr[m]>
:D
<bkchr[m]>
Yeah, for network manager there are bindings for rust, that is the reason why I'm using it ^^
<clever>
but if you just set services = { hostapd.enable = true; dhcpd4.enable = true; }; then nixos will configure it all and you dont even need bindings
abueide has joined #nixos
Maxdaman1us has quit [Ping timeout: 240 seconds]
<bkchr[m]>
I need to configure it on the fly and change back to connecting to another wifi, if requested
<clever>
ah
<sphalerite>
bkchr[m]: it works for me
<sphalerite>
iirc
Maxdamantus has joined #nixos
Ericson2314 has joined #nixos
<bkchr[m]>
> <@freenode_clever:matrix.org> ah
<{^_^}>
error: syntax error, unexpected '<', at (string):169:1
<bkchr[m]>
sphalerite: hmm. How is your networkmanager configured in nixos? Did you enable the integrated dnsmasq?
<bkchr[m]>
sphalerite: hmm. How is your networkmanager configured in nixos? Did you enable the integrated dnsmasq?
<disasm>
philippD: thanks! was looking at that last night and considered integrating it.
edef has quit [Remote host closed the connection]
<philippD>
disasm: you will probably have to still tweak your theme though.
edef has joined #nixos
Maxdamantus has quit [Ping timeout: 272 seconds]
<sphalerite>
bkchr[m]: I didn't explicitly enable it, but just setting up a "share connection" network makes it run
halfbit has joined #nixos
<bkchr[m]>
Hmm okay.
<sphalerite>
I might be remembering wrong
<bkchr[m]>
sphalerite: no, you are correct. Tested it on my laptop and it works. Will need to test it via command line on my rpi3. Maybe the bindings for rust doing something wrong.
Guanin has joined #nixos
<disasm>
sphalerite: I'm overriding prezto with https://github.com/NixOS/nixpkgs/blob/release-17.09/pkgs/shells/zsh-prezto/default.nix#L36 which gets me my zsh module working in the config again, but the [in nix-shell] that used to be in yellow above my prompt is still gone. I've diff'd the git commits for prezto, and I don't see anything in there native to nix, so I'm not sure how it worked before. Might spin up a
<disasm>
17.09 VM with my zsh config and see if I can reproduce the old behaviour and debug further.
Maxdamantus has joined #nixos
<disasm>
I might have a laptop that's been powered off since January that might have it actually... /me goes digging through piles of cords/electronics...
<{^_^}>
[nixpkgs] @Izorkin opened pull request #45078 → syslog-ng: fix reload service → https://git.io/fNxR3
<clever>
disasm: one of my older laptops is still missing, ive been digging thru the piles on and off for 2 months and stil havent found it, lol
<disasm>
Izorkin: I don't have syslog-ng setup. Does MainPID match the contents of pidFile? If so, maybe --pidFile doesn't need to be specified at all?
<disasm>
In general, I know kill -HUP $MainPID is considered bad practice because of asynchronous issues, but upstream unit files do that, so I don't see any reason not to go forward with your change.
<disasm>
upstream for syslog-ng that is
<Izorkin>
disasm: I can try another method
erickomoto has joined #nixos
mrottenkolber has left #nixos [#nixos]
<tazjin>
Can I bribe someone with commit access with the promise of cookies and/or drinks at NixCon to take a look at https://github.com/NixOS/nixpkgs/pull/40399 (Datadog agent v6)? Would be great to get that included for 18.09
<disasm>
Izorkin: it actually looks like HUP is best
<disasm>
tazjin: reviewing
<disasm>
lol, my coworker wrote it :)
doyougnu has joined #nixos
<doyougnu>
hey all, I'm using plasma5 DE and I cannot connect to any public wifi hotspots. It looks like network manage connects no problem but I'm never prompted to sign in
<joepie91>
doyougnu: does plasma have portal detection functionality at all?
<Izorkin>
disasm: normal variant - "${pkgs.coreutils}/bin/kill -HUP `${pkgs.coreutils}/bin/cat ${pidFile}`" ?
<joepie91>
(for me it's usually Firefox that yells at me about portals)
<tazjin>
disasm: awesome, thank you! :)
<doyougnu>
ive had firefox do that for me as well but it has never done that since I've migrated from Arch to NixOS
<joepie91>
hm, it works for me
<joepie91>
doyougnu: waitamoment, is this failing on a specific hotspot?
<joepie91>
or everywhere?
<doyougnu>
everywhere
<doyougnu>
atleast I've tried 4 coffee shops
<joepie91>
ah, hm, probably not the issue I'm thinking of then
<{^_^}>
[nixpkgs] @disassembler pushed 9 commits to master: https://git.io/fNxz5
abueide has joined #nixos
<jtojnar>
is there a way to override service file's execstart? I am getting `Service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing.` when I use systemd.services.fwupd.serviceConfig.ExecStart
<infinisil>
jtojnar: mkForce
<jtojnar>
infinisil: I want to replace a value from .service file though
<{^_^}>
[nixpkgs] @vcunat pushed 23 commits to staging-18.03: https://git.io/fNxw2
<binaryphile>
i'm curious, is there a way to test whether a package exists in the store and trigger a build if it doesn't from within a nix expression?
<clever>
binaryphile: just refer to it, and nix will automatically build it
<erickomoto>
However, the nix 2.0's native method's instructions imply that I have nix-shell already installed. Can someone explain what is happening here? Does this mean that I build nix on a machine I control and then somehow install it on a machine I don't?
<sphalerite>
erickomoto: you can build it from source and install it to ~/.local for example
Denommus has quit [Remote host closed the connection]
<sphalerite>
erickomoto: also it's incorrect AFAIK, I don't think nix-shell supports chroot stores :x you can use nix run though
Denommus has joined #nixos
<erickomoto>
Thanks sphalerite. Wow, I have been using nix for a while and never used `nix run`... Time to read some documentation.
<sphalerite>
erickomoto: unfortunately there's not much documentation out there >.<
<sphalerite>
erickomoto: basicaly `nix run --help` is all we have currently
<sphalerite>
because the new `nix` command is still an unstable interface, nobody's bothered writing in-depth docs on it yet x)
inquisitiv3 has quit [Remote host closed the connection]
<erickomoto>
Ok, so `nix run` is very similar to `nix-shell`. So what you are proposing is to install from source: `./configure --prefix=*prefix* --with-store-dir=*path*`. What does that have to do with `nix run` supporting chroot stores?
<ldlework>
When I use nixops ssh, the term is all messed up, I can't backspace, journalctl is a shit show, etc
<erickomoto>
And sphalerite, I messed up saying that the instructions imply that I have nix-shell already, they explicitly mention `nix run` I just kind of assumed it was `nix-shell` haha.
orbekk has quit [Quit: WeeChat 2.0]
gleber_ has quit [Ping timeout: 255 seconds]
<sphalerite>
erickomoto: no, without the --with-store-dir
gleber_ has joined #nixos
<erickomoto>
But I don't have sudo, so then I shouldn't be able to create the directory `/nix`
<sphalerite>
erickomoto: they mention `nix run` now because I just edited the page ;)
<sphalerite>
erickomoto: yes, but that's what you use the --store flag for
Sonarpulse has quit [Ping timeout: 240 seconds]
<sphalerite>
at runtime
<sphalerite>
ldlework: which terminal do you use?
<erickomoto>
Yes, but then if I use nix run that means that I already have nix installed?
<sphalerite>
erickomoto: then you use ~/nix-root/bin/nix run --store ~ -f channel:nixos-unstable hello
<sphalerite>
ldlework: mumble mumble stupid hipster terminals with their fancy definitions not included in ncurses
<sphalerite>
:p
<ldlework>
sphalerite: i've always wanted my terminal emulator to be GPU accelerated
<sphalerite>
ldlework: yeah but does it really need its own $TERM?
<ldlework>
lol probably not
__monty__ has quit [Quit: leaving]
<erickomoto>
Also, apparently my admin is ok installing nix but he wants something similar to `sudo apt-get install nix`. I am assuming this is not possible, right?
<erickomoto>
Is there something in apt that would prevent it to install another package manager, or is it that people haven't been interested (people are busy with something else) in packaging nix in apt? (This is just me being curious, I can talk to who controls the admin account and see if I can convince them to install it regardless of the installation method)
<sphalerite>
erickomoto: nix#2014 nix#2345 there have been multiple initiatives to package nix for debian which have been held up by copyright concerns
<MichaelRaskin>
I think there are Hydra-built deb-packages of Nix, but these are not official Debian/Ubuntu packages
<clever>
erickomoto: due to how the install script works, the admin can simply `mkdir /nix ; chown $YOU /nix` and thats all he has to do
<LnL>
sphalerit: lol
<clever>
erickomoto: the curl | sh script can then take it from there, and never need sudo
<erickomoto>
clever: I know! I told them exactly that, but they replied asking if there is an ubuntu package.
mayhewluke has quit [Ping timeout: 272 seconds]
<clever>
ah
<clever>
erickomoto: it would probably only take 5 minutes to whip up a .deb that just does exactly that, lol
<clever>
(also the reason you shouldnt install a random .deb file without trusting the source)
<erickomoto>
Haha. I guess. Thanks clever. I'm sure I'll be able to install it soon, but I also find this whole discussion really worthwhile.
mayhewluke has joined #nixos
<erickomoto>
Like, if I installed it through `mkdir /nix && chown $YOU /nix` would nix still be able to be configured as multiuser? (probably not?) but then I guess it would be possible to make the build users and just set permissions and I would be able to manage the nix store even without being root?
<infinisil>
Awww yeahhhh
<infinisil>
(it works)
<clever>
erickomoto: that would be a single-user setup, so all builds are just ran as whoever started nix-build
<infinisil>
(I'll still not tell what it is though, yet)
<clever>
erickomoto: multi-user requires nix-daemon to be running as root, so it can switch to the chosen users
<sphalerite>
infinisil: then talking about it at all is just kind of obnoxious...
<infinisil>
Yeah sorry
<sphalerite>
:p
<infinisil>
I'll share soon!
<erickomoto>
Makes sense. Thanks clever! I just wasn't too sure if it was possible.
<erickomoto>
I think basically my boss is ok with installing nix, but he doesn't want to manage it himself and at the same time he doesn't want to give me sudo access. (which is totally understandable)
<erickomoto>
But he also would like it to be set up as multiuser?
<clever>
lol
<clever>
multi-user requires somebody with root to administer it every now and then
<sphalerite>
multi-user is definitely better, because it allows using the build sandbox
<clever>
yeah
<erickomoto>
And we do have multiple users working on that server. Alright, thanks clever and sphalerite.
<MichaelRaskin>
Well, there is also user-numespaces…
<MichaelRaskin>
Could try having Nix is no-external-root container
<clever>
MichaelRaskin: debian disables those by default
<sphalerite>
MichaelRaskin: yeah but it's not used for build sandboxing yet
<sphalerite>
clever: really? I don't think so…
<clever>
sphalerite: ive run into problems deploying things with nix-bundle because of that
<MichaelRaskin>
Yes, I think Debian does disable
<clever>
you need root to use namespaces, or flip a sysctl
<MichaelRaskin>
Well, with
<MichaelRaskin>
non-root containers it might believe it is root and try using sandbox
<MichaelRaskin>
Not sure what happens on what kernel versions
<clever>
MichaelRaskin: and nix-bundle also fails inside a container made by nix-bundle
<clever>
which makes it a pain in the ass to run a nix-bundle based installer/updater, from within a nix-bundle based app
kiloreux has joined #nixos
<sphalerite>
hm, how hard would it be to make a tool that allows you to enter an environment very similar to the build environment for a given drv?
<clever>
the problem, is that a mount namespace by non-root, requires a user namespace
<sphalerite>
including build sandboxing/
<clever>
so the uid's within the container are fake and have no real power
<clever>
and that includes no power to create another namespace
erickomoto has quit [Ping timeout: 265 seconds]
<clever>
sphalerite: nix mounts a lot of things for its sandbox, so you would need some form of API (maybe a json file) detailing what you want mounted where
<sphalerite>
clever: I was thinking literally just nab the sandboxing code from nix
emacsomancer has joined #nixos
<sphalerite>
the drv already contains all the information you need, no?
<clever>
plus nix.conf flags
<clever>
nix.conf can inject impure things into the sandbox
<sphalerite>
oh yeah
<sphalerite>
seems like something that could be part of nix really
vidbina_ has quit [Ping timeout: 244 seconds]
<sphalerite>
would be really useful, even if it's root-only
Maxdaman1us has quit [Ping timeout: 244 seconds]
kiloreux has quit [Ping timeout: 260 seconds]
Maxdamantus has joined #nixos
kyren has quit [Ping timeout: 260 seconds]
hlolli has joined #nixos
kyren has joined #nixos
roconnor has joined #nixos
<roconnor>
Hi, when I'm in a haskell.env via a nix-shell the COLLECT_GCC_OPTIONS= inlcude things like -O2 - D _FORTIFY_SOURCE=2, etc. Where do these options come from?
<jiaew3>
I am trying to build a custom package that uses cmake. I have put the dependencies in the buildInputs but cmake isn't able to find them. any tips?
<jiaew3>
sphalerite: ok you are right, tha package has these modules.
<LnL>
samueldr: and I'm pretty sure I use it in nix-darwin so I'd have to implement fallbacks if I don't want to drop support for random 18.03 revisions
johnw has quit [Ping timeout: 240 seconds]
<sphalerite>
jiaew3: depending on how well-written they are you may need to provide extra hints or patch them
<samueldr>
LnL: right, other older versions would be problematic...
justan0theruser has quit [Ping timeout: 240 seconds]
<samueldr>
LnL: do you have other past deprecations in mind? I'd like to see the precedent of how it was handled
<LnL>
from my point of view as a user of nixpkgs I shouldn't assume anything added after the 18.03 tag is available
<samueldr>
and you're right
<jiaew3>
sphalerite: I see, seems like too advanced for me. do you know of any examples in nixpkgs I can have a look at?
<sphalerite>
no, sorry
<sphalerite>
but if you can show me the find scripts I can maybe help
<ldlework>
I cloned nixpkgs and merged in a changed contained in someone's fork. How do I switch my nixos/nixops over to my new nixpkgs fork if I'm currently using whatever it is by default (nix-channels I think)
<samueldr>
LnL: genuine question here, `lib.version or lib.nixpkgsVersion` that won't trigger the warning, right? what's the issue with using this meanwhile?
<samueldr>
if at 18.09 it's a warning, and then removed at 19.03 (still genuine) what are the issues?
<LnL>
samueldr: for eg. renames of packages we have aliases that stay around for a while before they are deprecated
<LnL>
samueldr: it's a warning I can't solve
<jiaew3>
sphalerite: they are here https://git.io/fNxSI . thanks for your help by the way
<sphalerite>
jiaew3: right so the tetgen one looks at the TETGEN_PATH environment variable
<samueldr>
LnL: still genuine: why can't it be solved? (I'm beginning to think I'm really overlooking something basic here)
<sphalerite>
jiaew3: so if you just set `TETGEN_PATH = tetgen;` in the derivation it should be able to find it
<gchristensen>
samueldr maybe you have a solution idea?
<LnL>
samueldr: 'solving' the warning means I break 18.03
<samueldr>
LnL: `lib.version or lib.nixpkgsVersion` breaks 18.03?
erickomoto has joined #nixos
johnw has joined #nixos
<samueldr>
nix-repl> lib.version or lib.nixpkgsVersion # "18.03.git.d72c3e8bb64"
<samueldr>
as I said: maybe overlooking something basic
<sphalerite>
jiaew3: for assimp, it looks like the find script doesn't provide a useful input thing like that so you'll probably need to set the paths manually
<gchristensen>
infinisil: eelco would -1 that
<infinisil>
gchristensen: Most certainly :P
<gchristensen>
a version of nixpkgs should always eval the same for reproducible software purposes
<infinisil>
gchristensen: Oh I haven't introduced my master plan here yet
<infinisil>
How about that: We add a file nixpkgs/time.nix which contains "builtins.currentTime" in master. But when a release gets forked off, we change it to "1523656456" (whatever the time was at that point). To get the time we always use that file then
<sphalerite>
jiaew3: something like `cmakeFlags = ["-Dassimp_INCLUDE_DIRS=${assimp}/include" "-Dassimp_LIBRARIES=${assimp}/lib/libassimp.so"];`
<LnL>
samueldr: well yes, but that's throwing the ball back to users, I could not use nixpkgsVersion and implement it myself
<sphalerite>
jiaew3: not 100% sure of it, probably takes some additional fiddling
<infinisil>
gchristensen: I am overflowing with good ideas today eh
<LnL>
samueldr: in general for deprecations there should be a clear path forwards before spamming people to change stuff IMHO
<samueldr>
LnL: at a point the ball *has* to be thrown, and the earlier the warning exists, the earlier it's possible to actually deprecate
<samueldr>
though I can see that the timeline maybe is short
Ariakenom has quit [Quit: Leaving]
<jiaew3>
sphalerite thanks, I 'll give it a try.
<samueldr>
right how we have 18.03 → 18.09 that both adds the new property AND deprecates the old
<LnL>
samueldr: sure this is fine on master post 18.09
<infinisil>
samueldr: What property are you talking about?
<samueldr>
> lib.version or lib.nixpkgsVersion
<{^_^}>
"18.09pre-git"
<sphalerite>
#43266 I was hoping we could deprecate it with a warning for 18.09 and remove it in 19.03 but it doesn't look like that will happen
<samueldr>
the warning **will** cause annoyance at a point, I'm in the band-aid camp, I'd prefer two full revisions of warnings than one without and one with; so timeline "add+warning, warning, deprecate" than "add, warning, deprecate"; where a comma mean a new nixpkgs release
<samueldr>
but that's not how reality works
<gchristensen>
by deprecate do you mean delete?
<samueldr>
yes, sorry
<samueldr>
"add, warning, warning, delete" is probably a better overall timeline
<LnL>
it's a rename in this case but same goes for removing something yes
<elvishjerricco>
Is there a way to force `nix build` to use a `--builders` instead of a local machine?
<sphalerite>
elvishjerricco: --max-jobs 0
<samueldr>
what I know won't exist, is "add+pre-warn, warn, delete", where pre-warn is an opt-in so you don't get one revision where deprecated stuff won't warn :/
<elvishjerricco>
sphalerite: I thought so, but it didn't do the trick. At least for IFD, it did not work
<sphalerite>
oh hm idk about IFD
<Dezgeg>
I like this "add, warning, deprecate" done over three (or more) releases
<elvishjerricco>
I guess I'm not really trying to DO a build remotely. I'm just hoping to get my paths from a remote machine without having to know which paths to copy
<elvishjerricco>
So I tried using `--substituters`
<Dezgeg>
but honestly, doing that for just this lib.nixpkgsVersion vs lib.version sounds rather pointless, maybe that should also just be reverted directly
<elvishjerricco>
But I'm getting "cannot open connection to remote store'...': writing to file: Broken pipe"
<samueldr>
Dezgeg: yeah, I feel this one has been singled-out, but it's a general issue
<samueldr>
and that *is* a pointless rename
<elvishjerricco>
I checked journalctl and saw: `error: executing 'nix-daemon --stdio' on '...': No such file or directory`
* ldlework
wonders why nixops is sending X server related closures to his server
<gchristensen>
or not reverted
<LnL>
yeah, I'm not convinced by the rename either but that's a different topic :)
<gchristensen>
it isn't a big deal and doesn't break anything, and is objectively a better name
justan0theruser has quit [Read error: Connection reset by peer]
<ldlework>
my server definitely needs xscreensaver
<gchristensen>
nix why-depends :)
<ldlework>
sophos........> error: preallocating file of 1343 bytes: No space left on device
<ldlework>
great
<ldlework>
lol
<elvishjerricco>
ldlework: Lots of programs ship with support for X stuff, which causes Nix to link them together.
<samueldr>
any idea about implementing opt-in deprecation warnings?
<elvishjerricco>
e.g. GNUPG depends on pinentry, which by default supports a GTK prompt
bennofs has quit [Ping timeout: 255 seconds]
<samueldr>
(for the "add+pre-warn, warn, delete "timeline
<LnL>
gchristensen: is it? not that it's a thing but what should this be (import <darwin> {}).lib.version
<Dezgeg>
I guess the real problem was this system.nixosVersion -> system.nixos.version rename pre-18.03... if that just had been reverted, lots of problems would have been avoided :P
<ldlework>
how do I tell nix to delete everything it isn't using to free up the disk again?
<sphalerite>
ldlework: nix-store --gc
erickomoto has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<sphalerite>
you might also want to remove old profile generations with nix-collect-garbage --delete-older-than
<LnL>
samueldr: yeah the main problem is how do we avoid forgetting about the deprecation, there is .version which could be used similar to stateVersion but for warnings
<ldlework>
heh
<ldlework>
error (ignored): aborting transaction: SQL logic error (in '/nix/var/nix/db/db.sqlite')
<ldlework>
error: committing transaction: database or disk is full (in '/nix/var/nix/db/db.sqlite')
<ldlework>
worked the second time
<samueldr>
LnL: I think we just circled back to the seed for this discussion
<samueldr>
(which is good)
<LnL>
so using infinisil's idea but with .version would allow eg. foo = deprecate "18.09" foo;
<LnL>
that doesn't have the builtins.currentTime issue and the file gets updated with releases already so there's nothing new needed there
<samueldr>
LnL: possibly, if we maths-up the 18.09 +6 months for the warning, and add a nixpkgs.config for opting in?
<infinisil>
LnL: error: infinite recursion encountered, at (string):1:56
<{^_^}>
[nixpkgs] @jtojnar pushed to master « evilvte: mark as insecure »: https://git.io/fNxH7
<LnL>
infinisil: don't use rec
<LnL>
samueldr: yeah, we could add a config option to enable all warnings regardless of the current versioon
kyren has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
erasmas has quit [Quit: leaving]
erickomoto has joined #nixos
etrepum has joined #nixos
worldofpeace_ has quit [Quit: worldofpeace_]
kyren has joined #nixos
<erickomoto>
Hey, hello again. Quick question: I am looking at the source for the installation script. It seems that only darwin installs are by default in user mode, however, there is a install-multi-user script available as well. Why is multiuser not the default for uname -s = Linux ?
ericsagnes has quit [Ping timeout: 260 seconds]
<erickomoto>
correction: darwin installs are by default in *multi*user mode
jonreeve has joined #nixos
<erickomoto>
I see why now. I just read the source. There systemd needs to be available?