<NixOS_GitHub>
[nixpkgs] geistesk opened pull request #28384: mpfshell: init at 0.8.1 (master...mpfshell) https://git.io/v5eVV
NixOS_GitHub has left #nixos []
sary has quit [(Ping timeout: 240 seconds)]
phinxy has quit [(Read error: Connection reset by peer)]
hamishmack has joined #nixos
sigmundv_ has joined #nixos
sellout- has quit [(Quit: Leaving.)]
<sauyon1>
Hi, I'm having some problems with gdk_pixbuf in a python application I'm packaging
sauyon1 is now known as sauyon
<sauyon>
I get a failure at `gi.require_version("GdkPixbuf", "2.0")` at runtime, but in a `nix-shell --pure -p python python2Packages.pygobject3 python2Packages.pygtk gdk_pixbuf` I can import it fine
sary has joined #nixos
<sauyon>
s/python/python2/
<sauyon>
Is there some gotcha I'm missing?
ladams has joined #nixos
eacameron has quit [(Remote host closed the connection)]
phinxy has joined #nixos
hanslo-Wesson has joined #nixos
betaboon has quit [(Quit: This computer has gone to sleep)]
phinxy has quit [(Read error: Connection reset by peer)]
phinxy has joined #nixos
sary has quit [(Remote host closed the connection)]
dustmote has joined #nixos
phinxy has quit [(Read error: Connection reset by peer)]
<dustmote>
Hey! how would i define a thing to build code from source and run it as a daemon on a nixops deployed server?
<dustmote>
I guess I'd build the project as a nix derivation and then include it in the system packages for the host?
<clever>
tnks: cache.nixos.org has no cleanup policy, as far as i know
<clever>
tnks: and hydra itself, has a keep-number saying how many evals to keep, but i dont think that really works on hydra.nixos.org
brynedwardz has joined #nixos
brynedwards has quit [(Disconnected by services)]
brynedwardz is now known as brynedwards
ericsagnes has joined #nixos
jmeredith has quit [(Quit: Connection closed for inactivity)]
ladams has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
andersea-inspiro has joined #nixos
<andersea-inspiro>
i've just installed nixos but there is a problem with hardware. i read that i need to add a kernel param on boot. i've loaded up the liveusb i used to install nixos and modified /mnt/etc/nixos/configuration.nix to now have boot.kernelParams = [ "amd_iummu=fullflush" ];
<tnks>
clever: if cache.nixos.org has no cleanup policy, then would you be surprised that nix-builds of ghc801 packages are no longer cached?
<tnks>
I almost feel like setting up a Hydra server at work.
andersea-inspiro has quit [(Remote host closed the connection)]
iyzsong-x has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] ryantm opened pull request #28389: Backport google-chrome and chromium to release-17.03 (release-17.03...chrome-backport) https://git.io/v5e1a
NixOS_GitHub has left #nixos []
iyzsong has quit [(Ping timeout: 255 seconds)]
AtnNn has joined #nixos
ericsagnes has quit [(Ping timeout: 240 seconds)]
Myrl-saki has quit [(Ping timeout: 240 seconds)]
ona has joined #nixos
sellout- has quit [(Quit: Leaving.)]
Wizek has quit [(Quit: Connection closed for inactivity)]
astsmtl has joined #nixos
astsmtl has quit [(Changing host)]
astsmtl has joined #nixos
ericsagnes has joined #nixos
zugzug has joined #nixos
MP2E has joined #nixos
zugzug is now known as thott
eacameron has quit [(Remote host closed the connection)]
eacameron has joined #nixos
thott has left #nixos []
eacameron has quit [(Ping timeout: 248 seconds)]
takle has joined #nixos
takle has quit [(Ping timeout: 255 seconds)]
ericsagnes has quit [(Ping timeout: 240 seconds)]
stepcut has joined #nixos
jbaum98 has quit [(Quit: Connection closed for inactivity)]
stepcut has quit [(Ping timeout: 240 seconds)]
slack1256 has quit [(Remote host closed the connection)]
ericsagnes has joined #nixos
justanotheruser has quit [(Ping timeout: 240 seconds)]
phreedom has quit [(Remote host closed the connection)]
<NixOS_GitHub>
[nixpkgs] Ericson2314 opened pull request #28391: gcc: Use `configurePlatforms` to control --build, --host, and --target (staging...gcc-configure-platforms) https://git.io/v5eDj
NixOS_GitHub has left #nixos []
alfie has quit [(Ping timeout: 260 seconds)]
eacameron has joined #nixos
eacameron has quit [(Ping timeout: 248 seconds)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] volth opened pull request #28392: boot.kernelParams: dedup and sort (master...patch-53) https://git.io/v5eyW
NixOS_GitHub has left #nixos []
NightTrain has quit [(Quit: Lost terminal)]
iyzsong-x has quit [(Read error: Connection reset by peer)]
pxc has quit [(Ping timeout: 240 seconds)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] volth opened pull request #28393: liberation_ttf: make derivation fixed-output (master...patch-54) https://git.io/v5eyX
NixOS_GitHub has left #nixos []
hellrazor has joined #nixos
ShalokShalom_ has joined #nixos
catch22 has joined #nixos
ShalokShalom has quit [(Ping timeout: 240 seconds)]
<sphalerite>
tnks: just rerun nixos-install, after mounting all the partitions as appropriate
<NixOS_GitHub>
nixpkgs/master 77dfa05 Tim Steinbach: Merge pull request #28388 from winniequinn/vscode-1.15.1...
NixOS_GitHub has left #nixos []
babic has joined #nixos
<clever>
Taneb: nix-env -i searches the .name attribute of every derivation
<clever>
Taneb: nix-shell -p and nix-env -iA take attribute names
<Taneb>
clever, so how can I find the attribute name of the derivation?
Wizek has joined #nixos
<Taneb>
nix-env -qaP?
thc202 has joined #nixos
babic has quit [(Ping timeout: 248 seconds)]
bfrog has quit [(Ping timeout: 276 seconds)]
bfrog has joined #nixos
<clever>
Taneb: i think so
<clever>
Taneb: looks like the attribute path is AgdaStdlib
<Taneb>
Thank you! :)
JosW has quit [(Quit: Konversation terminated!)]
JosW has joined #nixos
Ivanych has joined #nixos
ebzzry_ has quit [(Ping timeout: 255 seconds)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] 7c6f434c pushed 2 new commits to master: https://git.io/v5eAW
<NixOS_GitHub>
nixpkgs/master 94cddde volth: liberation_ttf: make derivation fixed-output...
<NixOS_GitHub>
nixpkgs/master 0965a3a Michael Raskin: Merge pull request #28393 from volth/patch-54...
NixOS_GitHub has left #nixos []
* clever
heads to bed
JosW has quit [(Quit: Konversation terminated!)]
JosW has joined #nixos
roblabla has quit [(Ping timeout: 248 seconds)]
bennofs1 has joined #nixos
<pstn>
What would be a clever way to find out whether the kernel running at this moment is the same as in the newest system configuration available to boot?
<sphalerite>
http://ix.io/zhI nix-env --delete-generations doesn't seem to be working right, or am I misunderstanding what it's supposed to do?
<pstn>
So /nix/var/nix/profiles/system/ gets changed after I run nixos-rebuild boot?
<sphalerite>
should do, yeah
<sphalerite>
I think…
<pstn>
Ah, thanks.
tizbac has joined #nixos
ebzzry_ has joined #nixos
<sphalerite>
I'm building wine, which has enableParallelBuilding set to true AFAICT, and I invoked nix-env with -j9, yet I only see one gcc process running at a time. Why would this be?
<ylwghst>
hi
<ylwghst>
does anyone use dnscrypt-proxy?
eacameron has joined #nixos
ison111 has quit [(Ping timeout: 248 seconds)]
eacameron has quit [(Ping timeout: 248 seconds)]
tokudan has joined #nixos
tokudan has quit [(Client Quit)]
dbe_ has joined #nixos
jellowj has joined #nixos
gnuhurd` has joined #nixos
<sphalerite>
Any ex-vim emacs users here who might have some advice for me? I think I want to switch.
iyzsong has joined #nixos
gnuhurd has quit [(Ping timeout: 255 seconds)]
seequ has joined #nixos
demyan[m] has joined #nixos
magnetophon has quit [(Ping timeout: 240 seconds)]
eacameron has joined #nixos
Mateon1 has quit [(Remote host closed the connection)]
eacameron has quit [(Ping timeout: 255 seconds)]
betaboon has joined #nixos
pakettiale has quit [(Read error: Connection reset by peer)]
<aanderse-laptop>
hello. still working on new laptop. current issue is that touchpad hasn't worked yet. calling xinput list and it doesn't even appear to show up... anyone have any ideas?
eacameron has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nix] domenkozar pushed 2 new commits to master: https://git.io/v5ejU
<NixOS_GitHub>
nix/master 09a38f9 Chase Adams: update MD5 to SHA-256 in expression-syntax
<NixOS_GitHub>
nix/master 898a3f7 Domen Kožar: Merge pull request #1527 from chaseadamsio/master...
NixOS_GitHub has left #nixos []
<olejorgenb[m]>
aanderse-laptop: IIRC `services.xserver.synaptics.enable = true;` does the trick
<aanderse-laptop>
olejorgenb[m]: sorry, i forgot to mention i do have that enabled
eacameron has quit [(Ping timeout: 240 seconds)]
bfrog has quit [(Ping timeout: 240 seconds)]
<olejorgenb[m]>
hm, then I'm not sure.
<aanderse-laptop>
yeah i did a cat /proc/bus/input/devices and there is no mention of touchpad, synaptics, or mouse :\
<olejorgenb[m]>
aanderse-laptop: maybe try to `sudo cat /dev/input/eventX` and touch the touchpad to see which device it is, then set `services.xserver.synaptics.dev`. Probably a long shot though.
<aanderse-laptop>
thanks, i'll give it a try
<ylwghst>
andrewrk: try libinput
<ylwghst>
aanderse-laptop:
<sphalerite>
^
<ylwghst>
try libinput
<sphalerite>
synaptics is usually only the right choice for older trackpads
<aanderse-laptop>
ylwghst: ok, thanks. anything more than services.xserver.libinput.enable = true; needed to start with?
<sphalerite>
also olejorgenb: evtest is much nicer and less likely to screw up your terminal than catting raw input devices :)
<sphalerite>
aanderse_: that should be enough
<ylwghst>
aanderse-laptop: w8
<aanderse-laptop>
sure
<ylwghst>
andrewrk: this is how I declared it on my device
<ylwghst>
you propably would like change mouse accel speed or two finger click behaviour
<aanderse-laptop>
i assume i'll need to restart x for changes to apply?
<ylwghst>
andrewrk: you have to reboot after rebuild
<sphalerite>
if you nixos-rebuild switch and restart the display manager (logging out should be enough) it should apply immediately
<sphalerite>
you shouldn't need to reboot the whole system
<ylwghst>
ok
Neo-- has joined #nixos
<sphalerite>
If logging out and back in doesn't do it, `sudo systemctl restart display-manager` should
<aanderse-laptop>
thanks, configuring now...
eacameron has joined #nixos
eacameron has quit [(Read error: Connection reset by peer)]
ebzzry_ has joined #nixos
<sphalerite>
Unrelated, does anyone know why a camera (built into a laptop) might have a HID interface that can send key events with the KEY_CAMERA code? Is that just an artifact of it being the same chip used in external cameras that might have a button on them?
eacameron has joined #nixos
<aanderse-laptop>
ok brb, logging in/out
aanderse-laptop has quit [(Remote host closed the connection)]
aanderse-laptop has joined #nixos
<aanderse-laptop>
ok so... logout/in and systemctl restart display-manager
<aanderse-laptop>
touchpad still not working
<aanderse-laptop>
evtest time i guess
eacameron has quit [(Ping timeout: 240 seconds)]
<aanderse-laptop>
i have a bad feeling the touchpad isn't even showing up in /dev/input ...
<ylwghst>
write this into configuration.nix ande rebuild switch
<ylwghst>
then reboot
<dylanjust[m]>
Hi all! I posted yesterday about some issues with pinning nixpkgs, and didn't get a response. Wondering if someone could please help me out?
<sphalerite>
gchristensen: almost finished now, just going to move the code samples out of the main file to avoid the indentation mess they cause :)
<aanderse-laptop>
so... is that ati, ati_unfree, or radeon?
<gchristensen>
cool :)
ebzzry_ has joined #nixos
<ylwghst>
try declare this
<ylwghst>
{
<ylwghst>
hardware.enableAllFirmware = true;
<aanderse-laptop>
and ati_unfree as the video driver?
<ylwghst>
there is also amdgpu-pro
<aanderse-laptop>
is it "better" ?
<ylwghst>
i really dont knwo wich one is the right for your gpu
<aanderse-laptop>
ok
<aanderse-laptop>
i can list a few i guess
<aanderse-laptop>
or try one by one
<aanderse-laptop>
i'll start with ati_unfree
fzerosum has quit [(Quit: Leaving)]
<ylwghst>
i havent used ati
<aanderse-laptop>
yeah i've avoided until now... because i didn't need much for graphics on this laptop and it was a couple hundred bucks cheaper than the exact same thing with nvidia
<viaken>
Do I need to set networking.wireless.userControlled.enable or networking.supplicant.<name>.userControlled.enable? And what's <name>? Username? Interface?
eacameron has quit [(Ping timeout: 240 seconds)]
<viaken>
I'm not following the .nix
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] volth opened pull request #28402: dejavu_fonts: made derivation fixed-output (master...patch-55) https://git.io/v5vJm
NixOS_GitHub has left #nixos []
Ivanych has quit [(Ping timeout: 240 seconds)]
kiloreux has joined #nixos
LysergicDreams has quit [(Ping timeout: 255 seconds)]
LysergicDreams has joined #nixos
eacameron has joined #nixos
Infinisil has joined #nixos
<sphalerite>
gchristensen: so I think I've finished, but I'm getting a message I don't quite understand from the build: Element include in namespace 'http://www.w3.org/2001/XInclude' encountered in programlisting, but no template matches.
<sphalerite>
and it's rendering as <xi:include></xi:include> in the HTML
<Infinisil>
May I ask why not just use github/gist for that?
jellowj has joined #nixos
mg has quit [(Read error: Connection reset by peer)]
<sphalerite>
mostly because git format-patch gave me a file and my go-to solution for sharing a file with someone is copying it over to my web server
<sphalerite>
otherwise I'd probably use ix.io
<Infinisil>
*click*
<Infinisil>
I see, so you like it raw :)
hanslo-Wesson has quit [(Ping timeout: 240 seconds)]
hanslo-W has joined #nixos
<sphalerite>
uuuh… phrasing. But no, you get syntax highlighting there too http://ix.io/yue/diff
<Infinisil>
Ahh I see, just thought it would be raw because the homepage was
<sphalerite>
What I like about ix.io is that you can just use it with curl so you don't need to install anything on most systems, and it'll just take data from stdin
sellout- has joined #nixos
<sphalerite>
and you can get the instructions with just curl ix.io (it checks the user-agent string and just prints out the tl;dr of using it if you use curl on it)
<Infinisil>
Oh nice
Arcaelyx has joined #nixos
<Infinisil>
Really simple, I like it
Arcaelyx_ has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] bjornfor pushed 1 new commit to master: https://git.io/v5vTT
<NixOS_GitHub>
nixpkgs/master 8b4f537 Volth: geoip: set default dir to '/var/lib/geoip-databases'
NixOS_GitHub has left #nixos []
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] bjornfor closed pull request #27412: geoip: set default dir to '/var/lib/geoip-databases' (master...geoip-default-dir) https://git.io/vQdH9
NixOS_GitHub has left #nixos []
* Infinisil
is currently looking for something similar to gist/ix.io but selfhosted
Arcaelyx has quit [(Ping timeout: 240 seconds)]
<sphalerite>
Infinisil: sprunge.us
<Infinisil>
Oh nice
jellowj has quit [(Ping timeout: 255 seconds)]
<gchristensen>
sphalerite: it seeems pills/07/builder.sh.txt, pills/07/simple.c.txt, and pills/07/simple_builder.sh.txt are missing
<sphalerite>
whoops
<sphalerite>
fixed
jellowj has joined #nixos
hanslo-W has quit [(Ping timeout: 240 seconds)]
<xd1le>
sphalerite: use evil mode
<xd1le>
sphalerite: also I find that using I find that using https://github.com/noctuid/general.el helps to organize my keybindings easier, especially when using evil
<sphalerite>
but then it's barely like I'm using emacs at all, is it?
<xd1le>
sphalerite: why?
<xd1le>
I use emacs instead of vim because it sort of provides an integrated experience with everything it can do
<xd1le>
but I can't use emacs keybindings, my fingers got used to vim, or I just prefer it, or find it more comfortable or something
<sphalerite>
I have the impression — based mostly on other GNU projects — that emacs's UI is carefully engineered to work well from a human perspective
<sphalerite>
it's a big change from vim of course, and I've got quite a lot of muscle memory that I'd have to retrain, but I think it might be worth it
<sphalerite>
Then again, maybe I should just use evil
<xd1le>
sphalerite: it's really nice in that it's self-documenting, but imho emacs style keybindings are too hard to press and remember, maybe I'm just lazy or not willing enough to learn though
eacameron has joined #nixos
<xd1le>
I've even tried learning emacs bindings, but always seems to forget them, probably cause I use evil as well though
<Infinisil>
emacs doesn't have an INSERT mode, right?
<Infinisil>
And you do every movement through modifier shortcuts?
<xd1le>
sphalerite: the other main reason I prefer emacs over vim (in the context of this discussion, pls no editor wars on #nixos), is elisp. elisp definitely has it's issues, but it's so much more easier to use than vimscript in my opinion. that with the self-documenting aspect of it makes it so much more easier to go around hacking stuff without having to be tim pope.
eacameron has quit [(Ping timeout: 246 seconds)]
<xd1le>
anyway that's enough from me
* xd1le
runs
<sphalerite>
yeah I'll agree that vimscript is a bit mad
<sphalerite>
never really got my head around any lisp, but I haven't tried very hard either :)
<Infinisil>
I really wanna try out smartparens in emacs, seems to be pretty good for editing lisp
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] peti pushed 1 new commit to master: https://git.io/v5vTM
<NixOS_GitHub>
nixpkgs/master 1ddf621 Peter Simons: hackage-packages.nix: automatic Haskell package set update...
NixOS_GitHub has left #nixos []
eacameron has joined #nixos
jellowj has quit [(Ping timeout: 246 seconds)]
threshold has joined #nixos
felipedvorak has quit [(Ping timeout: 240 seconds)]
ebzzry_ has quit [(Ping timeout: 248 seconds)]
iyzsong has quit [(Ping timeout: 240 seconds)]
ebzzry_ has joined #nixos
eacameron has quit [(Ping timeout: 255 seconds)]
jellowj has joined #nixos
athan has joined #nixos
eacameron has joined #nixos
<pierron>
zimbatm: the last thing to do, is write a bit more documentation for the rust-overlay, and the firefox-overlay too.
<pierron>
zimbatm: then I should make a second annoucement for the firefox-overlay.
ebzzry_ has quit [(Ping timeout: 240 seconds)]
sebastian has joined #nixos
sebastian is now known as Guest40669
Guest40669 is now known as seppellll
ebzzry_ has joined #nixos
eacameron has quit [(Ping timeout: 240 seconds)]
felipedvorak has joined #nixos
erictapen has joined #nixos
jellowj has quit [(Ping timeout: 240 seconds)]
ylwghst has joined #nixos
hiberno has joined #nixos
erictapen has quit [(Ping timeout: 240 seconds)]
<bennofs>
Infinisil: well, there's evil which adds modal editing to emacs :)
ylwghst has quit [(Remote host closed the connection)]
mog has joined #nixos
<lluchs>
Does anyone have a Canon network printer/scanner that works with NixOS's SANE?
<lluchs>
For some reason, SANE on NixOS doesn't detect mine. SANE on Arch works fine.
<Infinisil>
bennofs: Yeah, I just can't believe emacs people do such stuff with shortcuts
<lluchs>
I can see in Wireshark that SANE is sending out BJNP broadcast messages and that the Scanner responds, but the responses never get to SANE.
<lluchs>
Oh, Wireshark captures packages before they get to the firewall?
<lluchs>
yeah it works when I disable the firewall. ugh
xd1le has quit [(Ping timeout: 248 seconds)]
s33se has joined #nixos
s33se has quit [(Client Quit)]
hellrazo1 has quit [(Quit: WeeChat 1.9)]
<dash>
infinisil: what do you mean "shortcuts"?
nwuensche has joined #nixos
<dash>
BTW anyone using matthewbauer's nix-mode? Trying to figure out how to build it in my emacs nix expr :)
<viaken[m]>
Anyone have experience getting a Yubikey working on NixOS? I can access it as root, but not my user, regardless of the permissions set on /dev/hidraw*.
<Infinisil>
dash: The Ctrl-C <whatever> stuff
<dash>
Infinisil: oh, no hardly any of the movement commands are more than one key combination
<Infinisil>
nwuensche: It's $out, not $outdir
<Infinisil>
dash: I see
<dash>
Infinisil: vim is definitely a little better at specific navigation commands but I don't miss them in macs
<dash>
er emacs
<Infinisil>
nwuensche: And you shouldn't use sudo
<dash>
Infinisil: any more than I'd miss C-t in vim :)
Neo-- has quit [(Remote host closed the connection)]
Neo-- has joined #nixos
* Infinisil
tries to use it
<Infinisil>
dash: How the hell do I use this
<Infinisil>
Ahh
<nwuensche>
Infinisil: When I "cp $srcTheme $out/share/oh-my-zsh/themes/agnoster.zsh-theme", I get the same error
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] peti pushed 2 new commits to master: https://git.io/v5vLg
<NixOS_GitHub>
nixpkgs/master 01b8c4c Peter Simons: ghcWithHoogle: cosmetic for the sake of Emacs syntax highlighting
<NixOS_GitHub>
nixpkgs/master 6fe751f Peter Simons: ghcWithHoogle: deal gracefully with packages that have no haddockDir attribute
NixOS_GitHub has left #nixos []
goibhniu has joined #nixos
<Infinisil>
dash: Oh you're talking about emacs
joelpet has joined #nixos
joelpet has quit [(Changing host)]
joelpet has joined #nixos
<Infinisil>
nwuensche: Yeah that's not gonna work, didn't look at it closely before, but you can't just override a package like this. Why aren't you using the programs.zsh.ohMyZsh option?
<nwuensche>
Which one should I use? I can't really copy my theme with one of the commands, can I?
<Infinisil>
nwuensche_: oh-my-zsh checks the "custom" folder for themes named like this
<Infinisil>
nwuensche_: You just need to set the 'packages' list to have your repo in it, then set `theme = "terminalStuff/agnoster"`
betaboon has quit [(Quit: This computer has gone to sleep)]
tizbac has quit [(Ping timeout: 240 seconds)]
gnuhurd` has quit [(Remote host closed the connection)]
<nwuensche_>
Infinisil: Thank you so much, but how can I fetch from Github without a release? I can't set rev for the repo, but I don't want to create a release.
gnuhurd has joined #nixos
tizbac has joined #nixos
ladams has joined #nixos
jellowj has joined #nixos
ladams has quit [(Ping timeout: 240 seconds)]
ebzzry_ has quit [(Ping timeout: 240 seconds)]
jellowj_ has joined #nixos
jellowj has quit [(Ping timeout: 240 seconds)]
alx741 has quit [(Quit: alx741)]
alx741 has joined #nixos
Capprentice has quit [(Remote host closed the connection)]
Capprentice has joined #nixos
jellowj has joined #nixos
jellowj_ has quit [(Ping timeout: 246 seconds)]
Jackneillll has joined #nixos
Jackneillll has quit [(Remote host closed the connection)]
<nwuensche_>
Infinisil: Thanks, I use the commit now. However, their is no file .../share/oh-my-zsh/themes/terminalStuff/agnoster.zsh-theme, which I link to
<nwuensche_>
Infinisil: And so, there is no theme loaded
<Infinisil>
nwuensche_: Why are you linking to the file?
ylwghst has quit [(Ping timeout: 255 seconds)]
<Infinisil>
And how?
<nwuensche_>
Infinisil: I just set theme = "terminalStuff/agnoster". Nothing more. Isn't this what it should do?
slyfox has quit [(Remote host closed the connection)]
<Infinisil>
I think so
<Infinisil>
nwuensche_: Maybe have a look at the generated "custom" folder
<Infinisil>
nwuensche_: This shows its path: nix-instantiate --eval -E '(import <nixpkgs/nixos> {}).config.programs.zsh.ohMyZsh.custom'
<nwuensche_>
Infinisil: There is my dotFiles Repo! So how can I link the theme from it?
slyfox has joined #nixos
joachifm has joined #nixos
<Infinisil>
Hmm, the "custom" option is supposed to tell oh-my-zsh to use it as a customization directory, where it should look up the theme as well
<Infinisil>
nwuensche_: What does `echo $ZSH_CUSTOM` say
<nwuensche_>
It also links to this package
<Infinisil>
And ZSH_THEME is set as well to your theme?
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] joachifm pushed 2 new commits to master: https://git.io/v5v3u
<NixOS_GitHub>
nixpkgs/master 41bad11 Jean-Pierre PRUNARET: godot: homepage link with httpS
<NixOS_GitHub>
nixpkgs/master b34c87f Joachim F: Merge pull request #28357 from jpierre03/pr-godot...
NixOS_GitHub has left #nixos []
grantwu has quit [(Quit: WeeChat 1.9)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] joachifm closed pull request #28356: gnonlin: use httpS to fetch archive (master...pr-gnonlin) https://git.io/v7p2R
NixOS_GitHub has left #nixos []
chocopuff has quit [(Ping timeout: 240 seconds)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] joachifm pushed 3 new commits to master: https://git.io/v5v3d
<joepie91>
currently trying to implement a thing for using local sources... is there a way to cast a path to a string *without* adding its contents to the store?
<nwuensche_>
Infinisil: Fixed it! I had to dotFiles/terminalStuff/agnoster into themes :)
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] joachifm pushed 2 new commits to master: https://git.io/v5vsT
<NixOS_GitHub>
nixpkgs/master 6b782a6 Joachim F: Merge pull request #28321 from magnetophon/distrho...
NixOS_GitHub has left #nixos []
<Infinisil>
nwuensche_: Ahhh, right, should've seen that
<nwuensche_>
Infinisil: Nevertheless, thank you so much for your help.
<Infinisil>
nwuensche_: Glad I could help :)
<Infinisil>
joepie91: Good question
<Infinisil>
joepie91: Where does this path come from? Can't you just use the string directly?
pxc has joined #nixos
tizbac has quit [(Ping timeout: 240 seconds)]
<joepie91>
Infinisil: the path comes from a Nix expression; and no, not unless there's an equivalent of __dirname or such to determine the path in which a Nix expression exists
<joepie91>
because the path needs to be relative to the .nix file
gnuhurd has quit [(Read error: Connection reset by peer)]
<joepie91>
at this point I don't particularly care about the hackiness of the solution, so long as 1) it works on a vanilla Nix + NixOS setup without custom runtime patches, and 2) it meets the requirement of giving me an absolute path to a relatively-specified-in-a-Nix-expression-file path in string form :P
gnuhurd has joined #nixos
<Infinisil>
Hmmm
<joepie91>
so if there's a __dirname equivalent and a path joining/resolving thing, that's fine too
nix-gsc-io`bot has joined #nixos
<joepie91>
(there's no hard requirement to specify the path as an actual *path*, Nix-syntax wise -- that's just to take advantage of the to-absolute-path conversioin)
<Infinisil>
joepie91: You could look through all __<foo> methods
<joepie91>
where do I find those? :P
<Infinisil>
joepie91: nix-repl -> Type "__" and Tab
pxc has quit [(Ping timeout: 255 seconds)]
<joepie91>
ah, right
* joepie91
looks
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] primeos opened pull request #28409: fuse3: init at 3.1.1 (master...fuse3) https://git.io/v5vsp
NixOS_GitHub has left #nixos []
<joepie91>
aha!
<joepie91>
Infinisil: __toPath did the trick
<joepie91>
:p
<joepie91>
the docs seem to be wrong though
<joepie91>
nix-repl> __toPath ./foo
<joepie91>
"/home/sven/foo"
<joepie91>
but the docs say about builtins.toPath
<joepie91>
Convert the string value s into a path value. The string s must represent an absolute path (i.e., must start with /). The path need not exist. The resulting path is canonicalised, e.g., builtins.toPath "//foo/xyzzy/../bar/" returns /foo/bar.
takle has quit [(Remote host closed the connection)]
<Infinisil>
Isn't it automatically converted to a string for display or something like that?
<joepie91>
nope, it's an actual string
<joepie91>
it does seem to have solved my issue though :P
<Infinisil>
Well if it works :P
<joepie91>
yeah, but it does mean that either the docs are wrong or the behaviour's going to be changed
<joepie91>
heh
<joepie91>
anyway, works for now
<joepie91>
may be worthy of an issue at some point
<joepie91>
my current approach is to manually create a fixed-output derivation from a relatively-specified path
<joepie91>
to deal with shipping sources alongside the expression
<joepie91>
or rather, alongside my system config
<joepie91>
without having it re-add the thing to the store on literally every rebuild
<joepie91>
which gets a little irritating :)
<Infinisil>
I don't understand exactly what you're doing heh
<joepie91>
Infinisil: so I have a nixrc repo that contains the config for all of my systems, including some custom packages
<joepie91>
some of those custom packages require proprietary-ish sources
<joepie91>
like for example games
<joepie91>
my intention is to include the source files for those games in either that repo or an accompanying repo
<Infinisil>
Hmm
<joepie91>
so that I can clone 1 or 2 repos and have everything needed to rebuild a system declaratively
<joepie91>
without manual add-stores
<joepie91>
for that to be possible, I need to be able to specify a local path within the repo as a src
<joepie91>
which I can do, but if I just specify the path, then it won't have a hash to determine whether a file has been added to the store before
<Infinisil>
joepie91: Why not just use fetchFromGitHub or something like that?
<joepie91>
therefore it will retry adding the path to the store on literally every rebuild you do
<joepie91>
because it's not on github, it's in the repo that contains my config
<joepie91>
and this should be generalizable without relying on a specific git repo host
<Infinisil>
can use any other repo with fetchgit
<joepie91>
just "here's a bunch of config files and sources, make it happen"
<joepie91>
which means no additional out-of-band source fetches
<joepie91>
there's no reason this couldn't be done from the local filesystem (it already has the sources!) so that's what I'm doing right now :P
tizbac has joined #nixos
<joepie91>
Infinisil: even then you are relying on git and additional unnecessary network fetches
<Infinisil>
I'm still not following 100% and I feel like this could be done more elegant, but whatever, if it works for you :P
<joepie91>
what I'm looking for is a generalizable local solution :P
<joepie91>
it may very well be possible to do it more elegantly, but that way isn't going to involve additional network fetches because that's precisely what I'm trying to avoid here as one of my requirements :P
betaboon has joined #nixos
betaboon has quit [(Changing host)]
betaboon has joined #nixos
<Infinisil>
Ohhh
jellowj_ has quit [(Ping timeout: 240 seconds)]
nwuensche_ has quit [(Quit: Leaving)]
<Infinisil>
joepie91: I think I get it now
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] Mic92 pushed 2 new commits to master: https://git.io/v5vGj
<NixOS_GitHub>
nixpkgs/master 72278d2 Tim Steinbach: atom: 1.19.0 -> 1.19.2
<Infinisil>
You basically need "./src/<foo>", but you can't use such a relative path
<joepie91>
crap. ran into a snag
<sziszi>
I have some problem with compiling the avrgcclibc package (i'm on unstable), I tried to patch up the nix file(I pulled the nixpkgs repo), but the result were the same as I tried to do it with "nix-env -i". Is there a straightforward (also dumb-proof) way to ensure I really compiled the modified nix package?
takle has joined #nixos
<Infinisil>
sziszi: Get the nix store path
<Infinisil>
sziszi: `realpath result` should do
reinzelmann has joined #nixos
<joepie91>
progress..
<Infinisil>
then nix-store --delete <that path>
<seequ>
TIL, I've always used `ls -l result`
<Infinisil>
sziszi: Oh actually, probably nix-store --delete $(realpath result) sholud work too
<sziszi>
Infinisil: is there a nix store path for unsuccessful builds?
<joepie91>
it didn't immediately break and barf this time!
<Infinisil>
LnL: And if there is no before? or the before was built from a different drv?
<Infinisil>
joepie91: Hmm, you basically only need a way to get the absolute path to the current nix file, right?
<pikajude>
hmm
<LnL>
I think it just fails then
<pikajude>
is there a way to build the `doc` output version of a ghcWithPackages derivation
<pikajude>
to get all the docs in one place
<joepie91>
Infinisil: that's what I thought :) but it doesn't work
<joepie91>
Infinisil: builders are executed in an environment that does not have access to the location in which my sources are stored
<joepie91>
so I cannot copy files from there on build time
<Infinisil>
Ohh, you need those files at build time??
<joepie91>
so I need to have the source files be added to the store *before* the builder executes
<joepie91>
but only if the files with that hash do not already exist
<sziszi>
Infinisil: "echo $EVERYTHING debugging" I inserted echo SomethingSomething
<joepie91>
so I'm pretty much looking for an auto-add-to-store with hash checking feature
<joepie91>
which... does not appear to exist?
* Infinisil
thinks
<joepie91>
specifically, I want to specify not just a local path but also the hash for the file at that path, and have it checked and skipped in the same manner as a fetchurl with hash
<joepie91>
that is, if the hash already exists in the store, skip copying ("downloading") the file
<joepie91>
and if the hash mismatches what is actually at that location, throw an error
ylwghst has quit [(Ping timeout: 255 seconds)]
<Infinisil>
Doesn't the normal "${path/to/file}" already do that?
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] Mic92 pushed 2 new commits to master: https://git.io/v5vn8
<joepie91>
Infinisil: no; it doesn't include a hash
<joepie91>
so it will just re-add it to the store on every evaluation
<joepie91>
because it can't know whether the file has changed
<joepie91>
so it just assumes that it has
<Infinisil>
Ah right
<joepie91>
Infinisil: and like, that behaviour *makes sense* - but it's horribly impractical in practice
<joepie91>
even if I understand the technical reasons
<joepie91>
so I'm now attempting to sidestep that by specifying the hash, to give it the information about whether a file has changed
<Infinisil>
joepie91: Does fetchurl with file:// work?
<joepie91>
only problem being, it doesn't seem Nix has anything that lets you do that :)
<joepie91>
Infinisil: I can try, but it's unlikely; that'd be a breakout of the isolated environment, since afaik fetchurl is executed from within the builder environment, not as a preparatory step like auto-copy-to-store path evaluation
<Infinisil>
oh right
<Infinisil>
I feel like this should be easy, but I can't think of a solution
rpifan has joined #nixos
<joepie91>
curl: (37) Couldn't open file /home/sven/nixrc-src-games/gog_starbound_2.13.0.14.sh
<joepie91>
:)
__monty__ has left #nixos []
<joepie91>
so nope, file:// does not work
* joepie91
pages clever
<LnL>
pretty sure it just checks the hash first
<LnL>
and only copies it if there are actual changes
<sziszi>
ohohh it worked!
<sziszi>
thanks for the tip guys!
<joepie91>
LnL: what hash?
<Infinisil>
sziszi: What was the problem?
<LnL>
of the file/directory
m0rphism has quit [(Quit: WeeChat 1.9)]
<LnL>
when using ${/path/to/file}
<joepie91>
LnL: how would it obtain that? it'd have to re-hash the file twice on every rebuild, which doesn't really help any
<joepie91>
or well, once I guess
betaboon has quit [(Quit: This computer has gone to sleep)]
<joepie91>
which is still very expensive for large sources
<joepie91>
the whole point of using a fixed-output derivation for this is that it can skip the entire hash process on most rebuilds because I tell it what the hash is :)
<Infinisil>
keyword: IFD
<Infinisil>
I feel like this could solve your problem
<joepie91>
Infinisil: IFD?
<Infinisil>
Somebody was here recently with a similar problem I think
<sphalerite>
import-from-derivation
<sziszi>
Infinisil: my memory... few months back I sucessfully modified a package and built, and installed it on my system(nvidia dropped support of http and ftp repos) and I forgot it how i did it. :) I was using a wrong nix command, all I have to do is go in the root of the local nixpkgs copy, and "nix-build -A avrgcclibc" now it compiling the correct file
takle has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] Mic92 pushed 2 new commits to master: https://git.io/v5vn9
<NixOS_GitHub>
nixpkgs/master a741ac5 Tim Steinbach: kotlin: 1.1.2-5 -> 1.1.4-2
Neo-- has quit [(Remote host closed the connection)]
<sziszi>
now all I have to do is wait for the results
<joepie91>
Infinisil: hmmm. how would import-from-derivation solve this?
Neo-- has joined #nixos
<sziszi>
it always failed at libc :/
<joepie91>
I'm not sure I see how one relates to the other :)
tizbac has quit [(Ping timeout: 248 seconds)]
<Infinisil>
joepie91: I'm not sure just yet, let me think
<joepie91>
alright
FRidh has quit [(Quit: Konversation terminated!)]
<Infinisil>
Ah, catern was the one that had something similar I think, you here catern ?
<Infinisil>
04:18 < catern> (specifically I made one derivation which takes a path as a string, hashes it with nix-hash, and writes the hash to the store; then I builtins.readFile that hash out and put it into a fixed-output derivation)
magnetophon has quit [(Ping timeout: 255 seconds)]
<Infinisil>
please tell me I'm still connected
<joepie91>
Infinisil: yeah, you are
<joepie91>
got distracted for a moment, sorry
<Infinisil>
whew
<joepie91>
some fucking people... somebody elsewhere has been whining about vague 'customer service quality' related things in another IRC channel
<joepie91>
apparently complaining about them taking up an offer from a VPS provider and then being unhappy about the price after the purchase?
jellowj_ has joined #nixos
<joepie91>
idk, only half a clue what's going on there, but the sense of entitlement of some people is pretty staggering
<joepie91>
don't like an offer, don't purchase it, this isn't a hard concept
<joepie91>
</rant>
radvendii has joined #nixos
ebzzry_ has quit [(Ping timeout: 255 seconds)]
<Infinisil>
reminds me of these 'laws of stupidity'
<Infinisil>
Oh my god, my internet is so bad currently, I can't even play a 30kB/s stream of audio without lag
<Infinisil>
joepie91: Oh and I digged out the conversation with catern: https://git.io/v5vc2
<joepie91>
thanks :)
<Infinisil>
Maybe it helps, not sure, I'm very tired currently sry
<joepie91>
Infinisil: yeah, I don't think this will work as a workaround. I can't even do a nix-hash from within a builder because of the isolated build environment
<joepie91>
(+1 on the issue would be appreciated if you think it'd be useful :P)
* Infinisil
+1'd
radvendii has quit [(Ping timeout: 248 seconds)]
<joepie91>
there may be some issue that I'm overlooking (and I'm expecting the special pre-build behaviour of a fetchfile to maybe be a bit iffy to implement), but this to me seems the most simple and composable solution to the issue
m0rphism has quit [(Client Quit)]
m0rphism has joined #nixos
<Infinisil>
Hmm, what is the hash of "${./path}" based on?
<joepie91>
the contents of the file at the location, afaik
m0rphism has quit [(Client Quit)]
<joepie91>
yeah
<joepie91>
so when casting a path to a string, it will hash whatever is at the path
<joepie91>
then store the result and produce the store path
<joepie91>
as a string
<Infinisil>
if that's the case, then isn't it impossible to not hash the contents of all of ./path because otherwise the store path couldn't be determined?
m0rphism has joined #nixos
<joepie91>
Infinisil: correct
<Infinisil>
The hash would need to be based on something other than the contents
<joepie91>
which is why I want a fetchfile that lets me specify a hash
<joepie91>
:p
<Infinisil>
Ah
<joepie91>
so that it can look at the specified hash instead (and verify that it's correct at store-add-time)
<joepie91>
and skip the constant rehashing
<joepie91>
this is pretty much what fetchurl does
<joepie91>
except locally
<Infinisil>
Got it
bpa has quit [(Quit: Leaving)]
rpifan has quit [(Read error: Connection reset by peer)]
Neo-- has quit [(Remote host closed the connection)]
Neo-- has joined #nixos
Hero has joined #nixos
<Hero>
jesus christ guys, I install nix and it installs 20 standalone binaries. I mean cmon
takle has quit [(Remote host closed the connection)]
<joepie91>
Hero: what?
betaboon has joined #nixos
tizbac has quit [(Ping timeout: 240 seconds)]
rpifan_ has quit [(Ping timeout: 255 seconds)]
<simpson>
Hero: Sorry, is there a document somewhere explaining how many standalone binaries should be installed?
<Hero>
ahhh there is the condescending linux spirit that we all love and expect!
<simpson>
Hero: Sorry, did you want an argument? This is abuse.
<simpson>
Hero: More seriously, are you talking about Nix or NixOS, and what were your actual expectations?
<Hero>
My expection is naturally that I'm going to get one binary because it's 'a' package manager.
<ToxicFrog>
Never install git.
<vandenoever>
Hero: it consists of a number of executables, some cmdline tools, also a build daemon
<simpson>
The next-generation API, using only a single `nix` command, is still a WIP, although I'm sure that patches are welcome if you want to help the effort. FWIW, I am very much looking forward to the new API, but have no spare time for contributing to Nix's core.
<Hero>
ok sounds good
betaboon has quit [(Quit: This computer has gone to sleep)]
<ToxicFrog>
Or zypper or apt-get, for that matter.
<vandenoever>
nix is probably not as hard as git
<ToxicFrog>
(what package managers are you familiar with that only use a single binary? Cygwin setup.exe, maybe?)
<vandenoever>
'apt' is a pretty new invention ;-)
<simpson>
Also, there is a style of using Nix primarily with nix-shell and not nix-env, which emphasizes bringing binaries into scope only when you need them. From this POV, you can almost entirely use nix-shell, although nix-env is useful for Xorg-related stuff, nix-build is great for developing, and nix-repl is indispensable if you want to hack on nixpkgs.
<simpson>
vandenoever: Yeah, `apt` is so new. I have trouble because I'm used to Aptitude. And also because my NixOS machines now outnumber my Debian machines.
Arcaelyx_ has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
<ToxicFrog>
(git, for the record, installs about 170 binaries, although only half a dozen or so are in $PATH)
<cocreature>
simpson: oh that new interface looks pretty neat. any idea when a release of this is planned?
<simpson>
cocreature: No idea, sorry.
<joepie91>
ToxicFrog: that's pretty typical for anything with subcommands
<joepie91>
including probably most package managers?
<joepie91>
so yeah, I don't really see the problem here :P
<cocreature>
simpson: no worries, thanks for pointing me to it. now I have something to be exited about :)
<joepie91>
I also wouldn't be surprised if the new CLI took the same approach, with a single `nix` binary and a bunch of underlying `nix-*` binaries
<ToxicFrog>
joepie91: yeah, that was kind of my point
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] vcunat closed pull request #25791: spacy: added Explosion AI spaCy, thinc and related tools (master...spacy-1.8.2) https://git.io/v95s3
NixOS_GitHub has left #nixos []
<joepie91>
Hero: more seriously; if you come in with a complaint that criticizes something without explaining why it is a problem or investigating whether there's a reason for it working how it does, you shouldn't be surprised if you get back a miffed reply :)
<joepie91>
generally the replies you get will mirror the approach/presentation of the original remark or question
<Hero>
joepie91, I have no idea who you are but just from saying that 200 binaries are not a problem, I know you shouldn really be talking with as much confidence as you do
<joepie91>
Hero: I don't think it matters who I am, and I can tell you that this kind of judgmental attitude is not going to result in much good, or many friendly replies
<joepie91>
don't assume that because you can't see the reason, there is none.
<Hero>
same applies to you
<thoughtpolice>
Don't remember signing a pact where people were required to be nice to obtuse assholes when they come into IRC to vent about nothing. Weird how I can't remember that.
Wizek_ has quit [(Ping timeout: 240 seconds)]
<simpson>
Hero: Nix isn't about the number of binaries. It's about POLA and purity.
<joepie91>
Hero: no, it really doesn't. you come in with an unnecessarily hostile remark, I point out that that behaviour is not appreciated - those are two very different things.
<simpson>
The number of binaries being smaller is a pleasant side-effect of not having as much ambient authority.
<simpson>
(Pattern: Capability security looks quite a bit like modularity.)
<joepie91>
Hero: and I'm trying to point that out in a polite manner, but if you continue to be hostile and start making personal attacks...
<Hero>
buddy, the argument was ended. Then you start coming off with your holier than thou attitude just to drive another nail in
radvendii has quit [(Ping timeout: 240 seconds)]
<joepie91>
Hero: no, the argument wasn't "ended". you're being unnecessarily antagonistic towards other members of the channel, and I'm telling you that this is not acceptable.
<joepie91>
that is not something you arbitrarily wave away as "that's in the past", especially as you're still doing it.
<joepie91>
the correct response here is to acknowledge the problem, take the feedback, and not be unnecessarily hostile in the future.
<Hero>
How about you apply all that nice tidy logic to yourself and stop antagonizing people here
* joepie91
sighs
<joepie91>
kmicu: around?
Arcaelyx has joined #nixos
betaboon has joined #nixos
betaboon has quit [(Changing host)]
betaboon has joined #nixos
ylwghst_ has joined #nixos
<vandenoever>
simpson: i did not know POLA as an acronym yet, i assume A=Astonishment is the version used here
<joepie91>
knowing simpson, they probably meant the Authority one
<joepie91>
:p
radvendii has joined #nixos
<vandenoever>
then i fail to see how that is so important in Nix(os)
<vandenoever>
i do not see where authority comes into it
<simpson>
vandenoever: Packages are built only with explicit build inputs. This is limiting ambient authority.
<simpson>
And we also alter their runtime characteristics so that authority is limited at runtime too. I know that nginx won't be compromised because of libjpeg today.
<vandenoever>
simpson: ok, that's an aspect of Nix i like. for me that is elimination of random environment, but you could take a security / authority look too
ylwghst has quit [(Ping timeout: 240 seconds)]
ylwghst_ has quit [(Ping timeout: 255 seconds)]
<simpson>
vandenoever: In the capability model, eliminating excess environment *is* limiting authority.
<simpson>
Hygenic scoping: It's not just a good idea, it's the law.
Infinisil has joined #nixos
<vandenoever>
simpson: i can certainly agree with that, you must be a security guy since you emphasize ability for maliciousness
<simpson>
Yeah, security is my #1 principle.
<simpson>
Which is why I'm constantly cursing at crappy cloudware. Today I am fighting with k8s Secrets.
<vandenoever>
k8s?
<simpson>
Kubernetes.
<vandenoever>
clouds are not very deterministic
<joepie91>
simpson: well, I mean, that's all part of the "wrap it in a container and call it isolated" ecosystem :)
<joepie91>
vandenoever: well, it depends
<joepie91>
I mean, you can get sort of determinism by just throwing away your container and rebuilding it on every update
<joepie91>
but... yeah
<joepie91>
it's a bit of a clowncar solution to that particular problem
<simpson>
joepie91: I have been enjoying `FROM nixos/nix` to ease one particular part of that problem.
<joepie91>
simpson: you'll have to be a bit more explicit there; I don't use k8s, so I'm not sure what you're referring to :)
<vandenoever>
my association was SQL :-P
<vandenoever>
but i guess it's a Docker recipe
<simpson>
joepie91: Oh, the first line of a Dockerfile says which userspace it's based on.
<joepie91>
ah, right
<joepie91>
I haven't touched Docker for a Long Time
<simpson>
But yeah, "clowncar" is a pretty great word for how some parts of the ecosystem are.
<joepie91>
it's actually probably a more accurate analogy than I thought it would be, heh
<adelbertc>
i have a simple haskell project setup where `shell.nix` is `(import ./release.nix).env` and `release.nix` is `(import <nixpkgs> { }).haskellPackages.callPackage ./default.nix { }` and `default.nix` is generated from `cabal2nix`
<joepie91>
a clowncar is technically a car, and technically probably road-legal, and there's not one particular thing you can point at and go "that makes it not a car!" but is anybody going to consider it to be a genuine car with a straight face? probably not
<adelbertc>
i'm trying to figure out how to put editor tools into my shell like `ghc-mod`
radvendii has quit [(Ping timeout: 240 seconds)]
<adelbertc>
any tips?
<joepie91>
this pretty much applies to 'wrap it in a container for determinism' too :P
<simpson>
joepie91: That's a large part of it. There's also the fact that "sidecar" is a common pattern in container-land.
<simpson>
So, if you can imagine a clowncar, with a sidecar which is also a clowncar, then you've got yourself some cloud.
<joepie91>
hahaha
darlan has joined #nixos
zancrow has joined #nixos
zancrow has quit [(Client Quit)]
<catern>
joepie91: so I thought about the "fetchpath" issue a bit
<catern>
I think the basic change that is needed, is running fixed-output derivations and "non-deterministic derivations" outside the store
<catern>
er, outside the sandbox*
darlan has quit [(Client Quit)]
<catern>
there is no need for those to be sandboxed (assuming we don't actually care about sandboxing for securing the end user from arbitrary code they run)
<catern>
because the former has a defined hash output, and the latter gets rehashed each time
Wizek_ has joined #nixos
ylwghst has joined #nixos
ylwghst_ has joined #nixos
<catern>
(this is slightly trickier for remote builds because there we do actually care about securing against arbitrary Nix code... I think?)
<catern>
in other words... these unsandboxed derivations shouldn't be handled by the nix-daemon, but rather by the user invoking the code
<catern>
(in the case of fixed-output derivations, the nix tools can check with the nix-daemon to see if the fixed-output needs to be downloaded/copied in again)
<catern>
this neatly solves a ton of problems I think
sigmundv_ has quit [(Remote host closed the connection)]
kiloreux has quit [(Ping timeout: 248 seconds)]
alx741_ has joined #nixos
sigmundv_ has joined #nixos
alx741 has quit [(Ping timeout: 246 seconds)]
<catern>
the basic API would be derivations marked as "impure", which look like normal derivations but are unsandboxed. they would be checked for fixed-output like normal derivations, and if their output is already in the store, they are skipped. if they need to be realized, however, the derivation would be built directly by nix as the invoking user, and then uploaded to the store code (nix-daemon or whatever), which will hash them, add them to
<catern>
the store, and return the resulting path
<catern>
remaining questions: does the derivation even get serialized down into a low-level derivation? or is it purely "userspace", not touching the store until its output is actually sent to the store?
Neo-- has quit [(Remote host closed the connection)]
<joepie91>
catern: this is worth posting in the issue thread, I think -- as for 'sandboxing for security', I don't believe that Nix currently uses any sandboxing techniques that could stand up against malicious code, even if it were the intention, although I'm not certain
Neo-- has joined #nixos
<joepie91>
catern: the idea in general sounds interesting, but it's going to result in complexity issues when dealing with a remote daemon
<joepie91>
as it means the fixed derivations are produced on a different system from the one where they are to be used
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] bnikolic opened pull request #28415: set +u workaround for empty arrays (master...fix/ld-wrapper-set-u) https://git.io/v5vuO
NixOS_GitHub has left #nixos []
<catern>
i'm wondering if this is just an issue of not having an intensional store
<joepie91>
this not only causes implementation complexity, but also practical concerns like "what if somebody is working on a space-constrained system and this is normally not an issue because builds are done remotely"
<joepie91>
(I'm not sure whether this specific case would be an issue compared to the current build model, but just to illustrate the type of issue I'm thinking of here that might be easily missed)
<joepie91>
catern: I'm not sure I understand your 'remaining question', can you rephrase that?
<catern>
.drv files in the store
rpifan_ has joined #nixos
<catern>
do they get created for "impure derivations" with the information about how to build the impure derivation, if you're in the right user context?
<catern>
anyway I actually am kind of thinking the underlying problem might have to do with the lack of an intensional store
<catern>
but maybe this is a simpler problem in some way
Ivanych has quit [(Ping timeout: 248 seconds)]
<joepie91>
catern: what do you mean with "impure derivations" in this context, exactly?
phinxy has joined #nixos
thc202 has quit [(Ping timeout: 240 seconds)]
<catern>
derviations run as the user rather than in the sandbox
<joepie91>
catern: we don't have those today, do we?
<catern>
correct
<joepie91>
OH
<joepie91>
I was misreading your question I think heh
<joepie91>
I was reading it as "does Nix currently ..." but now I think you mean "should Nix ..."
<catern>
yeah, it was a hypothetical question not a factual one
<catern>
yep
<joepie91>
right, okay, then it makes more sense :P
<joepie91>
I don't know enough about derivations (.drv files) to answer that remaining question, I'm afraid
<joepie91>
or rather, their purpose
<joepie91>
like, I have a vague idea of them being useful for "passing off to the daemon" purposes, but I don't have an exhaustive understanding of their reason for existence
<catern>
this is sufficient to express what I've been talking about
<catern>
you'd need to write a fair bit of scaffolding in "userspace"
<catern>
but I think it should be sufficient
<joepie91>
catern: not sure I see how this relates :)
mguex has joined #nixos
<catern>
you use exec to run a helper script; the helper script checks to see if the path is already in the store; if it is already in the store, the helper script returns a fixed-output derivation pointing to it; if it is not, the helper script returns just the path itself so it can be copied in
<catern>
this can extend to arbitrary file being generated (perhaps by network access) by having the helper script do the actual work and put the files in some locally accessible path, and returning that, if necessarily (i.e. if the files are not already in the store)
<catern>
if necessary*
goibhniu has quit [(Ping timeout: 240 seconds)]
<catern>
the helper script maintains a local mapping between paths and hashes to figure out whether the path is already in the store
<catern>
this is how it emulates "immutability"
ona has quit [(Quit: ...)]
<catern>
this is a fair amount of complexity for "userspace", but it keeps core Nix simple - in fact you don't need to add anything to core Nix
hiratara has quit [(Ping timeout: 240 seconds)]
<catern>
exec, here, is replacing the "impure derivation" or "unsandboxed derivation" concept that I described earlier
<catern>
exec of course has the strong advantage that it already exists :)
<catern>
does that make sense?
<joepie91>
catern: reading, one moment
<joepie91>
currently getting twitter-mobbed
<joepie91>
bad for focus :P
<catern>
that's fine
hiratara has joined #nixos
<joepie91>
hm
<joepie91>
while it could work as a short-term solution, I do see a few issues with it
<joepie91>
the most notable one being that it seems like it'd require you to enable/allow exec for *everything* even if you just want to use fetchfile in one place, which would be undesirable in particular for nixpkgs-like repositories or overlays that are used by many people
betaboon has quit [(Quit: This computer has gone to sleep)]
<joepie91>
another one being that taking this approach might encourage people to break impurity too much
betaboon has joined #nixos
betaboon has quit [(Changing host)]
betaboon has joined #nixos
<joepie91>
in ways other than just the particular case we're talking about here
<joepie91>
though I don't have a full understanding of the purity risks introduced by this
<joepie91>
but it intuitively feels a bit iffy to me
betaboon has quit [(Client Quit)]
ylwghst has quit [(Ping timeout: 240 seconds)]
ylwghst_ has quit [(Ping timeout: 240 seconds)]
<catern>
that is what I meant about security
<catern>
disabling sandboxing hurts security for end users by letting arbitrary code run
<catern>
howeever Nix is probably not secure at the moment anyway
<catern>
still, for defense in depth reasons, probably you only want to toggle the option that gates exec, when you are running trusted code
<joepie91>
well, I'm not talking about security in that sense
<joepie91>
rather about purity
<joepie91>
ie. the ability to accidentally something in the store :)
<catern>
i know, just meaning the first part about large repositories
<joepie91>
right, but even there my comments weren't about security (although I do agree that it's a potential concern as well from a defense in depth POV, just not one I was describing)
<catern>
and yes, this could only be allowed in very proscribed ways in nixpkgs
<catern>
maybe shouldn't be allowed at all, in general
<joepie91>
so in the end I feel that there's still a valid case for fetchfile as a builtin :P
<joepie91>
as it's a bit of a special case
<joepie91>
and using it probably shouldn't mean turning on exec
<catern>
fetchfile as a builtin still requires the process i just described
<joepie91>
how do you mean?
<catern>
hmm
<catern>
maybe not
<catern>
if you had a builtin to do "check to see if this derivation/hash is already in the store", then, you could implement fetchfile
<catern>
(by returning the path if it's not in the store, and a dummy derivation if it is in the store)
gnuhurd has quit [(Remote host closed the connection)]
gnuhurd has joined #nixos
JosW has quit [(Ping timeout: 240 seconds)]
<joepie91>
possible, that depends on exactly how Nix handles the path -> string casting
<joepie91>
catern: you should definitely post these points in the issue thread though :p
<catern>
heh
<catern>
how about using builtins.pathExists to do that?
mkoenig_ has joined #nixos
<joepie91>
mm, how does one go from hash to store path?
<joepie91>
Thus, the hash part of the store path is a base-32 representation of a 160-bit truncation of a SHA-256 hash of the variable elements that must be represented in the hash, namely, the location of the Nix store nixStore, the type of the store object (e.g., "source"), a unique descriptor string describing the store object (e.g., a cryptographic hash of the contents of the FSO in case of sources), and the symbolic name.
* mguex
is now fully afraid of btrfs...
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] bachp opened pull request #28417: Additional Nginx features (master...nginx-stream) https://git.io/v5v21
NixOS_GitHub has left #nixos []
gnuhurd has quit [(Remote host closed the connection)]
\\\\\\\\\\\\\\\ has joined #nixos
\\\\\\\\\\\\\\\ has quit [(Remote host closed the connection)]
\\\\\\\\\\\\\\\\ has joined #nixos
\\\\\\\\\\\\\\\\ has quit [(Remote host closed the connection)]
gnuhurd has joined #nixos
hanslo-W has quit [(Ping timeout: 240 seconds)]
gnuhurd has quit [(Remote host closed the connection)]
<catern>
joepie91: hmm... what if you just pass a store path? :)
gnuhurd has joined #nixos
pxc has joined #nixos
<joepie91>
catern: ?
<catern>
like return /nix/store/whatever or ./local/path
<catern>
i wonder if it will recognize the store path and not rehash it :)
<joepie91>
catern: that's... a good question, actually
<joepie91>
after all, a path evaluates to a store path string...
<joepie91>
hmm.
<catern>
well, nix-store --add doesn't recognize the store path
<joepie91>
just a moment :)
construct has joined #nixos
vandenoever has quit [(Quit: ䷴៚)]
<construct>
Hello everyone. How do I get sound working? It's not in the NixOS manual.
<construct>
I'm on desktop with KDE.
<joepie91>
construct: how have you enabled KDE?
<construct>
In the configuration.
<joepie91>
(if you've enabled the plasma option, it should work out of the box)
<joepie91>
right, but how?
<joepie91>
like, with what option(s)?
<construct>
Let me look it up.
phinxy has quit [(Read error: Connection reset by peer)]
phinxy has joined #nixos
Neo-- has quit [(Remote host closed the connection)]
<catern>
(okay, yeah, I think a really good approach is to just return a store path as a string... that should just work, maybe?)
Neo-- has joined #nixos
<joepie91>
catern: it almost can't be this stupidly simple.
<construct>
joepie91: my configuration has the two options set to true. They are services.xserver.displayManager.sddm.enable = true; services.xserver.desktopManager.plasma5.enable = true;
phinxy has quit [(Client Quit)]
<joepie91>
construct: right, then you should have sound already, albeit not with pulseaudio
<joepie91>
how are you observing that it doesn't work?
<catern>
it also makes my "exec" approach cleaner, I can just exec a helper which returns a store path; it can do whatever it wants, and use nix-store --add
<construct>
My sound does not work on youtube. I need to change my default sound card. The default is over HDMI, and I'm using headphones.
<construct>
joepie91: How do I change my default soundcard?
<construct>
*headphones instead of HDMI
<construct>
I can change it with alsamixer, but it doesn't save state
pie__ has quit [(Read error: Connection reset by peer)]
<construct>
And changing it doesn't get the sound to work anyway.
Infinisil has joined #nixos
pie_ has joined #nixos
<construct>
Everytime I enter alsamixer, it resets to default soundcard
<joepie91>
construct: hold on
<joepie91>
construct: after you change the soundcard, the sound *does* work?
<joepie91>
ie. the issue is just a wrong default soundcard?
<construct>
joepie91: not really. I switch to the correct soundcard in alsamixer, and the sound still does NOT work.
<construct>
plus I don't know how to save my alsamixer settings to default the right sound card. sudo alsamixer store doesn't help any better than alsamixer
<joepie91>
construct: right. are you sticking with alsa for a specific reason (as opposed to pulseaudio), or is it just that you haven't set up anything else yet? I mean, alsa *should* work, but for a short-term solution, if you intended on using pulseaudio anyway, the problem might go away by enabling pulseaudio as a side-effect :P
pie_ has quit [(Ping timeout: 240 seconds)]
<construct>
Also do I need phonon?
<construct>
joepie91: how do I check if I already have pulseaudio installed?
<construct>
joepie91: am I to understand correctly that changing the config will install any packages I need automatically, or are they probably already installed?
<joepie91>
construct: they will be installed if necessary to satisfy the configuration you've added (enabling pulseaudio, in this case)
<joepie91>
construct: 'modules', which are the things that provide you with system config options, can conditionally add packages to your system where necessary
<joepie91>
so if you do pulseaudio.enable = true, that'll automatically add the needed config and packages to your system
<construct>
joepie91: cool, thanks. Is there a way to find out which packages are installed by default from CD?
* joepie91
need sto run a few more tests
<joepie91>
needs to *
<joepie91>
construct: are you referring to the configuration of the live CD?
<construct>
Yes
<construct>
Or no
<construct>
I did not use the live CD, I got confused because the nonlive CD has the option to start the live CD too.
<joepie91>
then I'm not sure what you're asking :)
<construct>
But it just boots the command line
<construct>
What packages come installed the first time I boot the operating system after I installed it from the CD?
<construct>
I want to make sure removing phonon was okay, or if it'll break something else.
<construct>
Or would it not allowed me to remove it if it is a dependency for something else?
<seequ>
Unless you really try, you can't remove needed packages
<construct>
But I'd still need to know if I should have phonon or not, I'm not sure if I installed it for the first time or if was already installed.
<construct>
seequ: good thanks
<construct>
:)
<seequ>
Uninstalling doesn't actualy delete any files.
<seequ>
Just drops symlinks.
<construct>
seequ, that sucks
<joepie91>
construct: it's by design
<seequ>
You can run nix-collect-garbage to clear out old packages that are no longer referenced
<joepie91>
garbage collection is used to delete old, no-longer-needed files
<Infinisil>
construct: Why do you want to get rid of that?
<construct>
Thanks seequ and joepie91
<joepie91>
as for your original question
<joepie91>
[01:18] <construct> What packages come installed the first time I boot the operating system after I installed it from the CD?
<construct>
Infinisil: because I'm not sure if I need KDE phonon
<joepie91>
none, except for system essentials like the kernel and bash and such
<joepie91>
part of the installation process is defining a configuration.nix
<joepie91>
that's what defines what gets installed during the installation
kiloreux has joined #nixos
<joepie91>
(alongside hardware-configuration.nix, which is generated for you)
<Infinisil>
construct: What is installed on the live-cd has nothing to do with what you're installing with it
<Infinisil>
construct: Or are you actually using the live-cd for using it and not installing nixos?
ee has quit [(Remote host closed the connection)]
ee has joined #nixos
<construct>
Infinisil: I've installed to SSD
<construct>
Should I be installed all of my packages through configuration.nix, or is running nix-env -iA nixos.packagename okay?
<construct>
How do I know if Phonon was installed by default by enabling KDE in the configuration?
<joepie91>
catern: hm, now I'm not sure whether this will survive garbage collection
ee has quit [(Remote host closed the connection)]
ee has joined #nixos
<Infinisil>
construct: configuration.nix or nix-env is both fine, but if you want to reproduce your environment for later you might wanna use configuration.nix (or a variation of nix-env)
<catern>
joepie91: it won't, but sources normally wouldn't anyway, right? the source code isn't needed at runtime. on the other hand if your built artifacts reference this path, then it will definitely survive GC
<joepie91>
mmm.
<joepie91>
I don't actually know whether sources normally survive or not
<catern>
i don't believe they do
Wizek_ has quit [(Ping timeout: 248 seconds)]
<joepie91>
construct: I wouldn't worry too much about whether Phonon is installed or not; if something ends up requiring it and you don't have it, you can always add it later
<joepie91>
generally speaking, you should let the underlying packages and modules worry about setting up your system in a way that makes your config work :)
<joepie91>
`with packages` just means that eg. `packages.nixpkgs.pavucontrol` can also be accessed as `nixpkgs.pavucontrol`
<construct>
joepie91: that's the thing though. I'm not sure if the underlying packages and modules added phonon before I did.
<joepie91>
the packages.nixpkgs stuff is specific to my config
<joepie91>
you likely just want to do pkgs.whatever
<clever>
joepie91: why not just use the pkgs argument, rather then add a whole new thing?
ee has quit [(Remote host closed the connection)]
<joepie91>
clever: I have multiple package sources
<clever>
joepie91: ah
<joepie91>
construct: doesn't matter; you can't add it twice
<seequ>
construct: If they're still using phonon, you can't remove it either
<clever>
joepie91: i also just had an idea, what if you use a packageOverride to create a pkgs.unstable and pkgs.release-17.03?
<joepie91>
construct: configuration is additive, generally speaking; it just combines together the bits of config in all the different places, and everything that appears in at least one place gets applied
<joepie91>
construct: (this is not *strictly* true but it's good enough as a mental model; nixos-rebuild will tell you when it isn't)
<joepie91>
clever: can just do that as an overlay really
pxc has quit [(Ping timeout: 240 seconds)]
<joepie91>
anyway, this setup is old :)
<joepie91>
just haven't had reason to change it yet
<Infinisil>
joepie91: Why do you have multiple package sources anyways?
<construct>
joepie91: thanks, I don't have to worry about phonon. Now that what you said makes sense to me, I can see it's similar to what everyone was trying to say already. Sorry for not understanding you guys.
<joepie91>
Infinisil: some stuff from unstable, some stuff from custom packages
<Infinisil>
A
<Infinisil>
h
<joepie91>
construct: np, it'll take some time to adjust your mental model to a declaratively configured system :)
iyzsong has joined #nixos
<joepie91>
construct: try to think of it as "every time I rebuild, it builds an entirely clean system with *just* the configuration I have, and all the old configuration is gone"
<joepie91>
this isn't strictly true either, because Nix doesn't rebuild the bits you already have, but it's an abstraction that's built in such a way that you get the same result
<construct>
jooepie91: cool, I think it's a good model. I'll try to get used to it fast.
<joepie91>
once something is no longer in your config, it will no longer be accessible in / affecting your environment either
<construct>
joepie91: nice, but do I have to set a new passwd for my user each time I run nixos-rebuild switch?
<viaken[m]>
Still in the Nix store until you garbage collect, though.
<joepie91>
construct: nope, that's one of the things that isn't affected by a rebuilt
<joepie91>
construct: there are a few pockets of 'state' on your system that Nix doesn't touch
<joepie91>
rebuild *
<joepie91>
viaken[m]: yeah, but that's not relevant to the mental model :P
<joepie91>
implementation detail
<joepie91>
construct: another stateful part that Nix doesn't touch is the home directories, for example
<viaken[m]>
Unless you start running out of space and are nix-env -e everything wondering why you aren't recovering space.
<construct>
joepie91: hmm, that might also explain why I was able to create a user and have it still through reboots without first adding it to configuration.nix, but after I did add it and rebuilt it, I had to reset passwd to login.
Neo--- has joined #nixos
<joepie91>
well yes, but separate issue :) and that's what automated garbage collection is for :p
* viaken[m]
needs to set that up.
gnuhurd has quit [(Remote host closed the connection)]
Neo-- has quit [(Read error: Connection reset by peer)]
gnuhurd has joined #nixos
<joepie91>
construct: quite likely. you first created it imperatively so it left it alone, then you added it declaratively and now it fell under the purview of NixOS so it created a new account
<joepie91>
[with the same name, overwriting the old one]
<joepie91>
that's my guess as to what happened anyway
<construct>
joepie91: do I need to add /home to fileSystems in the config?
<clever>
construct: only if you want /home on its own partition
<joepie91>
construct: that depends on your setup. if it's a separate partition, then you may need to, depending on whether it's in hardware-configuration.nix
<construct>
joepie91: did it delete the old user account that I added imperatively?
<joepie91>
it seems that hardware-configuration.nix will contain whatever filesystems were mounted when you generated it
<joepie91>
construct: well, there's not really such a thing as 'deleting' a user account, more like "overwriting its entry in /etc/passwd"
<joepie91>
:p
<joepie91>
a user account is an abstract concept on Linux
mkoenig_ has joined #nixos
<joepie91>
or well, abstract-ish
<construct>
joepie91: what about deleting the old user's home folder?
mkoenig_ has quit [(Remote host closed the connection)]
<construct>
clever: thanks.
<joepie91>
construct: I have no idea whether that happened when you added it declaratively; but it won't happen across rebuilds
<joepie91>
catern: so, now that I've yakshaved enough for today, it's time to package a game... :P
<construct>
joepie91: good to know, thanks!
mkoenig has quit [(Ping timeout: 248 seconds)]
<construct>
joepie91: so do I just need these lines in my config to get audio working? hardware.pulseaudio = with packages; { enable = true; support32Bit = true;
<construct>
}
<clever>
construct: doesnt need the "with packages;"
<construct>
clever: thanks, what about the support32Bit = true?
<joepie91>
construct: yep. though you'll probably want to add pavucontrol to your systemPackages as a volume control / config application, plus what clever said
<joepie91>
support32Bit is useful if you expect to ever run 32 bit applications
<clever>
construct: support32Bit will make pulseaudio work in 32bit programs (wine, steam, skype)
<joepie91>
in my case, it was for... OpenRCT? I think
<construct>
joepie91: is pavucontrol an applet for KDE's taskbar?
<construct>
clever: okay, thanks.
<joepie91>
construct: no, separate application
<joepie91>
the plasma applet is installed automatically
<joepie91>
but is a bit limited in functionality
<construct>
joepie91: I don't think I need extra functionality.
<construct>
But thanks
<kini>
I'm trying to boot into the nixos livecd, but as soon as I get a prompt I get spammed with what seem to kernel ring buffer messages
<kini>
saying "wlp3s0u2: link is not ready"
<kini>
anyone know how quiet those?
<clever>
kini: try using alt+printscreen+ a number from 0 to 9 (not sure which one)
<construct>
So should it look like this hardware.pulseaudio = { enable = true; support32Bit = true; }?
markus1199 has joined #nixos
<clever>
kini: those hotkeys change the filter for the kernel messages
<clever>
construct: yep
<kini>
clever: awesome, alt+prtscr+5 seemed to do the trick
<construct>
clever: cool, thanks!
<clever>
kini: another one, alt+printscreen+h shows the help
<clever>
kini: and there are others that force a sync, or just instantly cut power without flushing data to the drive
<kini>
didn't think there would be one for stuff like quieting ring buffer dumps though lol
<clever>
i also often use it via /proc/sysrq-trigger to get kernel mode stack traces
<construct>
One more question. How do I enable Wayland on KDE?
markus1189 has quit [(Ping timeout: 248 seconds)]
<kini>
wow, kde plasma looks very pretty
<construct>
Is Wayland available on NixOS? I heard it's more secure, isolating inputs and outputs for each window.
<construct>
Or better question, when will KDE default to Wayland if it hasn't happened already? And if it has, what version did KDE default to Wayland?
<construct>
I might have to wait for it if it's not already defaulted.
<construct>
I couldn't find the answers by searching the Internet.