jabranham has quit [Quit: ERC (IRC client for Emacs 27.0.50)]
<judson>
Wow, I'm finally back to an early nix-ish project: working on the Shex rubygem. It's... a stress test for bundix.
peacememories has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Rusty1 has joined #nixos
peacememories has joined #nixos
jasongrossman has quit [Ping timeout: 246 seconds]
drakonis has joined #nixos
dramforever has joined #nixos
<alex_giusi_tiri>
Hi! Would anyone have any pointers for non-working audio? My system is linux-x86_64 on a laptop. I looked at https://nixos.wiki/wiki/Audio and `alsamixer` does not seem to work: "ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused".
<gchristensen>
have you enabled sound?
drakonis_ has joined #nixos
<gchristensen>
sound.enable = true in your /etc/nixos/configuration.nix
<ottidmes>
alex_giusi_tiri: connection refused seems like a permission error, it should not be necessary I believe, but is your user in the group "audio"?
<alex_giusi_tiri>
`sudo lsof /dev/snd/*` does not list "pulseaudio" in the first column; instead it has ".mate-set" and ".mate-vol".
<clever>
alex_giusi_tiri: pulseaudio inserts a dummy alsa driver into the default config
<ottidmes>
alex_giusi_tiri: even if you could, why would you ever need to login a desktop manager as root? seems unnecessary dangerous to me
<alex_giusi_tiri>
I just prefer so.
<alex_giusi_tiri>
I am the only user anyway.
<clever>
alex_giusi_tiri: thats what sudo is for
<clever>
many programs disable automatic module loading when ran as root
<ottidmes>
alex_giusi_tiri: thats not the point, you should not run all your programs as root
jperras has quit [Ping timeout: 240 seconds]
<ottidmes>
alex_giusi_tiri: if I run some nodejs package that I dont know that well, I dont want to potentially have it do stuff to my system that normally would be prevented by not being root, for example
<alex_giusi_tiri>
Yeah, but I like having direct control over my system. I wouldn't like to sudo everytime I need it... And what about GUI programs? I guess there's gksudo or such. I am used to be able to browse the entire fs and edit anything on the spot, rather than complicate myself; it's as if I am locking myself out for no reason, really. With NixOS, this is not as needed anymore, but that is how it was before, for me. At least that is how
<alex_giusi_tiri>
way... But thank you for the concern, in any case...
<alex_giusi_tiri>
:-)
thc202 has quit [Ping timeout: 264 seconds]
<ottidmes>
alex_giusi_tiri: not to be a smart ass, but in a way, by doing so, you actually ended up complicating matters ;). In the end its your system, but the concerns are real (e.g. mistakes in the terminal become more dangerous)
<boomshroom>
I'm checking out qbittorrent with a friend and he's telling me about the search engine functionality. It looks like qbittorrent doesn't add python to the path in order to use this.
<{^_^}>
[nixpkgs] @peti pushed to haskell-updates « hackage-packages.nix: automatic Haskell package set update »: https://git.io/fp4b8
<{^_^}>
[nixpkgs] @worldofpeace pushed 2 commits to master: https://git.io/fp4AO
drakonis1 has joined #nixos
drakonis_ has quit [Ping timeout: 252 seconds]
xelxebar has quit [Quit: WeeChat 2.3]
mekeor has joined #nixos
drakonis_ has joined #nixos
mayhewluke has quit [Ping timeout: 252 seconds]
mayhewluke has joined #nixos
drakonis1 has quit [Ping timeout: 252 seconds]
<{^_^}>
[nixpkgs] @worldofpeace merged pull request #50638 → processing3: update the hash of the reference → https://git.io/fpcHM
<{^_^}>
[nixpkgs] @worldofpeace pushed 2 commits to master: https://git.io/fp4AP
<{^_^}>
[nixpkgs] @Pneumaticat opened pull request #50904 → LizardFS: 3.11.3 -> 3.12.0, add Berkeley DB support → https://git.io/fp4AD
jackdk has quit [Ping timeout: 240 seconds]
<{^_^}>
[nixpkgs] @delroth opened pull request #50905 → curl: cherry-pick upstream patch for ipv6 url parsing → https://git.io/fp4A7
<WhittlesJr>
Another easy one for you: looking a function that gets the directory path of a file path? (/path/to/thing.txt -> /path/to/)
jmeredith has quit [Quit: Connection closed for inactivity]
<pbogdan>
> builtins.dirOf "/path/to/thing.txt"
<{^_^}>
"/path/to"
vk3wtf has quit [Ping timeout: 252 seconds]
<clever>
> builtins.dirOf ./.
<{^_^}>
/var/lib/nixbot/state
<clever>
> ./.
<{^_^}>
/var/lib/nixbot/state/nixpkgs
<clever>
seems to work equally well on strings and paths
<delroth>
can someone who knows nixos better lmk if #50905 is worth the rebuilds it's going to cause? or if we should just workaround the curl bug in tests.
<timclassic>
samueldr: I was able to get X to start on HDMI using the modesetting driver, setting `cma=256M` (128 might have also worked). I also have `gpu_mem=156` in my config.txt but I'm not sure if this is required (probably?)
<timclassic>
samueldr: However, I'm unable to get X to send the output to the 7" touch display, even though the initial boot console works just fine there.
vk3wtf has joined #nixos
<clever>
timclassic: how much do you know about dispmanx?
<WhittlesJr>
If my service creates symlinks, (like under /var), when is it expected to clean them up, if ever? If I disable the service and rebuild, does it leave that junk lying around, or does NixOS do something clever? I'm looking for cleanup steps in modules but I'm not seeing any...
<clever>
WhittlesJr: you could modify it to put the symlinks onto a tmpfs
<clever>
then they are lost at shutdown
<clever>
and remade every time the service is started
<WhittlesJr>
Is that what's typically done?
<jasongrossman>
I believe cleaning /tmp is not the default, but many of us have it set - it's an easy option.
<jasongrossman>
boot.cleanTmpDir = true in your configuration.nix.
<jasongrossman>
Or make your own tmpfs mount if you prefer.
<clever>
tmpfs on /run type tmpfs (rw,nosuid,nodev,size=8208660k,mode=755)
<clever>
there are also pre-existing tmpfs's you can use
<jasongrossman>
Oh, yes.
<WhittlesJr>
Problem is, this service has to put them in a particular place under /var... lots of other services seem to do that too, so what happens to clean that stuff up?
<clever>
nothing automated
<jasongrossman>
WhittlesJr: Is it a directory under /var that only this service will use? If yes then you could mount a tmpfs there.
<clever>
but you can use things like libredirect to remap it
<WhittlesJr>
jasongrossman: It doesn't really have exclusive control of the path, unfortunately
<jasongrossman>
WhittlesJr: That's bad luck.
<clever>
WhittlesJr: what service is it?, what is the path?
<WhittlesJr>
well, it's not exactly a service... maybe you can point me in a different direction entirely. Hold on, I'll get a gist
<WhittlesJr>
So it's really just a "have these files in this location" type of problem. /var/lib/hass is owned by the `hass` user and has other things in it. I wasn't sure how to do this nixily and this was my best guess. It does work, I guess
<clever>
WhittlesJr: ah, i would just patch whatever is expecting those paths to look elsewhere
<clever>
and if it cant be patched, libredirect
<WhittlesJr>
Well, I'm not sure if I can? the /var/lib/hass/www/*, /var/lib/hass/panels/*, etc, can be populated by many other things
<WhittlesJr>
I'll try to read up on libredirect
contrapumpkin has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<CMCDragonkai>
In the checkPhase of a Python package, I'm trying to run a shell script. But Nix complains that `/nix/store/6kz2vbh98s2r1pfshidkzhiy2s2qdw0a-stdenv-linux/setup: bin/test: /usr/bin/env: bad interpreter: No such file or directory`. Is there something I'm missing in the checkInputs or checkPhase to run scripts in the checkPhase?
<clever>
CMCDragonkai: /usr/bin/env isnt present in the nix sandboxes, you need to run patchShebangs on the script first
<CMCDragonkai>
Is that done inside the `checkPhase` or somewhere else?
<clever>
any time before the script is ran
<clever>
checkPhase would likely work fine
<CMCDragonkai>
clever: I'm using `python.pkgs.buildPythonApplication`
<CMCDragonkai>
clever: I thought it would already handle such things
<clever>
are you just putting raw bash into the checkPhase, or are you running a script that has #!/usr/bin/env at the top?
<CMCDragonkai>
i'm running a script with `#!/usr/bin/env bash` at the top
<CMCDragonkai>
is there a dependency I need in my `checkInputs` to have `patchShebangs` or is that available wherever?
<slack1256>
Does the file /etc/protocols represents the socket protocols that nixos uses or it isn't used?
<simpson>
CMCDragonkai: It should always be available.
<simpson>
slack1256: I think yes? It exists and is readable on my system, at least.
<CMCDragonkai>
There is absolutely no documentation that says that need to do this in the checkPhase when you're running some tests that require calling some non-python script.
<clever>
slack1256: i think the contents of the file are standard across all linux distros, ive also found that haskell programs dont even know what tcp is, if the file is missing
<clever>
CMCDragonkai: its got nothing to do with the checkPhase, its entirely to do with #!'s that point to things that dont exist
jackdk has quit [Remote host closed the connection]
jackdk has joined #nixos
<CMCDragonkai>
clever: I realised that, but it's weird how the "installation" process is managed by `buildPythonApplication` and auto patches that scripts, but not during `checkPhase` so it ends up being super confusing when Nix complains about the script not existing when they do
<clever>
CMCDragonkai: what path is the script your running at?
<CMCDragonkai>
clever: Is there a special option to tell nix-build not to run the tests just for this run?
<clever>
CMCDragonkai: not really, you would need to make an override that sets doCheck = false;
<timclassic>
clever: Can you give me a hint about dispmanx and how it relates?
<CMCDragonkai>
but that would change the output hash wouldn't it?
<clever>
timclassic: the rpi uses dispmanx as the 2d compositor for all video outputs
<clever>
timclassic: and the rpi firmware will statically allocate a 2d "image" that is on the hdmi output, and pass the phys address of that "image" to linux, claiming its a framebuffer
<clever>
timclassic: so when you write to /dev/fb0 on linux, its writing to an image resource, that dispmanx then stretches and renders out the hdmi
<timclassic>
Ah, interesting
<clever>
timclassic: i dont know how you would remap fb0 to a different interface, but i noticed in the example app i linked, that you open screen 0 to get a handle to the hdmi/composite
<clever>
timclassic: if you grab that example, and switch it to screen 1, what happens?
<timclassic>
Ah, I see what you're saying
<CMCDragonkai>
I tried putting `patchShebangs` into the `preCheck` instead of `checkPhase` and it didn't work. I had to put in `checkPhase`.
<clever>
CMCDragonkai: if you set checkPhase, then you loose the pre/post hooks
<CMCDragonkai>
clever: oh
<jeaye>
I've just installed firefox via nix on Arch; it runs fine, except it doesn't have WebGL support. What would I need to do in order to get that? WebGL works fine in my Arch firefox, using my Arch-installed nVidia drivers.
kyren has quit [Ping timeout: 272 seconds]
rprije has joined #nixos
rprije has quit [Remote host closed the connection]
rprije has joined #nixos
rprije has quit [Remote host closed the connection]
rprije has joined #nixos
<CMCDragonkai>
How do you deal with packages that need to run tests against the GPU?
<clever>
CMCDragonkai: disable testing
<CMCDragonkai>
clever: Why not allow access to the GPU devices in the build environment?
<clever>
not all build machines have gpu devices
seanparsons has quit [Ping timeout: 272 seconds]
<CMCDragonkai>
what if you did?
<CMCDragonkai>
wouldi t be a matter of editing the `nix.sandboxPaths`?
<clever>
CMCDragonkai: and also giving the nixbld group access to it
<CMCDragonkai>
and I think also probably need to expose `$LD_LIBRARY_PATH` as well
<CMCDragonkai>
and expose those as well
seanparsons has joined #nixos
dramforever has joined #nixos
xelxebar has quit [Quit: WeeChat 2.3]
xelxebar has joined #nixos
equalunique has quit [Remote host closed the connection]
acarrico has quit [Ping timeout: 272 seconds]
<CMCDragonkai>
clever: nvidia devices allow other rw access
<clever>
then group wont matter as much
acarrico has joined #nixos
dramforever has quit [Ping timeout: 260 seconds]
<CMCDragonkai>
Is there a corresponding checkPhase for `doInstallCheck`?
<{^_^}>
[nixpkgs] @7c6f434c merged pull request #49863 → metrics.nix: add a metrick for the current number of packages as seen by nix-env → https://git.io/fpJw4
Ariakenom has quit [Read error: Connection reset by peer]
<{^_^}>
[nixpkgs] @7c6f434c pushed to master « polymake: init at 3.2r4 »: https://git.io/fpBt8
johanot has joined #nixos
turion has joined #nixos
<turion>
Can I somehow add a script to my boot process that shrinks my root partition?
__Sander__ has joined #nixos
<turion>
I've read in some places that I should create an initramfs but I'm not sure how that would work in nixos
<turion>
Something like initrd.prepend?
nschoe has joined #nixos
<turion>
boot.initrd.preDeviceCommands won't do obviously, but there is no "preMountCommands"
vidbina has joined #nixos
thc202 has joined #nixos
mayhewluke has quit [Ping timeout: 244 seconds]
mayhewluke has joined #nixos
michas has joined #nixos
<sphalerite>
turion: do you want to do this one-off, or on every boot?
metastance has quit [Ping timeout: 268 seconds]
jluttine has quit [Ping timeout: 268 seconds]
<turion>
sphalerite: Only once
<turion>
I might be better off with a rescue system, yes
<Ke>
many filesystems support live resize
<Ke>
what are you actually using?
<turion>
ext4
<turion>
I can grow but not shrink online
<Ke>
yeah, apparently so, moderately poorly expressed on the manpage
<turion>
Maybe I'm tackling this from the wrong direction. I want to encrypt my root/home partition with LUKS.
<sphalerite>
turion: much simpler if you have an intermediate place to store them.
<turion>
sphalerite, yes, that's why I want to shrink, create new encrypted partition, copy, reconfigure boot params and restart
<turion>
I have much more than double physical disk space of what I'm using
<sphalerite>
turion: I mean a completely separate intermediate place
<sphalerite>
turion: you could just use your existing backups
<sphalerite>
if you don't have existing backups you shouldn't be trying to shrink your fs ;)
<turion>
sphalerite: Yeah, I have everything actually important backed up, but then there are medium important things like browser history, IRC history (you're adding to it right now) which I'd like to keep but can afford to lose
<sphalerite>
turion: do a one-off backup of everything and restore that after creating your new partitions :)
<turion>
Hmm yes maybe... I still need a rescue system to do that, right?
<hyper_ch2>
on nixos, how can I just build the expression in a .nix file to see if sha256 is right and if it builds right?
<__monty__>
turion: Why shrink though? If you use the space you may end up not being able to upgrade?
<turion>
__monty__: Shrink to create a new encrypted partition
Ariakenom has joined #nixos
<turion>
Later I can delete the unencrypted partition and grow the encrypted partition live
<sphalerite>
turion: there's also the issue that moving partitions tends to be extremely expensive
rprije has joined #nixos
<sphalerite>
turion: yes you will want a system of some description that's not booted from the filesystems you're fiddling with. You can use the installer, or clever's trick for booting the installer from the local disk (avoiding the need for a USB volume or similar)
<turion>
sphalerite: How can I tweak the config of that installer? I.e. add wifi support and such
<sphalerite>
turion: put your config in the module = {…} in that file
<sphalerite>
alongside boot.supportedFilesystems
<turion>
ah yes :)
<turion>
For these things I love nixos
<turion>
Before I go to far: I'm trying to unify my setup on my different NixOS machines. I have several laptops. My /etc/configuration.nix is a symlink to /home/myuser/configuration.nix. I also have home-manager and I manage nearly all packages declaratively through that. Now I want to sync nearly all of my config between the machines with git, such as services, display managers, packages, config for editors, git and so on. But there are a few bi
<turion>
ts that I need to keep separate. hardware-configuration.nix is different, for example. Some machines need extra stuff in configuration.nix, some need extra packages that other machines don't. What are your approaches to handle such a situation.
<sphalerite>
I have /etc/nixos as a git repo and just have /configuration.nix and /hardware-configuration.nix in .gitignore, and create symlinks for the files corresponding to the machine
<dramforever>
I think `imports` could be used for this
<dramforever>
You can do things like `import = [ ./basics.nix ./laptop-specific ]`
<turion>
My approach so far is to create extra files for each of these aspects, import them and to put them on .gitignore. But the downside is that for every new machine I need to create those files from scratch and remember how they're supposed to look like. E.g. there is a packages.nix with contents { pkgs }: with pkgs [ foo bar ];, and there is a an extra-config.nix with { ... } : { services.foo.enable = true; }
<turion>
Oh so I'm not doing something totally stupid then :)
<dramforever>
symlinks looks good alternative to the 'from scratch' part
<dramforever>
Okay so my question: Has anyone got screenshots in KDE working?
<dramforever>
I mean the shortcut keys
<turion>
dramforever, let me try, I'll tell you in a minute ;)
<dramforever>
I installed spectacle but nothing seems to happen when I press those 'Print' combinations
<__monty__>
Oh, question. Is there something like a sym/hardlink that works for directories? And ideally across disks?
<sphalerite>
dramforever: does anything show up in the journal (journalctl -f) or .xsession-errors when you press the shortcut button?
<turion>
sphalerite, ah yes of course! I could just have configuration.nix importing ./specific/foo.nix, and symlinking ./specific to ./my-machine, and then put those under version control
<sphalerite>
__monty__: symlinks work for directories.
<jasongrossman>
__monty__: Just not hard links (except on darwin).
<turion>
dramforever, same here
<dramforever>
oh
<dramforever>
sphalerit: i'll try in a while. thanks
<turion>
sphalerite, dramforever, I don't see anything in the logs
<sphalerite>
idk what else to try then. Not exactly a KDE expert :')
<sphalerite>
I suppose you could check the keyboard settings to see if the bindings exist
<dramforever>
They do
<sphalerite>
All just shots in the dark, but maybe try logging out and back in after installing spectacle
<turion>
dramforever, you can probably create a keyboard shortcut that starts spectacle on pressing print through the system settings
<turion>
I just di
<turion>
dramforever, which bindings exist?
<__monty__>
sphalerite, jasongrossman: How about across disks?
<sphalerite>
__monty__: yep no problem.
<sphalerite>
__monty__: a symlink is just a reference to another path.
<sphalerite>
it doesn't even matter if the destination doesn't exist (unless you want to actually open it)
<sphalerite>
or if it points to itself
dramforever has quit [Ping timeout: 250 seconds]
orivej has quit [Ping timeout: 240 seconds]
<hyper_ch2>
sphalerite: how can I build (or rather test) a .nix expression?
<__monty__>
Hmm, you're absolutely right. Not sure why I didn't want to use symlinks tbh.
<hyper_ch2>
just need to know if it would build properly
<sphalerite>
hyper_ch2: using nix-build?
<hyper_ch2>
google is not helpful on nix-build
<sphalerite>
nix-build foo.nix
<turion>
Is it a good idea to version control hardware-configuration.nix?
<hyper_ch2>
will that be added to the store?
<hyper_ch2>
turion: yes
<sphalerite>
hyper_ch2: yes
<turion>
sphalerite, hyper_ch2: YES!
<hyper_ch2>
sphalerite: nix-build pdfminer_six.nix error: cannot auto-call a function that has an argument without a default value ('stdenv')
<symphorien>
,callPackage hyper_ch2
<{^_^}>
hyper_ch2: If a Nix file foo.nix starts with something like `{ stdenv, cmake }:`, you can build it with `nix-build -E '(import <nixpkgs> {}).callPackage ./foo.nix {}'`
<sphalerite>
hyper_ch2: ah, so it's a python package
<hyper_ch2>
sphalerite: it is
<sphalerite>
hyper_ch2: replace callPackage in that command with python3Packages.callPackage
<hyper_ch2>
thx
dramforever has joined #nixos
<avn>
turion: I (personally) prefer to integrate hardware-configuration.nix to other files, which are under control. But I never re-configure it by script.
<avn>
turion: other argument for it, you can build on other host as well.
iyzsong has joined #nixos
<dramforever>
wrt screenshots
<dramforever>
yeah i suppose custom command would do
<{^_^}>
[nixpkgs] @zimbatm pushed commit from @stephengroat to master « terraform-providers: bump versions (#50864) »: https://git.io/fpBc3
alex`` has joined #nixos
cryptix has joined #nixos
baconicsynergy has quit [Ping timeout: 246 seconds]
mmercier has quit [Quit: mmercier]
Lisanna has joined #nixos
<Lisanna>
,
<{^_^}>
Special commands: find locate tell - Commands sorted by use count, page 0 (use ,<n> to view page <n>): library tofu profiling -A dnw escape'' unfree pr escape" imperative pills unstable ask callPackage error ping pinning stateVersion allah channels declarative dentalplan exec nixlang++ overlay upgrade wololo IFD NUR cloudfront escape-special haskell help info logs loot nixeval paste runtimeDeps stuck tias timer whomademe wrapper arm bootfull context
<Lisanna>
,help
<{^_^}>
Use `,` to list all commands, `,foo = Foo!` to define foo as "Foo!", `,foo =` to undefine it, `,foo` to output "Foo!", `,foo somebody` to send "Foo!" to the nick somebody
<Lisanna>
is there a channel I can use this in that doesn't spam #nixos?
<cryptix>
hey! can somebody please stop me if this is a bad idea: I'm trying to test an X systray application i'm working on using Xvfb and xdotool. Is there precedent of that in nixpkgs? It works when I use a nix-shell to run the tests but using nix-build it somehow blocks. I think it might be related to the chroot but I'm a bit lost on how to debug it.. I also added x11vnc to the setup to spy on the process but I somehow can't connect
<cryptix>
to the vnc server inside the build process. In a similar veign I could use ffmpeg to record it but how could I get the recording file out of the nixbld process even if the build fails?
<gchristensen>
cryptix: you can use --keep-failed with nix-build
<cryptix>
gchristensen: ah ty
<ottidmes>
cryptix: If you mean doing those tests during the build, then indeed certain things are prohibited by the build process, likely including your VNC connection, even though it is local. Why not only build the tests with nix, but not run them as part of the build.
<cryptix>
ottidmes: ideally I wouldn't need the connection anyway. I'm just looking for a debugging vector.. :) I will try --keep-failed with a video recording
<cryptix>
butt if _certain things_ also includes the unix socket for X, this might explain why it is acting up... although it _seems_ to start
<{^_^}>
[nixpkgs] @Mic92 opened pull request #50914 → go_1_11: check if we still need to set CC → https://git.io/fpBlb
ThatDocsLady has quit [Remote host closed the connection]
<hyper_ch2>
so, I want to build pikepdf which requires a newer pybind11 than we have available. So I created a nix expression for pybind11 - using it on its own works fine, but when I call from pikepdf.nix the pybind11.nix, I still get error that there's no suitable pybind11 -- where am I going wrong? https://paste.simplylinux.ch/view/raw/e64af3b2
<cryptix>
symphorien: thanks! i didn't see that one yet
<Lisanna>
How should I use custom trust chains with packages like pidgin? I've added them to security.pki.certificates but not all apps pick them up
<Lisanna>
should I override cacert?
gmarmstrong has quit [Ping timeout: 245 seconds]
<Lisanna>
(or create my own?)
mmercier has joined #nixos
<{^_^}>
[nixpkgs] @Mic92 closed pull request #50914 → go_1_11: check if we still need to set CC → https://git.io/fpBlb
palo2 is now known as palo
turion has left #nixos [#nixos]
<Lisanna>
also, does anyone know the right way to get sound working in virtualbox nixos?
<sphalerite>
turion: well you could write an expression something like (with import <nixpkgs> {}; writeText "extraEntry" (callPackage ./rescue_boot.nix).boot.loader.grub.extraEntries
<sphalerite>
build that to get the kernel command line
<sphalerite>
to get the actual image and initrd I think you would need to modify rescue_boot.nix
<{^_^}>
[nixpkgs] @globin pushed commit from @coretemp to master « opera: 53.0.2907.99 -> 56.0.3051.99 »: https://git.io/fpBRr
<sphalerite>
just look at one of the entries for a nixos generation, copy that format and work from there? :)
<turion>
I wanted to do that, that's when I discovered that apparently a python script creates those
<turion>
I don't understand why
<turion>
It should be perfectly doable in nix, right?
<sphalerite>
no, because it needs information about all the system generatiosn
<turion>
So, hard disk access?
<turion>
Clearly there are some things that I don't understand about NixOS still
<sphalerite>
it needs to run outside the sandbox to work with the _state_ of the system
<symphorien>
building the generation should not depend on whether other generations exist, and how many
<turion>
I sort of understand what you mean, I guess
abcrawf has quit [Remote host closed the connection]
<elvishjerricco>
turion: It would be impure for the nix build of your system to create the boot entries for old generations; old generations are not an input to the Nix evaluation. So the scripts built by the Nix build do that logic.
<turion>
Yes, that makes sense, but the python script still gets the information about old generations from somewhere
abcrawf has joined #nixos
<elvishjerricco>
turion: Yea it just use `nix-env --list-generations` or something when it's run, since it is run at activation time, not build time.
<turion>
Well ok. I guess I'm just generally sceptical when I encounter something non-nix in a very central place in nixos
<turion>
Tells me that there are limits to either my understanding, or to nix/nixos, or to both
<elvishjerricco>
turion: The distinction between activation and build is very important for the NixOS philosophy. The build is independent of the existing system, and can be copied around and deployed to whatever hardware. But the activation is what actually installs the new configuration and manages state for a particular system. So the activation process is just a script that is built by the build process.
<turion>
Either way, I'll try and develop something like a boot.loader.systemd-boot.extraEntries
<turion>
elvishjerrico, yes sure, that distinction is important. Maybe we should use types and monads for that
<turion>
sphalerite, where do I find docs for writeText?
<sphalerite>
turion: I'd suggest just putting the entry file there yourself and being done with it :p
<turion>
Ohh, thanks gchristensen, I didn't know about that one
<sphalerite>
turion: a rescue boot thing is actually something where it makes a lot of sense *not* to manage it via nixos/nix directly, because otherwise you may get your rescue boot broken by the same thing that breaks your normal boot :)
<turion>
sphalerite, how about dual boot?
<sphalerite>
turion: each OS puts its own entries in entries/
<turion>
Also, in my case it does make a lot of sense
<sphalerite>
that's the nice thing about systemd-boot, each boot entry is a file so you can easily avoid collisions between multiple OSes
<turion>
But then each OS needs its own partition
<sphalerite>
no, why would it?
<turion>
Then I don't understand what you mean I guess
<sphalerite>
and it's pretty common for each OS to have its own partition…
<turion>
What would I write in my own entry? I'd have to refer to a lengthy store path that changes every now and then, and is garbage collected if I don't pay attention.
<turion>
The thing I want works for Grub, why is it unreasonable to want the same thing for systemd-boot?
lfish has joined #nixos
<turion>
Can't I have nix create a symlink from /boot/loader/entries/myentry to /nix/store/..../myentry, and update that symlink whenever necessary?
<symphorien>
for dual boot: efi should natively avoid this problem, when grub is also non-efi capable so needs a workaround in this case
mayhewluke has quit [Ping timeout: 250 seconds]
<turion>
symphorien: Which problem?
<gchristensen>
maybe systemd-boot's options have an extraCommands or something where you can make it work
<lfish>
Hello. Is there a vnc client that lets me connect to a raspberry available in nixpkgs?
<turion>
gchristensen, I looked, but didn't find it in the standard options
<symphorien>
turion: with efi each os can manage their own entry without "overwriting" foreign ones
mayhewluke has joined #nixos
<turion>
symphorien: Ah ok
<turion>
symphorien: So since grub needs to work with a single config file, nixos needs to provide a hook to append to that file?
<turion>
Just for the record: In nix, there is no function that writes a file to an arbitrary path outside the store?
<symphorien>
yes. It does not mean such a hook must not be added to systemd-boot, though
<symphorien>
turion: no, it goes against purity
<turion>
symphorien: Yeah, I think there should be a hook that would create an extra entry
<symphorien>
you must use an activationScript, or the runtime of the os (systemd-tmpfiles, etc.)
<turion>
It's good that nix goes with purity here, but it would be great if nix would allow for effects and had some types to distinguish the pure subset of the language
<symphorien>
there is a (stale) branch of nix with impure derivations, but they have very unfortunate downsides
<turion>
Then a type checker could ensure that all usual derivations are pure, but we could still write boot entries in nix, or migrate databases and whatnot
<symphorien>
like: you have to rebuild everything which depends on any impure derivation each time
<turion>
Yes, but nothing would depend on a boot entry, right?
<symphorien>
/etc and system genrations would, probably
<symphorien>
otherwise they would not be built
<symphorien>
also, for bootloaders, it does not fit the bill
<symphorien>
if I build a nixo(p)s system here, and switch to it on another computer, I want the boot entry to be created on the remote computer
<turion>
Fair enough, but we want the boot entries for other generations to be rebuilt anyways when we rebuild a single entry, to check for conflicts or so
<turion>
symphorien, yes, I don't see the contradiction
<symphorien>
hence the current approach of "write a script (called activationScript, sorry sphalerite) and run it on activation"
Chiliparrot has quit [Ping timeout: 260 seconds]
<symphorien>
turion: nix is not necessarily present on the target, so anything can do is during build time
<symphorien>
si what you propose would create the boot entry on the build host
<symphorien>
*so
<turion>
Sorry, I don't follow
<turion>
For systemd-boot, a boot entry is just a regular text file, right?
<turion>
So just scp'ing that file will do, and I think nix should be able to do that, together with a type system that captures the effects (IO and internet in that case)
<symphorien>
and nix should be able to write to the mbr as well ?
<symphorien>
well, why not.
<turion>
Yes, why not, if it's disallowed in regular derivations
<turion>
Yeah, I guess I've written too much haskell because I see those two as not too different things ;) a build is a pure value and a task is something in the IO monad that possibly returns a build
<turion>
But I understand that nix is very far away from that kind of behaviour
<turion>
Given that the project bringing types to nix is somehow stalled
<turion>
I think I still understand too little about how NixOS works in order to see the problems here. But I have to say, it's really hard (for me?) to advance from beginner to pro in all things nix. First there is the manual, and it's great. But then the wiki is a bit meagre, and for most documentation I have to grep the git tree and hope for helpful comments :/
<turion>
Anyways, thanks for your insights :) I'll proceed and try to create an old-fashioned USB boot stick. Everything else is more than a day's work for me.
<sphalerite>
turion: yes, that's one way to see it. But in that sense nix only does the "evaluation", and you have to run the outputs to obtain the actual effects
<turion>
sphalerite: Yeah, that's a consistent story. Hopefully one day when I understand enough I can add to that.
<{^_^}>
[nixpkgs] @teozkr opened pull request #50918 → kubernetes-helm: tell Helm what version it is → https://git.io/fpB2F
iyzsong has quit [Read error: Connection reset by peer]
acarrico has joined #nixos
drakonis has joined #nixos
CapsLock has quit [Ping timeout: 252 seconds]
<__monty__>
sphalerite: Ah, I remembered why symlinks weren't good enough. NFS and symlinks don't match well.
<sphalerite>
huh?
<__monty__>
sphalerite: My question about hardlinking directories. The reason I wanted hardlinks is that symlinks are treated as relative to wherever you mount the NFS directory, not relative to where it is served from.
darthfork has joined #nixos
<sphalerite>
__monty__: it's a feature ;)
<turion>
__monty__ hah, true :) seems like a symlink is not much more than a text file containing a path that may or may not exist
<sphalerite>
__monty__: maybe you want bind mounts on the server.
<__monty__>
sphalerite: I've considered that yes. But afaik mounts aren't really meant for this sort of thing? It'd be many mounts so I'd need some sort of bind mount manager.
<symphorien>
fstab ?
<sphalerite>
maybe you need to put the root of your NFS share higher up the directory tree and then use symlinks.
<__monty__>
sphalerite: That could work but I don't want to actually share anything higher up.
<sphalerite>
it sounds like you just need to reorganise your filesystem a bit :p
jtojnar has joined #nixos
<__monty__>
Possibly, but what do you suggest?
averell has quit [Quit: .]
<__monty__>
I can't unify all the various source directories because they aren't unified with (imo) good reason.
xelxebar_ has quit [Ping timeout: 246 seconds]
averell has joined #nixos
<sphalerite>
I don't know what the stuff you're sharing is so I have no idea :D
<__monty__>
Alright, thanks for discussion. Might come back to it later.
jperras has joined #nixos
Denommus has joined #nixos
Guillaum has joined #nixos
turion has quit [Quit: Leaving.]
<Guillaum>
Anyone aware of the cross compilation / arm architecture. Since the removal of gcc-arm-embedded, replaced by pkgsCross.arm-embedded, I have build issue related to the floating point mode: See: https://gist.github.com/guibou/75fb1a138220b779fdadc8db0d0ad019 I tried to override 'newlibCross' but without success.
<v0|d>
somehow the reference checker fails when the output is not a directory.
<Lisanna>
ugh, this is lame... getting all the nixpkgs versions of everything to work correctly with corporate exchange services is looking to be about a 2 weeks of work... guess I'll be stuck on fedora ):
<symphorien>
v0|d: the reference checking logic is implemented in nix itself, so if you can write a minimal example not depending on nixpkgs exhibiting this problem, then you can open an issue against nix
Mateon1 has quit [Ping timeout: 268 seconds]
lfish has quit [Ping timeout: 256 seconds]
<v0|d>
symphorien: kinda trying to avoid it leads to a bug in it :(
reinhardt has quit [Quit: Leaving]
<sphalerite>
symphorien: this seems like a bug in the linux build, not nix's reference checking
<symphorien>
I was just reacting the the affirmation "if the output is a file then it does not work"
<{^_^}>
[nixpkgs] @Profpatsch pushed commit from @guibou to master « haskellSrc2nix: disallow substitutes »: https://git.io/fpBXj
<aanderse>
scanning through the source i don't see an example of either hard limiting the length of a listOf or warning on size too large. anyone have an example of the "best" way to do so handy?
rihardsk has joined #nixos
symphorien has left #nixos ["WeeChat 2.2"]
<ajs124>
So I'm trying to decrypt my root partition on bootup, but the console seems to have the wrong keymap. Any ideas how I could fix that? I already set i18n.consoleKeyMap
<_d0t>
also, is there a way to add zfs kmod and tools while running a minimal livecd?
<ajs124>
oh no. So, guess I should switch to a passphrase without an umlaut in it then… Now, how do I change the passphrase on a zfs dataset? ^^
<ottidmes>
_d0t: I do not believe so, but you can do two things, build your own ISO with Nix (I can give you more info if you want), or probably the simplest is to modify the configuration.nix of the liveCD to add the things you want and do a nixos-rebuild switch of the LiveCD (since it is just like a normal NixOS install)
<romildo>
I want to run LXQt with kwin as the window manager, and it works. But I cannot configure kwin, because systemsettings fails with the message: System Settings was unable to find any views, and hence has nothing to display. Any clues?
<_d0t>
how do I copy packages from one computer to another?
<_d0t>
since they have almost identical configs, I figured redownloading everything would be a waste of time
<clever>
_d0t: nix-copy-closure and `nix copy`
<azazel>
is it possible to have the "imports" of a module being calculated based on a config.* attribute? mkIf expects the second argument to be a set, but modules' "import" is a list
<_d0t>
clever: can I just copy everything with nix-copy-closure?
<clever>
ajs124: the imports tree cant depend on the config tree, that causes infinte recursion
<clever>
_d0t: i think you can do that via `nix-copy-closure $(ls /nix/store/*), but `nix copy --all` would be simpler
<azazel>
clever: I immagine it was for me
<clever>
_d0t: you can also configure one machine to be a binary cache via ssh
<clever>
_d0t: if you `ssh user@host nix-store --version` does it work?
<ottidmes>
azazel: I have this issue in the past, but I was unable to make it work like that (understanably so, since config is determined by imports, no way around that), but in most cases you should be able to restructure your imports so that such a things is not necessary
<_d0t>
command not found
<clever>
_d0t: PATH isnt being set right for non-interactive shels, youll need to fix your .bashrc and .bash_profile first
<_d0t>
clever: on the client or the server?
<_d0t>
I feel like redownloading everything would just be easier tbh
<clever>
_d0t: on the machine "host"
<clever>
its a single line change
<romildo>
ottidmes, I am not used to KDE, and just want to try its window manager with LXQt. People on the LXQt forums say it is a good choice. I have added kwin and systemsettings to systemPackages. I have no idea what else should I install in order to be able to configuring kwin in this setup.
<clever>
usually just `export PATH=$HOME/.nix-profile/bin:$PATH`
<_d0t>
actually, seems the problem is somewhere else
<_d0t>
because nix copy doesn't even ask for a password
<azazel>
ottidmes: clever thanks, I'll try to refactor the configuation
<clever>
azazel: another option is to make the modules define options and config
<clever>
azazel: then you can mkIf the entire config block, and then having "useless" things in imports has no impact
Mateon2 has joined #nixos
<ottidmes>
clever: but you cannot do things like: imports = map (userName: import <nixcfg/shared/lib/home-files.nix> userName) config.userNames; right? because config.userNames is determined by the imports attribute, which now needs the config, i.e. loop
turion has joined #nixos
<clever>
ottidmes: you would need to use builtins.readDir, and imports every single one
waleee has joined #nixos
<azazel>
clever: the fact is that I have an option submodule that describes "deployments"... these deployments have a "type" enum. For each deployment I have to calculate it's configuration which is subdivided in a number of modules that have a "closure", needed to pass the "deployment" configuration to the module
<clever>
ottidmes: then have the files conditionally enable themselves with mkIf, based on config values
<ottidmes>
clever: yeah, that ends up being mostly the same with what I do now, instead of importing based of user names, I have the import that I want to do based on the user name in the same config file that defines the user, so that way I get the same behavior
<turion>
I've royally f*ed up my disk by resizing it incorrectly during encrypting it. Now the superblock thinks it has a larger block count than the partition table does (https://dpaste.de/yL2r). Can I somehow fiddle the block count with tune2fs or so?
<azazel>
but I suspect there's no easy solution to my problem...trying to use configuration subdivided in types while maintaining the flexibility of the module system
<azazel>
turion: ....royally? that's a first
<turion>
azazel: I used gparted instead of resize2fs, maybe that was a bad idea
<turion>
I'm still surprised
metastance has quit [Read error: Connection reset by peer]
<turion>
Background: cryptsetup-reencrypt --new expects some empty disk space somewhere, and therefore you have to resize your partition to create space for a LUKS header
<azazel>
turion: you have to resize the partition, not the fs
<ottidmes>
romildo: you probably have to check this list and see which ones might be relevant and add them. I would just go through the list and when it is not some app or clearly for plasma5, I would just add them just in case, just to be sure that it fixes things, then you can narrow down which one is actually needed.
<turion>
Maybe the problem was exactly that I resized the partition and not the fs
<turion>
I don't know
<{^_^}>
[nixpkgs] @peti pushed 2 commits to haskell-updates: https://git.io/fpBSj
hyper_ch2 has joined #nixos
<turion>
I'm gonna go with mke2fs -S now I think...
<{^_^}>
[nixpkgs] @peti pushed commit from @cyounkins to haskell-updates « ghc: Adding sphinx as build dependency to build man pages »: https://git.io/fpB9f
shpx has joined #nixos
sigmundv has quit [Ping timeout: 250 seconds]
peacememories has joined #nixos
ng0 has joined #nixos
<azazel>
turion: you have a backup?
<turion>
azazel: Yes
<turion>
Not a whole-disk-backup, but a backup of all the data
<clever>
it would likely be simpler to just format the disk, make a normal luks volume, with a normal ext4 in it, and then rsync the data into it
<turion>
clever: Yeah, I'm starting to believe that...
__Sander__ has quit [Quit: Konversation terminated!]
<turion>
A shame that things like that are still so hard to do these days
fresheyeball has quit [Quit: WeeChat 2.2]
<turion>
I did mkfs -S and now I have fsck.ext4: Inode checksum does not match inode while checking journal for /dev/mapper/crypte
<turion>
No idea how I can tell it to ignore/refresh the checksum
rihardsk has quit [Quit: rihardsk]
<hyper_ch2>
any python packaging guru in here?
mayhewluke has quit [Ping timeout: 268 seconds]
mayhewluke has joined #nixos
<{^_^}>
[nixpkgs] @c0bw3b pushed commit from @r-ryantm to master « keybinder3: 0.3.0 -> 0.3.2 »: https://git.io/fpBHG
<turion>
clever: Wow... I think I don't understand half of it
civodul has quit [Quit: ERC (IRC client for Emacs 26.1)]
<clever>
its just a nixos module, that adds a `justdoit` script to the systemPackages
<clever>
and running that will wipe the disk and install nixos
<hyper_ch2>
clever: I add now those options when creating a pool -O atime=on -O canmount=off -O compression=lz4 -O normalization=formD -O xattr=sa -O relatime=on
zduch4c has joined #nixos
<turion>
clever: Is the LVM stuff necessary?
<zduch4c>
hello, I installed KDE via desktopManager.plasma5.enable, and all is fine, but I cannot connect to the internet; there is no WiFi icon in the bar down below, and NetworkManager isn't installed
<clever>
turion: thats mainly there so i can have swap in the same luks volume
<clever>
turion: if you dont want swap, the lvm can be ignored
aramiscd has quit [Quit: WeeChat 2.0.1]
<zduch4c>
so, is there some special option i need to add? networkmanager.enable, perhaps?
<turion>
zduch4c: Add networking.networkmanager.enable = true; to your config maybe?
<turion>
Then nixos-rebuild switch, should work even without reboot
<turion>
clever: Thanks for the insight, but I think I'll try ZFS another time ;)
hyper_ch2 has quit [Ping timeout: 256 seconds]
perique has joined #nixos
<turion>
Maybe someone with knowledge and experience could update the manual to include a section on how to install with ZFS?
judson has quit [Ping timeout: 250 seconds]
<turion>
If I download at 60 kB/s from cache.nixos.org, does that mean that the cache is slow or that my internet connection is bad?
<makefu>
zduch4c: it might also be the case that nm-applet is not started automatically, try nix-shell -p networkmanagerapplet --run nm-applet
<{^_^}>
makefu: 9 hours, 33 minutes ago <sphalerite> journalctl's pattern matching seems to be enabled simply by providing PCRE
<makefu>
sphalerite: maybe we can just add it to buildInputs, it should not increase the closure too much, or does it?
<makefu>
v0|d: override only works with input parameters of the funtion, meaning you could override lib,buildPythonPackage,cython,numpy,nose,scipy,scikitlearn and fetchPypi. overrideAttrs allows overriding all attributes
<ToxicFrog>
Baughn: pip is the recommended way to install this program, the docs don't mention virtualenv
<Baughn>
ToxicFrog: virtualenv is what you use to get pip
<ToxicFrog>
Baughn: as in, I should nix-shell -p virtualenv rather than nix-shell -p pip?
<Baughn>
Yes.
_d0t has quit [Ping timeout: 250 seconds]
<ToxicFrog>
Same thing.
<Baughn>
Then create a venv, and run pip in that.
<ToxicFrog>
How do I "create a venv"? I know nothing about virtualenv, pip, or python package management, I'm just following the instructions at [1] that worked earlier this year and no longer work after a nix-channel --update && nixos-rebuild
<Baughn>
Then `source <directory name>/bin/activate`
<aswanson>
anyone gotten a wireguard tunnel that routes all traffic through a vps with a nixos client? I can get it working when I restrict the client's peer ip address but nothing makes it to the external interface when I open it up to `0.0.0.0/0` as outlined in the nixos wiki
rihardsk has joined #nixos
<srhb>
aswanson: Not sure I completely understand the question. I have a NixOS client that tunnels all traffic through wireguard... Is that what you're asking about?
<aswanson>
srhb: yeah, that's what I'm attempting to do but I'm tearing my hair out trying to figure out why my setup isn't working
<aswanson>
srhb: The server is functioning fine with my smartphone of all things but I can't get wireguard on nixos to send all traffic through wireguard
<ToxicFrog>
Baughn: ok, did that, then pip install, then bin/hangups and now it's working. Thank you.
<srhb>
aswanson: Meaning, some traffic is leaking despite peers.*.allowedIPs = ["0.0.0.0/0"]; ?
<aswanson>
srhb: no, nothing at all gets out with peers.*.allowedIPs = ["0.0.0.0/0"] but if I set it to peers.*.allowedIPs = ["10.100.0.1"] I can ping that address, but obviously the rest of the traffic is going in the clear
<srhb>
aswanson: Oh, that does sound very wrong. What's your full config (omitting any private keys of course)
<srhb>
Looks like you survived. :-) Pastebin next time.
<Ashy>
always use a pastebin on irc, this isnt slack
<aswanson>
lol serves me right for trying to jump feet first into the wannabe hacker lifestyle
* srhb
snickers
<Ashy>
hehe
<srhb>
aswanson: Nothing stands out to me there. As far as I know, (with the allowedIPs from before) that works correctly for me
<srhb>
aswanson: Do you have any other special network config going on?
<aswanson>
srhb: not that I know of, the thing that is throwing me for a loop is that I can ping the server fine with that restricted allowedIPs setting
<aswanson>
but as soon as I change it to 0.0.0.0/0 no traffic of any kind gets out
<srhb>
Yeah, that does seem weird. Maybe time to inspect routing tables.
<srhb>
aswanson: Yeah :/ But it *does* look right to me.
acarrico has quit [Ping timeout: 260 seconds]
<aswanson>
srhb: thanks for looking, glad to know my typo detection isn't totally gone
vk3wtf has quit [Ping timeout: 252 seconds]
<srhb>
aswanson: Bit of curiosity though: Did you really mean /24 on your own ip?
vidbina has joined #nixos
cyounkins has joined #nixos
<aswanson>
srhb: I just followed what I've seen in the nixos.wiki and a few other guides I've found for wireguard. Just about everything I've seen has included the /24, with a /32 for the peer allowed ips on the server
<srhb>
aswanson: Not sure exactly what /24 even means in ips, but /32 makes more sense to me anyway.
<srhb>
(like, what will the local interface look like with /24?)
<aswanson>
srhb: I did some research and it has something to do with the number of bits assigned to network identification vs. host identification. As to why those are the recommendations I am not the one to answer
<{^_^}>
[nixpkgs] @Mic92 opened pull request #50928 → direnv: 2.17.0 -> 2.18.1 + make cross-compile on windows → https://git.io/fpRUY
<srhb>
aswanson: Right, with you so far, I guess I just don't understand what happens when the target server and the local interface is suddenly in the same network on the interface that's supposed to tunnel _through_ the target.
v0|d has quit [Read error: Connection reset by peer]
carlosdagos has joined #nixos
boomshroom has joined #nixos
<boomshroom>
Hello!
<cyounkins>
Ahoy
<boomshroom>
Since out of tree custom libcs seam to be hard, I'm moving my relibc development to in-tree. The problem is that it requires a nightly version of rust. It does have a file specifying which build to use, so it's not completely in flux.
<boomshroom>
The current commit I'm using asks for nightly-2018-06-19.
romanofskiWork has quit [Quit: leaving]
johann__ has quit [Quit: Leaving.]
<boomshroom>
It also depends on an unmerged change to buildRustPackage, but I can fetch it within the file.
<LnL>
is github slow at the moment or is it just me?
<clever>
loads fine here
<cyounkins>
boomshroom: Sorry but I don't think I can help with that.
johann__ has joined #nixos
cyphase has quit [Ping timeout: 268 seconds]
<boomshroom>
Does anyone here know how I can make a derivation depend on a specific nightly rust version without nixpkgs-mozilla?
<{^_^}>
nix#2546 (by chessai, 5 days ago, open): nix repl :r does not actually seem to reload anything
<boomshroom>
clever: Thanks. That's a shame. Ctrl-D / restart
<boomshroom>
It's a bit longer and more ugly than I'd like, but oh well.
<clever>
boomshroom: you can switch back to nix-instantiate or nix eval, once you know the expr of interest
johann__ has quit [Quit: Leaving.]
johann__ has joined #nixos
johann__ has quit [Client Quit]
tertl3 has quit [Quit: Connection closed for inactivity]
<{^_^}>
[nixpkgs] @elseym opened pull request #50931 → pythonPackages.nanoleaf: init at 0.4.1 → https://git.io/fpRIr
<booglewoogle>
hey, is there a way to download extra files after the initial github repo in a nix expression? -- https://hastebin.com/wepayubelu.bash fails due to curl (line28 and 31) being unable to resolve host github.
<clever>
boomshroom: use more pkgs.fetchurl's and copy them somewhere
<clever>
let foo = fetchurl { ... }; in stdenv.mkDerivation { ... prePatch = "cp ${foo} ./bar"; };
<clever>
or fetchFromGithub
lassulus has joined #nixos
jackdk has joined #nixos
vk3wtf has joined #nixos
zolk3ri has joined #nixos
__monty__ has quit [Quit: leaving]
asymmetric has joined #nixos
cyphase has quit [Ping timeout: 250 seconds]
<booglewoogle>
clever: thanks! (I guess you meant me)
<boomshroom>
Great. Now I have to find a way to bootstrap relibc without depending on everything.
Wharncliffe has joined #nixos
drakonis_ has joined #nixos
shabius_ has joined #nixos
mbrgm has quit [Remote host closed the connection]
shabius has quit [Ping timeout: 252 seconds]
booglewoogle has quit [Remote host closed the connection]
mbrgm has joined #nixos
<v0|d>
btrfs-progs tries to locate python3 via pkg-config. any ideas how to modify the drv to include python3.pc?
<v0|d>
it is nativeBuildInputs = [ python3 python3Packages.setuptools pkgconfig ]; atm.
<clever>
v0|d: does the python3 derivation contain a python3.pc?
<clever>
,locate python3.pc
<{^_^}>
Found in packages: python3
<clever>
looks like a yes
<v0|d>
clever: .k
<clever>
v0|d: what happens if you move python3 to the buildInputs?
phreedom has joined #nixos
<v0|d>
let me try.
shpx has joined #nixos
<v0|d>
very strange, I have now nativeBuildInputs = [pkgconfig]; and buildInputs = [ python3Packages.python python3Packages.setuptools ]; and it tries to dervice python3-armv7l-linux..
<v0|d>
derive*
jperras has quit [Quit: WeeChat 2.2]
<v0|d>
actually it makes sense.
jtojnar has quit [Quit: jtojnar]
<v0|d>
it thinks python is going to be required at the hostPlatform.
jperras has joined #nixos
jperras has quit [Client Quit]
<clever>
v0|d: i think the limitation, is that pkg-config is typically used for target packages, so python would belong in buildInputs
<clever>
v0|d: but if your cross-compiling, then things get a bit more complex
<clever>
you need an x86 python, that can generate arm pyc files