<dhess>
but uhh... that is also not exactly "succinct."
<dhess>
Infinisil: it would be nice if you could click a button on a given file and GitHub would show you all the issues that have ever referred to a commit that touched it.
<Infinisil>
maybe this patch was taken from a different distro or so
<dhess>
I guess the lwn.net article is better than nothing.
<Infinisil>
dhess: Well you can just leave a comment there to ask
<dhess>
Infinisil: I suppose. Mainly I'm just curious; I don't have an opinion one way or the other. (I have a kernel that it won't apply cleanly to, which is why I started wondering about it.)
<dhess>
ahhhh looks like it's for systemd.
<Infinisil>
dhess: From wikipedia: "Unlike v1, cgroup v2 has only a single process hierarchy and discriminates between processes, not threads." and from the patch: "This patch implements cgroup v2 thread support."
<Infinisil>
Not sure why this is needed by nixos
leat has joined #nixos
<dhess>
Infinisil: apparently systemd prefers v2
<dhess>
for its own process mgmt.
<dhess>
I would guess that's it.
<Infinisil>
dhess: Hmm.. I mean v2 is in the linux kernel, just not thread support i guess. Not sure why systemd would need cgroups for threads to work
slack1256 has quit [(Remote host closed the connection)]
<clever>
gchristensen: one random example ive run into, i want to do ip manipulation for dns in nix
<clever>
gchristensen: for example, do you know how PTR records work in dig?
<clever>
dns*
* gchristensen
flashes back
<gchristensen>
*lying* no
https_GK1wmSU has joined #nixos
<clever>
for v4, its simple, 192.168.2.15 -> 15.2.168.192.in-addr.arpa.
<clever>
now try doing v6 in pure nix
<Infinisil>
Being able to run something at compile- and runtime would be nice, this could replace stuff like these parsers, and also maybe replace bash
https_GK1wmSU has left #nixos []
<Infinisil>
A unified language for both
<clever>
gchristensen: fe80::230:48ff:fec5:d2df turns into f.d.2.d.5.c.e.f.f.f.8.4.0.3.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa.
catch22 has quit [(Remote host closed the connection)]
<Infinisil>
Coping ${pkgs.wget} to $out, then wanting to replace $out/bin/wget with a wrapped version. Gives me a permission error that it can't change $out/bin/wget
<gchristensen>
Infinisil: what does it do?
<clever>
Infinisil: cp preserves the read-only bin dir
<gchristensen>
oh the permissions are locked down copying from elsewhere in the nix store
<clever>
you need to chmod +w
<Infinisil>
Ahh
<clever>
Infinisil: also, dont copy wget, use makeWrapper instead
<gchristensen>
or use stdenv.mkDerivation and set src = pkgs.wget
<clever>
i mean, wrapProgram
<clever>
makeWrapper renames the target out of the way, then makes a wrapper
<clever>
wrapProgram just assumes its out of the way already
<clever>
so your only going to copy the man pages and such
<clever>
ln might be faster
<Infinisil>
how would i use ln for that?
<Infinisil>
Ah link
<Infinisil>
I thought I read ls
<clever>
symlink share to ${wget}/share/
inflames has quit [(Remote host closed the connection)]
<Infinisil>
But then I'll have to mkdir $out first :P
<Infinisil>
I'll just keep this as short as possible
<Infinisil>
Okay, but why does `which wget` still show the systems one
<clever>
did you install it in nix-env or systemPackages?
<Infinisil>
nix-env
<Infinisil>
With this override in .config/nixpkgs/config.nix
<clever>
which --all wget
rpifan_ has joined #nixos
rpifan_ has quit [(Read error: Connection reset by peer)]
rpifan has quit [(Remote host closed the connection)]
<Infinisil>
--all gives me bad option, but -a works. Both paths are shown ~/.nix-profile/bin/wget and /run/current-system/sw/bin/wget
<Infinisil>
in that order
<Infinisil>
But the second one is chosen..
<clever>
when you just run "wget" in a shell?
<clever>
or by "which wget" ?
<Infinisil>
which wget gives me /run/current-system
<clever>
ls -lh ~/.nix-profile/bin/wget
<Infinisil>
points to the correct one, the one from /run/current-system doesnt
<Infinisil>
Weird
<clever>
and is the right one +x'd?
<Infinisil>
clever: Same permissions for both
<clever>
cat ~/.nix-profile/bin/wget
<Infinisil>
The correct one
<Infinisil>
OOHHh
<clever>
?
<Infinisil>
For some reason a new terminal did it
<clever>
"type which"
<Infinisil>
shell builtin
<clever>
aha!!!
<clever>
i assumed you had the which from the which package
<clever>
which can search the PATH every time its ran
<Infinisil>
and a builtin can't?
<clever>
you have the shell builtin which, which searches the shells PATH cache
<Infinisil>
Ahh
<clever>
bash has that cache disabled on nixos
<Infinisil>
zsh apparently not
<clever>
that also explains why it didnt accept --all
<Infinisil>
Ahhh
<Infinisil>
it all makes sense now
<clever>
you have which, not which
<clever>
and time, not time
<clever>
(intentionaly confusing statement)
<tnks>
clever: from a previous conversation, I think you might have insinuated that the shellHooks of propagatedBuildInputs would be called by nix-shell.
<Infinisil>
well TIL one more thing
<tnks>
but I'm not seeing that as the case.
<clever>
tnks: the setup hooks are, not the shellHooks
<tnks>
got it. Does anyone try to chain shellHooks together?
<clever>
tnks: i wouldnt
<clever>
$out/nix-support/setup-hook is for setup-hooks
<clever>
any time a package is in the inputs list, that gets sourced
<clever>
throw an echo into it to help debug
<clever>
and propagatedBuildInputs forcibly adds things to the input list
<tnks>
clever: okay, so nix-shell will only run one shellHook, because nix-shell is kind of a "one-derivation at a time" kind of tool, yeah?
<tnks>
(this gets at why I was thinking of running nested nix-shell invocations).
<clever>
yeah
<clever>
and you usualy shouldnt nest them
<clever>
but find another solution
<tnks>
well, the shellHook for Python packages is pretty short.
<tnks>
not too difficult to reason about.
<tnks>
but maybe the setup hooks break.
<clever>
what do you want from the shell hooks?
<tnks>
"developer-mode" for Python development.
<tnks>
but to do the thing that manual says "you can't do"
<tnks>
rubbish... it just doesn't do it yet!
<clever>
lol
<Infinisil>
Oh I've got a great idea, to make a nixpkgs overlay that makes programs conform to the XDG specification
<Infinisil>
Nix question: How can I make this work: "${runtime-var}", so the ${ actually gets put into the string?
<Infinisil>
It works like this: ''''${runtime-var}'', but I don't need/want the ''
<clever>
nix-repl> ''''${foo}''
<clever>
"${foo}"
<clever>
the '' doesnt appear in the final string
<Infinisil>
clever: I know
<Infinisil>
Is it possible by using "?
<clever>
nix-repl> "\${foo}"
<clever>
"${foo}"
<Infinisil>
Oh nice
<Infinisil>
thx
joehh has joined #nixos
<Infinisil>
I wrote a function that lets you do this: wget = makeXDG "wget" pkgs.wget ({ cache }: { wget = "--hsts-file=${cache}/hsts"; });
<clever>
neat
<Infinisil>
It also creates the xdg cache home folder with the "wget" subfolder before the binary is run
<Infinisil>
but only the cache one here, because it's the only one used
<Infinisil>
I should also add a way to have certain env vars be set
zeus_ has quit [(Remote host closed the connection)]
zeus_ has joined #nixos
<Infinisil>
Why the hell is there no generic name attribute on derivations which is consistent over version
<Infinisil>
s
<Infinisil>
I could use that if it existed
<spacefrogg>
What for? It's only informative, as far as I know.
zeus_ has quit [(Ping timeout: 246 seconds)]
<Infinisil>
spacefrogg: Yeah, but having the actual name of the package can be useful sometimes
<spacefrogg>
The name attribute is the name of the package. The version is part of it.
zeus_ has joined #nixos
<Infinisil>
spacefrogg: But that's not the actual *name* of the package. zsh isn't called "zsh-5.3.1", wget isn't called "wget-1.19.1"
<Infinisil>
And parsing that name by splitting on "-" isn't the way to go
indi_ has quit [(Remote host closed the connection)]
<spacefrogg>
As far as I know there, is no technical need for the name without a version in NixOS. So yeah, you're on a loss, here.
indi_ has joined #nixos
indi_ has quit [(Remote host closed the connection)]
indi_ has joined #nixos
nico202 has joined #nixos
<Infinisil>
I think there could be benefits be splitting it up into the actual package name ("pname") and a version attribute
<Infinisil>
Hell it's already done by most packages, name is most often just used to put the two together
<spacefrogg>
I believe you exchange reason and consequence. It normally is split up in two when you need the version separately, e.g. for the download URL.
markus1199 has quit [(Ping timeout: 260 seconds)]
<spacefrogg>
But I don't want to argue either way. Just what hold you back do use the name attribute? Is it esthetics?
markus1189 has joined #nixos
<spacefrogg>
holds* to*
<Infinisil>
sphalerite: Because I actually need the name without the version for my thing
<Infinisil>
spacefrogg: To create a directory for the package and the directory name shouldn't just change between different versions
indi_ has quit [(Remote host closed the connection)]
mbrgm has joined #nixos
indi_ has joined #nixos
<spacefrogg>
Infinisil: Why not? You shouldn't create stateful dependencies where it is not necessary.
<spacefrogg>
Is it necessary?
<Infinisil>
If it's necessary to keep a packages stateful data between versions??
mog has quit [(Quit: im quiting!)]
<Infinisil>
What I'm writing may not be ready yet, but it could very well be a part of nixpkgs one day. But that can't happen without packages exporting their name
oida_ has joined #nixos
<spacefrogg>
Create the state anew for each package installation, if possible. What you are trying to do fulfills the very definition of impurity that NixoS is trying to avoid.
<Infinisil>
spacefrogg: Oh sure, I'll just throw away all my /var and everything else that's stateful, because who needs mutable data anyways
<Infinisil>
That's not how software works
nslqqq has quit [(Ping timeout: 255 seconds)]
oida has quit [(Ping timeout: 258 seconds)]
<Infinisil>
While nix deals well with the immutable part, we can't ignore the mutable part
<spacefrogg>
That is a concession to the software design. And /etc is the way how NixOS manages impurity.
<Infinisil>
when I'm having my contacts in radicale-v1.1.3, then I don't want to lose all of them just because it updated to radicale-v1.1.4
nslqqq has joined #nixos
<simpson>
I want to spread NixOS to a new cloud provider. They don't support NixOS yet. What should I read to figure this out?
<spacefrogg>
Okay, I understand now. You're searching for a state-exporting mechanism that was deliberately left out. You'd have to modify each nixpkg that really needs state to export the path to its application state. This is currently done on an as-needed basis.
<Infinisil>
simpson: Well if you have root access then you could just try to run nixos-infect (or this other similar project) to see if it works or adapt it a bit
<simpson>
Infinisil: I was hoping for more concrete or documented guidance than that.
<Infinisil>
spacefrogg: Sure, but that's what I'm trying to make easier, and if packages just exported their actual name this would be even more easier
ChongLi has quit [(Quit: leaving)]
ChongLi has joined #nixos
<spacefrogg>
No, packages might (and actually do) define arbitrary paths to store their state. Sometimes these are only known after some post-installation initialization.
<spacefrogg>
This is nothing to be (generally) solved on the package-building side.
<spacefrogg>
This is actually why the comprehensive module system exists in NixOS.
ChongLi has quit [(Client Quit)]
ChongLi has joined #nixos
<Infinisil>
spacefrogg: I do not want to put this into the package! I only need the packages to export a *name*, nothing else, and this would make my task a lot easier
<spacefrogg>
I did understand that. But nothing tells you that your package actually recognizes the "state-storage location" you assign to it based on its name, would it?
<Infinisil>
Eh whatever, maybe I'll open an issue for that, I really think this would be a general improvement
<spacefrogg>
This has to be figured out on an individual basis, anyway. Well the go forth and export a versionless name in those cases.
<Infinisil>
spacefrogg: Alright, what I'm creating is a wrapper for packages to make them conform to the XDG convention. And for that I need to create a directory at e.g. ~/.config/<package name>. I'm going to pass such directories with command line flags or env vars.
<Infinisil>
Yes, it's going to be done on a per-package basis, of course it can't be done automatically
<Infinisil>
spacefrogg: As a programmer I just think that not exporting the name and version even though they are available is just stupid. There is not a single disadvantage to doing this
nico202 has quit [(Ping timeout: 260 seconds)]
mog has joined #nixos
<Infinisil>
And no, the extra 0.1% evaluation time because there's more attributes doesn't count
<clever>
Infinisil: also, all attribute names get turned into ints for faster compares
<Infinisil>
Nice to know
<seequ>
Infinisil: is it a system- or use-specific package?
<seequ>
user*
mog has quit [(Quit: im quiting!)]
<seequ>
Ah, there
<spacefrogg>
Infinisil: Well, the better. Then for each package that is using the xdg-generator, split apart a name. No need to create a standard, here.
<Infinisil>
seequ: Well I'm trying to handle stateful data with this so it's doing the correct thing for any user
<Infinisil>
spacefrogg: It's just additional work being done. If there was the convention to export pname and version, then everyone would have less work
<spacefrogg>
Not all packages (not even close) are explicity written up as derivations. Forcing them to export a pname to fulill this (mostly needless) convention would be a lot of unnecessary work.
<spacefrogg>
And it is mostly needless as most applications don't carry state around (except for config in /etc).
<Infinisil>
Sorry I don't feel like arguing anymore :)
MoreTea has joined #nixos
<spacefrogg>
Last statement. Thank you for writing this generator!
<clever>
Infinisil: the source i linked is also an example of the attr name stuff i mentioned before
<simpson>
dhess, clever: I am currently playing with nixos-in-place on their Debian image. It appears that the IP addresses are statically configured, so I have to get that static information into the NixOS expression.
<clever>
Infinisil: state.sName is a variable holding the int that means "name", because thats searched for a lot from the code
<clever>
Infinisil: and state.symbols.create("version") will either return the int for version, or create&return one
<clever>
dhess: that gist also includes bits of dhcp config, and a way to give every machine its own default
<simpson>
clever: I will see! Odds are good that they won't be open to that, but I'll certainly ask.
<simpson>
I guess that they have CoreOS.
dejanr has quit [(Read error: Connection reset by peer)]
<clever>
simpson: as for the major differences between nixos-in-place and my kexec trick, nixos-in-place leaves you stuck with whatever partition layout the machine had to begin with
dejanr_home has joined #nixos
<clever>
simpson: so you have to start with an image that has an FS and layout you can accept
<clever>
simpson: my kexec trick lets you wipe the machine and do whatever you want
<clever>
simpson: and as an example of poor choices, one of my servers is now stuck with a 20gig /home partition that sits at 56% used
<clever>
and a 1.8 tb / partition
<clever>
that makes it imposible to run something like a full bitcoin node, without getting root and messing around with things
<clever>
simpson: the bigger problem i can forsee, is how do you give the user ssh access automatically, there needs to be a metadata service so you can auto-config on first boot
<simpson>
clever: Yeah. So, I'm reaching out to somebody technical, and hopefully I'll get more info from them. The need for autoconfig and the desire to know about image options.
<simpson>
There's good news, at least; the CLI tool that they provided works, and it's got a Python library, so adding it to nixops shouldn't be too hard.
zeus_ has quit [(Remote host closed the connection)]
<clever>
and i should probably get some sleep, its nearly 4am now
<simpson>
Peace.
dejanr_home has quit [(Ping timeout: 268 seconds)]
zeus_ has quit [(Ping timeout: 246 seconds)]
adamCS has quit [(Ping timeout: 260 seconds)]
adamCS has joined #nixos
<mpcsh>
Infinisil: so I did some more reading and I have a better first contribution
<Infinisil>
mpcsh: :D
<mpcsh>
about to throw up a PR in a minute
FRidh has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] mpcsh opened pull request #27863: material-icons-ttf: init at 3.0.1 (master...master) https://git.io/v7Ebg
NixOS_GitHub has left #nixos []
<mpcsh>
Infinisil: ^
blahdodo has quit [(Quit: Bye bye)]
<Infinisil>
mpcsh: Nice!
<Infinisil>
Very well done, I don't even have anything to complain about!
<mpcsh>
ayy thanks :)
blahdodo has joined #nixos
eacameron has joined #nixos
<cocreature>
Hey, it seems like by using "cabal new-build" inside a nix-shell I’ve somehow managed to mess up something and now when I try to enter the shell again it fails to find some package-db http://lpaste.net/357356 any ideas how to fix that?
<cocreature>
I tried nuking all dist and dist-newstyle directories in this project but that didn’t help
<cocreature>
I guess I might need to nuke something in /nix/store but I’m unsure what
eacameron has quit [(Ping timeout: 255 seconds)]
nschoe has joined #nixos
<Infinisil>
cocreature: What does new-build do?
<cocreature>
Infinisil: it’s a new feature in cabal which manages package-dbs in a different way.
<Infinisil>
or is that "cabal new build" which creates a new project or so?
<Infinisil>
cocreature: Ah
nadley has quit [(Ping timeout: 268 seconds)]
<cocreature>
it seemed to work inside of nix-shell but now after a day or so I can’t enter the shell anymore and I’m not sure how to reset whatever nix seems to have stored here
<hyper_ch>
clever: nixos-rebuild boot --upgrade --> will take a while on my notebook
<Infinisil>
cocreature: The shell itself is stateless, the files mustve changed somehow
eacameron has joined #nixos
https_GK1wmSU has joined #nixos
<cocreature>
nix-store --gc deleted some things from /nix/store that contained dist-newstyle directories. let’s see how this goes
<Infinisil>
cocreature: That shouldn't fix it
https_GK1wmSU has left #nixos []
<cocreature>
Infinisil: well what _should_ fix it? sry I’m new to nix :)
<cocreature>
I definitely haven’t modified any of the .nix files and none of them references dist-newstyle
eacameron has quit [(Read error: Connection reset by peer)]
eacameron has joined #nixos
cfricke has joined #nixos
<cocreature>
so something™ must be leaking to somewhere and make nix look for the dist-newstyle folder
<Infinisil>
cocreature: No idea, maybe you could try to just copy the files you need into a new directory and run nix-shell there
rydnr has joined #nixos
<Infinisil>
You could always try running nix-shell with --pure
<rydnr>
Hi guys
justanotheruser has quit [(Ping timeout: 240 seconds)]
<cocreature>
Infinisil: alright, I’ll try that. thanks for your help!
vinymeuh has joined #nixos
justanotheruser has joined #nixos
<seequ>
Any clue why `nix-build; nix-env -f . -i` caused two builds?
<rydnr>
I'm writing a package which downloads a zip file that contains more than one directory, and packer complains. How do you manage this situations? Can I still use fetchurl in this case?
<seequ>
(I was testing if the new build works first)
<Infinisil>
seequ: nix-build is one command, a semicolon enables you to run another command after it, nix-env -f . -i can make another build
<Infinisil>
Ahh
<Infinisil>
Does the full package get rebuilt?
eacameron has quit [(Ping timeout: 260 seconds)]
<rydnr>
I should RTFM before asking questions like this. Sorry...
<seequ>
Infinisil: I ran them as separate commands.
<Infinisil>
rydnr: Nah, no problem. I think you want to set stripRoot = false
nixer has joined #nixos
eacameron has joined #nixos
<seequ>
Infinisil: I'm just curious why nix-env couldn't use the same build
<Taneb>
I'm getting "Failed to check file system type of "/boot": no such file or directory when I try to run nixos-install
<hyper_ch>
Taneb: how are you trying to install?
indi_ has quit [(Remote host closed the connection)]
indi_ has joined #nixos
<Taneb>
With the minimal installer, running off a USB
<hyper_ch>
and you mount the designated root folder to /mnt ?
<hyper_ch>
or what installation guide do you follow?
<Taneb>
To /mnt as the instructions said
<Infinisil>
Taneb: What does `wipefs /dev/<your boot mounted disk id>` output?
<Infinisil>
if you want to use efi booting this should output something with vfat
<seequ>
Taneb: You need to mount your boot partition to /mnt/boot for UEFI install
<rycee[m]>
Infinisil: Hey hey.
<Infinisil>
rycee[m]: Hey :D
<rycee[m]>
Infinisil: Ah the environment variables are set by either PAM or Bash.
indi_ has quit [(Ping timeout: 260 seconds)]
<rycee[m]>
It is not very robust and I've been wanting to change it, but I am uncertain how to make it better. Right now you have to use PAM unless you want to use bash and have HM manage your bash configuration.
<Infinisil>
rycee[m]: Ohh, maybe I should read the descriptions a bit better, I didn't enable bash
<rycee[m]>
I think there should be a third option to just write out a ~/.profile file (like the bash option does) that you then can source yourself.
<Infinisil>
Hmm..
<Infinisil>
*thinks*
justanotheruser has quit [(Ping timeout: 248 seconds)]
<Infinisil>
I think it's best to write to .profile
<rycee[m]>
(if you are using a Bourne compatible shell)
<Infinisil>
rycee[m]: how are you supposed to set env var in other shells?
jensens has joined #nixos
<Infinisil>
s/var/vars
<Taneb>
Ugh, I need to head out, I'll try again this evening
<rycee[m]>
I guess by adding a HM module for that shell and making a PR :-)
<Infinisil>
Taneb: Alright then, see ya :)
<Infinisil>
rycee[m]: Heh yes
<rycee[m]>
But I think most common shells nowadays are sufficiently Bourne compatible to read commands of the form `export DICPATH="${HOME}/.nix-profile/share/hunspell"`
<Infinisil>
rycee[m]: What modules would you like to see for HM?
goibhniu has joined #nixos
<Infinisil>
rycee[m]: Maybe yes, .profile will be bourne
<rycee[m]>
I think some additional shells would be fun but I don't really have any further modules I'm really wanting to make. I am working on a "news.nix" moduleish thing.
filterfish has quit [(Ping timeout: 246 seconds)]
<Infinisil>
rycee[m]: Which does?
ambro718 has joined #nixos
<adisbladis>
rycee[m]: Are there env vars currently handled by hm?
<rycee[m]>
That will allow writing a sort of change log and when you do a switch it will let you know if there are any changes or important news for you. Like it may say "Foo will be deprecated soon, please use bar instead" if it notices that "service.foo.enabled == true".
<Infinisil>
adisbladis: You can set them yourself in HM, or have a module set it for you
tokudan has joined #nixos
<Infinisil>
rycee[m]: Interesting, do you also have a concrete example of it being useful?
<rycee[m]>
adisbladis: Seems only the lesspipe, gpg-agent, and info modules set environment variables themselves. But you can use `home.sessionVariables` to set your own.
<adisbladis>
rycee[m]: Just found it :)
<rycee[m]>
Infinisil: Well, I started working on news.nix because I'm planning to change the way you define which window manager you need in your X session. Unfortunately the way I plan to change it will cause a potentially confusing error message from Nix. So I wanted a way to let the user know beforehand :-)
jgertm has joined #nixos
<adisbladis>
That's not gonna work at all on fish if you don't set home.sessionVariableSetter to pam for me... Thinking if there might be a better way
<rycee[m]>
Yeah, I wish pam would work in all cases but it is quite restrictive in which variables you can set :-(
<unlmtd>
question: Iv enabled radvd on interface eth0 and 'dhcdcd.denyInterfaces' eth0. Now eth0 doesnt configure a link-local address
<rycee[m]>
adisbladis: So if pam is insufficient for you then there needs to be some "fish" hm module that will take care of it.
<adisbladis>
rycee[m]: I'm thinking that making a more general env-vars file would be better? Then source that via a shell-specific implementation
<Infinisil>
rycee[m]: I was just wondering why you're so slow at writing, but then I saw the [m] :P
<adisbladis[m]>
Why would the matrix bridge be significantly slower?
<rycee[m]>
adisbladis: Sure, that would work but then you still need to provide code for different shells to use this env-vars file. Seems more straight forward to directly generate the env-vars file in the right format for the target shell.
<rycee[m]>
Infinisil: Yeah, I was sleeping :-)
wak-work has quit [(Ping timeout: 276 seconds)]
justanotheruser has joined #nixos
<Infinisil>
Oh what would be nice are modules for terminals
faffolter has joined #nixos
faffolter has quit [(Changing host)]
faffolter has joined #nixos
jgertm has quit [(Ping timeout: 248 seconds)]
<unlmtd>
adisbladis: matrix users stay logged in even when afk
<adisbladis>
unlmtd: I know :) So do most irc users
Ivanych has joined #nixos
<unlmtd>
I think thats what he meant
<adisbladis>
rycee[m]: I might be overthinking this a bit :)
<Infinisil>
tilpner: What's the difference of packageOverrides and overlays?
<spacefrogg>
Infinisil: ??
takle has joined #nixos
<spacefrogg>
Infinisil: overlays are modern and a clean approach. They are stackable.
<Infinisil>
Alright, stackable
<tilpner>
Infinisil - Overlays are just a prettier generalisation of packageOverrides. They compose better, as you can have more than one of them, but they serve the same purpose
<Infinisil>
Thanks, another question:
<Infinisil>
I have an overlay in ~/.config/nixpkgs/overlays which overrides the irssi package
<nixer>
If I understood it correctly setup hooks are run for all items in the buildInputs. So if I'm running an expression with the julia build depencency it should add the current package to the load path, but it is not doing it.
<Infinisil>
And a packageOverride creating a new package called "irc" which uses the irssi package, but it uses the old one, not overlayd by the one in the overlays folder
<Infinisil>
But I want it to use the overlayd irssi
<Infinisil>
Hold on I'll gist it
vinymeuh has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
<tilpner>
Infinisil - I don't know how packageOverrides interact with overlays. Can you use an overlay instead of your packageOverrides?
<spacefrogg>
You should mix packaveOverride
filterfish has joined #nixos
<spacefrogg>
with overlays, that is.
<tilpner>
spacefrogg - "shouldn't"?
<spacefrogg>
Yes!
<spacefrogg>
:)
takle has quit [(Ping timeout: 240 seconds)]
<Infinisil>
tilpner: spacefrogg: Alright here are my two overlays
<Infinisil>
I should be able to use the overlays attribute it config.nix to determine the order, because in the filesystem it should be arbitrary, right?
mudri has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] tjikini opened pull request #27868: rustNightlyBin: 2017-06-26 -> 2017-08-02, use xz-compressed package (master...patch-1) https://git.io/v7uJO
NixOS_GitHub has left #nixos []
<tilpner>
Infinisil - It's alphabetical order if loaded from filesystem
<Infinisil>
Ah, well that's too arbitrary for me
nslqqq has quit [(Ping timeout: 255 seconds)]
<tilpner>
Are you loading both overlays via the same mechanism? Either overlays attribute or .config/nixpkgs/overlays, but not both at the same time?
<Infinisil>
tilpner: I'm now setting the overlays attribute in config.nix to include both
takle has joined #nixos
<Infinisil>
not including them in any other way, they aren't in the overlays directory
<Infinisil>
Hold on I'll test that now
<Infinisil>
Okay problem: It can't find attribute irc in selection_path 'nixos.irc'
<Infinisil>
doing nix-env -iA nixos.irc
<Infinisil>
Even though I have irc defined in the my.nix overlay
<spacefrogg>
nix-env looks in .config/nixpkgs/overlays or in NIX_PATH
<tilpner>
That suggests your overlay is not loaded at all
<spacefrogg>
the overlays attribute does not affect nix-env
<spacefrogg>
You need to set NIX_PATH=nixpkgs-overlays=... I think
<Infinisil>
spacefrogg: It doesn't?
<spacefrogg>
Or have it in ~/.config/nixpkgs/overlays
<Infinisil>
I originally thought this wasnt' related, but it might as well be: Everytime I ran this nix-env command, I got: "arning: name collision in input Nix expressions, skipping ‘/home/infinisil/.nix-defexpr/channels_root/nixos’"
Guest80856 has quit [(Ping timeout: 276 seconds)]
nslqqq has joined #nixos
* tilpner
can't actually find the documentation for config.nix
<Infinisil>
tilpner: Right! I can't find one either!
<FRidh>
because there is none
<michaelpj_>
yeah, the various configuration files and their relationships aren't well documented at all. To get overlays working the way I wanted, I had to import them in configuration.nix and config.nix both
<tilpner>
I don't use user-side Nix much, including nix-env, so I can't help much. As said above, I pass a list of functions while importing nixpkgs manually, so I have it a little easier
<tilpner>
(nix-env can see items declared in overlays though)
<Infinisil>
I actually haven't used user nix much too because configuration.nix is so good. But since discovering home-manager I'm trying to use user-side more and more
<Infinisil>
FRidh: What the config.nix file can do
mudri has quit [(Ping timeout: 260 seconds)]
<FRidh>
Infinisil: I asked about overlays, not the config.nix file in general. That documentation is missing.
<Infinisil>
Ah
<michaelpj_>
that page doesn't document using them in nixos
<michaelpj_>
in general, it's the relationship between the nixos configuration (which can include explicit attribute sets for the `nixpkgs.config` setting), and the nixpkgs configuration files that I find very confusing
Guest80856 has joined #nixos
mudri has joined #nixos
<michaelpj_>
hands up who knew about /etc/nixpkgs/nixpkgs-config.nix?
<tilpner>
michaelpj_ - What does that do?
* Infinisil
doesn't lift his hand
<michaelpj_>
it's used as a fallback for `config.nix`, I think. But I don't know, because it isn't documented ;)
* tilpner
guesses it sets a global/system/default nixpkgs.config value
<tilpner>
Hmm, okay
<Infinisil>
I don't have a /etc/nixpkgs folder
<michaelpj_>
er, it's somewhere around there
<michaelpj_>
not at my nixos machine right now
<michaelpj_>
maybe /etc/nix
<spacefrogg>
Infinisil: Hm, of course is overlays ignored in config.nix. config.nix describes the nixpkgs.config attribute set.
<Guanin>
Hi, i am currently trying to setup openldap with nixos for user authentication. The service itself is running and I added a ou=People entry, but when I try to login as that user, I either get "Failed to create session: No such file or directory" (on tty login) or "error: PAM: Authentication failure for illegal user" (ssh). my config is currently this: https://clbin.com/gZ8R5 I'd be glad about any hints :/
<Infinisil>
I only have /etc/nix/nix.conf
<spacefrogg>
Infinisil: The overlays attribute is part of nixpkgs
<spacefrogg>
So that is why only point 2. and 3. are applicable to nix-env.
<FRidh>
michaelpj_: indeed, how it can be used with NixOS is missing. Go forth and open a PR! ;) Do note that for nixos there is https://nixos.org/nixos/options.html
<michaelpj_>
yeah, that is the other annoying thing about overlays: for nixos, you can have them as a value in an attribute set, but for the user nixpkgs you seem to have to have them in a directory? At least, I couldn't find an equivalent of `nixpkgs.overlays` for the user conifg
<michaelpj_>
FRidh: I would if I was sure I understood it ;)
<FRidh>
michaelpj_: when you do import <nixpkgs> {}; you call the `default.nix` of the Nixpgks package set. There, you can pass in config and overlays
<Infinisil>
spacefrogg: Ah, that makes kinda sense
<spacefrogg>
I find that hard to remember, really.
<Infinisil>
So, my only option is to use the nix serach path..
<spacefrogg>
I guess, you could set both the nix.nixPath attribute and overlays in configuration.nix to get consisten overlays behaviour.
Myrl-saki has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] tokudan opened pull request #27870: Add nixops-keys support to grafana while also keeping the old interface (release-17.03...grafana-nixops) https://git.io/v7uTD
NixOS_GitHub has left #nixos []
Guest80856 has quit [(Remote host closed the connection)]
<michaelpj_>
can you have .nix files that are lists rather than attribute sets? having an `overlays.nix` next to `config.nix` that had the list in would be a nice alternative to having the directory. I might look into that...
<Infinisil>
Wait no
<Infinisil>
I have no way to make user overlays in a specific order other than naming the files correctly alphabetically..
<michaelpj_>
Infinisil: what I ended up doing was symlinking my overlays individually into the overlays dir, and then separately importing them all into a list for use in `configuration.nix`. It doesn't keep them perfectly in sync because I need to symlink in any new overlays when I add them, but it mostly works
<michaelpj_>
yeah, an explicit list is also better for that reason
<spacefrogg>
Infinisil: You do, via NIX_PATH
<spacefrogg>
Infinisil: No, you don't.
<spacefrogg>
Infinisil: You're right. It defines only a search path.
<FRidh>
you can make a default.nix that has the same interface as Nixpkgs, but sets your config and overlays, and then have NIX_PATH=nixpkgss=/point/to/that/default.nix
<michaelpj_>
note that the `nixpkgs.overlays` attribute seemed to solve most of that person's problems. I think it's the nicest interface - it's just a shame there isn't an equivalent for nixpkgs simpliciter
gnuhurd has joined #nixos
thaega has joined #nixos
<FRidh>
michaelpj_: because its not part of Nixpkgs config you need to do it explicitly: with import <nixpkgs> { overlays=[ ... ];};
nh2 has joined #nixos
<michaelpj_>
sure - but there is some mechanism for picking up e.g. the overlays directory, so potentially it could also look for an overlays.nix
<cocreature>
fwiw in case anybody stumbles upon a similar problem: my earlier issues about nix trying to search for dist-newstyle directories were caused by .ghc.environment.* files that cabal new-build annoyingly creates by default
<spacefrogg>
Infinisil: and you point NIX_PATH to it?
<Infinisil>
But the overlays aren't even touched, changing the path to an inexisting one doesnt' make it fail
<tilpner>
(Your nixpkgs.nix tries to import itself recursively)
<Infinisil>
error: attribute ‘something’ in selection path ‘something.irssi’ not found
<nixer>
How do I get the $out location as a variable inside an expression?
<Infinisil>
Eh, whatever, I don't care anymore
jensens has quit [(Ping timeout: 260 seconds)]
<tilpner>
Infinisil - Oh, I remembered why I don't use nix-env. It ignores NIX_PATH, so passing -I something is completely useless. Sorry, I should've caught that earlier :/
<Infinisil>
nixer: That's not possible
<tilpner>
Infinisil - If you still want to try, make sure ~/.nix-defexpr contains one file with the content "import /path/to/your/nixpkgs.nix {}"
<Infinisil>
nixer: Because the path is determined by the derivation inputs. If you had the path available in the derivation, then it would depend on itself, which is not possible
<tilpner>
You could also use "import <nixpkgs> { overlays = import /path/to/my/overlays.nix }"
betaboon^ is now known as betaboon
<spacefrogg>
tilpner: Yeah, nix-env uses -f for that purpose.
<Infinisil>
I may have messed up my nix channels or whatever
<Infinisil>
In .nix-defexpr I have two links channels and channels_root
<Infinisil>
Actually no, I'll have to sleep eventually, this can wait
<Infinisil>
See ya!
mpcsh has quit [(Quit: THE NUMERICONS! THEY'RE ATTACKING!)]
<tilpner>
Uhh, okay
<Infinisil>
Thanks for wanting to help :)
<Infinisil>
I've been on this for like 8 hours now, I can't be bothered anymore
<Infinisil>
Well maybe not that much, but still
mpcsh has joined #nixos
<Infinisil>
What the hell is CTCP time
<tilpner>
Shows your local time. You should sleep! :)
jensens has joined #nixos
<ikwildrpepper>
where can I find the linux kernel config of current kernel again? always forget
Infinisil has quit [(Quit: leaving)]
<tilpner>
ikwildrpepper - $ zcat /proc/config.gz
<ikwildrpepper>
tilpner: thnx
MoreTea has joined #nixos
nh2 has quit [(Ping timeout: 240 seconds)]
filterfish has joined #nixos
filterfish has quit [(Remote host closed the connection)]
<kiloreux>
error: opening lock file ‘vagrant/.nix-profile.lock’: No such file or directory
<kiloreux>
Anyone knows what is the reason for this error ?
filterfish has joined #nixos
<spacefrogg>
kiloreux: Some write protection maybe? Does the user own the directory?
<kiloreux>
Yes, the users owns it.
eacameron has joined #nixos
<spacefrogg>
No, nothing comes to my mind.
simukis has joined #nixos
snikkers has joined #nixos
eacameron has quit [(Ping timeout: 248 seconds)]
bruno-rino has joined #nixos
<Guanin>
not that I know anything specific, but aren't lockfiles pretty volatile?
<kiloreux>
Guanin, what are you trying to say :D ?
<Guanin>
well, vagrant/.nix-profile.lock seems to be a lockfile - for a lockfile, it is normal to be deleted when the locked file does not need any protection anymore
<Guanin>
as it seems that the folder vagrant exists, it seems to open a lockfile without creating it?
jensens has quit [(Ping timeout: 260 seconds)]
<kiloreux>
Yeah same idea came to my mind
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] vbgl pushed 1 new commit to master: https://git.io/v7uqQ
<Guanin>
kiloreux, sorry, can't really help, but if you look for "vagrant lock file", it seems like the project has one or two problems here and there with lockfiles (at first glance)
<kiloreux>
Guanin, That's already enough as a lead thank you.
<Guanin>
what i'd try at first is to find out what the working directory is, because if you only have a relative path, you can guess a lot about where it really looks for the file ;)
<tilpner>
FRidh - Okay. Do you think FHSUserEnv should be overridable too?
<tilpner>
FRidh - Oh, and why will that rebuild much?
arximboldi has quit [(Quit: arximboldi)]
Wizek__ has joined #nixos
rjsalts has joined #nixos
peacememories has joined #nixos
<FRidh>
tilpner: oh right, it won't.
<FRidh>
just had another buildEnv PR that would
Wizek_ has quit [(Ping timeout: 240 seconds)]
<tilpner>
Was that other PR merged already?
<FRidh>
no
c0ffee152 has joined #nixos
<tilpner>
Aww, that would've explained the Travis complaints :/
ertes has quit [(Ping timeout: 246 seconds)]
peacememories has quit [(Ping timeout: 240 seconds)]
Wizek__ has quit [(Ping timeout: 268 seconds)]
catch22 has quit [(Quit: Leaving)]
<seequ>
Is there a good way to make a derivation that just has a single file in $out/bin/ that doesn't get sanitized?
<seequ>
A static text file defined in the derivation.
<LnL>
like writeScriptBin?
<seequ>
Exactly.
<seequ>
Does it sanitize $HOME?
<gchristensen>
what do you mean by doesn't get sanitized
<seequ>
gchristensen: `$HOME` gets turned to `/homeless-shelter`
<gchristensen>
only during the build time
<seequ>
it ends up in the result too if the builder just writes a file
<gchristensen>
either that, or you have a bug where you're evaluating the value of `$HOME` during build time
<seequ>
..ah
<gchristensen>
it sounds like maybe you're using ${HOME} inside '' quotes ''
<seequ>
''${HOME}
<gchristensen>
maybe paste your code?
cfricke has joined #nixos
<seequ>
Sec, I'm testing if writeScriptBin works and whether I've been a dummie
<MoreTea>
let HOME="homesweethome" in (writeScriptBin "myscript" ''${HOME}'') ==> myscript with content "homesweethome"
<gchristensen>
hmm actually
<gchristensen>
''${HOME}'' would happen at evaluation time, not build time, and homeless-shelter is only during build time
<MoreTea>
If you'd put ''$HOME'', nix won't interpolate it, and then it depends on what kind of script you're writing. If it's a shell script, it'll probably point to your $HOME ;)
xd1le has joined #nixos
<MoreTea>
''${HOME}'' should result into an evaluation error.
peacememories has joined #nixos
<MoreTea>
(unless you have defined HOME somewhere)
<gchristensen>
yeah something funny is happening, let's see what seequ says.
babic has joined #nixos
<seequ>
Okay, writeScriptBin worked
<gchristensen>
nice
<seequ>
With the same code
<gchristensen>
one of the mysteries of the world
Myrl-saki has quit [(Ping timeout: 260 seconds)]
takle has quit [(Read error: Connection reset by peer)]
<xd1le>
Hi all, I was wondering if anyone knows if it would be acceptable to package a zsh program for nixpkgs, or if that sort of stuff should not be packaged by Nix?
sary has quit [(Ping timeout: 240 seconds)]
iyzsong has joined #nixos
cfricke has quit [(Quit: WeeChat 1.9)]
cfricke has joined #nixos
<seequ>
zml: Wait, you mean packaging zsh itself or a script that depends on zsh?
ertes-w has joined #nixos
<seequ>
gchristensen: The problem was that when the string was slapped to the builder, it got evaluated when echoed to a file :P
<xd1le>
seequ: this is not supposed to be added to the path though, it should be in fpath, do you know how to add it to that?
<xd1le>
seequ: but that's really helpful, thanks!
<seequ>
Ah.. No idea!
<seequ>
I've never touched fpath
<xd1le>
seequ: no worries
betaboon has joined #nixos
<xd1le>
so I think I just found the answer to that through babic's link, copy it to $out/share/zsh/site-functions
<seequ>
That'd make sense :)
<xd1le>
i'm going to try this and report back
takle has joined #nixos
takle_ has joined #nixos
peacememories has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
takle has quit [(Ping timeout: 258 seconds)]
c0ffee152 has quit [(Quit: Lost terminal)]
erictapen has quit [(Ping timeout: 258 seconds)]
peacememories has joined #nixos
betaboon has quit [(Quit: This computer has gone to sleep)]
kirchner has joined #nixos
cpennington has quit [(Remote host closed the connection)]
<GlennS>
Can anyone give me a steer on what would be a good approach to debugging an audit-tmpdir.sh failure?
<GlennS>
for example, is it run as part of stdenv's genericBuild?
<gchristensen>
it is, GlennS
<gchristensen>
it is dangerous to have references to the temporary build directory after it has built
<GlennS>
makes sense
<GlennS>
now I have to work out how it got in there
eschnett has quit [(Quit: eschnett)]
<gchristensen>
can you paste the log?
<Mic92>
dhess: simpson clever's version is more sophisticated.
<GlennS>
gchristensen: do you mean the stdout from the nix-build command?
<GlennS>
or is there a file somewhere?
<gchristensen>
GlennS: the stdout would do (there is a log, but I don't remember how to get it, and if you have the stdout already it'll be easier)
Mateon3 has joined #nixos
<GlennS>
the particular broken bit is RPATH of binary /nix/store/z8nwl6j05ap0v6n3z8kcx1k20m5mx91w-gdal-2.1.3/lib/libogrjni.so contains a forbidden reference to /tmp/nix-build-gdal-2.1.3.drv-0
<GlennS>
the stdout is quite large...
Mateon2 has quit [(Ping timeout: 268 seconds)]
<gchristensen>
oh well that is all we need :)
<GlennS>
I have run `patch-elf --print-rpath $out/lib/libogrjni.so`
<GlennS>
and found the offending reference
<gchristensen>
perfect!
<GlennS>
(this is not the GDAL which is in nixpkgs - I have modified it to include the Java bindings)
<gchristensen>
GlennS: https://github.com/nixos/patchelf "In addition, the '--allowed-rpath-prefixes' option can be used for further rpath tuning. For instance, if an executable has an RPATH "/tmp/build-foo/.libs:/foo/lib", it is probably desirable to keep the "/foo/lib" reference instead of the "/tmp" entry. To accomplish that, use:
Mateon3 is now known as Mateon2
ixxie has joined #nixos
Ivanych has quit [(Ping timeout: 260 seconds)]
<__Sander__>
hmm
<__Sander__>
I didn't expect this
<__Sander__>
created dysnomia as a prototype tool for managing small datasets
<gchristensen>
oh?
<__Sander__>
but the snapshot store I have to manager is now already close to 4 TiB in size :s
<gchristensen>
__Sander__: sounds like a testament to the success of your project :P
<__Sander__>
hehe, well always good to hear that my work is appreciated
<gchristensen>
users push projects beyond their intentions
<__Sander__>
yes
<__Sander__>
that's something I have learned quite a lot in the last 2 years or so
erictapen has joined #nixos
hamishmack has quit [(Ping timeout: 240 seconds)]
jensens has joined #nixos
hamishmack has joined #nixos
<gchristensen>
can someone please patch Varnish on unstable and 17.03 to patch against a remote-crash DoS, revealed in a just-unembargoed vulnerability? https://varnish-cache.org/security/VSV00001.html
<gchristensen>
unfortunately I'm unable to do so at this time
ixxie has quit [(Read error: Connection reset by peer)]
ixxie has joined #nixos
arximboldi has joined #nixos
eschnett has joined #nixos
peacememories has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
<ikwildrpepper>
gchristensen: I can update nixpkgs-master to 5.1.3
vinymeuh has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
<ikwildrpepper>
however in 17.03 we seem to have 5.0.0 which is dead for a year already (unmaintaineed
<ikwildrpepper>
I just create patch with diff -rc with old and new dir
nh2 has joined #nixos
<gchristensen>
good thing somebody here knows what their doing
<gchristensen>
they're*
<ikwildrpepper>
I don't
<ikwildrpepper>
I just do something :p
<MoreTea>
are there maintainer scripts for this workflow?
<gchristensen>
we don't write many of our own patches, no
<ikwildrpepper>
doubt it. but it's not like it is that time-consuming or difficult :D
<ikwildrpepper>
anyway, most patches I've added were pretty trivial
<ikwildrpepper>
so they didn't require much work
pie_ has quit [(Ping timeout: 240 seconds)]
<spacefrogg>
gchristensen: I found emacs very suitable for creating diffs.
<gchristensen>
huh, cool, where can I read up on that?
<gchristensen>
so this is Varnish Security Issue #1 which is crazy: " embarrased as I am to find out that after 35 years of writing C-programs I still dont understand signed/unsigned variables, I am also incredibly proud that it took eleven years before Varnish had a major security incident." http://varnish-cache.org/docs/trunk/phk/VSV00001.html
<spacefrogg>
You just save the original files as foo.orig and modify the real ones. Then M-x diff and it will guide you.
<gchristensen>
whoa very cool
<spacefrogg>
The real benefit is that you can edit a diff in emacs and it will keep it sane for you.
<ikwildrpepper>
embarrassed to say I never used varnish
<gchristensen>
it is quite nicely done
peacememories has joined #nixos
<gchristensen>
see also 11 years of no serious security issues while being widely deployed as first-line defenses
<FRidh>
oops
<FRidh>
removed an attribute from python.buildEnv that is actually quite useful...
ixxie has quit [(Quit: Lost terminal)]
<MoreTea>
so I should do a pullrequest against release-17.03, right?
<gchristensen>
MoreTea: sure
<gchristensen>
MoreTea: do you have merge rights? I forget
<domenkozar>
don't want to do a normal gc on hydra as it will delete store paths
<LnL>
hydra creates gcroots
<Dezgeg>
maybe nix-store --gc --print-dead and nix-store --delete on whatever you want
takle_ has quit [(Ping timeout: 240 seconds)]
earldouglas has joined #nixos
<LnL>
that also works with a grep '.drv$'
<domenkozar>
LnL: yeah but it respects the "keep number of evaluations"
<domenkozar>
afaik
<phreedom>
thoughtpolice: have you actually gotten clang-analyzer to work? any examples?
<domenkozar>
Dezgeg: yeah I used nix-store --gc --print-dead and it was also stuff that I don't want to be deleted
<LnL>
I hope so :p
tvon has joined #nixos
<domenkozar>
:D
silver_hook has joined #nixos
silver_hook has quit [(Changing host)]
silver_hook has joined #nixos
Rotaerk_ has quit [(Quit: Leaving)]
<xd1le>
xd1le: I think it might be related to fpath, in that installing it only means you can load it (from zsh). And so when it's looking for python, it's looking for it from the user's $PATH. :/
zraexy has quit [(Ping timeout: 240 seconds)]
<xd1le>
Is it possible to add a dependency to the $PATH?
acowley_away has quit [(Ping timeout: 240 seconds)]
takle_ has joined #nixos
rpifan has joined #nixos
ebzzry has joined #nixos
acowley_away has joined #nixos
takle has quit [(Ping timeout: 258 seconds)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] globin pushed 1 new commit to staging: https://git.io/v7uPK
<NixOS_GitHub>
nixpkgs/staging 5d91e80 Robin Gloster: Revert "gnome-tweak-tool: fix eval"...
NixOS_GitHub has left #nixos []
FRidh has joined #nixos
MoreTea has quit [(Ping timeout: 276 seconds)]
<FRidh>
xd1le: buildInputs adds the items during build to PATH. But you need it during runtime. There's two solutions here really, either you wrap executables and add python to PATH, or you patch the code that has references to python and replace them with a link to python. The latter has the preference typically.
<gchristensen>
Gravious: do you have a copy of nix already?
<Gravious>
not on this machine! :<
<gchristensen>
if you have another machine + a usb stick you can do `nix-store -r /nix/store/w6410i2lk4lqdiqbb3y549gq8gr3fwfx-nix-binary-tarball-1.11.2` on the other machine and copy the tarball over
<gchristensen>
otherwise, how did you get this URL? is there a website / docs issue?
<gchristensen>
Gravious: https://nixos.org/nix/ click Get Nix and go from there please :)
<Gravious>
okay :)
<LnL>
I think hydra stopped writing to disk almost a year ago
<gchristensen>
I'll try reaching out to lethalman about fixing the post (maybe even incorporating them in to the docs, or a series on the website or something where we can maintain them)
<Gravious>
cool :)
<LnL>
yeah, the nix pills are great
<LnL>
would be a shame if they get out of date
<gchristensen>
s/get/stayed/
<MoreTea>
gchristensen, that would be awesome
ryannx has joined #nixos
Guest99571 is now known as grahamc
grahamc has quit [(Changing host)]
grahamc has joined #nixos
grahamc has quit [(Changing host)]
grahamc has joined #nixos
<ryannx>
Gah - spent hours on this, about to give up - livecd has working touchpad on my xps 15, but once installed, no dice
<ryannx>
Touchscreen works, and clicking as well, but no movement
erictapen has quit [(Ping timeout: 248 seconds)]
<ryannx>
it's picked up in xinput, but doesn't show up in the kde system settings panel
<goibhniu>
ryannx: I wonder if you need to enable synaptics: services.xserver.synaptics.enable = true;
* goibhniu
knows there are a few people here with XPS 15 notebooks
<ryannx>
Tried both that and libinput
<LnL>
didn't gchristensen make a guide
<LnL>
or is that another model?
<gchristensen>
I have the 9560, what do you have ryannx?
<gchristensen>
maybe share your configuration.nix :)
<gchristensen>
( ixxie ^)
<ixxie>
ryannix2: the one thing I found annoying with this touchpad is that I found myself accidently pressing the center button when I really wanted to left one, so I mapped it to the left button
<ixxie>
ryannix2: one thing I noticed since a few months, is udev is hanging for a few seconds on boot, and this is associated with a weird systemd error on nixos-rebuild
nslqqq has quit [(Ping timeout: 240 seconds)]
<ixxie>
ryannix2: I have been meaning to see if explicitly activating synaptics would help
anelson has quit [(Ping timeout: 246 seconds)]
<xd1le>
FRidh: I have to leave now, but I will check the logs later :)
xd1le has quit [()]
<ixxie>
but I am contenting with some issue with google chrome refusing to build atm, so I have rolled back and rebuilding at this point would leave me without my configured browser >.<
<gchristensen>
ixxie: let's focus on getting their trackpad working, then dive in to slight annoyances :P
<ryannix2>
hrm, goibhniu, seems like enableAllFirmware is not enabled after all...
<domenkozar>
I finally understand why noone has implemented route53 in nixops correctly
<copumpkin>
no it appeared
<domenkozar>
this thing is magic
<copumpkin>
domenkozar: it has a fugly API?
<gchristensen>
nixops is?
<gchristensen>
or r53?
<gchristensen>
or both :)
<copumpkin>
the r53 API is amazingly painful to use
<domenkozar>
yes
<copumpkin>
like, impressively bad
<domenkozar>
yes
<domenkozar>
it's one of the worst apis I've seen
<copumpkin>
:D
<domenkozar>
it feels like digesting something internal that's not supposed to leak out
<domenkozar>
with most confusing terminology
<domenkozar>
"document"
<gchristensen>
I mean the thing is it has to boil down to a reasonable DNS state change
<domenkozar>
I mean how overloaded can you be
<domenkozar>
everything is stringly typed
<gchristensen>
so yes their API adds a bit of pain, but DNS state changes are pain all on their own
<clever>
i usually manage the zone file directly, and then rebuild-switch
<gchristensen>
it is hard to put better types on top of DNS when people have legitimate claims to be doing insane shit
<clever>
but i havent messed with latency or geolocation based routing
<clever>
can bind even do those?
<ikwildrpepper>
domenkozar: yeah, r53 is mindblowing
ThatDocsLady has quit [(Quit: Arma-geddin-outta-here!)]
<domenkozar>
I'll implement it
<domenkozar>
but don't expect me to age
<copumpkin>
\o/
<ikwildrpepper>
all hail domenkozar!
<copumpkin>
!M domenkozar
<gchristensen>
to age?
<[0__0]>
You're doing good work, domenkozar!
<copumpkin>
big M is more hardcore
justelex has quit [(Read error: Connection reset by peer)]
<ikwildrpepper>
will probably cost domenkozar a year or 3 of his life
justelex has joined #nixos
<gchristensen>
oh I get it :)
<gchristensen>
<3 domenkozar
Fare has joined #nixos
nixer has quit [(Ping timeout: 260 seconds)]
<gchristensen>
fighting the good fight against eris
<domenkozar>
clever: you need client support
<clever>
geolocation based routing could be done entirely within bind, just define what subnets get what subset of the results, but yeah, that could be messy without a subnet to location db
<clever>
latency based routing sounds more tricky
<domenkozar>
you're right :)
ebzzry has quit [(Ping timeout: 260 seconds)]
<clever>
domenkozar: i also had an idea a while back on how to manage round-robin via nixops, rather then try to update the A records within the RR when an EIP changes
<clever>
domenkozar: you make the RR a list of aliases, pointing to subdomains with A records
<domenkozar>
that's what I'll implement
<clever>
then the EIP will always update 1 subdomain A
<clever>
and the RR is a single entity, that only changes when the list of targets changes, but not what IP they have
mkoenig has quit [(Remote host closed the connection)]
Sonarpulse has joined #nixos
<clever>
now you can easily update 1 ip, without having to know the old IP your trying to overwrite
<copumpkin>
or stuff an ELB in the path ;)
mkoenig has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] P-E-Meunier opened pull request #27875: Gwyddion: init at 2.48 (master...gwyddion) https://git.io/v7uN2
NixOS_GitHub has left #nixos []
<clever>
copumpkin: ELB has a thruput limit and can be maxed out, and it takes time to spin up more ELB's
<gchristensen>
I worked for a wordpress hosting company once and someone wanted to hire us to be their host, but they demanding 9 9's
<grantwu>
give them 9 5s
<gchristensen>
95.99999999
<copumpkin>
0.999999999
<copumpkin>
%
<copumpkin>
;)
<seequ>
Sell it as 9 9s, provide 4 9s, they wouldn't even notice
<gchristensen>
their 9-monitor isn't even going to be up for 9-9s
<maurer>
I'd guess if they were demanding 9 9s, their point would be that 9 9s would never happen, and they'd set up a monitoring service so that if they ever caught you down, they didn't have to pay
__Sander__ has quit [(Quit: Konversation terminated!)]
<clever>
seequ: i could measure a difference between 4 and 5 9's
<clever>
but past 5, things get tricky
<seequ>
clever: Was bit of a joke, but yeah, 5 9s is already super good
<maurer>
they don't actually need to validate 9 9s, it just means that if they ever catch you down they'll claim you didn't hold up your end of the deal and not pay
<gchristensen>
^
<seequ>
The problem there is that they'd have to show that the problem was on your end
<gchristensen>
that isn't how it works for someone expecting 9 9s
<seequ>
Which on these timeframes is hard
cpennington has joined #nixos
<clever>
past 7 9's, its hard to tell an outage apart from just pure latency
cfricke has quit [(Ping timeout: 240 seconds)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] jgeerds pushed 1 new commit to master: https://git.io/v7ujS
<NixOS_GitHub>
nixpkgs/master 0854c85 Jascha Geerds: gnome3: Remove myself from maintainer list
NixOS_GitHub has left #nixos []
<gchristensen>
^ that is very bad
<gchristensen>
no active gnome maintainers are left
<seequ>
D:
<clever>
i jumped ship when gnome turned into windows 10, lol
<gchristensen>
you were never listed as a gnome maintainer IIRC
<clever>
i had been using gnome-panel since 2004, and was always graphing the cpu/memory usage
<clever>
but when they updated, i ditched gnome and went all xfce
<clever>
and i havent gone back
<gchristensen>
that is fine
digitus has joined #nixos
<gchristensen>
but many users like gnome and we have nobody committed to supporting it
<gchristensen>
we're in a very similar and perilous situation with kde
<gchristensen>
this should be scary
ambro718 has joined #nixos
<seequ>
Hmh, I guess only powerusers care to maintain them and they are less likely to use them
<gchristensen>
something to chew on: how do we reward, encourage, and support long-term maintainership and the people who take that on
<gchristensen>
how do we avoid burning out people like lethalman and jgeerds and ttuegal
goibhniu has quit [(Ping timeout: 255 seconds)]
<michaelpj_>
surely packaging these things is pretty gnarly for any OS - but someone must do it for debian etc. tbh, I'm kind of amazed by that too
<gchristensen>
debian is helped by many packagers on debian are the developers on the project
<gchristensen>
redhat is helped by having $$$$$$$$$ to pay people to deal with it
jgertm has quit [(Ping timeout: 246 seconds)]
<domenkozar>
good, everyone is on i3 :D
<gchristensen>
:/
<seequ>
I switched to i3 a week back. It's wonderful.
<gchristensen>
gnome/kde maintainership is far more than just the DE/DM
zeus_ has joined #nixos
<gnuhurd>
the Emacs X Window Manager is superior to i3
<gnuhurd>
i3 is a hack
<gchristensen>
I feel this is much more important than people are treating it
<seequ>
gchristensen: I understand that it is very important, but I didn't have anything useful to say regarding it.
<GlennS>
It seems to me like the skills needed to maintain things on nixpkgs are quite a rare subset
<ryannx>
gchristensen / clever: touchpad works in Weston :P
<ryannx>
so something's screwy in x or kde
<GlennS>
Nix itself is quite difficult to get into, Nixpkgs has its own set of tools and conventions, and most of the packages seem to involve knowing the C++ / make / M4 / automake / autotools toolchain
nixer has joined #nixos
<GlennS>
oh and on top of all that you also need to know how to write non-trash shell scripts
<seequ>
An updated documentation that took conventions to account would help
jgertm has joined #nixos
<fpletz>
but it's the same with debian or other distros… own set of tools, convenstions, and to package software you need to know the build systems :)
<fpletz>
most of the bigger ones have better docmention and a bigger community to offset this, though
<adisbladis>
Taking on something like kde would be a very daunting task even with all the right skills... That thing is huge
nschoe has quit [(Quit: Program. Terminated.)]
<gchristensen>
I wonder if several people are interested in collective maintainership, but b/c there are so few people, they're not interested in adding their name
<gchristensen>
but maybe if the job was smaller more people would do it
<aszlig>
ixxie: yep, they regularily clear the old tarballs/binary from their site
<Fare>
is there a way to programmatically update a package only the version of which has changed?
justelex has quit [(Quit: Konversation terminated!)]
justelex_ has joined #nixos
<Fare>
gchristensen, where are the scripts to update them?
tmaekawa has quit [(Ping timeout: 260 seconds)]
babic has quit [(Ping timeout: 260 seconds)]
<gchristensen>
Fare: I'm not sure
<clever>
something i have thought of, is to always include the commands you ran to generate in the commit message, along with any inputs needed to ensure its 100% reproducible
<clever>
both so people can reproduce the changes and confirm its not been tampered with, and so anybody can generate the next version
anelson has joined #nixos
<gchristensen>
good idea
<copumpkin>
👍
<FRidh>
for quite some package sets there are update scripts
HurricaneHarry has joined #nixos
<clever>
FRidh: there are also horid messes like the xorg packages, which have been heavily modified after the last auto-update
<clever>
i tried running the update script, and it just broke everything
<gchristensen>
a solution is to run the updater enough to prevent that sort of thing, even if there are no changes
<ryannx>
Heh, pretty surprised that wayland with kde is kind of usable
<clever>
gchristensen: a secondary issue, is that the auto-generated thing pulled in deprecated packages
<clever>
gchristensen: foo got merged into bar, and is now just --enable foo
<clever>
but nixpkgs isnt aware of that, and keeps building the out-dated foo, and the new bar without --enable-foo
<clever>
that is the exact cause of my horid fps in xterm
<clever>
turning gpu accel off made it faster
ison111 has joined #nixos
ison111 has left #nixos []
jgertm has quit [(Ping timeout: 260 seconds)]
<mpcsh>
hey - anyone here use compton? the package installs fine but when I actually run the binary it doesn't do anything :/
<clever>
mpcsh: if you run "strace -ff -o logfile compton" it should produce a bunch of logs, can you run "gist -p logfiles*" to upload them all?
cpennington has quit [(Ping timeout: 246 seconds)]
<clever>
nixer: that just copied the propagatedNativeBuildInputs to the propagatedUserEnv, which i avoid using at all costs
Arcaelyx has joined #nixos
<nixer>
clever: the postFixup you mean?
<clever>
yeah
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] lo1tuma opened pull request #27877: dockerTools: fix image json and image manifest (master...fix-dockertools) https://git.io/v7zYb
NixOS_GitHub has left #nixos []
<nixer>
Ok, I'll get rid of it then. The expression sets the load path correctly and seems to be building, but there must be a better way of doing this.
<clever>
nixer: why is line 44 refering to the self derivation?
Mic92 has quit [(Quit: WeeChat 1.9)]
<nixer>
I need to add $out/src to the load path and I couldn't figure out any other way of doing it.
cpennington has joined #nixos
<clever>
nixer: copy the src to $out/src before you build
<clever>
like preConfigure
zraexy has joined #nixos
<nixer>
clever: Do you mean copy in the inner mkDerivation? I still need the refer to the $out location somehow, right?
jgertm has joined #nixos
<clever>
ditch one derivation entirely
<clever>
and copy at the start of one, then use it later
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] joachifm pushed 1 new commit to master: https://git.io/v7zGE
<NixOS_GitHub>
nixpkgs/master 4751fca Joachim Fasting: tor: 0.3.0.9 -> 0.3.0.10...
NixOS_GitHub has left #nixos []
kirchner has quit [(Quit: leaving)]
rigelk has joined #nixos
tvon has quit [(Read error: Connection reset by peer)]
tvon has joined #nixos
Mic92 has joined #nixos
<copumpkin>
isn't there a packages.json somewhere on a channel?
<copumpkin>
that spits out a full list of packages and associated versions
justelex_ has quit [(Read error: Connection reset by peer)]
<copumpkin>
oh! I thought it was one level down under channels :)
<copumpkin>
but yes, thanks!
<copumpkin>
is there a versioned equivalent of that?
<seequ>
Wait, does that contain all channels?
<copumpkin>
and/or what generates it?
<nixer>
clever: I still don't quite understand. To my understanding the $out file is determined by all the inputs to the derivation. I need to refer to this location when I set the environment variable. Refering to this inside a single derivation is impossible as it would be self-referential.
<seequ>
nixer: $out is the path your derivation should output to
<clever>
and once the derivation has started building, $out is known
<seequ>
But does not exist.
<clever>
its the derivations job to create it
<clever>
and nix doesnt care when in the derivation you make it
Sonarpulse has joined #nixos
<clever>
basicaly, all nix does is run your builder, with given args, and sets the $out variable
<clever>
everything after that is within nixpkgs and the stdenv, and can do things in pretty much any order, as long as $out is valid at the end
cinimod has quit [(Ping timeout: 240 seconds)]
<nixer>
So I extract to $out and set the load path to $out/src?
<ToxicFrog>
This reminds me, I need to write derivations for fpcvalkyrie and doomrl
<ToxicFrog>
Which are written in pascal and have no makefiles
<nixer>
the extracted source has a src subfolder, which should be added to the path
<copumpkin>
<3
<copumpkin>
thanks FRidh
tvon has quit [(Quit: System is sleeping...)]
erictapen has quit [(Ping timeout: 260 seconds)]
tvon has joined #nixos
justelex_ has quit [(Quit: Konversation terminated!)]
justelex_ has joined #nixos
Ivanych has joined #nixos
<clever>
nixer: does the source need to be available after compile time?
Infinisil has joined #nixos
<nixer>
yes
<clever>
then just mkdir $out, and copy the source there before the build
<clever>
and tell the build to look there when it needs to read things
wigust has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] Ericson2314 opened pull request #27879: cc-wrapper: Pass shellcheck and other cleanups (staging...cc-wrapper-shellcheck) https://git.io/v7zWa
NixOS_GitHub has left #nixos []
ElGoreLoco has joined #nixos
<nixer>
clever: Thanks, I don't know how I came up with something that complicated
dejanr has joined #nixos
takle_ has quit [(Remote host closed the connection)]
erictapen has joined #nixos
<Infinisil>
Hey clever do you have this fancy diagnosing script available somewhere?
<clever>
nixpkgs-unstable lacks testing to ensure it cant brick nixos systems
<clever>
and also has darwin cache support
<clever>
nixos-unstable lacks darwin builds
vinymeuh has joined #nixos
<Infinisil>
But why can't the default nixos channel be named nixpkgs?
<clever>
other then that, i think its mostly about doing "nix-env -iA nixos.foo" when your not on nixos being "weird"
<clever>
also, in the old days, nixos and nixpkgs where seperate repo's on github
<clever>
i think you had to add both
<Infinisil>
Hmm
Neo-- has quit [(Ping timeout: 246 seconds)]
<Infinisil>
Another question: nix-env -iA nixos.<foo> uses the attr path nixos.<foo>, but where is this "nixos" defined? Yes it's the channel, but where does this nix expression come from?
<gchristensen>
the string comes from the NIX_PATH
<clever>
nix-env -iA nixos.foo ignores the path entirely
<gchristensen>
orly?
<clever>
it goes directly to the .dev-expr dir
<clever>
def
* gchristensen
sighs, hard
<clever>
yeah
<clever>
nix-env can obey the search path, but at no point tries to actually use it
<Infinisil>
Ohh..
<gchristensen>
"nix is easy to use"
<clever>
nix-env -f '<nixpkgs>' -A hello
<clever>
this forces it to use the search path
<seequ>
._.
<gchristensen>
clever: if we solve all the world's problems we'd be out of a job and nothing would be fun anymore. this must be why nix's UX is to hard :P
<clever>
and if your config.nix happens to use the search path, it will work
<clever>
Infinisil: try running these 2 commands, do you see how they work a bit more?
nh2 has quit [(Ping timeout: 240 seconds)]
justelex_ has quit [(Ping timeout: 246 seconds)]
<Infinisil>
Yeah, that's nice
<Infinisil>
That's hella confusing though
<clever>
nix-channel and nixos-rebuild are just wrappers around nix-env
<clever>
that manage a different profile
<Infinisil>
Oh nice
Fare has joined #nixos
justelex_ has joined #nixos
<clever>
the 1st of the 2 above commands list every generation you have made from nix-channel --update
<clever>
and lets you delete generations (--delete-generations)
<clever>
and the -q variant, lists all channels in the current generation
<Infinisil>
One more question: In ~/.nix-defexpr/channels_root/nixos there is a symlink `nixpkgs -> .`. I assume I can't do `nix-env -iA nixos.nixpkgs.hello` because it doesn't recurse anymore after finding the first default.nix?
<clever>
correct
<clever>
that symlink is for NIX_PATH reasons
<clever>
<nixos> resolves to the root of a nix PACKAGES checkout
<clever>
not the nixos subdir
arximboldi has joined #nixos
<clever>
so i often say <nixos/nixpkgs> to make it clear i mean nixpkgs
<clever>
even though its identical (via that symlink)
<Infinisil>
Oh is that because originally nixos and nixpkgs were separate?
<clever>
thats likely related
<clever>
gotta love legacy :P
<Infinisil>
Indeed..
<clever>
one sec
<Infinisil>
Alright if I ever forget about all this I'll just read this irc log
<clever>
while that computes, i'll link other stuff
<Infinisil>
We need versioned syntax highlighting, because github doesn't play nicely with this
<clever>
lol
<Infinisil>
clever: Thanks for clearing up this situation, would have never figured this out myself
rpifan has quit [(Ping timeout: 268 seconds)]
joepie91 has quit [(Read error: Connection reset by peer)]
joepie91___ has joined #nixos
joepie91___ has quit [(Changing host)]
joepie91___ has joined #nixos
stanibanani1 has left #nixos []
joepie91___ has quit [(Client Quit)]
joepie91___ has joined #nixos
joepie91___ has quit [(Changing host)]
joepie91___ has joined #nixos
joepie91___ is now known as joepie91
<Infinisil>
$
<Infinisil>
don't mind that
<clever>
%
frankpf has joined #nixos
takle has joined #nixos
catch22 has joined #nixos
https_GK1wmSU has joined #nixos
zeus_ has quit [(Read error: Connection reset by peer)]
<copumpkin>
niksnut: is there a magic incantation I can use to ask for a nix-store closure of a store path but get the meta attributes out of it?
https_GK1wmSU has left #nixos []
<copumpkin>
or do that cleanly somehow in the nix language
zeus_ has joined #nixos
<copumpkin>
consider license validation, etc.
<copumpkin>
feels like data is going the wrong way from store path to meta, and I don't see how to do it cleanly from pure nix language
<copumpkin>
at least not accurately
<copumpkin>
I could recursively walk buildInputs but that's not really very accurate
<clever>
yeah, it will miss a lot
nh2 has joined #nixos
<Dezgeg>
at least all of meta is nix language level only, not in /nix/store
<copumpkin>
yeah
<copumpkin>
and that's a good thing in many cases
<Infinisil>
Yup
<copumpkin>
but I'm still left with no good way to extract transitive license information
<copumpkin>
or "tell me all the metadata for these packages I use"
<copumpkin>
almost feels like we need another builtin for that
<Infinisil>
copumpkin: Maybe it's possible to create your custom mkDerivation that passes through meta
<Infinisil>
In a recursive way
<Infinisil>
And then override the original one with that
tg has quit [(Read error: Connection reset by peer)]
<copumpkin>
I guess I could make a dummy one that only passes through meta somehow, but doesn't actually do much building
<copumpkin>
while still forcing the same dependency structure but ignoring it in the build
vinymeuh has joined #nixos
<clever>
copumpkin: but if i do ${strace}/bin/strace in a string
<clever>
you have absolutely no way to access strace's meta
<copumpkin>
well...
<copumpkin>
I sort of do
<Infinisil>
Oh right..
<copumpkin>
say I ignore the buildCommand you normally get in mkDerivaiton, but stash the contents of it away somewhere I can access
<copumpkin>
I can scan it for nix store paths
<copumpkin>
all of which will also be the result of these fake mkDerivation calls
<copumpkin>
and which will contain some sort of structured meta value I can extract
<copumpkin>
it feels obscene
ison111 has joined #nixos
<clever>
copumpkin: it might be simpler to just run nix-store -qR $(nix-instantiate ...), and then iterate over nixpkgs to map each .drv to an attribute
<copumpkin>
but what if they're unnamed or only exist in a closure I can't reach?
<gchristensen>
copumpkin: I feel obscene having read it
<copumpkin>
I fairly often do things like `let x = mkDerivation { ... }; in mkDerivation {... x ...}`
<clever>
copumpkin: yeah, then you need to fix the iteration loop after you track it down
<clever>
but you can at least code it to print unknown things
<copumpkin>
I suppose
<Infinisil>
copumpkin: How about changing callPackage and recurse into the function arguments?
<clever>
Infinisil: and now we have the pythonPackages.callPackage thing i mentioned yesterday
<clever>
you passed all of pythonPackages to a package, that only wanted 3 attributes
<clever>
which licenses does it use?
<Infinisil>
clever: Yeah that's a problem
<Infinisil>
You could check the type of each argument
gnuhurd has quit [(Ping timeout: 260 seconds)]
<clever>
this is why i was in favor of using pythonPackages.callPackage, and not passing pythonPackages around
<clever>
so its obvious from the args, what your using
<LnL>
oh that's why my listchars are missing on nixos
<LnL>
xD
<clever>
i have list on so i can see stray tabs in things
<clever>
and oh god, there everywhere! :P
<LnL>
yeah same, and trailing whitespace
<clever>
yep
<Infinisil>
clever: I'll add that to mine actually, really useful
<LnL>
but I hide the other stuff
<Infinisil>
My vim config is a mess :(
<LnL>
you should see my old config
<Infinisil>
Every couple months I think "Oh let's do some vim config" and then I google "vim config" and just put in stuff that seems nice to have. I then realize that I don't even know how to use it but don't remove it from the config either.
<clever>
same
<LnL>
yeah, the backup/undo stuff is one of the few things I've kept around
<clever>
i let zfs handle that
<LnL>
having undo across vim sessions is pretty nice
<clever>
i try to just not close vim until i dont need the undo
<Infinisil>
LnL: How's that work? What part of your config does that?
<gchristensen>
alright don't do anything that would reflect poorly on me
<Infinisil>
The invitation tree banning thing is pretty sweet
<Infinisil>
gchristensen: Heh, of course not ;)
ison111 has quit [(Ping timeout: 260 seconds)]
<gchristensen>
" Invitations are unlimited, but persons you invite will be associated with your account in the user tree and you may be responsible for them if they cause problems. Please use your discretion when inviting persons you don't personally know." yeah
drakonis has joined #nixos
hiratara has joined #nixos
<Infinisil>
And: " If spammers are invited to the site and banned, the user that invited them may also be banned, going up the chain of invitations as needed."
<LnL>
interesting, didn't know it was invite only
<clever>
Infinisil: how far up the chain? lol
<clever>
Infinisil: and what about everybody else they invited?
<Infinisil>
clever: Allll the way, that's why nobody gets banned
<gchristensen>
if I invite Infinisil and they invite a bunch of spammers Infinisil would be banned and I probably wouldn't be, since I participate in discussion and have invited other good people
<gchristensen>
if I invite 2 spammers maybe I'd get banned then
<Infinisil>
I wonder if that's automated
<gchristensen>
I doubt it
<kiloreux>
How can I use nix-env instead of nix-build ?
vinymeuh has joined #nixos
<kiloreux>
To keep a persistent package ?
<Infinisil>
kiloreux: nix-env -f . -i
<kiloreux>
Thank you.
<Infinisil>
:)
<copumpkin>
-iA corresponds to nix-build -A
<copumpkin>
assuming you want it in your current profile
<LnL>
you can also nix-env -i ./result if you built something before
<copumpkin>
`nix-env -i $(nix-build --no-out-link -A attr)`
* copumpkin
runs
<clever>
lol
<LnL>
yeah or using the store path directly
Sonarpulse has quit [(Ping timeout: 260 seconds)]
<kiloreux>
Okay you people rock <3 .
<copumpkin>
removing something from nix-env makes me sadder
drakonis has quit [(Read error: Connection reset by peer)]
<clever>
i do remember seeing nix-env do this before
<clever>
somebody i was helping in here tried to do nix-env -i
<clever>
and nix tried to install nixpkgs, all of it
wigust has quit [(Ping timeout: 240 seconds)]
ambro718 has quit [(Ping timeout: 260 seconds)]
<clever>
and he didnt tell me what command he ran, only that it was complaining about xyz being broken
<Infinisil>
gchristensen: Daaamn, I just wondered before what the user tree would look like.. Had no idea you could view it just like that :O
<joepie91>
lassulus: krav_: I will also be at SHA2017 :)
ison111 has joined #nixos
wigust has joined #nixos
<gchristensen>
clever: agda probably
<gchristensen>
WOW
<gchristensen>
". Red Hat will not be moving Btrfs to a fully supported feature and it will be removed in a future major release of Red Hat Enterprise Linux."
<clever>
:O
<joepie91>
yep, it appears dead in the water
<Infinisil>
Yeah saw that too, not sure what to think of btrfs
<Infinisil>
They also just lack people that develop it further
ebzzry has joined #nixos
<Infinisil>
Same with bcachefs I think
<Dezgeg>
that is just for red hat's own enterprise legacy kernel
<Infinisil>
Dezgeg: Yeah, but in general btrfs doesn't seem to be on the path of adoption
earldouglas has joined #nixos
eacameron has joined #nixos
rydnr has quit [(Ping timeout: 260 seconds)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] mimadrid opened pull request #27881: Update homepages and urls attributes: http -> https (master...fix/http-https) https://git.io/v7zFY
erictapen has quit [(Remote host closed the connection)]
erictapen has joined #nixos
rigelk has quit [(Quit: leaving)]
<kiloreux>
We have this path where we put all of our .so files and it's screwing the way nix works in our production always. (Not having standard LD_LIBRARY_PATH).
<kiloreux>
Is there anyway to handle this ?
<clever>
commit to nix and make sure everything uses rpath correctly
<clever>
and is not in LD_LIBRARY_PATH
<kiloreux>
So we have to commit to using nix in our production system :( ?
<clever>
or wrap every nix program with something that clears LD_LIBRARY_PATH
<clever>
or wrap everything not-nix with a shell script that sets LD_LIBRARY_PATH
<clever>
or rebuild everything, and patch the nix ld.so, to ignore LD_LIBRARY_PATH
<kiloreux>
will try them ALL. Thank you clever.
takle has quit [(Remote host closed the connection)]
indi_ has joined #nixos
<Infinisil>
kiloreux: Why not commit?
abbafei[m] has joined #nixos
<kiloreux>
It's a large production system and moving all of our packages and dependencies to using nix. Will break an incredible amount of things for our customers. We really love nix and are trying to adopt it slowly into our production system.
<kiloreux>
Without breaking anything.
<clever>
kiloreux: patching ld.so seems like one of the simplest, though it might break some nix packages
<Infinisil>
kiloreux: I don't have much experience with larger systems (0 that is), but why would stuff break for customers?
<clever>
kiloreux: you would need to put a packageOverride (or just edit glibc in nixpkgs) to supply a .patch file to modify that
<clever>
then you can just rename the variable to whatever you want
<kiloreux>
Infinisil, it's mostly about our tests not being to cover all the cases that our customers run the system in. The fear of customers hitting some edge cases and having shit break for them is quite scary.
<kiloreux>
clever, that's lovely <3 Thank you.
<clever>
kiloreux: so the only problem will be when packages in nix rely on LD_LIBRARY_PATH rather then rpath
<clever>
finding those bugs may be "fun"
<joepie91>
meh
<joepie91>
seems the opensuse install on my laptop has gone EOL
<joepie91>
since I last used it
<joepie91>
I suppose now's as good a time to switch to NixOS on my laptop as any...
<Infinisil>
joepie91: \o/
<kiloreux>
clever, do they usually rely on it a lot ?
<kiloreux>
a git grep i could found quite a few mentions of LD_LIBRARY_PATH
<clever>
kiloreux: i think pam may use it some
<clever>
it depends heavily on which packages your actually using from nix
<kiloreux>
so how does rpath works compared to LD_LIBRARY_PATH exactly ?
ison111 has quit [(Quit: WeeChat 1.7.1)]
<clever>
kiloreux: rpath is a field inside the ELF file, that does the same basic job
<clever>
but LD_LIBRARY_PATH has a higher priority then rpath
<clever>
so every binary in nixos has its own rpath, saying where it should find libs
<kiloreux>
Ohhh I see so when running a binary LD_LIBRARY is consulted first and before rpath
<clever>
yeah
<kiloreux>
thus the existing of it could screw how packages are managed if it has similar names :D
<kiloreux>
great <3
<Infinisil>
joepie91: Are you running NixOS on your main machine already?
markus1199 has joined #nixos
<joepie91>
Infinisil: yep
<joepie91>
so *ideally* this is just going to be another system profile in my nixrc repo
<joepie91>
:P
<Infinisil>
I'm having a bit of a mess with these configs right now, do you have a nice setup for multiple machines? joepie91
<joepie91>
Infinisil: I would not call it 'nice' yet, needs some more cahnges
<joepie91>
Infinisil: but by the end of tomorrow I'll probably have a vaguely organized repo to show
<Infinisil>
I guess I should do it like clever, by making and importing files for everything and building a tree like this
<clever>
given enough time, you can probably crack it
nh2 has joined #nixos
<Infinisil>
If it's a bad enough one
<clever>
yeah
<clever>
then its just rng
<Infinisil>
I always think how cool it would be for such a 1 in 10000000000000000 change thing to just happen
<clever>
the netbook i added is also a fairly small SSD
<Infinisil>
s/change//
<clever>
4gig total, 3.5gig for /
<clever>
the closure for the current nixos, is 499mb
<Infinisil>
Huh?? 4GB? That's half my RAM!
<clever>
so i can fit ~7 generations on the drive, if i delete everything else
<clever>
yeah
<clever>
my main desktop has 16gig of ram
<clever>
my gpu has 2gig, lol
<clever>
it almost has more then the netbook
<Infinisil>
lol
<Infinisil>
Well I guess if you don't install a crapton of stuff and don't need GHC then it works
eacameron has joined #nixos
<clever>
i had to disable xorg and fully GC, before i could even do the last nixos-rebuild
<taktoa>
anyone here know the hydra internals (or perl) very well? I'm trying to write a servant-client API for hydra, but it seems that the endpoints documented in doc/manual/api.xml aren't the only ones available (e.g.: PUT /project/foobar)
<taktoa>
I realized this after reading tests/api-test.pl
http_GK1wmSU has joined #nixos
<taktoa>
(I'm working on Fully Declarative Hydra™)
http_GK1wmSU has left #nixos []
<joepie91>
aha! a quick browse through my abandoned-hardware shelf has yielded a new-ish 80GB drive
<clever>
taktoa: i'm having trouble finding the source for that
<joepie91>
as well as a very old 8GB one...
<clever>
ah, its under src/lib/hydra.pm
<joepie91>
apparently the 80GB one is a fast drive, cc Infinisil
<taktoa>
clever: I'm not really searching for relevant files, I'm more looking for someone who really knows/wrote the hydra source to tell me the set of relevant files with high confidence
<taktoa>
like unless I read every file I can't be sure that code I haven't read doesn't add more endpoints
<taktoa>
because I don't know the semantics of perl well enough
<clever>
ah
<Infinisil>
joepie91: heh
ertes has joined #nixos
<clever>
taktoa: at a glance, i think its just a grep for (Chained|PathPart|Path)
<Infinisil>
4GB was also once a big disk :)
<taktoa>
clever: ah, that's helpful. I'll go with that for now
<clever>
Infinisil: i still have that 40mb drive, that is twice as thick as a normal desktop drives
<joepie91>
also found a 4GB memory module that I *think* is compatible with my laptop
<clever>
joepie91: 1gig of ram in the netbook
<joepie91>
my laptop currently has 4GB total
<joepie91>
2x2
<joepie91>
not enough really
<joepie91>
wonder if replacing the HDD and RAM will affect my battery life...
nh2 has quit [(Ping timeout: 255 seconds)]
nh2 has joined #nixos
earldouglas has quit [(Ping timeout: 240 seconds)]
zeus_ has quit [(Read error: Connection reset by peer)]
<Infinisil>
clever: Do you have hardware-configuration.nix under git?
zeus_ has joined #nixos
<clever>
Infinisil: nope, i either delete it or leave it under the control of nixos-generate-config
mudri has quit [(Ping timeout: 246 seconds)]
<clever>
Infinisil: the github i linked earlier works without a hardware-configuration
<Infinisil>
Yeah I'll probably do the same now
joehh has joined #nixos
detran has quit [(Ping timeout: 248 seconds)]
Rotaerk has joined #nixos
eacameron has quit [(Remote host closed the connection)]
justelex_ has quit [(Ping timeout: 240 seconds)]
http_GK1wmSU has joined #nixos
http_GK1wmSU has left #nixos []
eacamero_ has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] abbradar pushed 1 new commit to master: https://git.io/v7zjH
<NixOS_GitHub>
nixpkgs/master f64fb1c Nikolay Amiantov: mupdf: remove third-party libjpeg