<infinisil>
PolarIntersect: You need to use something like blueman or bluetoothctl to connect to it
redj has quit [Remote host closed the connection]
Fare has quit [Ping timeout: 240 seconds]
troydm has joined #nixos
averell has joined #nixos
Ariakenom has quit [Quit: Leaving]
alexteves has quit [Remote host closed the connection]
matthewbauer has quit [Ping timeout: 256 seconds]
redj has joined #nixos
jperras has joined #nixos
<catern>
dear lazyweb, does fetchPypi work with pre-release versions published on pypi?
asuryawanshi has joined #nixos
jperras has quit [Ping timeout: 256 seconds]
<catern>
i.e. can I upload the latest version of my Python library as a pre-release on pypi, make a Nix package for it, and check that everything works before I have to actually mark it as officially released
<samueldr>
though it may not be the answer you're looking for
<catern>
fragamus: by downloaded do you mean installed with Nix?
<fragamus>
oh I was expecting something more um functional
<fragamus>
no it is not a pkg
<mjrosenb_>
Are nix's configuration features (e.g. setting up nginx) available when not using nixos?
<samueldr>
it probably was a way to start up the discussion :)
<fragamus>
:) yes
<catern>
fragamus: the most functional way to do it would be to make a tiny package wrapped around it, fwiw ¯\_(ツ)_/¯
<catern>
that may be too much work so just exporting the PATH is fine
<fragamus>
ok I'm not above it
<catern>
mjrosenb_: in the most direct sense, yes: you can build the nixos configuration files (nginx.conf, systemd unit files) while not running nixos
<catern>
and even there are some things that work well off of nixos - like, I've used the container-building framework which is technically part of nixos, while not on nixos
trevthedev has joined #nixos
<catern>
but you would have to do some manual work to get the configuration files hooked up right with your non-nixos distro/process starting stuff
<samueldr>
I have used the systemd service generation tooling from nixos outside nixos
<mjrosenb_>
right, I'm ok having to start nginx manually. since I'll have to do that no matter what if I install it from nix.
<samueldr>
you probably can generate the service, then systemctl link the service file even
<samueldr>
* some assembly required
<mjrosenb_>
well, this is on Darwin, so there's no systemd
<samueldr>
* more assembly required ;)
fragamus has quit [Ping timeout: 256 seconds]
<mjrosenb_>
ok, so I need to put the config into configuration.nix; where should that be located? I have ~/.config/nixpkgs/config.nix
doyougnu has quit [Ping timeout: 240 seconds]
<samueldr>
I don't actualy know
<samueldr>
the things I did with were to use the *functions* that build systemd services
<Oogieboogie>
I am installing nixos by the manual and have partitioned my disk via fdisk (bios) as per the manual, set the partitions as ext4 and swap as per manual. I am at #9 Mounting the target file system (mount /dev/disk/by-label/nixos /mnt) but I keep running into errors.
orivej has quit [Ping timeout: 260 seconds]
<vaibhavsagar>
I think the build of a certain package was disabled in Hydra, where can I re-enable it?
ndowens04 has joined #nixos
<Oogieboogie>
So if someone can tell me where I went wrong and how to correct it, i'd appreciate it.
<clever>
Oogieboogie: it only works by-label if you have set a label with you ran mkfs.ext4
<Oogieboogie>
i set the -L as nixos
<clever>
Oogieboogie: what error does it fail with?
<Oogieboogie>
im following the manual. So where it suggested that I do it as nixos i just left it.
<Oogieboogie>
mount: /mnt: special device /dev/disk/nixos does not exist.
<clever>
Oogieboogie: and what is the exact command you ran?
<Oogieboogie>
sorry, im copying it here from terminal.
<Oogieboogie>
mount /dev/sda1/nixos /mnt
<Oogieboogie>
mount: /mnt: special device /dev/sda1/nixos does not exist (a path prefix is not a directory).
<clever>
Oogieboogie: sda1 is not a directory, so you cant do /dev/sda1/nixos
<clever>
you must do `mount /dev/sda1 /mnt`
wangoe has quit [Ping timeout: 256 seconds]
<Oogieboogie>
without the -L?
<clever>
the mount command doesnt accept -L
<Oogieboogie>
when i tried that it gave this: mount /dev/sda1 /mnt
<Oogieboogie>
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sda1, missing codepage or helper program, or other error.
<clever>
blkid /dev/sda1
<Oogieboogie>
it provides the part uuid
<Oogieboogie>
should i just try mounting that way?
<clever>
it should also give a filesystem type
<clever>
it sounds like you never formatted sda1
<clever>
which would also explain why it cant find any FS with the label nixos
<clever>
Oogieboogie: did the drive originally have LVM enabled?
Fare has quit [Ping timeout: 260 seconds]
wangoe has joined #nixos
lassulus_ has joined #nixos
lassulus has quit [Ping timeout: 255 seconds]
lassulus_ is now known as lassulus
<Oogieboogie>
Nope. It's weird. I couldn't redo it properly either. It ordered sda1 and sda2 contrary to what I wanted, and so I accepted that, wrote the sda2 as my / and then it told me my 8G /dev/sda1 only had so many kb...so I redid it in cfdisk instead. Going to see how that goes...
<clever>
did you run `fdisk /dev/sda` or `fdisk /dev/sda1` ?
<Oogieboogie>
*NOTE* the computer im installing this on, does have some hardware glitches...but I don't see how that should have affected this...but one never knows
<Oogieboogie>
/dev/sda
deepfire` has joined #nixos
redj has quit [Read error: Connection reset by peer]
redj has joined #nixos
asuryawanshi has joined #nixos
jackdk has quit [Ping timeout: 276 seconds]
justbeingglad has joined #nixos
asuryawanshi has quit [Ping timeout: 240 seconds]
Wharncliffe has quit [Quit: Lost terminal]
semilattice has quit [Remote host closed the connection]
justbeingglad has left #nixos [#nixos]
nallar has joined #nixos
Guanin has quit [Ping timeout: 248 seconds]
Ross has quit [Ping timeout: 240 seconds]
nallar is now known as Ross
andreabedini has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jackdk has joined #nixos
stepcut has quit [Remote host closed the connection]
stepcut has joined #nixos
trevthedev has joined #nixos
ndowens04 has quit [Read error: No route to host]
Guanin has joined #nixos
lanelet has joined #nixos
reinzelmann has joined #nixos
trevthedev has quit [Quit: WeeChat 2.0]
Guanin_ has joined #nixos
Guanin has quit [Ping timeout: 248 seconds]
inquisitiv3 has joined #nixos
mahalel_ has quit [Remote host closed the connection]
reinzelmann has quit [Quit: Leaving]
stepcut has quit [Remote host closed the connection]
jperras has joined #nixos
asuryawanshi has joined #nixos
MercurialAlchemi has joined #nixos
jperras has quit [Ping timeout: 256 seconds]
<johnw>
I have sbt in the 'paths' of a buildEnv, but it's not showing up in my PATH
<johnw>
is there anything else I have to do for nix-shell to add that to the PATH?
spear3 has joined #nixos
asuryawanshi has quit [Ping timeout: 256 seconds]
<teto1>
firefox stopped working , can't load any webpage, create tab/delete tab and once again there is no manpage available aaahh
spear3 has quit [Client Quit]
<teto1>
trying to load with an alternate profile but firefox -P test returns "Error: Can't find profile directory"
spear3 has joined #nixos
jperras has joined #nixos
spear3 has quit [Client Quit]
Guanin_ has quit [Ping timeout: 240 seconds]
<teto1>
johnw: but if you try to launch it , does it work ?
jperras has quit [Ping timeout: 265 seconds]
<mjrosenb_>
hrm, I cannot figure out how the configuration gets in place for nginx.
Guanin_ has joined #nixos
pie__ has joined #nixos
<neonfuz>
any caveats installing nixos to an sdcard?
<neonfuz>
Which bootloader / filesystem should I use?
jmeredith has quit [Quit: Connection closed for inactivity]
jperras has joined #nixos
<bluej774>
Is there a script or something somewhere that makes the tar.bz2 packages of nix builds?
jb55 has quit [Quit: WeeChat 2.1]
jD91mZM2 has joined #nixos
igo95862 has quit [Quit: igo95862]
<jD91mZM2>
Ugh GNOME seahorse is failing to add a keyring with "Error: No such secret collection: path /", and the fix suggested by a similar GitHub issue doesn't work
<jD91mZM2>
I wish there was a good alternative to GNOME Keyring but I have yet to find one apart from perhaps kwallet
<{^_^}>
[nixpkgs] @marsam opened pull request #42360 → influxdb: supports darwin → https://git.io/f8aLU
FRidh has joined #nixos
sir_guy_carleton has quit [Quit: WeeChat 2.0]
endformationage has quit [Quit: WeeChat 1.9.1]
aarvar has joined #nixos
periklis has joined #nixos
hyper_ch2 has joined #nixos
Lisanna has joined #nixos
reinzelmann has joined #nixos
<Lisanna>
if I have a makeOverridable as the result of something loaded with callPackage, which one will the result's override attribute override?
andreabedini has quit [Read error: Connection reset by peer]
<Lisanna>
default values for arguments don't get included with @ notation?? ))):
andreabedini has joined #nixos
<svarog>
is there any way to force nixos-rebuild to only use binary packages and never build from source? for some reason half the time kicad and llvm seem to be rebuilt from source
<elvishjerricco>
svarog: FWIW, almost any nixos-rebuild you do is going to require building at least something from source; namely etc files and systemd unit files.
<svarog>
oh right
<colemickens>
Does anyone have an example of using buildUserFHSEnv and RustPlatform?
pie__ has quit [Ping timeout: 268 seconds]
ajmccluskey has quit [Read error: Connection reset by peer]
ajmccluskey has joined #nixos
gonz_ has quit [Read error: Connection reset by peer]
gonz_ has joined #nixos
<colemickens>
oh there's already docs for using rust and nix-shell. <3
<{^_^}>
[nixpkgs] @FRidh pushed 3 commits to python-unstable: https://git.io/f8Fko
sorixelle has joined #nixos
fragamus has joined #nixos
asuryawanshi has joined #nixos
voidconf has quit [Ping timeout: 240 seconds]
fragamus has quit [Remote host closed the connection]
jackdk has quit [Ping timeout: 260 seconds]
freeman42x]NixOS has joined #nixos
trevthedev has quit [Ping timeout: 240 seconds]
slyfox has quit [Quit: no need to cry]
logzet has joined #nixos
asuryawanshi has quit [Ping timeout: 264 seconds]
pie__ has joined #nixos
tzemanovic has quit []
asuryawanshi has joined #nixos
periklis has quit [Ping timeout: 245 seconds]
jperras has quit [Ping timeout: 240 seconds]
jensens has joined #nixos
asuryawanshi has quit [Ping timeout: 240 seconds]
periklis has joined #nixos
jD91mZM2 has joined #nixos
asuryawanshi has joined #nixos
jackdk has joined #nixos
spear2 has quit [Ping timeout: 248 seconds]
asuryawanshi has quit [Ping timeout: 256 seconds]
philippD has joined #nixos
slyfox has joined #nixos
jackdk has quit [Ping timeout: 248 seconds]
worldofpeace has quit [Ping timeout: 255 seconds]
worldofpeace has joined #nixos
asuryawanshi has joined #nixos
rardiol1 has quit [Ping timeout: 240 seconds]
agander_ has joined #nixos
bbsl has joined #nixos
agander__ has joined #nixos
knupfer has joined #nixos
hamishmack has joined #nixos
cdepillabout has joined #nixos
patrl has joined #nixos
<bbsl>
i just re-installed nixos (on a diff machine) and nix search and nix-env -qaP does not work unless I prefix them with sudo. I think my paths are messed up?!
mmercier has joined #nixos
agander_ has quit [Ping timeout: 240 seconds]
palo_ has quit [Ping timeout: 240 seconds]
rardiol1 has joined #nixos
michiell2 has joined #nixos
<bbsl>
could someone please try these two commands on their install and see if it differs?: https://pastebin.com/XNfY4jzZ
palo has joined #nixos
palo has quit [Changing host]
palo has joined #nixos
rardiol1 has quit [Remote host closed the connection]
logzet has quit [Ping timeout: 245 seconds]
rardiol1 has joined #nixos
<hyper_ch2>
first provider here offers now 10gbps internet for € 42/m.... I feel so slow now with only 1gpbs
<clefru>
hyper_ch2: I am a salt mobile subscribe... and I got an ad on my phone yesterday. usually I am allergic to sms ads, but this one was for their 10gps @ 39 CHF/month offer.
civodul has joined #nixos
<hyper_ch2>
you're swiss?
<hyper_ch2>
I have a special sunrise contract... QoQa in december usually has specials :)
<clefru>
hyper_ch2: I live in Zürich, not swiss
goibhniu has joined #nixos
patrl has quit [Quit: WeeChat 2.0]
<hyper_ch2>
a second user in switzerland using nixos... what has the world become....
<hyper_ch2>
had init7 for a year now and renewed in may for another year
<clefru>
hyper_ch2: I know at least 3 others :)
<hyper_ch2>
init7 has been solid this far but I'm really pondering about salt next year :)
<hyper_ch2>
if you have salt mobile it's even cheaper :)
<clefru>
gosh, finally I fixed ZFS under v4.16 \o/
<hyper_ch2>
clefru: on nixos?
<clefru>
what a nightmare bug.
<clefru>
hyper_ch2: yes, on nixos.
<hyper_ch2>
I had a look and the initrd looked ok but for some reason it didn't work
<hyper_ch2>
made a PR already?
<clefru>
hyper_ch2: I have a PR against release-18.03.
aminechikhaoui has quit [Ping timeout: 248 seconds]
<clefru>
hyper_ch2: I'll forward port to master. But I'll have breakfast first.
<hyper_ch2>
that's already for master IMHo
<hyper_ch2>
thx for the work
thc202 has joined #nixos
agander has quit [Ping timeout: 268 seconds]
mahalel_ has joined #nixos
mahalel_ has left #nixos [#nixos]
<clefru>
that was a ton of work.
<clefru>
happy that it paid off.
<hyper_ch2>
I hope mic92 will merge it soon :)
<hyper_ch2>
while you're at it... you could now work on 4.18 ;)
pie__ has quit [Ping timeout: 256 seconds]
freeman42x[nix] has joined #nixos
toby1851 has joined #nixos
aminechikhaoui has joined #nixos
agander has joined #nixos
johanot has joined #nixos
<bbsl>
could someone paste the output of their NIX_PATH please? I think mine is borked and I dont know how it is supposed to look :/
kiloreux has joined #nixos
asuryawanshi has quit [Remote host closed the connection]
asuryawanshi has joined #nixos
fragamus has joined #nixos
<Asmadeus>
hmm. mysql_config --include on my system (nixos-unstable and 18.03) has the nix store duplicated e.g. -I/nix/store/al6wkpsrvbpnyhybpgyknm7ndm78b5s1-mariadb-10.2.13//nix/store/al6wkpsrvbpnyhybpgyknm7ndm78b5s1-mariadb-10.2.13/include/mysql
<Asmadeus>
(wondering if something gets rewritten at install)
<Asmadeus>
if not I need to figure why my build and the cached build are different -_-
wangoe has quit [Ping timeout: 276 seconds]
knupfer has quit [Ping timeout: 240 seconds]
Ariakenom has joined #nixos
johanot has quit [Quit: Leaving.]
<Asmadeus>
hmm install with DESTDIR doesn't fuck the path up, so I guess it's something in the build environment that's different
<bbsl>
hyper_ch2: hmm its the same as mine that however when I run nix search it fails with infinite recursion, can you do a ln -l on the nixpkgs part?
<hyper_ch2>
not sure what you mean, please provide full command
<clefru>
hyper_ch2: do you live in ZRH?
<hyper_ch2>
clefru: thanks god no :)
<hyper_ch2>
I just pass through Zurich sometimes when I have to go to Bern
<clefru>
so probably somewhere on the Bodensee
<hyper_ch2>
depends on how you define "somewhere"
* clefru
was thinking about having a nixos meetup at one point.
<hyper_ch2>
I'm just an average computer user :)
<clefru>
one of the nix-ers I know works for a ZRH startup, they use nix for deployment production
<clefru>
*deploying production
<hyper_ch2>
cledrfu: close-by Wil (SG)
<clefru>
got it
<hyper_ch2>
wouldn't call it "somewhere on Lake Constance"
orbekk has quit [Quit: WeeChat 2.0]
<clefru>
hyper_ch2: do you also use ZFS?
orbekk has joined #nixos
<hyper_ch2>
I use native root encrypted zfs
<hyper_ch2>
on office server, home server, notebook, old notebook
<clefru>
hyper_ch2: what do you encrypt it with?
andreabedini has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<hyper_ch2>
native zfs encryption
<clefru>
brave
<hyper_ch2>
not really, Tom did a good job :)
<Asmadeus>
It works well, but I still need to debug why this is so slow on my ol' spinning disks :/
<Asmadeus>
it's seeking like crazy
<teto1>
Asmadeus: you can export out=$PWD/test (and do the same for all outputs)
<hyper_ch2>
too bad the format change was required..... too a little while to just copy it all over into new format
Guanin_ has quit [Remote host closed the connection]
<hyper_ch2>
but the legacy crypto entry will be removed from zfs nix before 2018-09 release
<Asmadeus>
teto1: thanks! any idea how to tell nix-build to not fetch from cache if a derivation with same hash exists? I'm starting to consider changing the hash in the default.nix now...
freeman42]NixOS has joined #nixos
<hyper_ch2>
clefru: and even remote unlocking of native root encrypted zfs works really well
wangoe has joined #nixos
<LnL>
Asmadeus: --check
freeman42x]NixOS has quit [Ping timeout: 260 seconds]
<hyper_ch2>
this afternoon I have to go a client in Winterthur... still better than Zurich city ;)
<Asmadeus>
I also can't find --pure documented in any of the three many pages, could you confirm it's the same as setting nix.useSandbox = true in the system config?
<goibhniu>
hi fragamus, for running executables, you can try steam-run
<Asmadeus>
s/many page/man page/
<clefru>
hyper_ch2: I would wish that ZFS shipped better SSD support (persistent L2ARC, TRIM) instead of encryption
<fragamus>
where is steam-run found
<clefru>
also online defragmentation is huge missing feature for ZFS
<hyper_ch2>
clefru: encryption is a must have
<hyper_ch2>
everything else is just nice to have
<{^_^}>
[nixpkgs] @clefru opened pull request #42362 → Force positive stackprotector detection on x64 for Linux >=4.16 → https://git.io/f4Dnh
<fragamus>
goibhniu: my situation is that I am running a different executable and that is the one that launches the 32 bit executable via a zsh shell that it invokes. I wonder if steam-run can make that work.
<hyper_ch2>
clefru: as said before, I'm just an average computer user
<Asmadeus>
yaay. "error: derivation '/nix/store/hmbd8xg08hd5bwhw0d36193g9zakadym-mariadb-10.2.15.drv' may not be deterministic: output '/nix/store/ypsgl51zvzlnzmrz3msdbnx3yv1gmpbi-mariadb-10.2.15' differs"
<Asmadeus>
so, is --pure the same as nix.useSandbox ?
<LnL>
no, sandboxing isn't possible with nix-shell
<Asmadeus>
this isn't nix-shell but nix-build
<LnL>
--pure is only a thing with nix-shell
<Asmadeus>
ah. nix-build accepted the option so I thought it might work, but as said earlier couldn't find it in any man so that might be why
<LnL>
as for that error, not everything in nixpkgs is binary reproducable
<Asmadeus>
Well, no, but I actually would like to figure why mysql_config --include is wrong in the cache but not when I build msyself
<Asmadeus>
or temporarily say sod the cache and use a local build instead, but --check doesn't help me with that
<LnL>
there is no nix-shell binary :)
<Asmadeus>
fair enough, it's helpful just knowing it's not the option I want, I'll set nix.useSandbox and rebuild with nix-build for now
<LnL>
you can use --option substituters '' to force a local build if it's not in your store yet
<Asmadeus>
check, that'll be useful as a workaround, I can always delete the cached output from the store
<LnL>
or nix-build -E 'with import <nixpkgs> {}; mysql.overrideDerivation (drv: { REBUILD = 1; })' to change the drv in a way that won't actually impact the result
fragamus has joined #nixos
justbeingglad1 has joined #nixos
<Asmadeus>
that second change will change the destination directory though, won't it ?
<LnL>
yeah, it's a completely separate drv/package
<Asmadeus>
hmm build after setting sandboxing to true also has the correct path in mysql_config, I'm getting really curious what's up with that
<LnL>
I've run into a case once where the build would break if the store path hash started with a number :p
<Asmadeus>
sounds like fun :)
<Asmadeus>
I'm rebuilding with the same hash here though!
<LnL>
so you couldn't actually test the fix
<Asmadeus>
Well you could try changing things until a number-hash pops up, but it's a tad annoying
<Asmadeus>
I'm rebuilding the same thing straight from nixpkgs, but in the cached mariadb mysql_config --include's path is wrong (duplicate /nix/store/.../nix/store/.../include) and in my local build it's correct
orivej has joined #nixos
<Asmadeus>
I'm actually surprised it doesn't break more stuff, I would have expected quite a few packages use that to set their cflags so these would fail building?
rschm has joined #nixos
<LnL>
that's weird
Twey has joined #nixos
<LnL>
the reverse sometimes happens, where builds find 'system' packages of another distro when building locally
<LnL>
a nix build environment will do configure the compiler's CFLAGS for you so builds that do this might will probably find it anyway
<Asmadeus>
oh right, I had forgotten about that
<Asmadeus>
ah, but the trick is mysql_config --include doesn't point to package/include but package/include/mysql, wouldn't that be different from the nix-build cflags?
<{^_^}>
[nixpkgs] @dotlambda pushed 6 commits to python-unstable: https://git.io/f4DWd
<Asmadeus>
anyway, off for dinner while this re-re-rebuilds (not helping when that takes over half an hour), I'll fill an issue if I can't finish understanding why the build is different locally and on cache tonight
<LnL>
oh, the stdenv only adds $dev/include so that wouldn't be enough unless <mysql/mysql.h> is used
<Asmadeus>
thanks again
hyper_ch2 has quit [Quit: Page closed]
testuser has joined #nixos
fragamus has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<testuser>
hi, how can I specify multiple packages when using "nix-shell "<nixpkgs>" -A glibc" ; I would also like some other libraries in which I'll be developing and I need the environment, where I can compile things easily?
justanotheruser has quit [Read error: Connection reset by peer]
<hodapp>
https://github.com/NixOS/nixpkgs/issues/24256 - so is this indicating to me that it's *not* a bug that I can run this app inside nix-shell, but can't if I do nix-build and call it like ./result/whatever?
justanotheruser has joined #nixos
ThatDocsLady has quit [Quit: Leaving]
NightTrain has joined #nixos
<ben>
that's tragic :<
<hodapp>
hrm?
humanoyd has joined #nixos
andymandias has quit [Ping timeout: 245 seconds]
ThatDocsLady has joined #nixos
<{^_^}>
[nixpkgs] @FRidh pushed to python-unstable « python.pkgs.rlp: mark as broken »: https://git.io/f4D2k
justanotheruser has quit [Read error: Connection reset by peer]
<ben>
yeah i mean idk i guess if they say it's not supported then it's not a bug, but i'd really expect that sorta thing to just magically work
<ben>
but then i also expect too much magic in other places
<hodapp>
I almost never run anything through nix-build
justanotheruser has quit [Read error: Connection reset by peer]
iyzsong has joined #nixos
justanotheruser has joined #nixos
fendor has joined #nixos
brandon_ has joined #nixos
<{^_^}>
[nixpkgs] @orivej pushed to master « libcpuid: clean up »: https://git.io/f4DMZ
bbarker has quit [Ping timeout: 240 seconds]
justanotheruser has quit [Read error: Connection reset by peer]
justanotheruser has joined #nixos
swflint has joined #nixos
justanotheruser has quit [Read error: Connection reset by peer]
justanotheruser has joined #nixos
justanotheruser has quit [Read error: Connection reset by peer]
knupfer has joined #nixos
blankhart has joined #nixos
johanot has quit [Quit: Leaving.]
blankhart has quit [Read error: Connection reset by peer]
blankhart has joined #nixos
<{^_^}>
[nixpkgs] @Assassinkin opened pull request #42372 → pythonPackages.sklearn-deap: init at 0.2.2 → https://git.io/f4DDp
joepie91_to_go_ has joined #nixos
joepie91_to_go_ is now known as joepie91_to_go
<joepie91_to_go>
if somebody's up for a cheap-and-easy fix, there's a breaking bug in our version of bluez that seems to entirely break bluetooth after resume in 18.03 (issue did not exist in 17.09), and an upstream patch exists: https://github.com/NixOS/nixpkgs/issues/41912#issuecomment-399446774
<joepie91_to_go>
should probably be applied to the one in nixpkgs, if it isn't already
AluisioASG has joined #nixos
<joepie91_to_go>
:p
asuryawanshi has quit [Ping timeout: 264 seconds]
jmeredith has joined #nixos
<tobiasBora>
Hello,
<tobiasBora>
I'd like to know, how could I install imapnotify, which is a node package?
alasi has quit [Quit: Connection closed for inactivity]
semihonest has quit [Quit: WeeChat 2.1]
lsix has quit [Ping timeout: 256 seconds]
ryantrinkle has joined #nixos
fragamus has joined #nixos
stepcut has joined #nixos
xy2_ has joined #nixos
lsix has joined #nixos
knupfer has quit [Ping timeout: 255 seconds]
stepcut has quit [Remote host closed the connection]
mmercier has quit [Ping timeout: 240 seconds]
erasmas has joined #nixos
orivej has quit [Ping timeout: 260 seconds]
<{^_^}>
[nix] @issmirnov opened pull request #2247 → Add helpful pointers in post install script. → https://git.io/f4Dbt
<tobiasBora>
infinisil: well first if I look at nodePackages, it means that somehow I know that my program is using node, and usually you don't expect that the user know which language is used for all your programs
Lisanna has quit [Quit: Lisanna]
<tobiasBora>
and also, even if I run "nix-env -qaA nixpkgs.nodePackages | grep imapnoti
<tobiasBora>
then I get "node-imapnotify-0.4.1", while I'd like nodePackage.imapnotify
<tobiasBora>
So there is no way to get directly "nodePackage.imapnotify", if I don't know anything about my package except that the name contains "imapnotify" in it?
<Baughn>
Most applications should be available under pkgs, since as you point out the user doesn't care what language they're in. Libraries typically should not be, because "installing" a library has no effect.
<Baughn>
That being said, I don't think it's packaged.
<cbarrett>
I'm setting up a nix-ified development environment for my team. if I want to add an impure dependency (for instance the IDE we use) do I just do ln -s /path/to/Impure/thing out
<Baughn>
Oh, it is, but apparently only as an automatic npm package thing. If you want it to be available as a program, that's just a PR away.
periklis has quit [Ping timeout: 255 seconds]
hiroshi has quit [Ping timeout: 240 seconds]
<inquisitiv3>
I got some questions for todays reading of the Nix pills.
<inquisitiv3>
What is expressions? There's several mentions that Nix just have expressions and no statements. So what's the difference?
justbeingglad has left #nixos [#nixos]
<bpye>
Does nixos allow for having different firewall allowed ports on different interfaces?
<inquisitiv3>
According the following thread @Stackoverflow expressions is a subcategory of statements. At least in Python.
<__monty__>
I think it really depends on the language. It's mostly a syntactic difference imo.
<Taneb>
inquisitiv3: in Nix, yes
<Taneb>
(although you should try to avoid those unless you really need them)
<inquisitiv3>
Taneb: I thought so.
<inquisitiv3>
So an expression is simple something that returns something.
<inquisitiv3>
Second question.
steell has joined #nixos
<inquisitiv3>
What expressions do I need to end with a semicolon? Is it just after attributes in sets?
<gchristensen>
yes I believe so
<steell>
@inquisitiv3: and let bindings
<gchristensen>
(or after a definition in a let binding)
<inquisitiv3>
And with expressions.
<tobiasBora>
Baughn: I tried 'nix search imapnotify' and I got no output
<Baughn>
Yes, I mentioned that. It's not packaged.
<steell>
is there anything special that needs to be done when installing applications via nix that have the ability to self-update?
<inquisitiv3>
So the answer is that I need to have semicolons after attributes in sets, attributes in `let ... in ...` blocks and `with` expressions?
<tobiasBora>
Baughn: but is there reason not to package it? I mean, I don't use it as a library, but as a real program.
<Baughn>
steell: You need to be aware that said ability won't work.
<Baughn>
tobiasBora: No-one has done it yet.
<steell>
cool, i haven't actually tried it since i didn't want to break things :)
<tobiasBora>
Baughn: what do you mean? Because it's programmed using node, it's not possible to package it as usual, and you don't have choice, you need to to put it into nodePackage (or I completely misunderstood something)
<Baughn>
tobiasBora: It has to go in nodePackages, sure, but you can then wrap/reference that packages in a 'normal' package.
<tobiasBora>
Baughn: oh really? So it means that all the nodePackages should also be referenced into a normal package?
<bpye>
Hm yeah looks like if you want different firewall rules on different interfaces you're on your own huh :(
<Baughn>
tobiasBora: No, only the applications.
<tobiasBora>
Baughn: Hum... Because nodePackages also embeed libraries I guess
<Baughn>
Right.
<infinisil>
inquisitiv3: There really aren't any statements in Nix, everything is an expression
<tobiasBora>
Baughn: and do you have any template to do this wrapper?
<inquisitiv3>
infinisil: I understood that, I just didn't know what the differences was.
<Baughn>
Me? No, never cared about node.
<infinisil>
inquisitiv3: So you understand now?
<tobiasBora>
Baughn: ok thanks
<inquisitiv3>
infinisil: I think so :P
<tobiasBora>
So if anyone knows how to wrap a nodePackage into a real app, let me know!
<Baughn>
Look for pre-existing examples in nixpkgs?
<inquisitiv3>
infinisil: I'm not 100 percent sure, but I think that I'll come to understand it better after doing some more reading into functional programming.
<infinisil>
inquisitiv3: There aren't any statements in purely functional languages, so if you want to learn the difference between statements and expressions you'll only learn that from imperative languages
<{^_^}>
[nixpkgs] @nlewo opened pull request #42380 → libxml2Static: init at libxml2 version (2.9.8) → https://git.io/f4yvh
<inquisitiv3>
infinisil: Hahaha, shows how much I know.
<tilpner>
tobiasBora - How does nodePackages.imapnotify differ from what you refer to as "a real app"?
<inquisitiv3>
infinisil: But I think that I'll understand it better after doing some more reading. At least I know what I can do with Nix lang.
<tobiasBora>
tilpner: well it never appears when I want to search it, and Baughn told me that it's because I should write a wrapper around this app as a "real app"
<inquisitiv3>
infinisil: Now my question is when I should end an expression with a semicolon.
<inquisitiv3>
infinisil: Is it just I after attributes in sets, attributes in `let ... in ...` blocks and `with` expressions?
<infinisil>
inquisitiv3: That's just syntax you need to learn, the parser will let you know when you forgot one
<tilpner>
tobiasBora - So by "a real app" you mean something in the root nixpkgs set? If so, you don't gain anything by doing that, now that you already know where it is
<infinisil>
inquisitiv3: And inherits I guess
<Baughn>
He doesn't, but the next guy does.
<tilpner>
tobiasBora - Then you should look in all-packages.nix for azure-cli, which is an alias for nodePackages.azure-cli
<inquisitiv3>
infinisil: I just prefer knowing what to do and letting the parser know when I do mistakes.
<inquisitiv3>
Otherwise it fells like the shotgun approach, and there's something in me that just doesn't like it.
<tobiasBora>
tilpner: yes sure. But I'm trying to understand nix's politics on this kind of package: if this kind of package should not go in the root of nixpkgs, then we should adapt the search function to be able to search nodePackages apps like other packages. If nodePackages should also have wrapper to an app in the root nixpkgs, then I'm asking how to do that in order to do a PR for imapnotify.
<inquisitiv3>
And I don't want to have unintentional side-effects because I didn't know the syntax.
<symphorien>
inquisitiv3: an expression never ends in a semi colon, but `let identifier = expr; in ` and `{ name = expr; }`
<symphorien>
the semi colon is a separator between things like expressions
<tilpner>
tobiasBora - There's precedent to having aliases in root nixpkgs, so do that, PR it, and see if it gets merged
__Sander__ has quit [Quit: Konversation terminated!]
<tobiasBora>
tilpner: ok thank you
ErikD_ has joined #nixos
<tilpner>
tobiasBora - You can also look at nixpkgs/pkgs/top-level/aliases.nix, not sure what's supposed to go there
<tilpner>
Says it's deprecated, but still has 2018-05 additions
<tobiasBora>
And also, I haven't done it for a while, so I'm not sure how I should proceed
<inquisitiv3>
infinisil: Thanks! Sadly I cant process the parser :P
<{^_^}>
[nixpkgs] @averelld opened pull request #42381 → keepassxc: fix build with qt 5.11 → https://git.io/f4yJl
<ErikD_>
Is there a simple way to completely reset the state of a current installation to a fresh build (e.g., undoing the changes made by nix-env)?
<tobiasBora>
once I cloned the repo, what should I do to only add the cloned repo temporary the time to do my tests?
<inquisitiv3>
If I interpret the filename and context, this is the Nix parser and and the places that mentions ';' shows when the parser need semicolons?
<inquisitiv3>
infinisil: ^
<{^_^}>
[nixpkgs] @averelld opened pull request #42382 → x2goclient: fix build with qt 5.11 → https://git.io/f4yJi
<infinisil>
inquisitiv3: yup, should be rather self explanatory when you search for that where ; can be used
<inquisitiv3>
infinisil: I'm having a hard time understanding the source code. I don't have any experience with parsers, and no knowledge about C++.
<infinisil>
inquisitiv3: So the 5 places where it can be used: asserts, with, attribute definition, and inherits
lsix has quit [Quit: WeeChat 2.0]
<inquisitiv3>
infinisil: Thanks! That was very helpful! :)
szicari has joined #nixos
<infinisil>
inquisitiv3: I don't understand neither C++ or that parser language, but just look at the words around the ';''s
<{^_^}>
[nixpkgs] @averelld opened pull request #42383 → rstudio: fix build to use compatible boost version → https://git.io/f4yUf
<inquisitiv3>
infinisil: I think that I understand your example. The situation that confused me the most is nested functions ("currying"?). I guess the author just have the parenthesis there to make things more clear?
<inquisitiv3>
E.g. § 5.2 in the Pills.
agander_ has quit [Ping timeout: 248 seconds]
<infinisil>
inquisitiv3: Yeah
<infinisil>
a: (b: a * b) is the same as a: b: a * b
<inquisitiv3>
infinisil: I'm very grateful for the help!
<bpye>
clever: Would that allow me to override the ExecStart of a serviceConfig?
<infinisil>
:)
<inquisitiv3>
infinisil: So parenthesis is only really needed when dealing with expressions there whitespaces can have unintended consequences?
<clever>
bpye: thats not a package, but a nixos module
<clever>
bpye: you have to overwrite the entire serviceConfig with mkForce due to how the nixos options work
<infinisil>
inquisitiv3: Nix can certain precedence rules, parenthesis are for when these don't do what you meant
<inquisitiv3>
infinisil: That's... A really simple and easily understood answer. I didn't connect that the reason for using parenthesis when dealing with whitespaces was because they precedence rules.
<infinisil>
> 1 + 2 * 3
<{^_^}>
7
<infinisil>
> (1 + 2) * 3
<{^_^}>
9
<inquisitiv3>
I understand it while dealing with arithmetic, but I've never had to think about it with functions and so one.
<bluej774>
That'll take some getting used to, but it does make sense.
<bluej774>
Thank you!
<inquisitiv3>
infinisil: In § 4.7 in the Pills it says that the code `let a = (let b = 3; in b); in b` should generate the error `error: undefined variable `b' at (string):1:31`, but I got no problem executing the snippet in Nix 2.0.4.
<bluej774>
Other question, is there some kind of script or something to build tar.bz2 packages of nix? I don't want to `make install`, I want to build a portable build.
<inquisitiv3>
I assume that there has been one or more changes to the processor since 1.7?
<infinisil>
> let a = (let b = 3; in b); in b
<{^_^}>
10
hph^ has quit [Client Quit]
<clever>
> b
<infinisil>
Oh that's a bad example
<{^_^}>
10
<clever>
it was already defined to something else
<infinisil>
> let aaa = (let bbb = 3; in bbb); in bbb
<{^_^}>
undefined variable 'bbb' at (string):150:37
<clever>
> let a = (let AAAA = 3; in AAAA); in AAAA
<{^_^}>
undefined variable 'AAAA' at (string):150:37
<infinisil>
> builtins.nixVersion
<{^_^}>
"2.0.2"
<infinisil>
Hmm, are you sure this works in 2.0.4 inquisitiv3? Would be weird..
et4te has quit [Ping timeout: 268 seconds]
<infinisil>
Maybe you defined b elsewhere
Oogieboogie has quit [Quit: im outta here]
<inquisitiv3>
I think that clever meant that I already had defined `b` earlier while toying with the REPL?
<clever>
as somebody else had done when toying with {^_^}
<inquisitiv3>
Yepp, doesn't work when I execute the expression in a clean session...
<inquisitiv3>
I'll have to think about it in the future.
<infinisil>
You need to consider the scope of definitions
<infinisil>
Where definitions can reach
<inquisitiv3>
Yes
fader has joined #nixos
<inquisitiv3>
:)
<infinisil>
Maybe you didn't know this:
<infinisil>
> let xxx = yyy; yyy = 10; in xxx
<{^_^}>
10
<infinisil>
let definitions reach backwards, so yyy is defined even at the place where xxx is defined
<elvishjerricco>
Any chance I could convince someone more knowledgeable to take a whack at this? https://github.com/NixOS/nixops/issues/959 I was trying to add `pass` integration to nixops for deploying secrets from .password-store, but this issue prevents it.
civodul has quit [Quit: ERC (IRC client for Emacs 26.1)]
<inquisitiv3>
infinisil: Do I need think about how I order the bindings in `let` blocks?
<infinisil>
inquisitiv3: Nope, syntactically a `let a = 1; b = 2; in foo` is the same as `with rec { a = 1; b = 2; }; foo`
<infinisil>
> let a = (1); b = (2); in (if ((a) > (b)) then ("a") else ("b"))
<{^_^}>
"b"
<fragamus>
I really need this to work
<infinisil>
ben: :P
<bpye>
clever Where can I find were this is implemented?
<fragamus>
I need multiarch on nixos really bad
<infinisil>
inquisitiv3: Oh you know what, use this: nix-instantiate --parse -E 'let a = 1; b = 2; in if a > b then "a" else "b"'
<infinisil>
inquisitiv3: Will output mostly what I just did
<bpye>
Ah nevermind, found it, it seems like a lot of service options touch serviceConfig, almost to the point I'm better just changing the whole thing
<ben>
i wonder if using docker containers is easier than multiarch in the modern world
MercurialAlchemi has quit [Ping timeout: 256 seconds]
bluesfreak72 has quit [Quit: Leaving]
bluesfreak72 has joined #nixos
tzemanovic has quit [Remote host closed the connection]
numerobis has joined #nixos
warbo has joined #nixos
<mupf>
Anyone in here using emscripten? I'm very much interested in how to add new emscripten libraries to the nix package repository
<eacameron>
ben: but docker doesn't run on a phone [yet]
<infinisil>
fragamus: nixpkgs exports 32bit binaries via pkgsi686Linux, so to get a 32bit build of hello, you can do `nix-build '<nixpkgs>' -A pkgsi686Linux.hello`. And the resulting binary runs just fine on my 64bit machine
<symphorien>
fragamus: all packages have there counterpart in pkgsi686Linux: ls $(nix-build "<nixpkgs>" -A pkgsi686Linux.glibc)/lib/ld-linux.so.2
<symphorien>
s/there/their 32bit/
<ben>
:O
<ben>
rad
<symphorien>
pwnd :þ
<inquisitiv3>
infinisil: So I had the "wrong" question?
<warbo>
I'm trying to upgrade to nixos 18.03 but getting some very weird behaviour
<warbo>
fetchFromGitHub seems to be spitting out the same path regardless of what options I give it
<infinisil>
inquisitiv3: Well, everything is a single expression, but expressions can contain other expressions, so the answer to "is it single or composite" is kinda difficult
<warbo>
except for sha256, which it checks is the right length but otherwise ignores
<inquisitiv3>
infinisil: That clarified it for me :)
<infinisil>
:)
rardiol1 has quit [Remote host closed the connection]
<inquisitiv3>
infinisil: My interpretation: "An expression can contain other expressions, but as a whole it's only considered to be one expression"
<infinisil>
Sounds good
asuryawanshi has joined #nixos
<ben>
inquisitiv3: im curious what drives you to ask that
<ben>
apart from your inquisitive nature, i suppose
<catern>
is there a way to detect whether one is running in the Nix build sandbox?
<catern>
I have some tests for a... sandboxing library, which fail when run in a sandbox
<catern>
other tests succeed so I'd like to just selectively disable those
<fragamus>
infinisil, symphorien: The thing is my 32 bit binary is not a nixos package. It is a downloaded executable called hmetis
<infinisil>
catern: I guess you could check if some path that's not in the sandbox there
goibhniu has joined #nixos
<infinisil>
is there*
<catern>
like what?
<inquisitiv3>
ben: So I know how to formulate myself when discussing with other people :)\
<elvishjerricco>
warbo: If you don't change the sha256, Nix assumes you actually expect the output to be identical and doesn't need to consider the derivation changed
<elvishjerricco>
These are called "fixed output derivations," and this is a very common confusion :P
<warbo>
elvishjerricco: with e.g. fetchgit I usually just bump the 'rev' and wait for the nix-build error message to tell me what the new hash is
<elvishjerricco>
warbo: Yea I'm not sure why fetchgit isn't a fixed output derivation
<fragamus>
tilpner: The thing is, I don't run it directly but rather a huge piece of software spins up a zsh and runs hmetis from there
<tilpner>
fragamus - So wrap it!
jperras has quit [Ping timeout: 245 seconds]
<fragamus>
im a newb so how do I wrap it
pie__ has quit [Ping timeout: 240 seconds]
<tilpner>
First try if steam-run works at all
<elvishjerricco>
warbo: I usually do the same but I change one character in the sha256 to trigger a build. With Nix 2.0, this has the added benefit that (for actual fixed output derivations) the build will fail but the output will be moved to the correct path so a subsequent build with a fixed hash will succeed instantly
<tilpner>
And if it doesn't, why it fails
<warbo>
elvishjerricco: I seem to recall that not always working, e.g. some characters make the sha256 invalid
<warbo>
'C-u M-! sha256sum' in Emacs always works though :)
<infinisil>
It doesn't allow any character, and at the beginning there has to be a 0 or 1 I think
<elvishjerricco>
warbo: Yea, but the first character is always a 0 or 1 (base16 nonsense, IIRC; someone correct me)
<elvishjerricco>
So I just swap the 0 or 1
<infinisil>
I usually just go to the middle and replace it with a character next to it
<infinisil>
But the 0/1 thing would probably work nicer :O
agander_ has joined #nixos
smallville7123 has joined #nixos
rihards has quit [Quit: rihards]
agander__ has quit [Ping timeout: 265 seconds]
astsmtl has quit [Read error: Connection reset by peer]
astsmtl has joined #nixos
astsmtl has quit [Changing host]
astsmtl has joined #nixos
Fare has joined #nixos
goibhniu has quit [Ping timeout: 260 seconds]
MichaelRaskin has joined #nixos
alexteves has quit [Ping timeout: 255 seconds]
init_6 has quit [Ping timeout: 245 seconds]
FRidh has quit [Quit: Konversation terminated!]
alexteves has joined #nixos
Lisanna has joined #nixos
Twey has quit [Ping timeout: 245 seconds]
alexteves has quit [Remote host closed the connection]
<Lisanna>
hey, building expressions served by my hydra channel doesn't automatically fetch the results from the hydra binary cache. But if I try to build with --option binary-caches "https://hydra.myserver.com", then it will fetch them. What's the first thing I should be checking to resolve this?
alexteves has joined #nixos
alexteves has quit [Remote host closed the connection]
d1rewolf has joined #nixos
Fare has quit [Ping timeout: 256 seconds]
alexteves has joined #nixos
<d1rewolf>
hi guys. For those of you who came to Nix from a desktop distro like Ubuntu, what do you see as the biggest pain points you've faced?
<Lisanna>
d1rewolf if a desktop application doesn't have a lot of customizability for things like plugins built-in to the nix expression
<Lisanna>
normal desktop use-cases don't work too well, like autoupdates, since those functions presume that the app install is imperative and stateful
<d1rewolf>
Lisanna, I'm not sure I follow you. could you give an example?
alexteves has quit [Remote host closed the connection]
halfbit has joined #nixos
<Lisanna>
libreoffice has plugins
<Lisanna>
but the nix code for the libreoffice package has no understanding of plugins
<Lisanna>
so there's no real way to install them
<elvishjerricco>
Hmm, nix-hash must have a different format for base32... `nix-hash --type sha256 --flat --base32 <(echo test)` is quite different from `echo test | sha256sum | base32`
<Lisanna>
without a lot of manual work
<d1rewolf>
Lisanna, hmmm...that doesn't bode very well for using it as a desktop i guess
<__monty__>
d1rewolf: Depends a lot on which programs you need.
<Lisanna>
IMO you have to be a nix power user to use it for desktop... i.e., you have to be ready to write a lot of your own nix code to make your apps work
<Lisanna>
__monty__ ^ also that
* warbo
hates it when applications or plugins try to do their own updates, especially automatically
alexteves has joined #nixos
<Lisanna>
eventually you will run into something though, and then what are you going to do
<d1rewolf>
Lisanna, ah, k. thanks for the useful advice. I'm very experienced in linux, but don't want something which will slow me down from a productivity standpoint
drewr has quit [Ping timeout: 245 seconds]
<d1rewolf>
so are most of you using nixos as a server os?
<warbo>
d1rewolf: depends what you mean by "slow me down" and "productivity"
<d1rewolf>
for cloud vms/containers/etc
<Lisanna>
d1rewolf I use it on all my servers
<warbo>
being able to roll back to a previous config is really great
<elvishjerricco>
d1rewolf: I use it for like everything :P Desktop, laptop, server, raspberry pi
<tilpner>
d1rewolf - I use NixOS on two laptops and one server
<d1rewolf>
warbo, I would rather not spend hours fighting with my os to get it to let me install office plugins. that's a good example ;-)
<elvishjerricco>
I do not use an office suite though :P
<tilpner>
If you want things that aren't supported right now, prepare for some amount of fighting
<tilpner>
d1rewolf - I can effortlessly keep my two laptops setup exactly the same, that's a productivity win
<Lisanna>
that said, nixpkgs has a pretty fscking awesome level of app support, considering that anything "special" outside of "download elf, run it" required a nix wizard to go and make that work
<d1rewolf>
tilpner, yes, that's exactly what I'd hoped for
<warbo>
if a program stores plugin in $HOME then it will work fine out of the box
matthewbauer has quit [Read error: Connection reset by peer]
<warbo>
(e.g. Firefox)
<tilpner>
d1rewolf - On the other hand, developing software can be a pain in obscure ecosystems
<d1rewolf>
and being able to recreate my os environment easily
tzemanovic has joined #nixos
matthewbauer has joined #nixos
drewr has joined #nixos
<warbo>
I must be a Nix wizard then
<MichaelRaskin>
I have put both Debian and Fedora desktop installations into unusable locked states of a kind that is impossible with Nix
blankhart has quit [Ping timeout: 256 seconds]
<__monty__>
d1rewolf: You can get a taste running nix on whatever distro you want. It'll seduce you in good time ; )
<elvishjerricco>
d1rewolf: That's a major key to me. I even have my system setup to the point that I can build a VM and have everything, including dotfiles and secret keys, setup with one `nixos-rebuild`.
fragamus has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<warbo>
mind you, my .nixpkgs/ dir is huge, so that's probably the case ;)
alexteves has quit [Remote host closed the connection]
<d1rewolf>
elvishjerricco, so you've found nirvana then ;-)
<d1rewolf>
Lisanna said "you have to be ready to write a lot of your own nix code to make your apps work". This nix code...it's haskell?
cloud-maingo has quit [Quit: Connection closed for inactivity]
<warbo>
d1rewolf: one thing to keep in mind is that there's a spectrum ranging between "doing it the Nix way" and "basically ignoring that Nix is there"
<__monty__>
d1rewolf: Sadly, it's not. Nix is well suited to the purpose though.
<d1rewolf>
__monty__, that's actually probably a benefit to me. don't really have time to tackle the Haskell learning curve (or at least, I've heard there's a signicant curve)
<warbo>
d1rewolf: so it's perfectly possible to e.g. 'make install' a bunch of stuff in your home dir, just like any other distro, if you want to
<warbo>
d1rewolf: but that kind of defeats the point of using NixOS
<fendor>
hello, how can i integrate pulse audio into my haskell stack project?
alexteves has joined #nixos
matthewbauer has quit [Read error: Connection reset by peer]
<d1rewolf>
warbo, got it. thank you
<warbo>
d1rewolf: on the other hand, it's *possible* to e.g. turn something into a user-extensible NixOS module which integrates into the NixOS config, but it's often not worth it
tzemanovic has quit [Ping timeout: 276 seconds]
matthewbauer has joined #nixos
<d1rewolf>
i'll give it a test run and see how it feels. thanks!
<MichaelRaskin>
Writing simple Nix packages is actually simple; there is a learning curve but you can use quite a small subset of the language and of the available library
<d1rewolf>
re: running nix on ubuntu...is it possible to use it to have the same experience elvishjerricco mentioned in terms of one config==many machines?
<MichaelRaskin>
Well, basic installs will be obviously different
<elvishjerricco>
d1rewolf: It's oddly better on macOS. There's something on nix-darwin that lets you configure macOS in the same way you'd configure NixOS, so I share a ton of config between them. But there's no analogue for Ubuntu currently
<warbo>
one thing to keep in mind with Nix on non-NixOS is that you may end up with multiple copies of things installed, e.g. those installed with Nix and those with apt-get
<elvishjerricco>
It'd be sweet though; most of NixOS's systemd configs would work out of the box
<MichaelRaskin>
But you will have all the same program available comfortably via building a single shared Nix expression
andymandias has quit [Ping timeout: 264 seconds]
<d1rewolf>
gotcha. thanks guys
agander_ is now known as agander
<elvishjerricco>
Actually... Yea how hard would it be to just port NixOS's systemd configuration system to Ubuntu? Can't be *that* hard, can it?
<d1rewolf>
elvishjerricco, I finally have gotten rid of all macs in my house. I'd rather not go back ;)
<warbo>
MichaelRaskin: indeed; Nix can seem intimidating, but my usual approach is to use 'runCommand' and copy/paste bash code from the program's normal install instructions
<warbo>
(and even that's not needed if it's the standard configure/make/make install)
xy2_ has quit [Ping timeout: 268 seconds]
Fare has joined #nixos
<agander>
Hello. Can I query the contents of a package before installing it? (system: "x86_64-linux", multi-user?: no, version: nix-env (Nix) 2.0.4, channels(gander): "nixpkgs-18.09pre142651.95a8cb3ade1", nixpkgs: /home/gander/.nix-defexpr/channels/nixpkgs)
humanoyd has quit [Quit: WeeChat 2.1]
andymandias has joined #nixos
<warbo>
agander: not sure if there's a database of such things, but you can certainly build the package without installing it and take a look
<warbo>
agander: i.e. instead of doing 'nix-env -i ....' you can do 'nix-build ...' which will do the build and give you the path that contains the results
ToxicFrog has joined #nixos
blankhart has joined #nixos
* ToxicFrog
crosses fingers and attempts to switch to nixos-unstable
xy2_ has joined #nixos
<agander>
warbo: ok, thanks
<elvishjerricco>
ToxicFrog: I just install individual packages from unstable, not the whole OS.
<warbo>
it will also make a symlink to that path called 'result'; delete that symlink and it will get garbage collected
<warbo>
(next time the garbage collector is run, at least)
matthewbauer has quit [Ping timeout: 276 seconds]
reinzelmann has joined #nixos
<ToxicFrog>
elvishjerricco: yeah, I did that for a while, but the set of packages I need to do that for has been steadily growing and I don't like having to manually switch over the channels twice a year either.
<ToxicFrog>
If there were nixos-latest-stable I might try that instead for a while, but there isn't.
<ToxicFrog>
And I need to do some config wrangling and package writing anyways since stuff I depend on got removed in 18.03 anyways, soooo...
bluesfreak72 has quit [Remote host closed the connection]
bluesfreak72 has joined #nixos
<warbo>
presumably a nixos-latest-stable channel would still have two large bumps every year
<warbo>
they'd just appear automatically
<ToxicFrog>
Yeah, but they'd be large bumps that would happen automatically rather than me going "huh, it seems like I haven't gotten any updates for the past two months, I wonder what happened"
<ToxicFrog>
Now I remember one of the reasons I abandoned my earlier experiments with unstable -- it appears to be building approximately everything from source :/
<elvishjerricco>
ToxicFrog: Really? I though unstable channels didn't advance until the same set of stuff was cached as a stable channel
lo_mlatu has joined #nixos
fendor has quit [Ping timeout: 240 seconds]
<ToxicFrog>
I mean, it's hard to tell because the build output is so incomprehensibly noisy, but I saw udev, grub, and calibre going past
<ToxicFrog>
And then the nixos-update failed, but I have no idea why because the bits telling me which builds failed are lost somewhere in tens of thousands of lines of output from successful builds. :/
smallville7123 has quit [Quit: rosa]
i0-dfn has joined #nixos
_d0t has joined #nixos
<_d0t>
hi! I've just installed nixos for the first time. How do I change interface names from enp* to eth* ?
smallville7123 has joined #nixos
Fare has quit [Ping timeout: 248 seconds]
<ToxicFrog>
Ok, one of them is ledger-autosync, and that's failing because recent versions depend on fuzzywuzzy, which isn't in nixpkgs. Sigh.
Fare has joined #nixos
<_d0t>
oh, never mind. Found it.
warbo has quit [Ping timeout: 240 seconds]
<lo_mlatu>
Hi, I wonder is it possible to use dockerTools to build docker image on macos now?
raynold has quit [Quit: brb]
nvh^ has joined #nixos
<ToxicFrog>
_d0t: where was it?
d1rewolf has quit [Remote host closed the connection]
<MichaelRaskin>
warbo: there are nice features of Nixpkgs that you might lose in this way, but yes, this approach is dirt simple and it already provides a usable package
<tobiasBora>
I'd like to know if there is a way to rebuild a deps, using the sandbox option. Indeed, when I do: nix-rebuild --option sandbox true -A imapnotify, it tells me that imapnotify has already been compiled
dbmikus has joined #nixos
kyren has quit [Ping timeout: 260 seconds]
matthewbauer has quit [Read error: Connection reset by peer]
kyren has joined #nixos
matthewbauer has joined #nixos
asuryawanshi has quit [Remote host closed the connection]
asuryawanshi has joined #nixos
<{^_^}>
[nixpkgs] @devx opened pull request #42388 → font-awesome-5: update to version 5.1.0 → https://git.io/f4yZF
<{^_^}>
[nixpkgs] @tobiasBora opened pull request #42389 → imapnotify: added in all-packages.nix → https://git.io/f4ynn
lo_mlatu has quit [Quit: Page closed]
<{^_^}>
[nixpkgs] @armijnhemel opened pull request #42390 → netpbm: update to 10.82.01 → https://git.io/f4ynB
kyren has quit [Ping timeout: 240 seconds]
matthewbauer has quit [Read error: Connection reset by peer]
<infinisil>
tobiasBora: --check I think
_d0t has quit [Remote host closed the connection]
asymmetric has quit [Ping timeout: 240 seconds]
smallville7123 has quit [Quit: rosa]
_d0t has joined #nixos
pie__ has joined #nixos
matthewbauer has joined #nixos
pie__ has quit [Remote host closed the connection]
bluesfreak72 has quit [Quit: Leaving]
ErikD_ has quit [Ping timeout: 260 seconds]
reinzelmann has quit [Quit: Leaving]
alexteves has quit [Remote host closed the connection]
alexteves has joined #nixos
alexteves has quit [Remote host closed the connection]
<Guest30197>
I don't suppose than anyone has had problems getting the tiny_tds gem to install under nix-shell: configure: error: Cannot find OpenSSL libraries?
<eliasp>
just trying to get my feet wet with customizing pkgs - so I wanted to build pkgs/tools/backup/restic from master, but `nix-build -A restic` ends up in `error: cannot auto-call a function that has an argument without a default value ('lib')` - I assume this is due to some changes in `unstable` which are incompatible with my env (18.03). Is there a straight-forward way to get a nix-env/shell in the unstable
dbmikus has quit [Ping timeout: 264 seconds]
<eliasp>
environment?
dbmikus_ has joined #nixos
<infinisil>
judson: Have you tried adding openssl as a build input?
_d0t has quit [Remote host closed the connection]
<infinisil>
eliasp: I'm pretty sure you did not call `nix-build -A restic`
<infinisil>
eliasp: If you want to build a package from a specific git revision (e.g. master), you'll have to clone nixpkgs, then run `nix-build -A restic` in that directory
<MichaelRaskin>
Version updates might. Or there can be an update along a different branch on stable
kyren has joined #nixos
<eliasp>
ah, so 18.03 is generally release-frozen and only bugfixes/minor changes make it into it
<MichaelRaskin>
The idea is to branch off master, fix some of the bugs, where feasible, then apply a rather conservative maintenance policy
<eliasp>
ok, makes generally sense
<eliasp>
just looking for a sane approach how to get newer releases of specific pkgs into my 18.03 environments (e.g. restic 0.9 introduced a completely written archiver which drastically improves the performance, so I want all my systems to benefit from this)
trevthedev has joined #nixos
<eliasp>
so I'll stick with adding the unstable channel and selectively adding single unstable packages to my configuration
trevthedev has quit [Client Quit]
trevthedev has joined #nixos
<tobiasBora>
So I just received a response for my (simple) push request:
<tobiasBora>
I just added: imapnotify = nodePackages.imapnotify;
<tobiasBora>
and the reviewer asks me "Can you do inherit here instead?"
matthewbauer has quit [Read error: Connection reset by peer]
<tobiasBora>
" Eventually I want to merge all of these & that makes it a little cleaner."
<tobiasBora>
Can someone let me know what is the point of inherit (I don't even know that), and how it's cleaner?
<{^_^}>
[nixpkgs] @matthewbauer closed pull request #42061 → [wip] aliases: add old aliases for previous Nixpkgs version → https://git.io/vhPiL
<tobiasBora>
Hum, I think I understand why it's cleaner
matthewbauer has joined #nixos
<tobiasBora>
now let's try to find the good syntax ^^'
Fare has quit [Ping timeout: 256 seconds]
fendor has joined #nixos
trevthedev has quit [Client Quit]
trevthedev has joined #nixos
<maurer>
I'm pretty sure it'd just be "inherit nodePackages.imapnotify;"
<tilpner>
^ that, with the IP of a machine you deployed via their web UI
<tilpner>
(And perhaps took over, haven't used DO in a while)
lord| has joined #nixos
tertle||eltret has joined #nixos
agander has joined #nixos
trevthedev has quit [Changing host]
trevthedev has joined #nixos
<infinisil>
I'm honestly not using any of nixops potential, I just create DO machines in the web interface and have all machines in nixops just to rebuild them together
<infinisil>
And nixops doesn't really do a good job of handling machines whose config depends on others..
<elvishjerricco>
NixOps is one of many tools I want to rewrite in Haskell :P
<elvishjerricco>
infinisil: How so? You can always access other machines' configs, can't you?
aws has joined #nixos
<infinisil>
elvishjerricco: Yeah, however, each machine build is completely separate, so if you access A from B, then to build B, it also needs to build A. But then in another pass it also needs to build A from scratch. Nix evaluation I mean
<ben>
coming to nixops and expecting roughly the terraform featureset was a bit disappointing tbh
Fare has joined #nixos
<infinisil>
elvishjerricco: So if you have n machines that each depend on each other, the build time is O(n^2), and not O(n) how it could be in theory
<elvishjerricco>
infinisil: Though that's eval time, not actual build time, right? Still bad, but not as bad
<infinisil>
Yeah, builds get cached
<infinisil>
But nixos-rebuild time isn't very good to begin with..
<elvishjerricco>
infinisil: I blame the weird way nixops instantiates expressions
<infinisil>
That is?
<elvishjerricco>
It could be instantiating as many machines as necessary in one eval, but instead it chooses to do a separate `nix-instantiate` per eval
<elvishjerricco>
per machine*
<clever>
infinisil: i'm actually looking into eval-time problems with nixops right now
<infinisil>
Yeah exactly, that's the problem
<clever>
infinisil: ive got a deployment with ~60 machines, and it cant even eval 20 of them at once
<tilpner>
infinisil - I have 3.6s for a no-op system evaluation
<tilpner>
It's not that terrible
<infinisil>
What nixops should do is have nixos configs as a submodule
<tilpner>
(It's not nixops either, but I imagine it wouldn't be that different?)
<clever>
`nixops deploy --dry-run --include machine1 machine1` is currently running...
<elvishjerricco>
tilpner: infinisil is talking about an n^2 effect where n is the number of separate machines
trevthedev has quit [Quit: WeeChat 2.0]
<elvishjerricco>
infinisil: Yea, NixOps's special top level stuff is annoying. Would much rather have it all as one big module system
trevthedev has joined #nixos
<infinisil>
Yeah
<elvishjerricco>
I think someone tried this at some point...
<clever>
it takes 1m 4 seconds, to eval 2 machines in this deployment!
<tilpner>
elvishjerricco - Does that only occur when the machines depend on each other?
<elvishjerricco>
tilpner: Yea
<clever>
infinisil: and it OOM's on a box with 64gig of ram...
<elvishjerricco>
Whoa
trevthedev has quit [Client Quit]
<tilpner>
What dependencies for example? I've so far been able to avoid inter-system dependencies by extracting common parts into a module and importing that from each config
<tilpner>
(But maybe that's not possible here)
<infinisil>
tilpner: I have a couple things that use a module to declare client-server relationships
<elvishjerricco>
The whole phase thing strikes me as annoying. I really wish NixOps had a stricter separation of phase 1 and 2.
fragamus has joined #nixos
Fare has quit [Ping timeout: 264 seconds]
<infinisil>
I didn't know it had 2 phases
<tilpner>
infinisil - I assume node.somemachine is a full system eval? Why does it need all that?
trevthedev has quit [Client Quit]
trevthedev has joined #nixos
trevthedev has quit [Changing host]
trevthedev has joined #nixos
<elvishjerricco>
infinisil: Yea. Lots of your options get stubbed with dummy values for phase 1, then filled out for the actual deployment. Not much is needed out of phase 1, thankfully, but keys are one example where this really breaks down
<infinisil>
tilpner: Hmm.. Good point.. It would make sense that it only needs the time to eval the used options
<elvishjerricco>
Basically, I want the separation of physical and logical to be represented in the module system. Anything that matters to phase one should not be capable of depending on values that can only be available in phase 2.
<infinisil>
tilpner: I haven't done a proper benchmark, but that might be the case
<tilpner>
infinisil - But what I actually meant was to have both nodes depend on a single module/nix file, which both import
matthewbauer has quit [Ping timeout: 245 seconds]
<infinisil>
Ah yes, that's a workaround, but not very nice
<elvishjerricco>
Especially since the options set in node A may influence the value of options in the common file
<infinisil>
E.g. when I'd want to use networking.domain from a node, I'll have to move this value assignment to a separate file, set networking.domain = import ./file.nix, and handle multiple machines in some way, etc.
<elvishjerricco>
e.g. `networking.hostName` may be referenced in the common module
<tilpner>
infinisil - You could also consider a partial evaluation, for just the options you need, but that's possibly more trouble than it'll be worth
<tilpner>
(I don't know nixops well enough to tell how much pain that would be)
<infinisil>
I'd think that would happen automatically due to nix' laziness
<tilpner>
To an extent, but not really
<infinisil>
But the time to include all modules is still there
matthewbauer has joined #nixos
<tilpner>
Yes, that's why you disable all those modules
<infinisil>
Which ones do you disable, got a copy-ready list?
<tilpner>
Everything. I specifically only include those I care about
<infinisil>
It might not be so easy to customize with nixops, probably the best would be to just use a patched nixpkgs with a more minimal module-list.nix
<tilpner>
Possible. At least you could remove all things graphical
sk8forether has joined #nixos
<clever>
infinisil: there is a nixos flag to disable modules
<clever>
you can just go thru module-list.nix and negate everything in it you dont want
<infinisil>
clever: Yeah, but that would be a pain to list all of them
Mateon1 has quit [Ping timeout: 248 seconds]
Mateon3 has joined #nixos
<infinisil>
I guess not with some automation
agander has quit [Ping timeout: 240 seconds]
<infinisil>
Would probably be easier to just 'dd' in module-list.nix, especially since I'm using a patched nixpkgs already (and am constantly cherry-picking commits..)
<judson>
I cannot get this Rails app to build, because tiny_tds depends on openssl... But that should be super common, because it's a dep of Nokogiri that, like, Web Ruby is built on.
<judson>
I've tried providing openssl as a buildinput a few different ways.
<tilpner>
infinisil - "Automatically setting up a working openvpn configuration for my machines, each of them automatically getting a static ip address" sounds like something tinc might be useful for?
slyfox has quit [Quit: :)]
<infinisil>
tilpner: What makes it better for that than openvpn?
<tilpner>
It does the routing part automatically
<tilpner>
(I haven't used openvpn for it though)
<infinisil>
Wait, what does it do exactly?
<tilpner>
But all my devices can connect to each other, even though only one of them has a usable public IP
<infinisil>
I can talk with any other machine with openvpn too if you mean that
knupfer has quit [Ping timeout: 245 seconds]
<tilpner>
So why do you need toponix for that?
<judson>
symphorien, that seems to have fixed it, thanks.
<judson>
Need to issue a PR with this gem config.
<infinisil>
tilpner: Well that's one of the lesser interesting parts, but each module in toponix should provide some useful thing with the network. the openvpn one is simple: it just uses the address given by openvpn, since they all can connect to each other directly through openvpn
<tilpner>
But I automated the IP allocation with builtins.hashString
<clever>
yeah, thats also an issue, you need to give each machine a unique IP currently
<infinisil>
Oh I see
<clever>
i do have plans to base the IP on the pubkey tox generates, so its automatic and "unique", but that would also further complicate a nixops setup
dbmikus_ has quit [Quit: WeeChat 2.1]
dbmikus has joined #nixos
<__monty__>
Toxvpn sounds similar to wireguard-p2p, any big differences I'm overlooking?
<infinisil>
tilpner: How can this guarantee that ip's don't collide?
<tilpner>
infinisil - It has an assertion for that, but it's unlikely because ipv6
<infinisil>
E.g. with openvpn, I'd want to use 10.x.y.0/24 as an address space, so there are only 255 addresses to choose from
<infinisil>
Ah
<tilpner>
infinisil - If it does happen, there's a salt you can change
<infinisil>
But then all ips become invalid
<clever>
__monty__: p2p, udp hole punching, no need for static ip's or port forwarding, and each node has a whitelist of who can connect to it
<clever>
__monty__: so as an example, both of us could vpn to nixos.org, but we cant vpn to eachother
slyfox has joined #nixos
<clever>
thats the general featureset of toxvpn
<infinisil>
I wonder if openvpn supports ipv6
fragamus has joined #nixos
<infinisil>
tilpner: I'll consider the hashing approach though, thanks
<tilpner>
infinisil - It could cause a small hiccup, but otherwise changing the IPs won't cause any trouble
<clever>
infinisil: in my quick profiling with nixops, a 10 machine deployment takes ~5gig of ram!
<clever>
just to eval the nix
<tilpner>
(And it can't happen silently, and it's very unlikely)
<infinisil>
yikes
<clever>
so the 20 machines would need 50gigs
<clever>
and the entire deployment, about 60 machines, 300 gig of ram
<tilpner>
Time for network-mounted swap? c.c
<clever>
tilpner: oh, aws ephemeral storage.....
<infinisil>
Nix sure isn't very RAM friendly..
<clever>
nixos doesnt appear to mount the ephemeral storage
<clever>
basically, aws gives you a "tmpfs" like block device (150gig for this machine size), that is lost on shutdown
<infinisil>
tilpner: Oh also, the problem I want to solve with toponix is also that e.g. while I can talk with 2 local machines directly over the vpn server, it all goes through the server, and my internet is about 10 times slower outside the local network than inside
<clever>
but thats only half the amount of space i need to eval this deployment, lol
<clever>
infinisil: thats one major point toxvpn solves over openvpn
<clever>
infinisil: its all p2p, so it doesnt bottleneck at some external server
<tilpner>
infinisil - tinc has local peer discovery as well
<infinisil>
Hmm...
<infinisil>
I tried to hammer this into openvpn for hours until I realized it's impossible
agander has joined #nixos
<infinisil>
clever: tilpner: How does toxvpn/tinc realize that 192.168.1.25 is the same as some private ip and use that instead?
<clever>
infinisil: toxvpn gives each machine an extra ip, and you have to choose to use the vpn based one
<clever>
4: tox_master0: <POINTOPOINT,UP,LOWER_UP> mtu 1200 qdisc pfifo_fast state UNKNOWN group default qlen 500
<clever>
inet 192.168.123.11 peer 10.123.123.123/32 scope global tox_master0
<clever>
if i accepted you on toxvpn, you could then connect to 192.168.123.11
<tilpner>
infinisil - I don't know, I'm just a happy user for now. #tinc would know more
<infinisil>
So using the vpn one makes it so I can't use the local direct connection?
<clever>
infinisil: tox will still auto-detect if the machine is on the LAN, and directly use the private IP's when it can
<infinisil>
tilpner: Alright, I'll probably look into it
toby1851 has quit [Ping timeout: 268 seconds]
<infinisil>
clever: I see..
lord| has quit [Quit: WeeChat 2.1]
lord| has joined #nixos
<clever>
infinisil: do you have a few machines you can play with?
<clever>
infinisil: start by setting services.toxvpn = { enable = true; localip = "foo"; };, giving each machine a unique IP, preferably in an unused subnet, either 192.168.x.y or 10.x.y.z
<agander>
Could someone help me out with this error: /nix/store/ggxak94...-texlive-combined-2017/share/texmf/web2c/mktexnam: Could not map source abbreviation for phvr8t. /nix/store/ggxak94...-texlive-combined-2017/share/texmf/web2c/mktexnam: Need to update ?
<agander>
Is that a nix error?
knupfer has joined #nixos
<agander>
I cant find phvr8t anywhere under /nix or under ~/.nix-defexpr
<clever>
agander: did you search for it with grep or find?
<infinisil>
clever: I won't drop into toxvpn today, but I'll consider it for some other time :)
<agander>
find
<clever>
infinisil: after that is enabled, you can use the toxvpn-remote program to open a repl for controlling it, it has a help command
<clever>
infinisil: youll want to take the ID from status, and then use it with the add command on every other node, and both parties must add the other for it to form a connection
<clever>
agander: try grep -r as well
lord| has quit [Quit: WeeChat 2.1]
<{^_^}>
[nixpkgs] @alexeymuranov closed pull request #40845 → Update Geary to 0.12.2 from master → https://git.io/vpjYM
szicari has quit [Quit: Leaving.]
jD91mZM2 has quit [Quit: WeeChat 2.0]
lord| has joined #nixos
andymandias has quit [Ping timeout: 260 seconds]
* infinisil
notes clever's words down into brain-memory
<clever>
infinisil: i'm now experimenting to see what happens to the nixops memory usage, if i just drop x11 support, lol
<infinisil>
All 60 used x11?
<clever>
none of them use it
<clever>
but the module is still loaded by nixos
<infinisil>
Ah like that
<clever>
error: The option `services.xserver.videoDrivers' defined in `/nix/store/xdacbvng4mrrx8xc863jqgk1mijvvrsc-43c77db3aa58e06cc3ced846431dd4228f93cd5d.tar.gz-unpacked/nixos/modules/rename.nix' does not exist.
<infinisil>
Yeah.. it's alll entangled..
<clever>
hmmm, what if i just drop every alias? ....
<{^_^}>
[nixpkgs] @Ma27 opened pull request #42398 → nixos/autorandr: make default target in systemd service configurable → https://git.io/f4y2X
matthewbauer has quit [Ping timeout: 264 seconds]
<agander>
clever: Its found lots of mentions of the file inside other files but not that file.
andymandias has joined #nixos
infinisil has quit [Quit: Configuring ZNC, sorry for the joins/quits!]
infinisil has joined #nixos
kiloreux has quit [Quit: Leaving]
<clever>
infinisil: cant seem to delete the rename file though
<__monty__>
clever: What's the difference between the client and server in a p2p context?
<clever>
__monty__: there is none, neither end is more client then server
<__monty__>
Was confused by "A client / server for a Tox-based VPN"
<clever>
ah
<clever>
its sort of both at once
<clever>
the description could maybe be improved a bit
<clever>
bpye: you need to override src, not version
<ben>
i mean you need to override everything
<clever>
rec happens before the overrides are applied, so changes to version dont help
<bpye>
Right, but I want to override version and name too so that it's reflected right?
<clever>
bpye: yeah
<ben>
at the point where overriding happens, the fact that name and src.rev are derived from version is lost :<
<bpye>
And in that case, within an overrideAttr block how can I reference version from name? I get "error: undefined variable 'version'" if I just copy paste the definition for name
knupfer has quit [Ping timeout: 276 seconds]
ihar has quit [Ping timeout: 245 seconds]
<bpye>
I have also tried pkgs.xyz.version but that also appears to get the old version
<ben>
iirc overrideAttr takes a function that in turn takes the old attrs
<ben>
oh
<clever>
bpye: more rec!
trevthedev has quit [Ping timeout: 256 seconds]
<clever>
.overrideAttrs (oldAttrs: rec { version = "1234"; name = "foo-${version}; src = pkgs.fetchurl { url = "http://example.com/${name}.tar.gz}; }; })
ihar has joined #nixos
orivej has joined #nixos
<ben>
i really feel like there should be a way to just override version and get the change to name and source for free :/
<clever>
ben: version would have to be moved into an argument to the file, then you can use .override
<tilpner>
nix-env -iA hello actually works for me, so I sometimes make the same mistake
<_d0t>
is there a metapackage for all kde software?
<clever>
__monty__: just run toxvpn as root and use the repl on stdin/stdout
<_d0t>
so that I don't have to install every tool by hand
<clever>
__monty__: it can even be ran with zero params, it will ask for config on stdio
<tilpner>
_d0t - Try plasma5
<infinisil>
tilpner: Yeah same
<tilpner>
_d0t - Or kdeApplications, I guess
<tilpner>
plasma5 has 46 entries, kdeApplications has 107
matthewbauer has quit [Ping timeout: 260 seconds]
aws has quit [Quit: Page closed]
_d0t has quit [Quit: Leaving]
_d0t has joined #nixos
<{^_^}>
[nixpkgs] @worldofpeace opened pull request #42401 → libtorrentRasterbar: use boost166 (fix build) → https://git.io/f4yrO
matthewbauer has joined #nixos
<bpye>
Hm, if I have xyz = { blah = ""; }, is there any way to have blah set to xyz? or at that point do I need to use let to set some other value a level up
<bpye>
I currently have a bunch of IPs and interfaces duplicated in my config which would be nice to eliminate
<{^_^}>
[nixpkgs] @alexeymuranov opened pull request #42402 → Update Geary to 0.12.2 from master → https://git.io/f4yrw
<infinisil>
bpye: Yeah, if it's just that, then yes
<elvishjerricco>
Would NixOps have to be rewritten in C++ if we wanted it to be able to interact with Nix objects directly? e.g. eval some things and build some other things
<elvishjerricco>
i.e. interfacing with the nix interpreter rather than via `nix-instantiate` / `nix-build`
<clever>
elvishjerricco: let me find a fork...
<infinisil>
elvishjerricco: It would work by just using the nixos module system
<_d0t>
how do I check if a package is already installed?
<elvishjerricco>
infinisil: How do you mean?
<infinisil>
elvishjerricco: Such that a nixops config is just a set of nixos submodules
<elvishjerricco>
_d0t: `nix-env -q`, unless you mean in `configuration.nix` on NixOS, in which case `nixos-option environment.systemPackages`
_d0t has quit [Remote host closed the connection]
asuryawanshi has quit [Ping timeout: 240 seconds]
<infinisil>
Then you could have a single attribute that builds all machines
NightTrain has joined #nixos
<elvishjerricco>
infinisil: But you also want to be able to do some eval and query the resulting config a bit, not just do builds
_d0t has joined #nixos
_d0t has quit [Client Quit]
<infinisil>
elvishjerricco: Yeah, no problem
<infinisil>
A nixos submodule can do that just fine
_d0t has joined #nixos
<_d0t>
elvishjerricco, thanks
<elvishjerricco>
Not following...
<elvishjerricco>
The program that provisions resources has to be able to query the config for nix values, not build results.
<clever>
elvishjerricco: nixops currently has 2 phases, it will first do a simple eval of the expressions, and dump the entire tree as xml, to find out what resources exist
<clever>
elvishjerricco: then it does a nix build of a special function, passing it a list of machine names to include in the build
<elvishjerricco>
clever: Right. It'd be better if it could just interface with the nix interpreter to only evaluate those attributes it needs for phase one
<clever>
elvishjerricco: there is also a fork of nix that can eval in parallel
<elvishjerricco>
Seems wrong to do yet another eval via another `nix-instantiate` when I wish I could just interface with the nix heap to eval phase 2 stuff once
ariutta has joined #nixos
<clever>
elvishjerricco: ah
<clever>
elvishjerricco: there are some hacks to get around that, so the ec2 security groups can refer to ec2 elastic IP's
<clever>
i think the nix level returns a placeholder value, and nixops will then map it over
<infinisil>
Idea: Have a continuous nix eval, which monitors all files it uses, and immediately reevals the dependents. It never stops evaluating, just pauses. While it runs, you can query the result
<infinisil>
(reevaluates if a file changes i mean)
<elvishjerricco>
clever: I'm just trying to add a bit of `pass` integration :/ I wanted to have a resource type that runs `pass` to prompt the user for their master password and return a secret value to Nix, where it could be placed in `deployment.keys`. But `deployment.keys` is completely incapable of that right now
<clever>
infinisil: memoise and reload could be combined to almost get that effect
oknice has joined #nixos
<infinisil>
clever: Reload?
<ariutta>
In case anyone wants to evangelize, here's a chance :-) "I'm seriously thinking about switching from #gentoo to #nixos. Please, talk me down! Somebody!" https://niu.moe/@newt/100207449872985180
<clever>
infinisil: if you re-import the top-level expression within a single nix process, but it uses memoise correctly, it can recycle values the previous expression had computed
<clever>
infinisil: so only the parts that changed (or lack memoise) will have to recompute
dbmikus has quit [Ping timeout: 264 seconds]
<infinisil>
Ah yeah, I thought you meant something different with "reload"
asymmetric has quit [Read error: Connection reset by peer]
<elvishjerricco>
clever: Shouldn't nixops separate the provisioning and deployment of resources? i.e. it should create all resources in one pass with no configuration, then configure them with phase 2 info. Currently everything is configured with phase 1 info
<oknice>
Hi! Can anyone explain this update in PULL_REQUEST_TEMPLATE.md: - [ ] Determined the impact on package closure size (by running `nix path-info -S` before and after)?
<clever>
elvishjerricco: there is a sort thing in the code, let me grab it
<samueldr>
oknice: this is to stop closures gaining weight
<gchristensen>
ariutta: what platform that is / what is a fediverse?
<clever>
elvishjerricco: nixops will use the create_after function between pairs of resources, to sort them properly, so its all created in an order the backend accepts
<clever>
elvishjerricco: in the security-group case, it entirely ignores the actual dependency tree, and simply says that all security-groups must be made after vpc and eip resources
<elvishjerricco>
clever: I don't think that helps me here. There's no way to use that to prevent `send_keys` from sending empty keys. The phase one eval will still default the resources to empty, and thus the `deployment.keys` data will be empty
<samueldr>
oknice: looks like it would be `nix path-info -I nixpkgs=$PWD -S nixpkgs.hello`
<samueldr>
if it isn't built, it will say the path is not valid
<judson>
There isn't a `nix search` equivalent for NixOS module configs yet, right?
<samueldr>
you can, alternatively, give ./result (the output symlink)
<gchristensen>
judson: man configuration.nix then search?
<ariutta>
gchristensen: if you're running your own server, I think you control who you federate with. I'm using someone else's server, and I can type @newt@niu.moe into the search box on the left to find that user.
<clever>
elvishjerricco: ive not messed with the passwordStore resource yet
<elvishjerricco>
clever: It doesn't exist yet. I'm trying to invent it :P
<clever>
elvishjerricco: ah, that explains why ive never heard of it before, lol
<elvishjerricco>
The idea is just that you set the resource, and after the phase 1 eval it runs `pass` to prompt your password and return the secret in `get_physical_spec`
<elvishjerricco>
clever: Similar to `resources.sshKeyPairs`, but running pass rather than generating and storing a key
<elvishjerricco>
So is there anything I can do other than adding an extra `nix-instantiate` to get the phase 2 defs of keys for `send_keys` in the activation phase?
<oknice>
samueldr: ok, thanks
<gchristensen>
thanks, ariutta!
<ariutta>
gchristensen: sure thing!
<clever>
elvishjerricco: maybe add a 3rd phase at 1.5, that will then run it again with the proper value from running `pass`?
matthewbauer has quit [Ping timeout: 264 seconds]
<elvishjerricco>
clever: why would it need a third phase? The second phase has the info correctly; this just isn't where `send_keys` draws its keys from
<clever>
ah, maybe modify send_keys to query the second phase instead then
<ariutta>
If I maintain a CLI tool, and I wrote a default.nix for it, does it make sense to just keep it in 1) the nixpkgs repo, 2) my project repo, 3) both and sync between the repos? Any way to have nixpkgs automatically track the file if I keep it in my project repo?
<clever>
elvishjerricco: although, i think the 1st phase is a nix-instantiate dumping xml, while the 2nd phase is just a nix-build that returns a storepath, so the 2nd phase cant return secrets
<elvishjerricco>
clever: Right, but I believe that would require an extra nix-instantiate, which is bad since we already have problems with too much redundant nix-instantiate-ing.
kyren has joined #nixos
<elvishjerricco>
Yea
<clever>
elvishjerricco: so you would always need a 3rd phase, passing in the secrets nixops created, and then dumping more xml
<elvishjerricco>
That's why I was asking if having the ability to eval once and do many different builds and queries on the nix heap would require rewriting in C++ and linking the Nix interpreter
<gchristensen>
ariutta: OK replied to a thing I disagreed with :)
<clever>
elvishjerricco: another option is native code in nix
<elvishjerricco>
This extra nix-instantiate wouldn't really be another phase
<elvishjerricco>
Just a redundant call in phase 2
<elvishjerricco>
clever: How so?
<gchristensen>
oK shutting down for my flight.
<ariutta>
gchristensen: nice! I wanted to chime in, but I don't know enough yet :)
<clever>
elvishjerricco: builtins.exec takes the argv as a list, runs the given program (outside the sandbox, as the user doing the eval), and then parses stdout as nix, and returns that nix object
<elvishjerricco>
clever: Oh wow yea that's a really good idea. There's even a way to whitelist plugins like that, isn't there?
<clever>
elvishjerricco: in that example, its just returning the result of running `id`, but it could do anything from cloning a private git repo to pulling passwords out of lastpass, lol
baconicsynergy has quit [Ping timeout: 240 seconds]
<clever>
bbl
mkoenig has quit [Remote host closed the connection]
kyren has quit [Read error: Connection reset by peer]
<{^_^}>
[nixpkgs] @worldofpeace opened pull request #42405 → libtorrentRasterbar: fix build with boost167 → https://git.io/f4yiB
<ariutta>
One reason I ask about what goes into nixpkgs vs. a project repo is that svanderburg doesn't have composer2nix in nixpkgs (maybe because it's still in prototype?) https://github.com/svanderburg/composer2nix
kyren_ has joined #nixos
mkoenig has joined #nixos
<ndowens04>
Been looking into learning programming, at first I was thinking Lua or Haskell idk; I dont really care for Python
kyren has quit [Ping timeout: 265 seconds]
blankhart has joined #nixos
<eliasp>
ndowens04: Python makes it easy to get started with because you won't have to care too much about esoteric language specific stuff
kyren_ has quit [Remote host closed the connection]
kyren has joined #nixos
<ndowens04>
eliasp: also i thought about javascript/typescript when i was looking into the subj
jb55 has quit [Quit: WeeChat 2.1]
Mrmaxmeier has quit [Remote host closed the connection]
<ariutta>
ndowens04: come up with a project that'll keep you interested, and then choose a language that's good for that project. In general, I'd recommend Python, unless you really want to do something in the browser, where JS is your better option.
<ndowens04>
problem is i have no idea what i'd want to try to write; it's more of a hobby idea then a needed thing for a task
<LnL>
I think lisp/scheme is a great teaching language to get started with, but it's not ideal if you want to actually build something
oknice has quit [Quit: Leaving]
<ariutta>
eliasp: I use TS myself, but my biggest concern for someone getting started is that the JS/TS world is starting to expect a whole build process, which can be daunting at first.
<ndowens04>
is scheme actually used to build any apps?
<eliasp>
ndowens04: I bet there are thousands of apps built in Scheme, just none of it ever went into production ;)
<LnL>
no not really, that's what I was saying earlier :)
<ndowens04>
I've even read that some colleges start ppl out on haskell and ive been looking at tutorials and thinking wow lol
<ndowens04>
I was thinking that.
<ndowens04>
hmm i was searching alternative to python for the heck of it and someone said maybe tcl could be easier
<worldofpeace>
ndowens04: I'd reccomend finding a language that`s compatible with how your brain works. Whatever that means
<ndowens04>
lol yea, but i have no idea, I can almost grasp the list functions in haskell. I kinda like how it compiles the code into native code. Made a very simple module in haskell writing a sentence
<worldofpeace>
And that makes basic programming concepts graspable to the individual. Also make sure your just enjoying yourself when your starting out.
dbmikus has joined #nixos
ryantrinkle has quit [Ping timeout: 265 seconds]
sbdchd has joined #nixos
<init_6>
I successfully installed nixos. And now no any problem with root but how to make change to shell settings for simple user with /home/user from gentoo? now look like bash simple not know about ~/.bash* stuff
simukis has quit [Ping timeout: 245 seconds]
erasmas has quit [Quit: leaving]
fragamus has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
madknight has joined #nixos
<madknight>
error: file 'nixpkgs' was not found in the Nix search path (add it using $NIX_PATH or -I)
<ndowens04>
madknight: what are you trying to do
<{^_^}>
[nixpkgs] @matthewbauer pushed to master « android: more output size reduction »: https://git.io/f4yMX
<madknight>
error: file 'nixpkgs' was not found in the Nix search path (add it using $NIX_PATH or -I), at (string):1:13
<ndowens04>
nixpkg isn't a pkg you install
<clever>
madknight: what about `echo $NIX_PATH` ?
<infinisil>
Oh right
<madknight>
clever, seems to be empty
<clever>
madknight: that would be the problem
<worldofpeace>
Start a fresh terminal session? Then maybe do it again.
thc202 has quit [Ping timeout: 260 seconds]
<infinisil>
madknight: Nix adds something to the shells init script that should take care of setting NIX_PATH and adding the nix binaries to PATH, but apparently the former one doesn't work for you, but the latter did