sary has quit [(Remote host closed the connection)]
phinxy has quit [(Ping timeout: 258 seconds)]
pxc1 has joined #nixos
pxc1 has quit [(Ping timeout: 260 seconds)]
alfie has quit [(Ping timeout: 260 seconds)]
<catern>
still wondering about my approach to installing NixOS, which I mentioned above
phreedom has joined #nixos
<simpson>
catern: It sounds too easy to mess up IMO.
<simpson>
But I am the kind of person who carefully backs up ~ and then wipes the machine when I want to switch distros.
<hodapp>
simpson: unrelated: are you working on Monte or something?
alfie has joined #nixos
<dash>
hodapp: yes
<dash>
hodapp: come visit us in #monte ;-)
<simpson>
hodapp: Yes, I'm basically the Monte person. dash is also the Monte person.
<hodapp>
would you say you're the..... full monte?
<simpson>
Actually, Full-Monte is what we call the fully-sugared language, as opposed to Kernel-Monte, which is our intermediate representation and also a subset of Full-Monte.
<hodapp>
dammit, I was hoping that joke would work
<catern>
simpson: but it's so incremental! how could I mess it up! :(
<hodapp>
"Building a better Blub"
* hodapp
ponders this...
<simpson>
catern: I don't know, because I think that you're the first person to do it. But I'm betting that getting multi-user Nix right is the hardest bit.
nslqqq has quit [(Ping timeout: 240 seconds)]
Wizek_ has quit [(Ping timeout: 260 seconds)]
ryanartecona has quit [(Quit: ryanartecona)]
<catern>
well hmm
<catern>
is it possible to "install" NixOS with an already-existing /nix/store and /nix/var?
Wizek has quit [(Ping timeout: 276 seconds)]
<gchristensen>
catern: easier to start fresh IMO
<clever>
catern: ive done it a few times
<gchristensen>
easier for us to support, too
<clever>
catern: but yeah, its more pure/simple to format it
<simpson>
Did nixos-lustrate ever become a thing?
<catern>
this way should be totally possible though :(
<gchristensen>
simpson: yeah it is in core
<clever>
catern: it is possible, and some recent changes have made it simpler
<clever>
catern: let me find the notes...
<simpson>
gchristensen: So wouldn't that be sufficient for becoming "fresh" after the first nixos-rebuild?
<catern>
(lustrate?)
<catern>
(I see what it is)
<simpson>
catern: It, uh, polishes your disk. Aggressively.
<clever>
catern: yeah, /etc/NIXOS_LUSTRATE
<clever>
catern: first, you need to: nix-build '<nixpkgs/nixos>' -A config.system.build.toplevel -I nixos-config=/etc/nixos/configuration.nix
<gchristensen>
simpson: yeah, but getting multi-user setup is a bit tricky
<clever>
catern: that will leave a copy of nixos in /nix/store/ and symlink result to it
<simpson>
gchristensen: My thoughts too.
<catern>
I mean, I have multi-user Nix set up, I think? it's not *that* hard?
<catern>
I just have this existing Arch install, and I want to dual-boot
<clever>
ah
<catern>
sharing the /nix/store between the two boots
<clever>
then you need a 2nd rootfs
<clever>
ahh
<clever>
make 2 rootfs partitions, and a 3rd for /nix/store, thats the simplest
<clever>
correction, a 3rd for /nix/
<clever>
the other subdirs have to share as well
<catern>
right indeed that's what I meant
<clever>
other things can be done, but they are more complex
<catern>
and yeah that's what I've got right now, but i assume this requires some care when I actually do the NixOS installation
<clever>
nixos will assume full control of the bootloader
<gchristensen>
why are you doing this to yourself?
<catern>
or does nixos-install just automatically use a pre-existing /nix/ if it's already there?
<catern>
gchristensen: eh? this doesn't sound that complicated really
<clever>
catern: if /nix exists in /mnt when you run nixos-install, it will just copy things in
<catern>
clever: ah.. I guess I can't get it to not do that?
<clever>
one sec, brb
<gchristensen>
I'm just not understanding why you'd do this
<catern>
gchristensen: if my NixOS install goes wrong, or I don't like it, I can fall back to Arch
<catern>
but I still want to use Nix even if I'm not using NixOS
<catern>
so I want to share the store
<catern>
and my profiles
<catern>
etc.
<clever>
catern: so if you boot from the installer, mount a nixos root to /mnt, and then mount the nix dir to /mnt/nix/, nixos-install should keep everything that already exists
<catern>
(independently, i also want to install NixOS into a chroot while Arch is still running, and then reboot to switch over. that's how I always install new distros, it's much nicer than booting into an installer...)
<clever>
the nixos-install command does the chroot for you
Wizek has joined #nixos
Wizek_ has joined #nixos
<catern>
oh man
<catern>
can I just install nixos-install from Nix-on-Arch, then just go ahead and nixos-install from Arch?
<clever>
you need to run a special nix-env command to get nixos-install
<catern>
what's that?
<catern>
I guess that running nixos-install from Arch just works right? that is so cool because I doubt any other distro can really handle something like that - other distro installers would just get super confused running on a foreign distro, outside the installer environment
<clever>
catern: basicaly, you can use that whole guide
<catern>
that seems super sketchy
<catern>
is that really necessary?
<clever>
thats for using the non-nixos rescue env from a datacenter, to install nixos
<catern>
i guess installing nixos-install requires that you have a nixos configuration around?
<clever>
yeah
<clever>
it just needs a dummy configuration.nix
<catern>
that seems kind of silly
<clever>
the nixos-install command is an internal part of nixos
<clever>
and nixos wont let you access a lot of parts until the config is valid
<clever>
but it works if you do the right incantation
<catern>
sure, but nixos-install doesn't actually use configuration.nix, I assume?
<catern>
certainly I'm gonna do this incantation
<catern>
but I'm just trying to think if it could be improved to not need that
<clever>
yeah, nixos-install will read from /mnt/etc/nixos/configuration.nix
<catern>
i.e. if a package for nixos-install could be added to nixpkgs with a dummy configuration.nix
<clever>
and it does that after chroot'ing into /mnt
<catern>
or something
<clever>
the problem, is that nixos doesnt want to officialy support this hack
<catern>
or if nixos-install can just drop its dep on configuration.nix at all
<clever>
it needs certain kernel features like namespaces
<catern>
heh well I'd argue it's not a hack :)
Temp2138978 has joined #nixos
<catern>
I mean, nixos-install requiring a configuration.nix just seems completely wrong to me, am I crazy?
<catern>
(requiring a configuration.nix other than the one it uses for the system it installs, I mean)
<gchristensen>
maybe not crazy, but definitely not understanding :)
darlan has joined #nixos
darlan has quit [(Read error: Connection reset by peer)]
<clever>
catern: its less that nixos-install needs a config, and more that nixos needs a config before it will let you access the nixos-install attribute
<catern>
clever: right
<catern>
nixos-install could be pulled out of nixos as a whole
<catern>
and put somewhere that doesn't require a config to be evaluated
<gchristensen>
but without a config there is nothing to install
<catern>
gchristensen: there's two configs here - there's the one that nixos-install is installing, and there's a dummy one that nixos-install needs so that nixos-install can even exist
<catern>
at least, that's my understanding
<clever>
catern: its less that nixos-install needs a config, and more that nixos needs a config before it will let you access the nixos-install attribute
<catern>
clever: yes, I get that
<clever>
if nixos-install was extracted, it wouldnt need a dummy
<catern>
precisely
<gchristensen>
why?
<gchristensen>
something seems really weird, most of your questions leave me asking "but ...why?" :/
<catern>
gchristensen: well then you could use nixos-install from a foreign distro without generating a fake configuration.nix, as in the link above
<catern>
maybe a niche usecase :) though I think it's a useful thing...
<gchristensen>
I mean a better sounding way would be to skip thee dummy config by using your actual config
<catern>
gchristensen: but to get nixos-generate-config, I need the dummy config :)
<gchristensen>
you don't need to generate config if you already have your config
<gchristensen>
:)
<gchristensen>
but fair enough
moet has joined #nixos
<clever>
and the github search is too broken to fnd the issue i saw the convo in before
<tilpner>
I think the dummy config they're talking about is needed to install nixos-install, not to use it
moet has quit [(Client Quit)]
<tilpner>
Though if your to-be-installed config is valid, you could also just copy that and use it twice. Once for installing nixos-install, and once for using nixos-install to install NixOS
<catern>
tilpner: yes, precisely
<catern>
tilpner: except nixos-generate-config needs a dummy config for it to be installed :)
<tilpner>
If you wanted, you could provide a script to make this easy, it doesn't have to be an officially supported installation option
<catern>
well I don't know much about nixos internals yet, but I feel like it's a reasonable guess that nixos-install and nixos-generate-config don't actually use the configuration.nix they are installed with, so they probably shouldn't require one in the first place
<catern>
that's just good architecture
<catern>
(ew, I just used the word "architecture")
<clever>
catern: they can obey nix.package in your config, to compile against a different version of nix
q6AA4FD has joined #nixos
<catern>
well, that's just like a normal input, though
<catern>
just like any package in nixpkgs
<catern>
again I don't really know much of this yet, this is just a thought :)
<clever>
bbl
s33se has joined #nixos
<tilpner>
catern - FWIW, nixos-generate-config uses values from nixos-config too, so it can't be standalone
Wizek_ has quit [(Ping timeout: 240 seconds)]
Wizek has quit [(Ping timeout: 260 seconds)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] NeQuissimus pushed 1 new commit to master: https://git.io/vQzZY
<NixOS_GitHub>
nixpkgs/master cb703f1 Tim Steinbach: linux-copperhead: 4.11.8.a -> 4.12.a
<joepie91>
taktoa: however, I needed a pure-JS parser now, so I figured I'd skip the queue and write my own :P
<joepie91>
taktoa: I needed some more practice with PEG.js anyway, so.. :D
<taktoa>
should be straightforward to translate from PEGTL
<joepie91>
taktoa: afaik there are no full parsers for Nix other than the reference implementation and the hnix one, so I'm just rolling my own from scratch... might as well, considering that I want to learn more about the Nix internals
DeaDSouL has left #nixos ["Linux, is a world where its limitation is your imagination.."]
adisbladis has quit [(Client Quit)]
adisbladis has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] joachifm pushed 2 new commits to master: https://git.io/vQzVq
<NixOS_GitHub>
nixpkgs/master 5dc2f6b Johannes Frankenau: noice: init at 0.6
<NixOS_GitHub>
nixpkgs/master 7e86d0e Joachim F: Merge pull request #27091 from jfrankenau/init-noice...
NixOS_GitHub has left #nixos []
<vdemeester>
o/
<vdemeester>
quick question, trying to update a package, and I'm getting "/nix/store/bl48w7h24n6379fa200yv60n4pwynd9c-stdenv/setup: line 923: tracePhases: unbound variable" (same for showBuildStats)
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] FRidh pushed 1 new commit to master: https://git.io/vQzVm
<NixOS_GitHub>
nixpkgs/master 063f110 Johannes Frankenau: urlscan: 0.8.3 -> 0.8.6 (#27102)...
NixOS_GitHub has left #nixos []
johann__ has joined #nixos
DrWaste has joined #nixos
katyucha has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] FRidh pushed 1 new commit to master: https://git.io/vQzwT
<NixOS_GitHub>
nixpkgs/master e7ab779 Frederik Rietdijk: python.pkgs.dogpile.cache: remove broken tests, allows nox to be build
NixOS_GitHub has left #nixos []
DeaDSouL has joined #nixos
fre has quit [(Ping timeout: 248 seconds)]
arianvp2 has joined #nixos
orivej has quit [(Ping timeout: 260 seconds)]
orivej has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] domenkozar pushed 1 new commit to master: https://git.io/vQzru
<NixOS_GitHub>
nixpkgs/master 0945a5b Domen Kožar: Add pythonPackages.google-compute-engine
NixOS_GitHub has left #nixos []
Itkovian has joined #nixos
riclima has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
elvishjerricco has quit [(Remote host closed the connection)]
DutchWolfie has joined #nixos
DutchWolfie has quit [(Changing host)]
DutchWolfie has joined #nixos
fre has joined #nixos
civodul has joined #nixos
jgertm has quit [(Ping timeout: 246 seconds)]
<viric>
Anyone using emscripten? This damn emscripten has its own package manager that puts packages to $HOME/.emscripten_cache
__Sander__ has joined #nixos
nick_h has joined #nixos
<viric>
even libc it fetches and puts there
<nick_h>
Hi there
<nick_h>
Could someone please give me some advice on getting cabal working outside of a nix-shell?
<bkchr>
Hi, how can I change the kernel of Nixos to be alwayst the newest version? So currently 4.12
<srhb>
bkchr: boot.kernelPackages = pkgs.linuxPackages_latest; ? Or something like that
<srhb>
Might have to explore linuxPackages to find the right one
nick_h has joined #nixos
<bkchr>
srhb: aahh ty :)
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] domenkozar pushed 1 new commit to release-17.03: https://git.io/vQzXZ
<NixOS_GitHub>
nixpkgs/release-17.03 4f02e7b Tim Steinbach: linux-testing: 4.11-rc7 -> 4.12-rc1...
NixOS_GitHub has left #nixos []
DeaDSouL has left #nixos ["Linux, is a world where its limitation is your imagination.."]
ThatDocsLady has joined #nixos
<Tucky>
Hi, I wonder if it would be doable to install nixpackage on a usb stick? So I can have my favorite uptodate programs everywhere I go.
<Tucky>
I think It would mean that I use --prefix, --with-store-dir and --localstatedir options at compile time.
<Tucky>
But since the path of the usb stick mount path would change each time, will I have troubles?
lukego has joined #nixos
bkchr has quit [(Remote host closed the connection)]
<lukego>
Can I create a Docker container (with dockerTools.buildImage) that runs NixOS services?
Mateon3 has joined #nixos
sibi has joined #nixos
Mateon1 has quit [(Ping timeout: 240 seconds)]
Mateon3 is now known as Mateon1
olejorgenb has joined #nixos
Wizek_ has quit [(Ping timeout: 258 seconds)]
nh2 has joined #nixos
pxc1 has joined #nixos
<domenkozar>
lukego: why would you want that? :)
chakerbenhamed has joined #nixos
<domenkozar>
lukego: the better way is to use nixos containers if you have nixos as a host
<domenkozar>
otherwise it's quite painful, but it could be doable
<domenkozar>
I remember someone saying in the github comments he managed to get something running
<lukego>
I'm looking into deployment options for a Linux/x86-64 GUI application with many moving parts (managed by nix.) Imagining that the typical user could have Linux/Mac/Win machine and probably deploy the application in Docker/VirtualBox/AWS and access with VNC/RemoteDesktop
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] pSub pushed 1 new commit to master: https://git.io/vQzyG
<lukego>
domenkozar: I want to distribute a Linux/x86-64 application that can run on Linux/Mac/Windows. So need to have a VM somewhere. I was thinking that Docker could be a convenient way to take care of that -- but maybe more trouble than directly installing VirtualBox/xhyve/etc.
<domenkozar>
lukego: that's a good solution, I agree. Do you really need the full OS inside the docker?
<lukego>
domenkozar: I didn't think so. But some software that I potentially want to run, like xrdb to provide an rdesktop server to show the GUI, seem to be packaged as NixOS services - so then I need NixOS...
olejorgenb has quit [(Ping timeout: 258 seconds)]
Svarog has joined #nixos
<lukego>
domenkozar: On the other hand the "service" part of the xrdp doesn't look that extensive so I can probably just write a shell script to run all the processes that I need. So long as I don't end up gradually reinventing systemd when it comes to restarting things on failures, etc...
<lukego>
(Could make more sense to start with a full NixOS VM and then scale back to a Docker container if that still seems possible. Better to have some unnecessary bloat than to spend a lot of time swimming against the current...?)
wkennington has quit [(Ping timeout: 248 seconds)]
* __Sander__
is suffering from an NPM 5.x depression
<domenkozar>
:)
<domenkozar>
__Sander__: we still can't ditch for yarn?
<__Sander__>
well yarn is non-option for my use cases
sorcus has joined #nixos
<domenkozar>
__Sander__: maybe it's easier to tweak yarn for it?
<gchristensen>
supporting the official package manager seems prudent
<gchristensen>
but if yarn makes it easier ... :)
<__Sander__>
annoying thing is that NPM 5.x has a new caching mechanism
<__Sander__>
from a conceptual perspective sounds nice
<__Sander__>
but now I can't see to shut up npm to not consult the registry
<__Sander__>
also
<__Sander__>
manipulating the cache myself does not seem to work
<__Sander__>
at least not if I follow the instructions
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] bugworm opened pull request #27115: papirus-icon-theme: init at 20170616 (master...master) https://git.io/vQzx1
NixOS_GitHub has left #nixos []
olejorgenb has joined #nixos
sorcus__ has joined #nixos
<domenkozar>
__Sander__: I think you'll have to work with upstream before releasing
<domenkozar>
to help guide their algorithm
<gchristensen>
I love how we enable basically all the modules in the kernel, up until where I change the config :P
<gchristensen>
then spend 2hrs rebuilding it
simukis has joined #nixos
bennofs has quit [(Read error: Connection reset by peer)]
ebzzry has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] emanueleperuffo opened pull request #27116: gnomeExtensions.topicons-plus: init at version v20 (master...topicons-plus) https://git.io/vQzjc
NixOS_GitHub has left #nixos []
nick_h has quit [(Ping timeout: 260 seconds)]
apeyroux_ has joined #nixos
ktosiek has quit [(Ping timeout: 240 seconds)]
peacememories has joined #nixos
pie__ has quit [(Ping timeout: 255 seconds)]
<jophish>
Is there a way of finding the equivalent git revision from a nix-channels state
<gchristensen>
jophish: cat /nix/var/nix/profiles/per-user/root/channels/manifest.nix -> name = "nixos-17.03.1447.9e5a13f6f1"; -> 9e5a13f6f1
<gchristensen>
or do you mean automatically?
<jophish>
gchristensen: that'll do
<jophish>
thanks!
<gchristensen>
you're welcome! :)
<gchristensen>
jophish: see also nixos-version --hash
<magnetophon1>
is it possible to "nixos-rebuild switch -p myProfile" without making it the default? iow: build it, switch to it (or noti don't really care), put it in a grub submenu, but don't make it the default boot
ThatDocsLady is now known as ThatDocsLady_afk
<domenkozar>
Gravious: yes
erictapen has joined #nixos
<exarkun>
does pypi2nix support setup_requires? it seems like it does not. it fails to add packages that only appear in setup_requires to the generated requirements.nix / buildInputs
aj_ has joined #nixos
ebzzry has quit [(Read error: Connection reset by peer)]
<pietranera>
Hello, I am using pulseaudio with NixOS and added the dbus module to its config, when the service is started the module is loaded but the DBus interface does not show up. Interestingly, if I load pulseaudio manually (i.e. pulseaudio --kill; pulseaudio --check && pulseaudio --start), it does show up. Any ideas?
<garbas>
exarkun: regarding #135. you will need to create an override and make sure to not include that file with funny encoding in long_description (or setup LANG variable)
<exarkun>
garbas: It's not an encoding issue afaict
<garbas>
exarkun: setup_requires was attempted to solve many times. i couldn't find a way to dectect what is required at the setup. this is not collected in metadata.json
<NixOS_GitHub>
[nix] edolstra pushed 2 new commits to master: https://git.io/vQgIZ
<NixOS_GitHub>
nix/master fe97c69 Eelco Dolstra: <nix/fetchurl.nix>: Support sha512 argument
<NixOS_GitHub>
nix/master c0015e8 Eelco Dolstra: Support base-64 hashes...
NixOS_GitHub has left #nixos []
koserge has joined #nixos
johann__ has quit [(Quit: Leaving.)]
chakerbenhamed has quit [(Quit: WeeChat 0.4.2)]
ebzzry has quit [(Ping timeout: 260 seconds)]
<__Sander__>
sigh
<__Sander__>
I'm learning more and more about npm's inner workings
<__Sander__>
not sure if I should laugh or cry
<gchristensen>
probably bothh
tmaekawa has quit [(Ping timeout: 260 seconds)]
<niksnut>
I'm going to have to migrate nix-dev away from lists.science.uu.nl. I think I'll move it to a google group, or does somebody have a better idea?
<gchristensen>
I know people are grumpy about the security google group, but I don't know of a better one
<niksnut>
grumpy what for?
<gchristensen>
Google Is Evil or something
fabian_a has quit [(Ping timeout: 268 seconds)]
<ikwildrpepper>
__Sander__: come on sander, you 'love' this kind of stuff
<gchristensen>
also weird that you can't view the archives without having a google account
<roblabla>
Hey guys, I made https://github.com/NixOS/nixpkgs/pull/26419 a while ago but I haven't received any feedback. Someone approved the changes 2 days ago, but then . Anyonw know what the next steps are ?
Jackneill has quit [(Quit: Leaving)]
olejorgenb has quit [(Ping timeout: 246 seconds)]
olejorgenb has joined #nixos
FRidh has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nix] edolstra pushed 2 new commits to master: https://git.io/vQgmd
<NixOS_GitHub>
nix/master ad8b96f Eelco Dolstra: Fix handling of expression installables with a / in them
<exarkun>
Automat / Twisted participate in a cycle leading to infinite recursion. The Automat override is supposed to break the cycle but it doesn't seem to.
m0rphism has quit [(Quit: WeeChat 1.8)]
peacememories has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
Guanin has joined #nixos
<Guanin>
hey there, I am playing around a bit with nixos inside a VM and have trouble configuring gitlab. I am basically getting this here https://github.com/NixOS/nixpkgs/issues/26610
<NixOS_GitHub>
nix/master 42c5774 Eelco Dolstra: Sort substituters by priority...
NixOS_GitHub has left #nixos []
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] joachifm pushed 5 new commits to release-17.03: https://git.io/vQgZo
<NixOS_GitHub>
nixpkgs/release-17.03 799eb69 Franz Pletz: httpd: don't install suid executables into nix store...
<NixOS_GitHub>
nixpkgs/release-17.03 3b45e1b Will Dietz: leafnode: patch around setting special bits...
<NixOS_GitHub>
nixpkgs/release-17.03 12e8dca Will Dietz: firejail: don't try to set setuid bit...
NixOS_GitHub has left #nixos []
ryanartecona has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] joachifm pushed 1 new commit to release-17.03: https://git.io/vQgZM
<NixOS_GitHub>
nixpkgs/release-17.03 3cb4728 Joachim Fasting: tor-browser-bundle-bin: 7.0.1 -> 7.0.2...
NixOS_GitHub has left #nixos []
wa7 has joined #nixos
<wa7>
hi there, anyone is using `rustup`? I gave it a try to cross-compile to android. But I'm getting lot of ` can't find crate for `std`` errors, any idea?
<exarkun>
I can't use pypi2nix then because pypi2nix can't build all of my dependencies.
<garbas>
exarkun: saddly that is the current state
ThatDocsLady_afk is now known as ThatDocsLady
<exarkun>
:(
copumpkin has quit [(Quit: My MacBook Pro has gone to sleep. ZZZzzz…)]
<steveeJ>
any ideas how to debug gnome-shell when it doesn't want to load any extension? journalctl and ~/.xsession-errors show nothing
<exarkun>
garbas: What about ignoring everything there except the Automat definition. Why doesn't that override remove the cycle?
<garbas>
remove the cycle?
<garbas>
oh right, the cycling dependency
<steveeJ>
I must've been blind before. journalctl shows "Jul 04 16:46:58 steveej-laptop kernel: traps: WebKitPluginPro[3198] general protection ip:7f0574feaeec sp:7ffca5bf3380 error:0 in libwebkit2gtk-4.0.so.37.19.7[7f0574a80000+260f000]" when I want to activate the extension using gnome's web browser
<Gravious>
FRidh, but he said it's just a python module
<Gravious>
not executable scripts?
<garbas>
exarkun: propagatedNativeBuildInputs is a nix thing.
<FRidh>
[7/4/17 16:37] <ertes-w> Gravious: there is no setup.py… it's simple standalone scripts, and i have a bunch of those
bgamari has joined #nixos
<Gravious>
yeah but
<Gravious>
15:31 < ertes-w> is there a function to turn a standalone python module into an executable? something like nixpkgs.python3Packages.buildPythonApplication
<mellowmaroon>
Hi, I'm trying to install Haskell's apply-refact, but when I did a rebuild, I got the error "Encountered missing dependencies: ghc >= 8.2.0 && < 8.3"
xadi has joined #nixos
<mellowmaroon>
Is there anything I can do to fix this?
JagaJaga has joined #nixos
ZoomZoomZoom has quit [(Quit: Leaving)]
<mellowmaroon>
I'm also getting a failing regression-test when trying to install ghc-mod...... :(
<mellowmaroon>
Here's the error: can't find file: /tmp/nix-build-ghc-syb-utils-0.2.3.1.drv-0/ghc-syb-utils-0.2.3.1/test/test-cases/GithubIssue9.hs
<mellowmaroon>
I'll just install everything in my home dir with stack until I can get some guidance...
peacememories has joined #nixos
mellowmaroon has quit [(Quit: Leaving)]
ryanartecona has quit [(Quit: ryanartecona)]
JagaJaga has quit [(Read error: No route to host)]
<mmmrrr>
How can I unlock my ssh-key using kwallet on nixos 17.03 upon login, so that I do not have to type the password for every remote push and pull?
jensens has quit [(Ping timeout: 255 seconds)]
<gchristensen>
oh I just did that
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] Mic92 pushed 1 new commit to master: https://git.io/vQgRr
<NixOS_GitHub>
nixpkgs/master 0518ec0 Jörg Thalheim: zfs: update kernel versions constraint for linux 4.12
mmmrrr has quit [(Remote host closed the connection)]
Neo-- has joined #nixos
sibi has quit [(Quit: Connection closed for inactivity)]
mmmrrr has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] Mic92 pushed 1 new commit to release-17.03: https://git.io/vQgEI
<NixOS_GitHub>
nixpkgs/release-17.03 83d40b4 lassulus: ucspi-tcp: remove setuid from install script...
NixOS_GitHub has left #nixos []
k2s has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] dtzWill opened pull request #27118: WIP: Sys::CPU: Try to fix Darwin build. (master...fix/sys-cpu-darwin) https://git.io/vQgE3
NixOS_GitHub has left #nixos []
<mmmrrr>
gchristensen: you where right :) It was just a matter of adding the ssh-key as an identity and to enable auto unlock from the session. Thanks again for your help! :)
<gchristensen>
awesome! :o it was a lucky guess :P
<mmmrrr>
:D
<ison111>
Does anyone know why whenever I run "nix-shell" it just gives me: "error: getting status of /current/directory/default.nix: no such file or directory"?
<gchristensen>
ison111: you don'thave a default.nix. what are you trying to do?
endformationage has quit [(Ping timeout: 240 seconds)]
Filystyn has joined #nixos
dataharry is now known as szn
<ison111>
gchristensen: I'm just trying to run "nix-shell". That's it.
<gchristensen>
yes, but why? what do you want to use nix-shell for?
<gchristensen>
knowing that, I'll be able to help you fix the problem
<ison111>
gchristensen: Nothing, I'm just wondering why it isn't working.
<gchristensen>
because you don't have a default.nix, nor have you presented other options it understands that removes the need for you to have a default.nix
<ison111>
gchristensen: But I'm pretty sure I've run "nix-shell" in the past without needing to create a default.nix file.
<gchristensen>
perhaps it already existed, or you used a shell.nix
<gchristensen>
or perhaps you you presented other options it understands that removes the need for you to have a default.nix
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] vcunat opened pull request #27119: ntfs3g: change package name (master...p/ntfs-3g) https://git.io/vQgEA
NixOS_GitHub has left #nixos []
arjen-jonathan has quit [(Ping timeout: 260 seconds)]
Thra11 has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] edolstra pushed 1 new commit to master: https://git.io/vQgum
<gchristensen>
ison111: it sounds that despite your insistence you're wanting to do nothing, there is a reason you're running nix-shell and it wasn't just because it is a beautiful summer day. if you can describe what that is, I'd be happy to try to help you get there.
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] Mic92 pushed 1 new commit to master: https://git.io/vQgui
<NixOS_GitHub>
nixpkgs/master 8acde59 bugworm: papirus-icon-theme: init at 20170616...
NixOS_GitHub has left #nixos []
<ison111>
gchristensen: Just trying to learn. I guess it just automatically knows when running itself is pointless then? Because something like "nix-shell --run bash" doesn't run, but providing it a blank list of packages will: "nix-shell -p --run bash"
<gchristensen>
nix-shell with -p lets install programs in to a temporary shell environment to use
<gchristensen>
nix-shell with a shell.nix or default.nix puts you in to the build environment for the default.nix, so you can pretend to be nix building the package, to help you debug
riclima has joined #nixos
k2s has quit [(Quit: Leaving)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] Mic92 closed pull request #27118: WIP: Sys::CPU: Try to fix Darwin build. (master...fix/sys-cpu-darwin) https://git.io/vQgE3
<NixOS_GitHub>
[nixpkgs] Mic92 pushed 1 new commit to master: https://git.io/vQgzO
<NixOS_GitHub>
nixpkgs/master 240b632 Emanuele Peruffo: gnomeExtensions.topicons-plus: init at v20 (#27116)...
NixOS_GitHub has left #nixos []
Guest3246783 has joined #nixos
<ison111>
gchristensen: Can the --exclude option be used to exclude things from the environment or only from the derivations list of dependencies? For example, could I build an environment to run bash without access to "gcc"?
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nix] edolstra pushed 1 new commit to master: https://git.io/vQgz1
<NixOS_GitHub>
nix/master a3dc1e6 Eelco Dolstra: Add X32 to the seccomp filter...
NixOS_GitHub has left #nixos []
jgertm has joined #nixos
ryantrinkle has quit [(Ping timeout: 260 seconds)]
<gchristensen>
interesting, I've never seen that option
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] Mic92 closed pull request #27101: haxe: fix hxcpp, introduce haxePackage with hxjava and hxcs (master...haxe-essentials) https://git.io/vQuhR
NixOS_GitHub has left #nixos []
wa7 has quit [(Quit: Connection closed for inactivity)]
pietranera has quit [(Quit: Leaving.)]
<Guest3246783>
hello, I'm trying to get grub to work with luks.. I've followed https://nixos.org/nixos/manual/index.html#sec-luks-file-systems, and it looks like the two things "nixos-generate-config --root /mnt" doesn't add are "boot.grub.enableCryptodisk = true;
<Guest3246783>
and boot.loader.grub.device = "something???"
<Guest3246783>
so I've tried a couple of things there, but it doesn't seem to like "/dev/sda" /or/ "/dev/mapper/crypted"
<Guest3246783>
thoughts? I'm new to this (and nix, tbh)
<lassulus>
Guest3246783: it should be /dev/sda
<lassulus>
if thats your hard drive
<lassulus>
I also need something like boot.initrd.luks.devices = [ { name = "luksroot"; device = "/dev/sda3"; } ];
<Guest3246783>
ohhh, that's probably what I'm missing. I think the manual's out of date then
__g_k__1_w_m__s_ has joined #nixos
<clever>
the grub.device is where grub has to install the MBR stub, which the bios will execute
<clever>
and if sda is gpt, you must create a bios boot partition, no fs, never mounted, ~1mb in size
__g_k__1_w_m__s_ has left #nixos []
<clever>
yeah, thats the same as { name = "crypted", device = "/dev/disk/by-uuid/...."; }
<Guest3246783>
ok so I'm missing .name then...
JagaJaga has quit [(Ping timeout: 255 seconds)]
ryanartecona has quit [(Quit: ryanartecona)]
<clever>
it fills in a name automaticaly if you use an attribute, rather then a list
Filystyn has quit [(Quit: Konversation terminated!)]
Filystyn has joined #nixos
Filystyn has quit [(Changing host)]
Filystyn has joined #nixos
fre has quit [(Quit: WeeChat 1.7.1)]
arianvp2 has joined #nixos
ThatDocsLady has quit [(Quit: Arma-geddin-outta-here!)]
Guest3246783 has quit [(Ping timeout: 260 seconds)]
alx741 has quit [(Quit: alx741)]
alx741 has joined #nixos
marsel has joined #nixos
romildo has joined #nixos
Guest398274 has joined #nixos
endformationage has joined #nixos
<Guest398274>
ok, I get "error: unable to identify a filesystem in hostdisk//dev/sda; safety check can't be performed" with what generate config gives me + the following:
<spinus>
Guest398274: I think something can be wrong as you have grub and partition in the same place /dev/sda, usually in that setup you have grub on /dev/sda and partition on /dev/sda1
<gchristensen>
dtzWill: hear hear on your core utils comment
<clever>
Guest398274: but you have no partition table, period, so i dont expect that to work
<mellowmaroon>
pbogdan: don't think so, had to leave shortly after mentioning it earlier today
<spinus>
clever: that's right, but still his luksroot shouldn't be /dev/sda but probably partition, no?
<clever>
spinus: he doesnt have a partition table, at all
<spinus>
ah
<Guest398274>
clever: that makes sense... so I should fdisk/cfdisk/parted to set a partition table before formatting?
<mellowmaroon>
spinus: Tried configuration.nix, nix-shell. Neither work
<clever>
that probably wont work
<clever>
Guest398274: yeah
<Guest398274>
ok I'll try that
<Guest398274>
everything else being equal... gpt?
<Guest398274>
or is grub easier w/mbr?
<spinus>
mellowmaroon: what's the error?
<clever>
Guest398274: with gpt, you need a bios boot partition, 1mb, no fs, never mounted
<clever>
otherwise, they are pretty much the same
<pbogdan>
ah ok mellowmaroon, for apply-refact you could override it like this https://gist.github.com/pbogdan/17b49d85904e81aef10684cd4935b916 to get a version that compiles with your version of ghc, or use that create a new attribute like apply-refact_0_3_0_1
romildo has quit [(Quit: Leaving)]
<Guest398274>
eh I'll do mbr for the vm then. I think my desktop can handle gpt though
<clever>
Guest398274: both of them can boot with legacy
romildo has joined #nixos
<pbogdan>
that's assuming those getting installed system-wide but should be possible to adapt that for ~/.config/nixpkgs/config.nix
<mellowmaroon>
spinus: for hakyll-contrib, it wants directory >= 1.0 && < 1.3, filepath >= 1.0 && <1.4, and hakyll >= 3.2.0.3 && < 3.4
<mellowmaroon>
spinus: similar issues about unmet deps for those other packages I mentioned
<Guest398274>
clever: so I don't want to write the partition table to /dev/disk/by-uuid/whatever... because that's where the luks filesystem is... so I did cfdisk /dev/mapper/crypted... which worked... but I'm not sure where to mkfs.ext4... there's no /dev/mapper/crypted1.. shouldn't there be?
<mellowmaroon>
spinus: I appreciate it :)
<clever>
Guest398274: when you create a partition table with gpt, those symlinks will be made automaticaly
<clever>
Guest398274: and one of them will point to the partition you made for the luks
<Guest398274>
clever: which symlinks?
<spinus>
mellowmaroon: try to glue it, in case of issues you can try to catch me
<clever>
Guest398274: but you can also just luksFormat /dev/sda1 directly
<mellowmaroon>
spinus: what is the "h" for? in the first few chars
<spinus>
h = pkgs.haskellPackages.override {
<spinus>
modified hackellPackage set
<mellowmaroon>
Oh, ok
<spinus>
it's probably the same as "self"
<clever>
self would continue to work if something else applies more overrides somehow
<clever>
but h would refer to the version made by this set of overrides and no more
<mellowmaroon>
so in installing, I would refer to it as h.packageName, right?
<mellowmaroon>
rather than haskellPackages.packageName
<clever>
yeah
<mellowmaroon>
Got it :)
<clever>
Guest398274: be back later
simendsjo has quit [(Ping timeout: 260 seconds)]
jonte has joined #nixos
<mellowmaroon>
spinus: is there an easy way to get the package SHA?
<mellowmaroon>
spinus: from Hackage, etc. I need it for the derivation I think
m0rphism has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] aszlig pushed 1 new commit to master: https://git.io/vQgwY
<NixOS_GitHub>
nixpkgs/master 12ee0fb aszlig: virtualbox: Add patch for Linux 4.12...
NixOS_GitHub has left #nixos []
Filystyn has quit [(Read error: Connection reset by peer)]
<Thra11>
If I change nix.buildCores, then do nixos-rebuild switch, will the change apply during the rebuild, or only after the switch?
Filystyn has joined #nixos
<mellowmaroon>
Thra11: I would assume after the switch, that's what usually happens for me
Filystyn has quit [(Client Quit)]
<mellowmaroon>
Thra11: Haven't tried that though. I mean in general, things usually take effect afterward
Filystyn has joined #nixos
<Thra11>
mellowmaroon: Ok. So I guess it might be worth doing a rebuild with that change alone, then doing updates in another rebuild once it's taken effect.
<mellowmaroon>
Thra11: I would do it that way. I'm pretty new to NixOS though
aj__ has quit [(Ping timeout: 248 seconds)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] dtzWill opened pull request #27122: jd-gui: Fix interpreter, add many missing deps, un-upx. (master...fix/jd-gui) https://git.io/vQgrk
NixOS_GitHub has left #nixos []
<mellowmaroon>
spinus: Can I make nix ignore the SHA256?
<spinus>
you could use fetchTarball which does not require hash
<mellowmaroon>
spinus: I actually found sha256sum, and ran that on the package tarball
<spinus>
cool
taktoa has quit [(Remote host closed the connection)]
jgertm has quit [(Ping timeout: 260 seconds)]
romildo has quit [(Quit: Leaving)]
<catern>
mmm
<exarkun>
Found duplicated packages in closure for dependency 'six':
<exarkun>
six 1.10.0 (/nix/store/dqb7fmvrq5jfx3sahjsa5r92ygz613hl-python2.7-six-1.10.0/lib/python2.7/site-packages)
<exarkun>
six 1.10.0 (/nix/store/83l2753z8sal9hy89x6s3dkxrz5nnykn-python2.7-six-1.10.0/lib/python2.7/site-packages)
<exarkun>
:(
<catern>
NixOS manages systems at level-1, NixOps manages systems at level-2, but what we really need is something which can manage systems at level-n
<catern>
(I guess nixpkgs is level-0)
<catern>
arbitrary nesting!
aj__ has joined #nixos
<catern>
that's also for managing /home with Nix or containers or nested containers and whatever
Infinisil has joined #nixos
Havvy has quit [(Ping timeout: 260 seconds)]
<exarkun>
garbas: is there some way to apply a patch to a source tree before pypi2nix processes it further?
mellowmaroon has quit [(Quit: Leaving)]
<dash>
catern: nix for genode then ;-)
<catern>
dash: does genode really need it?
marsel has quit [(Ping timeout: 260 seconds)]
<dash>
catern: it doesnt have any other package manager i'm aware of
Havvy has joined #nixos
Thra11 has quit [(Ping timeout: 255 seconds)]
jgertm has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] NeQuissimus pushed 1 new commit to release-17.03: https://git.io/vQgK8
<NixOS_GitHub>
nixpkgs/release-17.03 7bb59ef aszlig: virtualbox: Add patch for Linux 4.12...
NixOS_GitHub has left #nixos []
tmaekawa has joined #nixos
spinus has quit [(Remote host closed the connection)]
arjen-jonathan has joined #nixos
<exarkun>
found a version of setuptools that allows `setup.py bdist_wheel` to work with unittest2
mudri has joined #nixos
<exarkun>
only to learn pypi2dev won't let me select a custom version of setuptools?
<lvernschrock>
I'm trying to compile some software that uses qtchooser during the build process. Does any package in nixpkgs provide this?
Wizek has joined #nixos
ilyaigpetrov has quit [(Quit: Connection closed for inactivity)]
romildo has quit [(Remote host closed the connection)]
<lvernschrock>
The string "qtchooser" does not occur in my checkout of the nixpkgs repo, so I guess that answers the quest. A better question would be: Has anyone else encountered software that had this requirement and did you manage to get around it?
riclima has joined #nixos
<lvernschrock>
s/quest./question./
jgertm has quit [(Ping timeout: 248 seconds)]
orivej has quit [(Ping timeout: 246 seconds)]
romildo has joined #nixos
ixxie has quit [(Quit: Lost terminal)]
sary has quit [(Remote host closed the connection)]
orivej has joined #nixos
ixxie has joined #nixos
riclima has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
<Nobabs27>
gchristensen: ok thanks! so do I just system.stateVersion = "nixos-unstable"; ?
<Infinisil>
LnL: Why shouldn't you update the default config?
<LnL>
huh?
<LnL>
oh the stateVersion
<LnL>
because it makes sure services, etc. keep working when you upgrade your release channel
<gchristensen>
Infinisil: it either does nothing useful to you, or harms your system
<LnL>
^^
DutchWolfie has quit [(Quit: Konversation terminated!)]
jensbin has joined #nixos
<LnL>
for example the default version of postgres on 17.03 isn't compatible with a database created on 16.09 unless you migrate the data explicitly
<LnL>
so if you have stateVersion = "16.09"; you'll stay on the old version so everything keeps working
<Nobabs27>
ok 2 questions, 1: How ok I just enabled XFCE, then disabled it int he config, rebuilt both times. Are the packages gone or still there?
<Nobabs27>
grammar rip lol
<gchristensen>
or if you were on a very old nixos at one point your ssh keys were generated differently, and should not be regenerated. changing the state variable will cause them to be regenerated
lambdael has joined #nixos
<gchristensen>
Nobabs27: the packages are still in your nix store, but shouldn't be in your PATH or anywhere useful
jensbin has quit [(Client Quit)]
<Nobabs27>
gchristensen: ok how do I remove them?
<gchristensen>
what is your goal in removing them? unless you are short on disk space, you're not impacted by them in any way
<Nobabs27>
lets go with that
<Nobabs27>
(short on disk space)
<gchristensen>
(it sounds like just because you want to. this sort of thing is a critical action on most distros, but not an important step on nixos.) you would run `nix-collect-garbage` with probably `-d` to remove every generation but the one you booted, and the one currently in use
<gchristensen>
then it will delete the unused packages
<gchristensen>
however note that it keeps it around for rollback, and the `-d` option deletes all your rollback options that currently exist
<Nobabs27>
I figured something like that, alright thanks again! now for question 2
eacameron has quit [(Remote host closed the connection)]
<Nobabs27>
Why does xfce.thunar-archive-plugin only work when desktopManager.xfce.enable is enabled? What if i only want thunar but not XFCE?
[0x4A6F] has quit [(Quit: [0x4A6F])]
hotfuzz has quit [(Quit: WeeChat 1.7.1)]
ryantrinkle has joined #nixos
hotfuzz has joined #nixos
mellowmaroon has joined #nixos
<mellowmaroon>
hey, this might not be the right place to ask, but does anyone have Spacemacs set up with Haskell autocompletion?
rmeis has joined #nixos
<mellowmaroon>
yet another thing I've found myself stuck on... :\
hotfuzz has quit [(Client Quit)]
hotfuzz has joined #nixos
rmeis has quit [(Ping timeout: 268 seconds)]
orivej has quit [(Ping timeout: 260 seconds)]
mellowmaroon has left #nixos ["Leaving"]
orivej has joined #nixos
<Infinisil>
LnL gchristensen: (regarding my question before) Ah, I didn't know you were talking about stateVersion
jonte has quit [(Ping timeout: 240 seconds)]
spinus has joined #nixos
arjen-jonathan has quit [(Ping timeout: 248 seconds)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] peterhoeg pushed 1 new commit to master: https://git.io/vQgSJ
<NixOS_GitHub>
nixpkgs/master a0fa617 Peter Hoeg: kirigami: add missing qttranslations
NixOS_GitHub has left #nixos []
k0001 has quit [(Remote host closed the connection)]
<sphalerite>
So you'll want to do something like nix-env -iE 'with import <nixpkgs> {}; xfce.thunar.override {thunarPlugins = [xfce.thunar-archive-plugin xfce.thunar_volman]}' for instance
rmeis has quit [(Ping timeout: 248 seconds)]
<steveeJ>
texlive is a monster :-D I can't figure out how to override the src url for a combined texlive
<Nobabs27>
I need to use nix-env ?
<sphalerite>
Infinisil: I'm guessing they were just installing thunar and the plugin separately rather than using thunar's thunarPlugins option which presumably wraps thunar in such a way that it can find the plugins
<sphalerite>
Nobabs27: if you want to install it systemwide you can put something like (xfce.thunar.override {thunarPlugins = [xfce.thunar-archive-plugin xfce.thunar_volman]}) in systemPackages
sary has joined #nixos
mellowmaroon has joined #nixos
mellowmaroon has quit [(Quit: Leaving)]
faffolter has quit [(Ping timeout: 255 seconds)]
rmeis has joined #nixos
arianvp2 has quit [(Read error: Connection reset by peer)]
arianvp2 has joined #nixos
rmarko is now known as srk
rmeis has quit [(Ping timeout: 240 seconds)]
arianvp2 has quit [(Quit: arianvp2)]
fre has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] volth opened pull request #27125: ocamlPackages.{benchmark,obuild,ptmap,rope}: init at 1.4, 0.1.8, 2.0.… (master...haxe-4-deps) https://git.io/vQgHY
civodul has quit [(Quit: ERC (IRC client for Emacs 25.2.1))]
<LnL>
it's nixos-17.03
seppellll has joined #nixos
justelex_ has quit [(Quit: Konversation terminated!)]
justelex_ has joined #nixos
hiratara has quit [(Ping timeout: 246 seconds)]
k0001 has quit [(Ping timeout: 240 seconds)]
hiratara has joined #nixos
apeyroux has quit [(Quit: Lost terminal)]
thc202 has quit [(Ping timeout: 248 seconds)]
MercurialAlchemi has quit [(Ping timeout: 255 seconds)]
apeyroux has joined #nixos
<Infinisil>
Should I always use "$out/bin" etc instead of just $out/bin?
<Infinisil>
I feel like I should, but haven't seen all packages actually do it
<nh2>
Infinisil: if you want the thing to work when somebody builds it for a system where /nix/store isn't at that path, but under "/hello spaces/nix/store", then you need to quote
<Infinisil>
nh2: Yeah
<Infinisil>
I'll just put them in
<Infinisil>
God damnit bash
<nh2>
Infinisil: at least you'll get some properness points when the hiring headhunting script comes by your code
<Infinisil>
:D
MercurialAlchemi has joined #nixos
<nh2>
and it ever so slightly increases the chance that somebody will come by your nix code, remember that as the way to write bash correctly, and avoid a mistake that would otherwise result in millions of fatalities (or other bad things)
<Infinisil>
Another question: When doing a symlink in $out, is it okay to use a relative one?
<Infinisil>
nh2: Very true
<Infinisil>
Ohhh
<Infinisil>
I *should* be using a relative one
<nh2>
or, even better, people will read it, think "lol what BS bash is so much effort, I'll never use that" and use a sane language instead
<Infinisil>
nh2: Too bad bash is very tightly integrated with nix
<Infinisil>
I'd love to use something else
Wizek has quit [(Read error: Connection reset by peer)]
jsgrant has joined #nixos
Wizek has joined #nixos
MercurialAlchemi has quit [(Ping timeout: 248 seconds)]
<nh2>
Infinisil: I think practically you don't have to use it, and use Python for everything. Might even work if you just put #!/usr/bin/env python3 at the top of your nix scripts and depend on it at build time, I haven't tried it
<nh2>
an with ''' notation and ${} being the interpolation string, it wouldn't even look weird
<Infinisil>
nh2: Oh right
<Infinisil>
I'd have to learn python first though
<Infinisil>
I'd love to use Haskell, but it's probably too much of a dependency for nixpkgs itself, for my own derivations though I could ry
<Infinisil>
s/ry/try
<nh2>
Infinisil: defintely try it and tell me if it works. It might be that nix destroys our honourable plan if it already puts a #!/nix/store/.../bash at the top
<nh2>
Infinisil: yeah, I'm not sure if Haskell would be a good choice for that kind of stuff in its current state. Bash / POSIX shell certainly lives from the fact that it never changes, and a bash script that you wrote in 1980 would do the same thing today (though probably wrong at both times), which is certainly not true for Haskell
<Infinisil>
nh2: Well.. Haskell is pretty old and doesn't change anymore too
<Infinisil>
Haskell first appeared in 1990
<dash>
Infinisil: ha
<Infinisil>
dash: or does it?
<dash>
Infinisil: haskell is _very_ different from its 1990 incarnation, and somewhat different from even two years ago
<nh2>
Infinisil: of all old languages, it's the one that changes most IMO! You can't even upgrade from 7.8 to 7.10 without having the most basic stuff break to compile
<Infinisil>
Really? What are breaking changes of it?
<nh2>
e.g. you add 1 function to the prelude, like the Foldable/Traversable functions, and suddenly your script might have name conflicts when it didn't have before
<Infinisil>
Hmm
<Infinisil>
Oh man, I would've really liked to use haskell for scripting, but that is very discouraging
<dash>
use javascript
<nh2>
Infinisil: Imagine you wrote a script for 7.8 that defined a function `traverse = ...`. In 7.10 suddenly you get a name clash because `traverse` is already in the prelude scope now
<Infinisil>
dash: *barf*
<Infinisil>
nh2: I see..
<nh2>
Infinisil: IMO it's OK for scripting in general, it depends on what you want the workflow to be. If you want improvements and you're OK with having stuff break at compile time (totally fine for me), an you are OK with making some trivial syntactical fixes every half a year, then that's OK.
<Infinisil>
Okay but then I'll just have to use the compiled version and integrate compiling into the nix pipeline somehow, which would make it even faster than bash
<dash>
Infinisil: this is computers, did you think you could have anything nice or good?
<Infinisil>
dash: There is lots of nice things!
<nh2>
But if you care that you can write something once and you literally have to never touch it, a language that promises to never change any things in scope or any semantics or typechecking rules can be beneficial
<simpson>
So, here's my worry. If Nix improves as a language, then people might write more stuff in it.
<Infinisil>
nh2: Hmm right, compiled stuff wouldn't work for that
aneeshusa has joined #nixos
<Infinisil>
simpson: How do you think nix should improve as a language? To have a nix-script type thing that replaces bash?
<schoppenhauer>
hi. I want to define a web-service that uses some http-server as transparent proxy, and a mysql database. I see that in web-servers/apache-httpd, there are some definitions like "wordpress", etc., but I wonder, are these definitions just "glue" for other packages, or do they really require apache?
<simpson>
Infinisil: Sorry, lemme rephrase. In order to prevent people from writing more stuff in Nix, we should be wary about improving the Nix language.
<schoppenhauer>
I am a bit confused.
<nh2>
Infinisil: compiles stuff can work, it's more a contract of the language publishers that makes the difference. If you use NoImplicitPrelude, make your own prelude and promise the world to never change it, and tell GHC with a flag to use e.g. always Haskell 98, then it'd work as well as bash
<Infinisil>
simpson: Ah
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] zimbatm pushed 1 new commit to master: https://git.io/vQg5L
hiratara has quit [(Remote host closed the connection)]
<nh2>
Infinisil: but you'd have to be the guy to promise to maintain it for 25 years, make semantics-preserving security fixes etc to it
<Infinisil>
nh2: Right.. Hmm
Itkovian has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
<nh2>
I think that'd be a great idea btw. But should secure some form of funding to make sure it's not some empty promise
hiratara has joined #nixos
<Infinisil>
I just think since nix already evaluates the expressions, it could also compile source code at that step, which would both improve build time and prevent syntax errors at evaluation time
<Infinisil>
I mean if bash could be compiled that would work too
<Infinisil>
schoppenhauer: Have you had a look at the source?
<Infinisil>
simpson: not safety, but syntax correctness. Errors such as "bash: unexpected (" wouldn't happen at build time, but at evaluation time
<hodapp>
I don't see much mentioned about safety being the goal though.
<hodapp>
I was looking around a bit last year at repurposing something like Hugs as an easily-embeddable Haskell form as a scripting and configuration language, but didn't end up doing much with this.
<nh2>
Infinisil: not sure it would improve build time in practice. For scripts which do actions linear in the number of characters of their own text (e.g. most of nixpkgs's build scripts, which just run a series of N programs after each other, and never use any form of loop or even function calls), compiling to machine code doesn't add too much I guess
<simpson>
Infinisil: Ah. Sure, let's have a tool to lint all the bash.
<hodapp>
there's a difference between linting a dynamically-typed language, and type-checking a statically-typed one
<hodapp>
pretty much every attempt to shoehorn the benefits of static types into the former has involved a lot of half-assing
<nh2>
that certainly; a linter can never decide if `gcc $var` is correct or should have quotes, because it depends on what the programmer wanted and bash doesn't force to distinguish it
<Infinisil>
I tried using haskell for a script, what shebang would you use for this?
<nh2>
Infinisil: `#!/usr/bin/env runghc`, or the same with its alias `runhaskell`; but before you make the effort to write the script, check if the shebang really makes to the top of the file or if nix has already filled that spot with bash and your shebang will be the second line, then it can't work
<hodapp>
but one of my big gripes anytime I'm trying to debug things in dynamically-typed languages is when I get a type error buried N levels deep in the stack trace
<Infinisil>
nh2: Yeah
<hodapp>
it's particularly pernicious in things like R where a lot of types act like each other in certain ways and not others
eacameron has joined #nixos
jgertm has joined #nixos
<nh2>
hodapp: you will certainly find many here that think that lack of static types is always a bad idea. The only trouble that appears is once you decide to do something, you have to decide which way to do it
k0001 has joined #nixos
eacameron has quit [(Ping timeout: 240 seconds)]
seppellll has quit [(Ping timeout: 248 seconds)]
<hodapp>
nh2: how do you mean?
<hodapp>
Infinisil: Not a fan of JavaScript? :P
JagaJaga has quit [(Ping timeout: 255 seconds)]
<nh2>
hodapp: if you decide to have static typing in you language, you have to decide how it should work. Which isn't easy and there are many choices, making good decisions will take time. If you say you don't have static types you don't have to spend time at it
etcinit[m] has joined #nixos
<hodapp>
nh2: it seems to me that one still must decide how types work whether one uses dynamic or static typing
<nh2>
hodapp: but when you use dynamic, you can decide it at-hoc, you can make special cases easily, and it's always "the user's fault"
<Infinisil>
I think Haskell can't be used for scripts...
<hodapp>
you can make special cases all you want to with how you handle a given type at run-time
<hodapp>
that applies to both static and dynamic typing
<nh2>
hodapp: e.g. in Python, can't pass that iterable to your function? No problem, in the next release of your library you introduce a `if type(arg) == ...: ...` and you're good to go. If your static types are proper and don't allow cheating, you have to apply foresight
<clever>
Infinisil: runCommand just sets the buildCommand
<clever>
Infinisil: ah yeah, and what you just linked, nixpkgs will eval the buildCommand
<clever>
so the #! is ignored
<Infinisil>
clever: :(
<clever>
Infinisil: but you can use writeText to write some haskell out, then just "runcommand ${foo}"
<Infinisil>
clever: Ohh I'll try that
<clever>
Infinisil: or even "runcommand ${writeText "dummy.hs" ''your haskell goes here''}"
<clever>
oops, runhaskell that
<nh2>
hodapp: so one might argue that a badly designed type system is worse than no type system at all, because any type system always reduces value-level expressivity, and you have to have to re-gain that expressivity by clever design of your type system. As an example, consider go, where you have to write the same code (e.g. sorting) again and again for every single type that can be in a list because of lack of generics, if you want to stay type-sa
<hodapp>
nh2: that looks like something you can do in the static typing systems I'm aware of, in some cases at either compile-time or at run-time
<nh2>
hodapp: I mean in general expressivity, only added "value-level" to address the valid counterpoint that one could argue that with sufficiently powerful type-level programming one can re-gain expressivity
<catern>
I'm trying to run htop I installed with Nix, from urxvt I installed with Nix
<hodapp>
nh2: in my experience, one never requires that "sufficiently powerful type-level programming" to re-gain that expressivity; pretty bog-standard polymorphism like Hindley-Milner gets that for you
<nh2>
hodapp: for example, in Python you can write `def myfun(x, y): return x + y`, and this will work as long as you pass in the right values. In a statically typed language, this will not work as long as you pass in the right values. A not-well-designed type system will forbid you to pass in most values, even when technically they'd work. You need sophisticated type level constructs like typeclasses or templates in order to make it work
<hodapp>
nh2: the type-level programming that I've made use of in Haskell isn't to escape constraints, it's to add them back in at compile-time to enforce things there rather than run-time
<nh2>
hodapp: I consider Hindley-Milner already as complicated when compared to dead-stupid typing like in Go
<Infinisil>
clever: Ah yeah, your solution is a bit cleaner
<dash>
go is stupid in more than just its type system though
<nh2>
hodapp: I disagree, for example to write functions that at the same time work on boxed and unboxed vectors, type-level constructs are clearly used to re-gain something that more basic forms of typing don't permit
<Infinisil>
Oh is there Go hate here? let me join
<clever>
Infinisil: i realized half way thru the last example, that i could just make the whole thing into a function
<clever>
Infinisil: only thing missing is support for deps
<nh2>
in Python, this would just work out of the box, and I believe Go is a good example where the type level constructs are too primitive to allow you to re-gain expressivity, thus you have to write the same code 100s of times
<hodapp>
nh2: if you're talking about Java here, we may have rather different standards in mind for what you consider "powerful" to mean in a type system
<Infinisil>
clever: A haskellWithPackages should do
<clever>
Infinisil: yeah
<rodarmor>
catern: Are you using nixos or nixpkgs? Try 'TERM=xterm-color htop'
<nh2>
hodapp: I had specifically Go and Haskell in mind: Go's type system is simple enough to come up with very quickly and not spend much time designing. But you can't say that not a lot of thought went into making Haskell's type system, with the goal to make many things expressive without having to cheat the type system
<hodapp>
nh2: to be clear, I'm considering things that are bog-standard in Haskell, like typeclasses - which end up basically as compile-time duck typing
<clever>
Infinisil: refresh my previous gist
<catern>
rodarmor: nixpkgs
phinxy has quit [(Quit: Leaving)]
<catern>
(on Arch)
<catern>
rodarmor: that indeed fixes it, but how do I fix it in the first place?
<catern>
that is... how do I fix it Correctly(TM)
<nh2>
hodapp: I'm just saying this because my original point was: If you make a type system, you better spend some time designing it, otherwise you end up with Go and your users potentially suffer more than if you had gone with the Python approach
<schoppenhauer>
Infinisil: yes.
<hodapp>
yes, Go's type system was made for people who wanted pretty much a modern-day C
<schoppenhauer>
I am still confused, but it appears that these are really hardcoded. anyway. I only need apache.
<hodapp>
dash: what do you find stupid in Go aside from its type system?
<schoppenhauer>
other question: how do I define a service that uses a mysql-database?
<Infinisil>
clever: Why does haskellWithPackages take a function anyways? What's ps in your gist?
<schoppenhauer>
can I, inside the package itself, define the schema and stuff?
<clever>
Infinisil: deps is a function, that is passed the entire haskellPackages
<clever>
Infinisil: and it must then return a list of deps it has picked
<catern>
rodarmor: sadly I already have that installed
<dash>
hodapp: unsafe concurrency
<clever>
Infinisil: so you would do it like this: runHaskell "dummy" (ps: with ps; [ shake ]) '' ....
<Infinisil>
Hmm..
<dash>
hodapp: e.g., unconstrained sharing between threads/goroutines
<schoppenhauer>
(I plan to write a nixos service for something, but it uses mysql. is there something like dbconfig-common from debian for nixos? like, some way I can, inside this package, define a schema and credentials?)
<rodarmor>
catern: Ahh, bummer. I only have the vaguest understanding of how terminal information works, and you probably already know this, but the root of the problem is that htop is looking for information on your current terminal, which is given by the TERM environment variable, and not finding it. So it looks like nixpkgs is installing urxvt correctly, but not the terminal information.
<Infinisil>
clever: Ah right, in nix you can't use a variable without introducing it somehow
<rodarmor>
catern: So, long story short, I'm not sure what the actual fix is :(
<clever>
Infinisil: this also makes sure the deps come from the same version as the ghc
<clever>
schoppenhauer: this creates a hydra-init service, and if the .db-created file doesnt exist, it will create the db and file
<clever>
schoppenhauer: and lines 305/306, the real service depends on the init service
<hodapp>
nh2: the difference that I see is that the context that produced Haskell's type system wasn't one of trying to put handcuffs onto dynamic typing and then make hacks for escaping them (which is pretty much what C++ and Java feel like to me), but of making one that at its core was sufficiently flexible and allowing that one could move more and more run-time constraints into what types could be used to verify or
<hodapp>
in some cases compute
<hodapp>
so I don't see much of its design as being a requirement of escaping anything
<schoppenhauer>
clever: so with .db-created, it tracks whether it has already created a database in the past?
<clever>
schoppenhauer: yeah
<clever>
schoppenhauer: and then the first time the -init service is ran, it can create everything
<schoppenhauer>
clever: ok. but won't the baseDir change?
<schoppenhauer>
clever: like, when the package updates?
<clever>
schoppenhauer: line 9, baseDir = "/var/lib/hydra";
<schoppenhauer>
ah sorry.
<schoppenhauer>
ok.
<nh2>
hodapp: I agree, but I think that's simply because the ambitions there were already way beyond just "writing safer programs". For many languages with types, "writing safer programs" [by forbidding the wrong programs] was a key goal when opting for a type system
<clever>
schoppenhauer: you could also store the database schema version in that file, and upgrade/fail if the database isnt compatible with the software
<schoppenhauer>
clever: hm. not sure. this does sound a bit "hacky". wouldn't it be nicer to do this more … "functional"?
<hodapp>
I'm just not particularly interested in "many languages with types"
<clever>
schoppenhauer: the mysql service already has something similiar, but its a lot more imperative
<hodapp>
in so far as I find most of them to be far too limited
<nh2>
for example, Go's and Rust's type systems certainly have that flair of "forbidding wrong programs"
<clever>
schoppenhauer: the problem with these options, is that they only work the first time mysql is ran
<clever>
schoppenhauer: so if you later turn a 2nd service on needing mysql, its db's dont get made!
<hodapp>
Go and Rust take very different methods here though
<clever>
schoppenhauer: so you really need a per-service tracking file, to auto-create things
<nh2>
hodapp: OK, but I imagine then you agree with what I tried to say, that you shouldn't try to add a type-system half-assed and when you don't have time, because then your users will suffer real hard
<hodapp>
nh2: yes, with the constraint that I've seen people half-ass a Hindley-Milner implementation in their spare time and still end up with something more functional than a lot of "practical" languages that are statically typed
<schoppenhauer>
clever: meh. ok. so the "proper" way to do it is to have options to define a database connection, if the user uses an external service or something, and otherwise create an own one.
<schoppenhauer>
clever: is there a way to remove the database when the package is removed? (probably not, because this is not well-defined)
<clever>
schoppenhauer: no way to specify actions to happen upon removal
<clever>
schoppenhauer: when the user removes the service, the code just stops being ran
<hodapp>
dash: interesting. haven't really used Go, but I have heard that it's oriented a lot around shared-memory all over the place
<nh2>
hodapp: OK, but if you take an off-the-shelf type system that's proven to work reasonably well in the past, then you're not really going the way of not taking the time to design it, you're just outsourcing the effort, somebody has already spent lots of thought on it in the past
<schoppenhauer>
clever: ok. hm. well, better than nothing.
<schoppenhauer>
clever: thx.
<nh2>
hodapp: so I don't count that as half-assed
<hodapp>
nh2: pretty much everything nowadays in the software is built of off-the-shelf parts proven to work reasonably well in the past (if you're lucky)
<hodapp>
sometimes it's even the right parts
<schoppenhauer>
hm. as a start: is there a way to have an own mysql process running?
<nh2>
hodapp: I'd argue that Go is a counterexample to that, and other stuff like untyped JVM languages would quite surely have turned out better had their authors just picked Hindley-Milner
<hodapp>
yeahhhh, Go picked a bunch of parts out of a box of C-flavored stuff
<catern>
rodarmor: thanks for trying anyway :)
<Infinisil>
How about this: users.extraUsers.infinisil.shell = pkgs.haskellPackages.haskellWithPackages (p: [ p.turtle ]); environment.shellInit = "import Turtle";
<hodapp>
some people claim those "worked reasonably well in the past", for certain values of 'worked', 'reasonably', and 'well'
<catern>
bug title is: unable to load driver: nouveau_dri.so
<catern>
I am encountering the same problem myself :)
<nh2>
schoppenhauer: in general, nix never deletes your user data. It makes a strict separation between things that it itself manages, and things that you own
<hodapp>
as far as I understand it on JVM languages, a lot of things seem to derive from the fact that the JVM has some strict ideas on what code should look like (particularly its form of statically-ish-typed OOP)
<catern>
hmm
<schoppenhauer>
nh2, clever: ok. well, I would like to run this thing inside a shell first. I remember having created a shell that runs an own postgres in a given directory. probably, the same is possible with mysql, right?
<catern>
I get the feeling that Nix has given up on making Nix work well on foreign distros, and resorted just to fixing things on NixOS, whereas Guix is trying to make Guix work well everywhere
<nh2>
schoppenhauer: I don't use mysql but with postgres I know exactly how you can run it with just a given data-directory
fre has quit [(Quit: WeeChat 1.7.1)]
<nh2>
schoppenhauer: `/path/to/postgres -D mydatadir` (In nix, that would likely be something like "${pkgs.postgres96}/bin -D mydatadir"
<Infinisil>
catern: Nix doesn't work well on foreign distros?
<Infinisil>
catern: How?
Wizek_ has joined #nixos
<nh2>
catern: I wouldn't go as far as claiming that. But I read "nouveau" in what you wrote and anything that is tied to hardware AND controls only part of your system is inherently difficult to combine with system-independent approaches; ask the Docker people about trying to run CUDA on nvidia, similarly a huge pain and there I wouldn't claim either that anybody has "given up"
<catern>
nh2: admittedly this is true
markus1189 has joined #nixos
<catern>
nh2: those seem like pretty different cases though
<Infinisil>
In a world where everybody would write code that only says what it does, but now how (a la Haskell) and only the compiler is concerned with this, wouldn't every software be 100% portable?
<catern>
Infinisil: well, the thing I linked above...
<catern>
"no OpenGL software works on foreign distros" seems pretty bad to me :)
<hodapp>
nh2: it will be interesting to see if anything ever emerges here that makes things like CUDA more sane :| I was about ready to kill people when I tried to make TensorFlow run with CUDA acceleration on ArchLinux.
<nh2>
catern: what are you trying to do, is cool-old-term some software that needs OpenGL?
<catern>
nh2: I'm trying to run mpv, specifically
ertes has joined #nixos
<nh2>
catern: what is that?
<catern>
a video player based on mplayer
<catern>
or chrome also fails
markus1199 has quit [(Ping timeout: 268 seconds)]
<hodapp>
hah. I used to use cool-retro-term.
<catern>
let me rephrase, chrome prints this error message:
<nh2>
hodapp: interestingly, CUDA worked for me on NixOS out of the box, the best experience I've ever had with any OS and CUDA. I was surprised
<hodapp>
nh2: it's worked similarly for me
<catern>
but it then falls back to something else
<nh2>
catern: typically if you want nix-installed programs to work on your non-nixos host OS, you need to set LD_LIBRARY_PATH to the dir that contains libGL.so, the driver itself (like nouveau_dri.so, or nvidia-whatever.so in my case), and potentially other dirs that contain the .so files that they depend on
<catern>
mpv prints that and then some more various X BadValue errors and exits in a failure
<catern>
nh2: ah! I'll do that then!
<nh2>
catern: so in practice you can `locate nouveau_dri.so` (or use `find`, but that's slower), see which ones look like the right dirs and put them on LD_LIBRARY_PATH
<nh2>
catern: once you've made it work that way, it might make sense to switch to LD_PRELOAD, giving individual .so files instead of entire dirs with LD_LIBRARY_PATH, because the latter might make the apps load other .so files that you don't want (you want all .so files from nix, you really only want the graphics driver related .so files from your host)
<catern>
nh2: well, I think I will make a directory .nix-libs and symlink the libs I want from my host into there, then put that on LD_LIBRARY_PATH
<nh2>
but the LD_LIBRARY_PATH approach is a good start when you don't know what precise files your driver needs (for example, the nvidia proprietary driver looks for something called nvidia-fatbinaryloader.so, who in the world would have guessed that name)
<nh2>
catern: that'll also do
jgertm has quit [(Ping timeout: 240 seconds)]
<nh2>
catern: I think we should make some documentation place somewhere where we can document what GPU / driver wants what files. I know what files NVIDIA wants by now
justelex_ has quit [(Ping timeout: 248 seconds)]
<catern>
nh2: aha! it works! thank you! :D
<nh2>
catern: cool!
<catern>
and now I know this technique
<nh2>
it's easy if you know it. But it should really be documented so people can discover it easily
<catern>
nh2: well, helpful the error message listed the precise couple .so files
<nh2>
yeah, NVIDIA is not as kind
<catern>
(I've even used this technique to troubleshoot nix issues in the past, but it didn't occur to me to use it for graphics libs)