<catern>
I feel like the Nix manual is a lot worse today than it was 3 years ago, less focused on the core information and core features
<dramforever>
on chromium videos straight up won't play, and elsewhere i get no sound at all
<dramforever>
alsamixer *does* seem to show my device and lets me change the volume
nckx is now known as PotentialUser-93
PotentialUser-93 is now known as nckx
d10n-work has quit [Read error: Connection reset by peer]
d10n-work has joined #nixos
risson has quit [Ping timeout: 240 seconds]
* vika_nezrimaya
building...
<dramforever>
hmm, the kde panel widget shows a different list of devices on 5.7, which leads me to think maybe the driver *did* change
sphalerite has quit [Ping timeout: 240 seconds]
risson has joined #nixos
<redmp>
i have a haskell package "x" which has an executable "b" .. i'd like to make the executable "b" available at test time, so the test executable can run "b" .. with cabal you'd do this with "build-tool-depends: x:b" on the test-suite declaration.. how do you do this with nix (which uses the Setup.hs build style)?
<redmp>
right now i'm contemplating modifying PATH to include a subdir of ./dist
<cole-h>
vika_nezrimaya: If that doesn't work, I'd look for any font-related stuff and comment it out, unconditionally.
* vika_nezrimaya
got her fonts back again
<vika_nezrimaya>
with emojis this time
troydm has joined #nixos
<infinisil>
redmp: Yeah that's what nixpkgs does too
<clever>
vika_nezrimaya: anoyingly, the emoji in the /topic for this channel, has width problems on my terminal
<clever>
vika_nezrimaya: the UI randomly glitches out for me
<catern>
Hmm, but in fact, the section of the Nix manual that I'm reading is unchanged from when I first read it 3 years ago, when I thought it was really good. So I guess it's still good.
<jlv>
clever: it looks like the cycle is between 'splitmix-0.1.0.1', 'async-2.2.2', 'test-framework-0.8.2.0', 'random-1.2.0', 'mwc-random-0.14.0.0', 'math-functions-0.3.4.0', and 'QuickCheck-2.13.2'. I know that random 1.2 is a major overhaul of the random package, so I may need to update a lot of packages that depend on it. splitmix 0.0.5 depended on random 1.1, but now random 1.2 depends on splitmix 0.1, so that may be causing issues.
vika_nezrimaya has quit [Remote host closed the connection]
<clever>
jlv: you can also try using .override instead for just random, and see if it breaks or not
mvnetbiz_8 has quit [Quit: Bye!]
<redmp>
infinisil: ok, that makes sense
<redmp>
thanks very much for pointing out the example!
<jlv>
clever: I got a cabal warning when I tried that and Nix didn't want to proceed. Can I tell it to ignore warnings?
mvnetbiz_8 has joined #nixos
<clever>
jlv: can you gist your current nix exprs?
leo60228 has joined #nixos
<leo60228>
i'm trying to build an sd image for a pi 4 using qemu/binfmt but i'm getting this error right near the end
<leo60228>
building '/nix/store/b4z6nq01vknblf0nq7d1sif2wv4nlra8-ext4-fs.img.zst.drv'...
<leo60228>
okay apparently this just Happens when doing stuff in aarch64 qemu-user, fantastic
<bqv>
i had to do that to get emoji working properlyt
<leo60228>
might just have to get an sdimage from hydra and do a build on the pi itself
<leo60228>
inconvenient bc this pi is also my router but hopefully dhcp will let me get a network connection?
<vika_nezrimaya>
bqv: that set ALL of my fonts to a certain font, breaking the monospace font I had
<vika_nezrimaya>
the menubar is not affected
<vika_nezrimaya>
it's still emojis
<vika_nezrimaya>
and all of my text is now Noto Sans
<vika_nezrimaya>
it's beautiful tho
<bqv>
lmao
<bqv>
nice
disasm has quit [Ping timeout: 265 seconds]
disasm has joined #nixos
magbo has quit [Remote host closed the connection]
<clever>
jlv: the problem is triggered via this line: 47 ${ghc.haskell-language-server}/bin:\
<clever>
jlv: but if you get hls from an un-overlaid haskellPackages...
Dagger2 is now known as Dagger
<vika_nezrimaya>
bqv: I tried to execute this function but it doesn't seem to have any effect
<vika_nezrimaya>
no effect at all
<clever>
jlv: yep, pkgs.haskellPackages.haskell-language-server fixed it
titano has joined #nixos
<vika_nezrimaya>
these don't affect Emacs menubar
<vika_nezrimaya>
I'm using Lucid btw
<bqv>
weird
<bqv>
i don't know what would, then
<vika_nezrimaya>
it's not weird
<drakonis>
ssd acquired...
<jlv>
clever: that was not what I expected XD I even considered if that could be related but I dismissed it XD Ya. there's no reason the language server would need to use the overlay.
<drakonis>
wrong channel, but still
<vika_nezrimaya>
Lucid uses fontconfig for the fonts I guess
<bqv>
surely that is a fontconfig thing, so restarting should have fixed it
<jlv>
Thank you very much
<jlv>
clever++
<bqv>
yeah, but you tried that(?)
<{^_^}>
clever's karma got increased to like 495, I think
<drakonis>
lmao
<vika_nezrimaya>
that?
titano_ has joined #nixos
<bqv>
restarting
<{^_^}>
[nixpkgs] @peti pushed to haskell-updates « hackage-packages.nix: automatic Haskell package set update »: https://git.io/JJNiQ
<vika_nezrimaya>
I can do it again
<vika_nezrimaya>
I can program a loop of it restarting every 8 seconds
titano_ has quit [Client Quit]
noudle has quit []
<bqv>
well that just sounds unproductive :p
<vika_nezrimaya>
I'd sell my soul to Richard Stallman to have it fixed
<vika_nezrimaya>
not that he'd buy it
<clever>
jlv: the key, was that language-server was in the --show-trace
<bqv>
praise be to rms
<vika_nezrimaya>
nobody needs my soul tho
<bqv>
vika_nezrimaya: he might buy your toe fungus
<vika_nezrimaya>
everyone wants my smarts
<vika_nezrimaya>
and I don't want my smarts
<bqv>
it's a delicacy in his parts
<vika_nezrimaya>
how can get rid of smart
vika_nezrimaya has quit [Remote host closed the connection]
vika_nezrimaya has joined #nixos
<bqv>
oof
<bqv>
ep
<vika_nezrimaya>
bqv: That did not help
<vika_nezrimaya>
It's still emojis in menubar
<vika_nezrimaya>
nothing but emojis and empty text
<vika_nezrimaya>
cole-h, sorry, I summon you again. Maybe you know something?...
titano has quit [Ping timeout: 256 seconds]
<vika_nezrimaya>
Also my fonts are now the default fonts, how can I change them without using defaultFonts and breaking all my emojis?
<cole-h>
I don't use Lucid with Emacs, so I have no idea how to mess with it.
<cole-h>
And I also don't know much about fontconfig, so I can't help there. You likely want to add something to the localConf, but I don't know what.
<redmp>
if i want to get a new haskell package into nixos, is the correct way to submit a PR that adds it?
<redmp>
s/nixos/nixpkgs/g
<iwq>
does anyone have a derivation for one of the recent versions of Yuzu?
<bqv>
vika_nezrimaya: is there any reason you need lucid in particular?
<bqv>
is it the daemon bug?
<vika_nezrimaya>
It is
<bqv>
that doesn't happen on wayland, fyi
<bqv>
so don't bother :p
<vika_nezrimaya>
Emacs doesn't work on wayland tho
<bqv>
i'm using it right now...
<vika_nezrimaya>
it works on X
<bqv>
so is cole :p
<matthuszagh10>
back up. thanks for the help bgv and vika_nezrimaya!
<jlv>
clever: wait. Don't celebrate too soon. The pastebin I sent was missing the actual `random` overlay XD https://pastebin.com/qENFirhj `haskell-language-server` was ALSO causing an infinite recursion XD
<cole-h>
No
<bqv>
vika_nezrimaya: emacs-pgtk in the nixpkgs-wayland repo
<cole-h>
But there's a fork that's working on it
<vika_nezrimaya>
but can I scream in excitement to finally have one more app natively work on wayland?!
<colemickens>
ozone is coming soon
* clever
looks closer
<vika_nezrimaya>
Ozone as in Chrome on Wayland?
<vika_nezrimaya>
or am I confusing two threads?
dongcarl has joined #nixos
<jlv>
clever: That's why I didn't see 'haskell-language-server' in the trace. We were looking at different traces.
<lunik1>
there's a nixpkgs-wayland?
titano has joined #nixos
<jlv>
lunik1: there is, but I don' think it's really necessary anymore. I'm running wayland from plain ol' nixpkgs.
<lunik1>
yeah so am I
<vika_nezrimaya>
bqv: where is nixpkgs-wayland and is it a flake?
<lunik1>
I was going to ask what the advantage would be
<{^_^}>
[nixpkgs] @lopsided98 closed pull request #74582 → nixos/device-tree: fix overlays in the Nix store → https://git.io/Je1my
pylsan has quit [Ping timeout: 272 seconds]
vika_nezrimaya has quit [Remote host closed the connection]
<colemickens>
vika_nezrimaya yes.
<colemickens>
It updates every hour. Though I think not all binaries are getting pushed to the cache right now. I've been refactoring the last few days.
<colemickens>
Well, I guess they left. I tried.
Ingor has joined #nixos
cjpbirkbeck has quit [Quit: Goodbye, take care]
<la-jesystani>
if i enable a service in home-manager, how do i start it after switching?
<Ingor>
just tried nix according to the manual, on a debian 10, and nix-env -qa does't give any available packages :(
user_0x58 has quit [Remote host closed the connection]
user_0x58 has joined #nixos
dongcarl has quit [Read error: Connection reset by peer]
<evanjs>
Assuming I need to explicitly type bar or font or something
<nij>
I told my friend that I'm quite involved in learning nixOS recently. They are curious. But as I tried to say why reproducible systems are good, they are confused. They think such a system must include lots of different versions of dependencies and will make the system bloated.
<nij>
I hope to tell them that it's not too bad. So.. how much space really does a normal nixOS user has to compromise for its wonderful reproducibility feature?
<evanjs>
It really depends on what you have on your system
<evanjs>
GHC for example --- x_x
<nij>
Oh no i don't have ghc but I plan to have one :(
<{^_^}>
[nixpkgs] @zowoq pushed to master « genpass: fix darwin build »: https://git.io/JJNXO
<evanjs>
I mean it depends on what you're doing. If you have a taffybar that pulls in one version of GHC and a copy of hies that pulls in another, well, two versions of GHC will get pulled in, etc
<drakonis>
i forgot now, but is there any explanation on how to set up mattermost?
<tpw_rules>
nij: a counterpoint might be that with nix you guarantee you have only what you need
<nij>
tpw_rules: wow good point!
<tpw_rules>
assuming you garbage collect properly, there's no risk of having old versions of packages for things you don't use anymore
<nij>
yeah! so cool
tv has quit [Read error: Connection reset by peer]
<tpw_rules>
and if disk space is truly at a premium, you know you can delete something and get back an identical copy when you need it
<nij>
v.s. an xcode that worths 10GB
<tpw_rules>
i mean on mac i think you still need xcode
<nij>
yep!
<nij>
except for a smaller community and that it's probably a bit harder to learn.. i still don't understand why people don't use nixos
<nij>
if we 100x size of community we will soon take over the world :)
<tpw_rules>
because getting it to do what i want feels borderline impossible and there's about 0.1% of the necessary documentation?
<tpw_rules>
but the results are exceptionally nice
<nij>
we will get there one day
<lopsided98>
cd /
nate48423 has quit [Ping timeout: 264 seconds]
<lopsided98>
oops lol
<Ingor>
how ready is nix for production use?
dongcarl has quit [Read error: Connection reset by peer]
<nij>
what is "production use"?
<Ingor>
you know... having some hundreds of servers deployed :)
dongcarl has joined #nixos
<Ingor>
keep them updated and running while getting to sleep at night
<clever>
Ingor: nixops is perfectly capable of that
rotaerk has quit [Ping timeout: 258 seconds]
<Ingor>
└─(01:28:51)─> nix-env -qa postgresGC Warning: Failed to expand heap by 16777216 bytes
mpiechotka has joined #nixos
<clever>
Ingor: how much ram does the machine have?
pylsan has joined #nixos
<Ingor>
462 :p
<Ingor>
Mi
<clever>
Ingor: nix-env -qa can be pretty memory hungry
<clever>
Ingor: but once you know the name, it can fetch without using as much
griff_ has joined #nixos
mpiechotka has quit [Client Quit]
nij has quit [Ping timeout: 256 seconds]
<drakonis>
can't install mattermost it seems
<clever>
drakonis: what error?
h0m1 has quit [Ping timeout: 272 seconds]
<drakonis>
access to path '/nix/store/kgvzh0xcg9p6is0znnrvcqv4hgkvfw70-mattermost-webapp-5.25.0/config/config.json' is forbidden in restricted mode
<clever>
drakonis: what cmd did you run?
h0m1 has joined #nixos
<drakonis>
rebuilding
<drakonis>
its nixos-rebuild switch with flakes active
<clever>
drakonis: might be a flake thing
<drakonis>
i'm updating the flake
<drakonis>
its a week old now
<drakonis>
still forbidden
<clever>
try with --impure i think it was?
iyzsong has quit [Ping timeout: 260 seconds]
<drakonis>
flag doesnt exist
waleee-cl has quit [Quit: Connection closed for inactivity]
<bqv>
drakonis: are you doing nix-build directly?
<eadwu[m]>
How are you accessing the path
<eadwu[m]>
And where
<drakonis>
no
<bqv>
--impure won't work on a flake build
<drakonis>
it used to work with flakes before
<bqv>
it does work with flakes on, just not on *a flake*
<drakonis>
but that was last year
tv has joined #nixos
<drakonis>
i'm enabling the service
<bqv>
because the flake part of evaluation requires restricted mode, which is a subset of pure mode
<drakonis>
hmm
<drakonis>
welp a bummer
sigmundv_ has quit [Ping timeout: 260 seconds]
<bqv>
you could just fix the derivation
<clever>
drakonis: you need to find out what part of the module is reading config.json and fix it
<bqv>
oh it's a module, rip
<drakonis>
rip
<bqv>
you can always copy the file and edit it, then use it via disabledModules
<drakonis>
i want to set up mattermost for a project i'm doing and i need to communicate with people
<vika_nezrimaya>
it uses a function on the emacs package to generate emacsPackages to pass to extraPackages
<c74d>
In a NixOS module in a (overly complicated) NixOS configuration, is it generally impossible to make the `imports` attribute depend on a configuration option? If so, are there exceptions to that generality? I recall that last time I tried this (years ago) I gave up after getting nothing but recursion errors.
ddellacosta has quit [Ping timeout: 265 seconds]
kraem has quit [Ping timeout: 265 seconds]
Guest43522 has quit [Ping timeout: 265 seconds]
mzan has quit [Ping timeout: 265 seconds]
dutchie has quit [Ping timeout: 265 seconds]
nerdypepper has quit [Ping timeout: 265 seconds]
kgz has quit [Ping timeout: 265 seconds]
stoile has quit [Ping timeout: 265 seconds]
benny has quit [Ping timeout: 265 seconds]
commander has quit [Ping timeout: 265 seconds]
V has joined #nixos
<bqv>
looks like you're probably fine then
<bqv>
hmm
<vika_nezrimaya>
c74d: sounds like a crazy thing to do
<vika_nezrimaya>
why do you need it
mzan has joined #nixos
V is now known as Guest7215
samhza has joined #nixos
<bqv>
c74d: DNDT
<c74d>
I'd like to import the hardened profile iff some config option is true
niksnut has joined #nixos
<c74d>
bqv: does that stand for "do not do that"?
nerdypepper has joined #nixos
petar has joined #nixos
<vika_nezrimaya>
you're better off having a module conditionally execute itself then
kandinski has joined #nixos
<bqv>
yes
<bqv>
it does
kumikumi has joined #nixos
stoile has joined #nixos
<dramforever>
Sounds like you need a hardened profile with an enable option
pfr has joined #nixos
ddellacosta has joined #nixos
icey_ has joined #nixos
Guest7215 has quit [Client Quit]
<c74d>
vika_nezrimaya: Hm, what do you mean by "execute"? I don't tend to think of NixOS modules as executing :?
<bqv>
conditionally evaluate, then
Guest60204 has joined #nixos
<dramforever>
I'd say you can write a module that does that, but it would involve reorganize whatever profiles you have
<vika_nezrimaya>
like every module in NixOS does. { config, lib, ... }: { options.hardenStuff = mkEnableOption "Harden stuff."; config = (lib.mkIf config.hardenStuff { /* harden stuff here */ }); }
kraem has joined #nixos
ericnoan has joined #nixos
<dramforever>
yeah, that's what i was talking about
<vika_nezrimaya>
This is a boilerplate for a NixOS module that hardens stuff
<vika_nezrimaya>
If you have { hardenStuff = true; } somewhere in your NixOS config and this module is imported, it hardens stuff
<vika_nezrimaya>
otherwise it doesn't do anything and acts as if it is not there
<c74d>
oh, I could just `config = import <...hardened profile...>` couldn't I
<c74d>
behind mkIf
<vika_nezrimaya>
I don't recommend it
jtcs has joined #nixos
V_ has joined #nixos
acowley has joined #nixos
dutchie has joined #nixos
shapr has joined #nixos
<bqv>
that would technically work, though
jbox has joined #nixos
<clever>
c74d: the value put into config must be a set, not a function
shapr is now known as Guest58790
<vika_nezrimaya>
But maybe you could do { imports = [ <hardened-profile> ]; } there?
<clever>
so you cant { pkgs, config, ... }:
grumble has quit [Ping timeout: 619 seconds]
mariatsji has joined #nixos
<clever>
vika_nezrimaya: config and imports must be siblings, not parent/child
jbox is now known as Guest52826
<bqv>
you can passthrough the same args
<bqv>
they won't have changed
commander has joined #nixos
<bqv>
i've done a similar hack before
<bqv>
it's just ...nasty
dsg has joined #nixos
<c74d>
aye, that's ^ what I meant
fps has joined #nixos
<vika_nezrimaya>
just wrap your hardened profile in this boilerplate
<vika_nezrimaya>
it'll be easier, more portable and you could easily distribute it if you wish
V_ has quit [Client Quit]
grumble has joined #nixos
<vika_nezrimaya>
for example, I could then download your module and use it in my system to harden my stuff
vykook has joined #nixos
V_ has joined #nixos
<vika_nezrimaya>
Or you could include it in NixOS so everyone would be able to harden stuff!
adamCS has joined #nixos
mariatsji has quit [Ping timeout: 256 seconds]
rogue_koder_ has quit [Ping timeout: 256 seconds]
dongcarl has quit [Read error: Connection reset by peer]
<vika_nezrimaya>
either I'm doing something wrong or home-manager does something wrong unknowingly
V_ is now known as V
<energizer>
vika_nezrimaya: fyi there is #home-manager
<vika_nezrimaya>
Oh, right, thanks
mlen has joined #nixos
rogue_koder_ has joined #nixos
marek has joined #nixos
kgz has joined #nixos
<c74d>
okay, it looks like `{config, lib, ...} @ args: { options.hardenStuff = ...; config = lib.mkIf config.hardenStuff (import <.../hardened.nix> args); }` should work, or at least should build
<vika_nezrimaya>
If it evaluates, then it'll probably build
<vika_nezrimaya>
if the packages are all right
<catern>
Ingor: try "nix search" instead of nix-env -qa - anyway both "nix search" and "nix-env -qa" are user-interface things which build a map of a ton of strings in memory - if you want to avoid that memory usage, look in Nixpkgs for your package using grep
<energizer>
c74d: are you making a way to harden nixos?
<c74d>
energizer: no, I'm trying to use one NixOS configuration for too many things
<c74d>
the hardened profile was made by joachifm
mariatsji has joined #nixos
<c74d>
in particular, I'm trying to use one (heavily-parametrized) configuration for (possibly among other things) personal computers and VMs to run on those computers
<c74d>
I want the hardened profile (albeit with some of its settings overridden) on the host computer but not in (one of) the VMs
mariatsji has quit [Ping timeout: 272 seconds]
<vika_nezrimaya>
catern: nix-env -qa was slow and memory-hungry because it was evaluating half of Nixpkgs. nix search caches evaluations (at least when using nixFlakes, it does it very efficiently) so it is a lot more forgiving
aw has quit [Quit: Quitting.]
spacefrogg has quit [Quit: Gone.]
aw has joined #nixos
spacefrogg has joined #nixos
dongcarl has joined #nixos
vivasvat has joined #nixos
m0rphism has quit [Ping timeout: 260 seconds]
kraeXen has joined #nixos
sadmin has quit [Ping timeout: 264 seconds]
dongcarl has quit [Read error: Connection reset by peer]
<simpson>
daddy_james[m]: There's no guaranteed static-linking setup. Some libraries are built both ways, but most aren't. The pkgsStatic top name builds everything with a stdenv that *only* does static linking, for folks who want that; it uses musl.
<jackdk>
Can I please get a PR review or someone to poke ofborg on #95740?
magnetophon has quit [Read error: Connection reset by peer]
vivasvat has left #nixos ["ERC (IRC client for Emacs 27.1)"]
redmp has joined #nixos
<redmp>
if i use buildEnv to make an environment containing several packages, is there an easy way to get the equivalent .env (an environment which can be used for development of any of those packages)
<simpson>
daddy_james[m]: Currently trying to build `SDL2.override (_: { withStatic = true; })` which might work, based on reading the SDL2 derivation.
justanotheruser has joined #nixos
butcher has joined #nixos
<daddy_james[m]>
I’ll give it a shot tomorrow thanks!
<bqv>
> builtins.isNull
<{^_^}>
<PRIMOP>
<{^_^}>
[nixpkgs] @dasj19 opened pull request #95782 → iniconfig: init at 1.0.1 → https://git.io/JJN9s
gv has joined #nixos
woobilicious has joined #nixos
<woobilicious>
Can someone tell me why I get this error
<woobilicious>
$ nix-env -i nixos.transmission-gtkerror: selector 'nixos.transmission-gtk' matches no derivations
<simpson>
woobilicious: Does `nix-env -iA transmission-gtk` work? The command-not-found recommendation might not be exactly correct if you don't have a channel named "nixos", nor do you need to have your channels configured that way.
rajivr has joined #nixos
<evanjs>
woobilicious: looks like it's also transmission_gtk
<evanjs>
I know there's something about _ over - IIRC
<woobilicious>
I think I might have added this last one by accident a while back
<siraben>
What do I need to do to be able to package a project so that it can be installed by running "nix-env -iA package -f https://github.com/..."
<siraben>
?
<woobilicious>
evanjs that worked but I'm pretty sure I tried that earlier and it didn't work I wonder what changed
<siraben>
I have a default.nix that works when I run nix-build, but doing that command with nix-env doesn't work and it complains about a missing package attribute
<clever>
siraben: does it work with `nix-build -A package` ?
Rusty1 has quit [Quit: WeeChat 2.3]
endformationage has quit [Quit: WeeChat 2.7.1]
<siraben>
clever: error: attribute 'package' in selection path 'package' not found
<clever>
siraben: then that is your problem, the default.nix must return { package = ...; }
<clever>
/nix/store/a759kbr0kgccsxl6lfx0xv5i3c9x9bw9-binutils-2.31.1/bin/ld: ../emu/libtilemcore.a(graycolor.o): undefined reference to symbol 'pow@@GLIBC_2.29'
<clever>
/nix/store/a759kbr0kgccsxl6lfx0xv5i3c9x9bw9-binutils-2.31.1/bin/ld: /nix/store/aqq6367snc1zh3fs1pc4j4zm5h80vkkz-glibc-2.31/lib/libm.so.6: error adding symbols: DSO missing from command line
<clever>
srhb: looks like the glibc is the wrong version for libtilemcore
<clever>
siraben: you likely just need an older nixpkgs, replace the <nixpkgs> at the top with a (builtins.fetchUrl ...)
<clever>
i need to get to bed, but i could have a look in the morning, if i dont forget
<kini>
It doesn't say "Only if", but still, would it make sense to append something to the `uname -r` string for NixOS kernels like other distros do? Is there a reason we don't do that currently?
<srhb>
kini: I'm not sure what qualifies as a "distribution kernel"
<kini>
The page defines it thus: "Unless you downloaded, compiled and installed your own version of kernel from kernel.org, you are running a distribution kernel."
<srhb>
kini: Well, we do that.
<NobbZ[m]>
From what I read there, anything not directly downloaded from kernel.org...
<srhb>
Sort of. Ish. Because source distro :-P
<kini>
srhb: Well, who is "we"? The NixOS expression for building the kernel is probably not something well understood by the average NixOS user.
<NobbZ[m]>
@shrb kernel is downloaded from cache.nixos.org
<srhb>
NobbZ[m]: Only if it's already built. If not, it's built locally
<NobbZ[m]>
Are nixOS specific patches applied?
<srhb>
The point I'm trying to allude to is that the clear cut model that kernel.org appears to present is not so clear
<srhb>
NobbZ[m]: It depends!
<kini>
Even if you disable downloading it from cache.nixos.org, I don't think that typing "nixos-rebuild switch" counts as "downloading, compiling, and installing your own version of kernel from kernel.org"
<srhb>
kini: Even though that's exactly what it does?
<kini>
that's what "it" does, not what "you" do
<srhb>
(barring mirrors)
<kini>
i.e. there's too much automation to fit that sentence, in my opinion anyway
<srhb>
Okay. I disagree. :)
<srhb>
That said, I don't really know what their motivation is and whether we should respect it. I guess it's something like trying to avoid supporting distro specific patches?
<srhb>
For instance, that would be the case for our zfs patches, probably.
<kini>
I think this particular text is trying to discourage people from contacting the upstream kernel mailing lists for help when they're running an non-bleeding-edge kernel with distro-specific patches, as most people are
<srhb>
Yeah, that's basically what I took from it as well.
<kini>
ah sorry, I misread you as saying "avoid accepting distro specific patches" lol, now it makes more sense :)
<srhb>
Sorry, I was probably unclear.
<kini>
we do seem to apply some NixOS-specific patches, though, from what I can tell
<srhb>
Anyway, I will happily grant that if our motivation is to help lkml avoid correspondence from random NixOS'ers, we should in theory add it.
<srhb>
I have my doubts that it does anything in either direction though :-P
<srhb>
I had no idea about that dash-rule, but I would also know who to contact, for instance.
sputny has joined #nixos
<siraben>
When default.nix starts with { stdenv }:, how do build it? nix-build won't work because it requires inputs to the function
<kini>
I don't know that it's really a rule for distro maintainers or anything, just wondered if anyone else had already thought about this for NixOS
<srhb>
The more I look at it though, the more I think it's more related to something more than distro specific patches...
<srhb>
Like, they specifically mention LTS kernels. I think they tend to backport huge swathes of features and backports from newer kernels
<srhb>
siraben: Or any other expression that callPackages it.
<srhb>
siraben: (I substituted ./. for ./default.nix)
<siraben>
srhb: Ah, right, in all-packages.nix in nixpkgs there's a callPackage call as welll. Thanks!
<siraben>
s/welll/well
sdisavona has joined #nixos
<siraben>
srhb: Why don't I need to callPackage when default.nix starts with with import <nixpkgs> { }; ?
<srhb>
siraben: Something that looks like { ... }: is a function that takes ... arguments
<srhb>
siraben: Something needs to pass those arguments
<srhb>
siraben: callPackage knows how to do that for arguments that orrespond to top level attribute names
<siraben>
Ah I see.
<sdisavona>
I'm using nix as a package manager on archlinux. Is there any way to get network scanner working with programs installed via nix?
<sdisavona>
xsane and simple-scan installed via archlinux can find and use the network scanner, the same programs installed via nix, don't.
user_0x58 has quit [Ping timeout: 260 seconds]
<sdisavona>
I've of course read this page: https://nixos.wiki/wiki/Scanners but I've doubts it can be applied to nix as a package manager.
<kini>
sdisavona: the second note at the top of that wiki page seems like it might be relevant... have you tried fiddling with $LD_LIBRARY_PATH?
<kini>
you're right that the stuff on there about setting config options in `hardware.sane.<stuff>` is only applicable when you're running NixOS (afaik anyway)
<bogdb>
since switching to ondemand cpu governor (from performance), I keep getting messages like this " rcu: INFO: rcu_sched self-detected stall on CPU" or https://pastebin.com/BC52JZnY. has anyone experienced anything similar with amd hardware (ryzen 2 / x570)? linux version is 5.7.15
<nij>
NobbZ[m]: Does nixos recognize when run time dependencies are missing?
<NobbZ[m]>
Every dependency that is referenced by its store path in the output will be used as runtime dependency
dingenskirchen has joined #nixos
dingenskirchen has quit [Client Quit]
ScottHDev41 has joined #nixos
ScottHDev4 has quit [Ping timeout: 240 seconds]
<nij>
I see :O
ScottHDev41 is now known as ScottHDev4
<nij>
Hmmm
<nij>
I think my confusion still pertains..
nixbitcoin_ has joined #nixos
<nij>
Can't I write a derivation for compiling a C code, that does not mention all of its runtime dependencies?
nixbitcoin has quit [Ping timeout: 240 seconds]
<nij>
If I can, and if I compile it with that derivation, the outcome binary is going to call some other programs not tracked by nix.
<NobbZ[m]>
Use a wrapper that adds the dep to the `PATH`
m_hackerfoo has quit [Ping timeout: 256 seconds]
HackerFoo has quit [Ping timeout: 240 seconds]
alp has quit [Ping timeout: 272 seconds]
<nij>
I'm not trying to compile a thing. I'm trying to understand the theory behind nix, and why it's "safe".
<NobbZ[m]>
What do you mean by "safe"?
sangoma has joined #nixos
<nij>
I hope nix has a way to avoid users from compiling code without mentioning run time dependencies.
<nij>
I'm a bit confused because my impression is we don't need to mention the run time dependencies in either the builder or the nix expression for the code to be compiled.
<immae>
nij: are you thinking of a situation where a program foo would do an exec*('bar') call while 'bar' may not be available in the system because the call is hardcoded, for instance?
ScottHDev4 has quit [Ping timeout: 256 seconds]
fooker has quit [Ping timeout: 240 seconds]
<typetetris>
Is library profiling enabled by default in haskellbuilds in nixos?
<nij>
immae: more or less yes. Or even 'bar' is in `/usr/bin..`
<nij>
immae: I hope things compiled from a nix derivation will be 100% reproducible.
<immae>
in that case, the only way to ensure it is as NobbZ[m] said: you as a packager need to know that bar needs to be in the PATH and act accordingly
m_hackerfoo has joined #nixos
<immae>
you cannot really do magic here if you don’t know what is called
HackerFoo has joined #nixos
<immae>
(how about a user-given string for instance)
<nij>
:(
<nij>
so nix doesn't check that for us
<immae>
how could it do that?
<srk>
typetetris: yes it is
<immae>
however if the compiler does exec('/nix/store/abcd-bar/bin/bar') then nix will see it and keep it in the closure
ScottHDev4 has joined #nixos
<nij>
immae: yeah... I see. So it cannot do all the magic.
<immae>
it does the magic that can be parsed :p
<nij>
I'm taking nix-pill #9, and it seems it claims that under certain situations nix can tell.
<immae>
the rest is difficult
<nij>
It will know the list of run-time dependencies.
<nij>
But maybe it's not "perfect".
<immae>
yes
<srk>
runtime deps for libs but not for executables
<typetetris>
srk: Thank you!
<immae>
As far as I know the way to find runtime deps is to find /nix/store in the resulting files
<nij>
immae: hmm does that mean in some cases while we compile packages for nixos
<nij>
we should expect to be resolving missing run time dependencies?
<immae>
I didn’t understand your question sorry
<nij>
we need to point out which run time dependencies the package *will* use
<immae>
yes
<immae>
it’s quite rare though
<nij>
Interesting
<immae>
but a wrapper which pre-sets the PATH is usually the way to go in that situation
<nij>
But even if we overlook it.. it can still compile correctly right in some cases?
<immae>
yes
<nij>
:(
<nij>
Wow this sounds complicated. How would one test if a binary is correctly compiled then?
<immae>
A way to prevent that is to have a testing phase that runs the program
<nij>
I see.
<nij>
But testings are not perfect either. For this we should just cross our fingers?
<immae>
if it exec’s a program that don’t exist then you’ll see the failure
<immae>
yes
<immae>
if you miss the path then you miss it
<nij>
I see! Thank you that clears my head!
<immae>
I would say it’s the responsibility of the programmer to at least mention the depndency somewhere, and then from the nix packager to ensure that the dependency is honored
<nij>
(If nixos takes over the world one day, this will be easier as all dependencies will be mentioned in the code with a hash version)
<{^_^}>
[nixpkgs] @fgaz opened pull request #95797 → hivelytracker: init at unstable-2020-02-10 → https://git.io/JJAkT
<alexarice[m]>
Have modules been made less lazy recently (perhaps in https://github.com/NixOS/nixpkgs/pull/82743 ?), I have a config for emacs that worked before but is now complaining about options not existing
<infinisil>
Oh I just messed up the link to the rfc
<eyJhb>
Perfect, I will then convert this then
<jazmit>
I'm fairly new to nix and have run into a roadblock trying to build my project with nix.. I want to check out and build different versions of a project from git from my default.nix, but don't want to include the full path to the repository, I'd rather use a relative path, but having trouble getting this to work. Eg:`'cd myproject; nix-prefetch-git
<jazmit>
./.` gives 'does not appear to be a repository'.
urkk has joined #nixos
<jazmit>
Does anyone have any ideas?
<eyJhb>
infinisil++
<{^_^}>
infinisil's karma got increased to 336, that's Numberwang!
<simpson>
jazmit: Like, the way that the `repo` tool works? You probably will have better luck using fetchgit/fetchFromGitHub to do your git fetches.
ScottHDev4 is now known as ScottHDev
ScottHDev is now known as Guest62892
<jazmit>
@simpson Thanks! I originally ran into the problem trying to use fetchGit , eg: "fetchGit { url = "./."; ref = "master" }
Guest62892 is now known as ScottHDev4
<simpson>
jazmit: Yeah, that's probably not what you want. If you really do want to refer to a local nearby directory, you can insert its path directly, as `./.` but there's probably something better. You want that local repo to take on many different versions? Why not fetch the many different versions from your upstream repo?
gthm has quit [Ping timeout: 265 seconds]
<simpson>
In general, if a project needs some sort of subproject to be built, then we write a separate derivation for the subproject and patch the main project's build instructions to use our version.
<alexarice[m]>
infinisil: It caused a problem with how I was doing stuff, but I think I've fixed it, is there somewhere with a list of all the current module changes as I think I might be able to make my code less hacky
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<jazmit>
@simpson That's great I'll try out the quoting. As for the overall approach, I'm trying to set up green/blue deployments using nixops, and use a single repo for all code and deployment code for the project. At deployment time, I want to deploy the current and previous versions of the project in staging, production, testing, etc - that's why I
<jazmit>
want to check out previous versions of the repo that the default.nix is contained ins why
<infinisil>
alexarice[m]: I'm interested in how this caused problem, to know whether it's a problem in nixpkgs that needs fixing or not
<jazmit>
@simpson I suppose the deployment code could be kept in a different repo from the main project, but I'd prefer to have it all in the same repo if possible.
<alexarice[m]>
infinisil: I very much doubt it as what I was doing was very hacky. Basically I have an option `package.<name>` defined as a submodule with some fields common to all packages, but then on some packages I had defined extra package specific settings under `package.<name>.settings`.
<simpson>
jazmit: Ah, sure. When I needed this, I parameterized *nixpkgs* instead, and had nixpkgs branches for different deployments. But I also spent a lot of extra time making sure that there were never machines stuck and not able to update, which a lot of folks don't bother to do.
<infinisil>
alexarice[m]: I see (somewhat), is the code public?
<alexarice[m]>
However this doesn't work that easily so to fix it I eval all the package modules, collect all the settings, and then eval all the modules, but stripping the `options` part from the package modules
<alexarice[m]>
and passing the precompiled options in
<jazmit>
@simpson Wow I never thought of doing that, I just import nixpkgs at a pinned version. Sounds like a lot of work to keep all the branches up to date?
<alexarice[m]>
The fix I have found for now is to strip the config sections when getting the package settings
<alexarice[m]>
The change is that before, assigning to an undefined option underneath a `mkIf false` was fine, as now it is not
<alexarice[m]>
I don't know if this change would effect nixpkgs
<simpson>
jazmit: Yeah, this is part of the cost of deploying services; somebody's gotta maintain it. It's not very much effort, *if* your team makes a constant point of ensuring that contributions can go upstream. (But also some groups have completely forked nixpkgs; YMMV.)
<urkk>
It looks like the pkgsStatic.nix fails when using a busybox shell within /nix/store in a machine without /nix (using --store)
<alexarice[m]>
infinisil: Is this sort of setup (having some specific settings in a submodule setup) something that these freeform modules can do?
never_released_ has quit [Remote host closed the connection]
never_released has joined #nixos
cfricke has quit [Quit: WeeChat 2.9]
<infinisil>
alexarice[m]: I don't get it entirely still just yet, but maybe what would work for you is to use `config = optionalAttrs (options ? the.option.you.need) { the.option.you.need = ...; }`
<infinisil>
This pattern allows you to define values only if an option exists
<infinisil>
Though it's still a bit hacky, ideally the option always exists and should just not have any effect if it's not needed in the end
<alexarice[m]>
The issue is giving a type to `package.<name>.settings`
<alexarice[m]>
as the type depends on `<name>`
<infinisil>
Ahh I think I see now
<simpson>
jazmit: Thinking on your situation more, I used to do something analogous to exactly what you want (but with Fossil instead of git), and the overall workflow was to switch between revisions of the entire repo with my nixops .nix configuration. Fossil quirks made it painful to maintain this for any length of time, so it usually only happened if something broke while adding a new machine to the fleet.
<alexarice[m]>
I couldn't think of a neat way to do it when I originally did it
<simpson>
But Nix and nixops didn't know about the repo management happening under the hood, and didn't do any special fetches; I just wrote `./nix` and `./nixops` to address my .nix folders.
<alexarice[m]>
as it is nice to have the package options in the same file as the package config, but this seems to require evalling all the modules to collect them up
<infinisil>
alexarice[m]: What you can do is: Create a single option `package = mkOption { type = attrsOf (submodule ({ name, ... }: { options = ...; })); }`
<infinisil>
Oh and I have more um
<infinisil>
So above would allow you to define arbitrary `package.foo = { <package options>; }` with foo being anything. The name can be used inside the submodule
<infinisil>
(here it would be `name = "foo"`)
mallox has joined #nixos
<infinisil>
alexarice[m]: The problem with above is that you wouldn't expose package-specific options, so what you can go for instead is a submodule like this:
* infinisil
thinking
proofofkeags has joined #nixos
<infinisil>
Wait no I'm still a bit confused
<alexarice[m]>
I think what you've written at the moment is what I have?
<infinisil>
Oh hm, I was looking at options.package.xah-fly-keys.settings
<infinisil>
Wait so you have both `options.package = mkOption` and packages define their own options in `options.package.<name>`?
<alexarice[m]>
yes
<alexarice[m]>
it's really hacky
<infinisil>
Yeah that would not be allowed with a vanilla module system eval
<azazel>
anyone working on a nixops plugin for Proxmox VE?
<infinisil>
alexarice[m]: And I guess you use `options.package = mkOption` so people can also assign custom config for packages that don't have their own module?
<alexarice[m]>
I guess the real solution would be to put package specific settings under something like `package-settings.<name>`
<alexarice[m]>
infinisil: yeah lot's of packages are fine with the defaults
<alexarice[m]>
and they all share loads of options
<infinisil>
alexarice[m]: This actually looks like pretty much what freeform modules can be used for
<alexarice[m]>
infinisil: so the freeform bit would be a "setting-less package"
<alexarice[m]>
and then the ones that want special stuff define their own options?
<infinisil>
This allows arbitrary packages to define package.foo.<any options in the ...
<infinisil>
alexarice[m]: Yeah
<{^_^}>
[nixpkgs] @eyJhb opened pull request #95804 → androidenv: fix convert files not quoting urls → https://git.io/JJAGP
<infinisil>
Special options for certain packages would be defined (in the packages module) with `options.package = mkOption { type = types.submodule { options.my-package.settings = ...; }; }`
<alexarice[m]>
Would all the package specific options need to be defined in the same file as `options.package`?
<infinisil>
The module system then merges both assignments of the `package` option
<infinisil>
alexarice[m]: Nope, because ^
<alexarice[m]>
ah great, I will give it a try at some point
<jazmit>
@simpson Unfortunately I don't see how that could work for me while sticking to one repo - I want to deploy an instance of nginx which contains static files for multiple versions simultaneously, so one run of nixops needs to pull in multiple versions.
<drag0nius>
i want to run k3s on nixos, looks like it's only in unstable and when i simply used the unstable package i'm getting error while loading shared libraries: libseccomp.so.2: cannot open shared object file: No such file or director
<infinisil>
eyJhb: Me specifically?
<drag0nius>
not sure if it's the issue with package or not running whole unstable channel
<simpson>
jazmit: I'd completely separate app from deployment if that's the case, so that the deployment can cleanly instantiate multiple apps.
<azazel>
drag0nius: the only caveat i see using unstable is with packages like VirtualBox that need to be built at every upgrade, and sometime they fail
<lunik1>
every package should have a copy of its dependencies
ambroisie has quit [Remote host closed the connection]
<azazel>
i've the switched to using libvirt and virt-manager
<eyJhb>
Where the convert files did not quote the urls
mallox has quit [Quit: WeeChat 2.9]
<eyJhb>
You know I am a master of spotting online people who can merge stuff :p
<lunik1>
I usually run stable and cherry-pick a few unstable packages
ilyaigpetrov has quit [Quit: Connection closed for inactivity]
<infinisil>
eyJhb: I guess I can merge it when CI passes, but I think it would be better in general to just post the PR in #nixos-dev without mentioning anybody specifically :)
<drag0nius>
is it possible to use unstable nixos configuration?
<eyJhb>
infinisil: I am always in doubt, if -dev is for the development of Nix/NixOS
<jazmit>
@simpson I see, I'll think about that. I tried out using fetchGit with url = "./." which fails, but using a path literal url = ./. works. But from my understanding, the path literal pulls in the entire contents of the directory as a single derivation? Could that become time-consuming?
multun has quit [Read error: Connection reset by peer]
<drag0nius>
also i wonder if it makes sense to link 3 nixos instances running on raspberry with nix-serve binary caches?
<drag0nius>
so when i build something locally i'd have it on all 3 at once
<evanjs>
jazmit: there are ways to filter that stuff out
<jazmit>
@simpson And I'd be pulling in god-knows-what temporary files and unmodified changes from a dev workstation, that would change the derivation hash... so no good
<simpson>
jazmit: OTOH, building from a dirty working tree is a common pattern. A possible solution is to make a subdirectory with just your nixops layouts, and another subdirectory with just your nginx app.
<evanjs>
There are other builtins in nix, but this one seems to be more feature-complete, and I have been trying to use it whenever possible
<jazmit>
It's just a bit weird that I can do 'git clone ./some/relative/path' but it doesn't work in nix, git-prefetch-nix doesn't seem to like relative paths either
<simpson>
Well, you're still building a mental model for how Nix works. Once you grok Nix's patterns of operation, then you'll have an easier time of it.
<jazmit>
@simpson @evanjs thanks for your help, I'll do some experiments with your ideas
<evanjs>
That includes: an easier time of either getting things working idiomatically... or working around the limitations in creative ways :P
<evanjs>
Like this project I now have in CI that is checked out before running crate2nix... from the CI... :P
<drag0nius>
how can i switch nixos to some specific generation? not the last one
cap_sensitive has joined #nixos
<evanjs>
like "nix-env {--switch-generation | -G} {generation}"?
<evanjs>
(see nix-env --help)
<evanjs>
"This operation makes generation number generation the current generation of the active profile. That is, if the profile is the path to the active profile, then the symlink profile is made to point to profile-generation-link, which is in turn a symlink to the actual user environment in the Nix store."
<cap_sensitive>
Hi, How do I set a binary substitution on install time?
<drag0nius>
@evanjs i mean for the whole nixos, not just nix
<drag0nius>
i've got some invalid binary cache entries with wrong public keys added
<drag0nius>
and need to rollback before rebuild
<evanjs>
I mean there's activate I think
ManiacOfMadness` has joined #nixos
<evanjs>
e.g. /nix/var/nix/profiles/system-1472-link/activate
jazmit has quit [Remote host closed the connection]
<evanjs>
I think you can just run the activate script under a given generation? (somebody tell me if I'm wrong lol)
<evanjs>
from one such script: # Make this configuration the current configuratio
<evanjs>
# (which is a symlink to the store), /run/current-system is still
<evanjs>
etc
erasmas has joined #nixos
alp has quit [Remote host closed the connection]
ddellacosta has joined #nixos
<ScottHDev4>
Hello, I've upgraded my system and home-manager to nix-channel unstable and now I have a few things going wrong with KDE. First, I don't have any desktop. Everything works except the desktop (which includes my wallpaper and the possibility to draw rectangles with the mouse).
<iwq>
nix used to recommend me a package to install if the command i typed is not installed, it stopped doing that for some reason, how do i get it back?
zupo has joined #nixos
never_released has quit [Remote host closed the connection]
<drag0nius>
what would be way to go for managing differences between different nixos nodes configurations? eg. one is running the server and 2 are running clients
never_released has joined #nixos
metreo has joined #nixos
<lunik1>
,locate bin dig
<{^_^}>
Found in packages: dnsutils.dnsutils
<lunik1>
iwq: you can do that, but I don't know about reccomendations
<iwq>
^how does this work? is the bot open sourced somewhere?
titano has quit [Ping timeout: 240 seconds]
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<{^_^}>
[nixos-weekly] @domenkozar pushed 2 commits to master: https://git.io/JJAcz
<infinisil>
,locate
<{^_^}>
Use ,locate <filename> to find packages containing such a file. Powered by nix-index (local installation recommended) https://github.com/bennofs/nix-index
<infinisil>
iwq: ^
shibboleth has quit [Remote host closed the connection]
<{^_^}>
#26561 (by ElvishJerricco, 3 years ago, open): "haskellPackages.extend" and "haskellPackages.override" are incompatible
shibboleth has joined #nixos
<evanjs>
"If you use extend to change stuff like the package set, it will remove override, preventing you from doing things like overriding the GHC used, or the all-cabal-hashes."
captn3m0- has joined #nixos
captn3m0 has quit [Ping timeout: 260 seconds]
jazmit has joined #nixos
<bennofs[m]>
evanjs: i am not 100% up-to-date with the interactions of various override mechanisms right now, but what probably works is putting the overrides into their own overlay and stacking that overlay on top?
<bennofs[m]>
ah no wait that has the same problem since you'd need to do super.haskellPackages.override...
<jazmit>
@simpson @evanjs FYI I eventually found a workaround so simple I am banging my head I didn't think of it straightaway.. fetchGit { url = ./.git; rev = <whatever> }, this just brings in the .git directory which is exactly what we want anyway...
<bennofs[m]>
evanjs: ah, did that work? seems like it should
<evanjs>
it _seems_ like it...
<evanjs>
should work I mean, but
<evanjs>
error: undefined variable 'overrideSrc' at /etc/nixos/config/new-modules/x/wm/xmonad.nix:39:24
<evanjs>
why lol
never_released has quit [Remote host closed the connection]
<bennofs[m]>
i guess that makes sense, where does overrideSrc come from in that overlay?
<jazmit>
@simpson I first tried the 2-repo solution you recommended, but ran into issues because the repo is private and nix doesn't seem to access user ssh keys when building containers..
proofofkeags has quit [Ping timeout: 260 seconds]
never_released has joined #nixos
<jazmit>
@simpson thanks again for your help it is appreciated
ManiacOfMadness` has joined #nixos
<evanjs>
erm I switched only the xmonad-contrib back to what I had in my config previously. And also renamed `self: super:` in the recommended snippet to `hself: hsuper` so that worked with taffybar overlay from NickHu
<srhb>
adam_: (According to the docs, ... "Some plugins require overrides in order to function properly. Overrides are placed in [overrides.nix](/pkgs/misc/vim-plugins/overrides.nix). Overrides are most often required when a plugin requires some dependencies, or extra steps are required during the build process.")
<adam_>
right, but I am working on things locally right, so I can't really follow that
<adam_>
I am creating a vim-plugins folder within my ~/.config/nixpkgs/
<adam_>
then inside there I created a overrides.nix
meh` has quit [Quit: I don't want to live on this planet anymore.]
<adam_>
then within my ~/.config/nixpkgs/home.nix under vim-plugins I want I import my plugin
<adam_>
I'll upload what I have to a repo. Give me 1 minute
<srhb>
adam_: Sure.
<adam_>
Actually I'll simlify it and inline the vim override to the home.nix and just share that
<adam_>
that is my home.nix where I am trying to get coc-vimlsp
johnnyfive has quit [Quit: I quit now.]
johnnyfive has joined #nixos
Pidgeotto has joined #nixos
Pidgeotto has quit [Excess Flood]
<adam_>
I am getting an error saying attribute 'buildVimPluginFrom2Nix' missing at /nix/store/.../nixos/lib/modules.nix
<srhb>
adam_: OK, so, home.nix is a NixOS module
Pidgeotto has joined #nixos
Pidgeotto has quit [Excess Flood]
<srhb>
(or well, a home-manager module. Same for the purpose here, really)
<srhb>
adam_: While it is a function, the argset has some very specific contents
<srhb>
adam_: That is, config, pkgs, lib
Pidgeotto has joined #nixos
Pidgeotto has quit [Excess Flood]
<srhb>
adam_: What you are implying with your argset is that it contains bulidVimPl... and nodePackages
<srhb>
adam_: It does not!
<srhb>
adam_: You may have thought so because the argset in a number of package expressions look like they will conjure just about any package for you, and they will
<srhb>
adam_: But this is a product of their caller, namely callPackage.
<srhb>
adam_: NixOS modules take a very distinct form, and they are not called with callPackage, but composed together in the module system
<srhb>
adam_: tl;dr: Get nodePackages and buildVimPluginsFrom2Nix from your `pkgs` attribute, and scrap the others from your top level argset.
<adam_>
so is there a way to use the master version as opposed to unstable
<srhb>
adam_: What does `nix-build nixos.vimPlugins.coc-vimlsp` say?
<srhb>
adam_: Oh, hang on, your unstable is just too old :)
<adam_>
error: getting status of '/home/adam/.config/nixpkgs/nixos.vimPlugins.coc-vimlsp': No such file
<adam_>
or directory
<adam_>
I don't mind living on the bleeding edge haha
<adam_>
worst case I can rollback haha
<adam_>
Btw do I have to do garbage collection for home manager generations and nixos generations seperately
drakonis1 has quit [Client Quit]
<srhb>
adam_: Upgrade your channel. And yes, my command there was wrong. I meant `nix build` not `nix-build`
drakonis1 has joined #nixos
<srhb>
I'm juggling too many versions of nix...
<adam_>
Okay I am running nix-channel --update
<srhb>
adam_: iirc home-manager can be used as a NixOS module but I'm not sure if that means its generatios will actually be joined with your system generations. I think it should? Maybe someone will correct me.
<adam_>
okay for some reason nix-channel --list only lists home-manager
<adam_>
I was expecting unstable to be there too right
<nate48423>
denaro and the american government is getting my human brain and i go through things like no sleep, not comprehending, changing taste of food. please tell your world leaders i dont want amaerica to get my human brain and its serious terrorism going on in the country with denaro chips inside of people
<notgne2>
uh
<bqv>
drakonis: dotnet works, but good luck getting a full solution building through nix
<bqv>
my little packagereference: nuget is pain
fendor has quit [Remote host closed the connection]
eoli3n_ has joined #nixos
noonien has joined #nixos
<noonien>
hello folks
<noonien>
does anyone have a multi-drive luks encrypted nixos server by any chance?
Peter_Storm has quit [Quit: Connection closed for inactivity]
veleiro has joined #nixos
msuperdock has joined #nixos
<msuperdock>
Can someone help me with a shell.nix issue? I've always used the pattern `(pkgs.haskellPackages.callPackage ./default.nix {}).env`, but now I'd like to add some buildInputs (like `cabal-install`). I tried wrapping the derivation in a call to overrideAttrs, but cabal still wasn't available in the resulting shell.
pfr has joined #nixos
sangoma has quit [Ping timeout: 246 seconds]
<infinisil>
msuperdock: You need to use .env.overrideAttrs (old: ...)
<msuperdock>
Ah, ok--will try that now.
<msuperdock>
infinisil: That worked perfectly, thank you!
<infinisil>
:)
<msuperdock>
infinisil: is there a simple explanation why modifying the derivation itself doesn't work? I checked the resulting derivation and the `buildInputs` field under `env` does update like I'd want it to.
<{^_^}>
[nixpkgs] @SCOTT-HAMILTON opened pull request #95818 → semantik: Init at 1.2.5 → https://git.io/JJAzH
Darkmatter66 has joined #nixos
Darkmatter66_ has quit [Ping timeout: 240 seconds]
<{^_^}>
[nixpkgs] @matthewbauer merged pull request #95129 → mkDerivation: use `Generic` as system name for Redox in cmakeFlags → https://git.io/JJDQH
<{^_^}>
[nixpkgs] @matthewbauer pushed 2 commits to master: https://git.io/JJAzA
<das_j>
are there any example out-of-tree modules built for nixos? I found wireguard but their makefiles do a lot more that I expected
<das_j>
current build process is `make -C $dev/lib/modules/*/build M=$PWD/module modules`
malook has joined #nixos
turlando has quit [Ping timeout: 265 seconds]
matthuszagh has joined #nixos
<matthuszagh>
i'm trying to add flake inputs by programmatically creating a set and then combining this set with my other inputs
<matthuszagh>
i can post the whole thing if you want, but didn't want to overwhelm
<matthuszagh>
infinisil: paste bin is above, thx
<typetetris>
Can I use utf8 in nix files?
<bqv>
safer to not
<matthuszagh>
bqv: what's the problem with using a let?
<infinisil>
typetetris: Do you know what utf8 is?
msuperdock has quit [Remote host closed the connection]
<bqv>
matthuszagh: everything outside the outputs attr is "technically nix", not nix
<bqv>
no guarantees that it works like normal nix, but it sure looks like it
<typetetris>
infinisil: Yes and I get those errros: `UnicodeEncodeError: 'ascii' codec can't encode character u'\xe4' in position 1603: ordinal not in range(128)` from nixops though.
fendor has joined #nixos
<bqv>
matthuszagh: so the fact that it doesn't work doesn't surprise me at all
<matthuszagh>
bqv: hm ok i don't follow. what is "technically nix" but not nix?
<matthuszagh>
i can't just use anything built in?
malook has quit [Quit: malook]
<bqv>
just move the let
<matthuszagh>
bqv: to inputs = let ...?
<bqv>
wait, you're trying to generate inputs with nix?
<bqv>
no, that will not work
<bqv>
that will definitely, definitely not work
<matthuszagh>
bqv: haha ok. yeah i appreciate it's not normal. but out of curiousity what's the problem with it?
<infinisil>
typetetris: Well, the question "Can I use utf8 in nix files?" doesn't make a lot of sense, because utf8 is a file encoding, it can't be used "within" a file
<bqv>
matthuszagh: everything outside the outputs attr is "technically nix", not nix
<bqv>
no guarantees that it works like normal nix, but it sure looks like it
<typetetris>
infinisil: yeah sorry. So can nix/nixops read nix files encoded in utf8? Seems like nixops can't.
<matthuszagh>
bqv: yeah i saw that comment the first time, but i still don't know what "technically nix" not nix means...
<das_j>
bqv: So `inputs = import ./inputs.nix` won't work?
shabius_ has quit [Quit: Leaving]
<typetetris>
infinisil: Makes it impossible to have nixops key files encoded in utf8 with unusual characters in them.
<bqv>
if nix.exe can't read your flake.nix and see in almost literal verbatim { inputs.<yourinput>.url = "somestring"; } it will not use that input
Extends has joined #nixos
<bqv>
normal nix eval doesn't start until the outputs attr is hit
<bqv>
if you want more details, read the nix source. the best advice i can give you is just don't try and be clever outside the outputs attr
<infinisil>
typetetris: Not sure, but from the error you get it appears it can't
<matthuszagh>
bqv: ok, so i have to specify everything explicitly, got it. thanks for clarifying
<das_j>
Thanks. I won't have to waste my time on flakes
<das_j>
bqv++
<{^_^}>
bqv's karma got increased to 18
<matthuszagh>
bqv++
<{^_^}>
bqv's karma got increased to 19
user_0x58 has quit [Ping timeout: 260 seconds]
user_0x58 has joined #nixos
cole-h has quit [Quit: Goodbye]
<typetetris>
infinisil: nixops from nixos-20.03 still uses python 2 used a development version with python3 and it worked now.
niso has quit [Ping timeout: 240 seconds]
shabius has joined #nixos
niso has joined #nixos
cole-h has joined #nixos
cap_sensitive has quit [Ping timeout: 240 seconds]
rogue_koder_ has quit [Quit: Konversation terminated!]
<energizer>
cat ~/.config/nixpkgs/config.nix. -> {allowBroken=true; allowUnfree =true;}. `nix run nixpkgs.litecli` -> `is marked as broken, refusing to evaluate.` how to fix?
<cole-h>
Are you using flakes?
lordcirth has quit [Ping timeout: 244 seconds]
<energizer>
no
Peter_Storm has joined #nixos
kaliumxyz has joined #nixos
metreo has quit [Quit: Leaving.]
<simukis_>
what is the correct way, given `pkg.propagatedBuildInputs` to compute the list with all of the build inputs that come through this attribute? (i.e. the fixpoint of tree traversal or whatever)
matthuszagh has left #nixos ["ERC (IRC client for Emacs 27.1)"]
<stteevveen>
There's something I don't understand with derivations. I have a derivation defined in a default.,nix which then calls callPackage on a derivation.nix that contains more details. I wish to use this derivation in another other one. Int eh buildInputs field I then have [ (import ../myfolder/default.nix) ] . But it complains with : error: while
<stteevveen>
evaluating the attribute 'buildInputs' of the derivation 'cling' / cannot coerce a set to a string . Does it mean that buildInputs expects a list of string, in which case, what do this strings stand for, if not derivations produced by mkDerivations or others ??
o1lo01ol1o has quit [Remote host closed the connection]
<zangi>
can I use `nixos-rebuild` with `-I nixos-config=/path/to/configuration.nix`?
<Extends>
yes
mallox has quit [Quit: WeeChat 2.9]
gustavderdrache has quit [Quit: Leaving.]
o1lo01ol1o has joined #nixos
__monty__ has quit [Quit: leaving]
c74d has joined #nixos
<c74d>
lassulus: well, `(import <nixpkgs/nixos> {}).config` worked to get my evaluated NixOS configuration, so thanks
<c74d>
but then what I was trying to do with it (build a VM by running `nixos-rebuild build-vm` with a different configuration that pulls some data from my main configuration) ate so much memory that I saw my X server run OOM and crash for what I think was my first time, taking my user session with it :-)
<stteevveen>
If I may rephrase my issue: mySecondDerivation = stdenv.mkDerivation { llvm = import ../llvm/default.nix ; buildInputs = [llvm]}; I simplify to the minimum, what's wrong with that ? where is a string coecion from a set needed in this expression that produces the error? the default.nix file in question of myFirstDerivation follows the callPackage
<stteevveen>
patterns, so it only calls callPackage
morr has quit [Quit: WeeChat 2.7.1]
morr has joined #nixos
<typetetris>
Does someone use hspec-discover with nix in a haskell project? In a shell, cabal complains hspec-discover would not contain the executable?
<Church->
Oh hey, my first PR finally merged. Nice
<genevino>
weird question probably: does anyone of you use pulseaudio with a jack sink? i get jack working nicely and can use it from within renoise, but i'm struggling to let pulseaudio use it.