gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
<pie__> does anyone know how the f*** to properly turn off this baloo s***
<pie__> sdfghjkl
<samueldr> I think I did that in my latest stint with KDE
<samueldr> though it's apparently less of an issue once it has indexed things
<pie__> ok i hope that actually works, google results seem to be ambiguous
<pie__> thanks
<pie__> (i should follow my own advice and check the arch wiki more often)
<aanderse> samueldr: let me know if you get a chance to look at that wordpress module. i think it is all good to go. if you need a concrete example also let me know.
<samueldr> wasn't it mediawiki?
<aanderse> yeah, thats the one
<aanderse> sorry
<aanderse> i have both a wordpress and mediawiki pr
<aanderse> yarp
<samueldr> I figured :)
<samueldr> I've been busy, sorry, and probably won't have time soonish, busy week-end in sight also
<aanderse> np
<aanderse> i'm not going to use the module, so no rush from that perspective
<aanderse> that being said... i am excited to see it get used for something nixos related, though :D
Guanin has quit [Remote host closed the connection]
<pie__> joepie91, can browsers handle a 1 gigabyte html file...
<aanderse> yeah, your computer is gonna hard crash
<aanderse> heh
<pie__> :V SyntaxError: JSON.parse: unterminated string at line 1 column 533822634 of the JSON data
<pie__> no crash, just a useless render attempt
<pie__> crap
<pie__> the data should actually be fine though, hmph,
ivan has quit [Quit: lp0 on fire]
<Shados> pie__: Maybe if you had a shitload of RAM... the in-memory representation would be quite a bit larger than the 1GB file.
<pie__> i figured
<pie__> well, im trying to heck the data now to see if theres something i messed up in what im outputting, it probably shouldnt be that much
<pie__> *check
<pie__> *shrug emote*
ivan- has joined #nixos-chat
ivan- is now known as ivan
drakonis has joined #nixos-chat
jasongrossman has joined #nixos-chat
<drakonis> gchristensen: i saw it in the logs, cool stuff.
<drakonis> nix taking over the world, one package manager at a time
<pie__> huh? :D
<drakonis> we don't have snapcraft yet, but we're in it now
<pie__> lool
<drakonis> there's also docker image building now
<drakonis> other things that happened, nix flakes can now fuzzy match registries, so it is possible to override the global registry
<drakonis> a dang beaut aint she
<pie__> what does that mean
<{^_^}> nix#2843 (by CSVdB, 10 weeks ago, open): Add option for wildcards in the key of flake registries
<drakonis> it means you can just tell nix to redirect a flake to another one, ie: you have a nixpkgs fork on github or on your disk
<drakonis> instead of hitting the current default nixpkgs, edolstra's in this case, it will let you use your own
<drakonis> i can call the nixpkgs flake and it'll pull instead from my local copy, no need to keep a different flake i guess?
<pie__> aha. hm.
<pie__> there better be good debugging support or info dumping support or something because i wonder how many weird issues people are going to run into when they forget that they have odd versions of things :P
<pie__> im not saying its bad just that that sounds probable
<drakonis> its defaulting to showing errors apparently?
<pie__> *shrug* guess im just thinking out loud
<drakonis> looks like a recent change tho
Synthetica has quit [Quit: Connection closed for inactivity]
jasongrossman has quit [Ping timeout: 245 seconds]
cjpbirkbeck has joined #nixos-chat
<drakonis> i'd actually want to know how to rebuild my system but with flakes
<drakonis> or how to create a profile using the new format
jasongrossman has joined #nixos-chat
cjpbirkbeck has quit [Quit: Quitting now.]
drakonis has quit [Quit: WeeChat 2.5]
ajirx has joined #nixos-chat
endformationage has quit [Ping timeout: 245 seconds]
_e has joined #nixos-chat
_e has quit [Client Quit]
_e has joined #nixos-chat
Jackneill has joined #nixos-chat
Jackneill has quit [Remote host closed the connection]
Jackneill has joined #nixos-chat
Jackneill has quit [Remote host closed the connection]
Jackneill has joined #nixos-chat
<joepie91[m]> pie__: if it fits into memory, sure
<joepie91[m]> 1GB txt files are usually not an issue for example
<joepie91[m]> because there's ~no internal overhead for those
<gchristensen> is there a CLI program to sum its input lines? printf "1\n1\n" | sumthinghere -> 2 ?
veske has joined #nixos-chat
veske has quit [Quit: This computer has gone to sleep]
<sphalerite> gchristensen: awk 'BEGIN { $sum = 0; } { $sum += $1; } END { print $sum; }'
<sphalerite> (beautiful, isn't it?)
<sphalerite> or `( sum=0 ; while read add ; do (( sum += add )) ; done ; echo $sum )`
<sphalerite> (you can't use the $sum variable directly, since it only exists in the subshell)
<sphalerite> (if you want to use the variable directly, you can put the while loop in the first position and push the data to it through command substitution
<sphalerite> )
<gchristensen> yeah ... those two work ... I'm annoyed at reimplementing it every tim e):
veske has joined #nixos-chat
<andi-> can't you remove the newlines and just use `bc`?
jasongrossman has quit [Ping timeout: 248 seconds]
pie__ has quit [Ping timeout: 252 seconds]
lassulus has joined #nixos-chat
ajirx has quit [Remote host closed the connection]
__monty__ has joined #nixos-chat
Synthetica has joined #nixos-chat
ajirx has joined #nixos-chat
<manveru> what a sandbox...
<etu> :D
<etu> hah
pie__ has joined #nixos-chat
pie__ has quit [Read error: Connection reset by peer]
<sphalerite> andi-: ooh, as in `tr '\n' '+' | sed`?
<sphalerite> err, s/sed/bc/
<sphalerite> gchristensen: write one of those into a shell script in your PATH? ;)
<andi-> yes
<gchristensen> aye
<andi-> you can also sum values with sed if you desire :)
<gchristensen> oh dear
<andi-> related work: https://github.com/uuner/sedtris
<gchristensen> has someone written a forth compiler in sed yet?
<Taneb> I did once think about writing a sed implementation in sed, but I decided not to bother at the time and never got back to it
jasongrossman has joined #nixos-chat
<joepie91> what a bizarre failure mode. a system rebuild broke my keyboard input
<joepie91> replugging it didn't fix it
<joepie91> I am suspecting that ckb-next has something to do with it...
<Taneb> joepie91: the first time I tried to use NixOS I gave up because I couldn't get my keyboard working (this was 2014-ish, things have improved)
pie__ has joined #nixos-chat
<joepie91> Taneb: I think that in this case it might actually not be a NixOS issue
<joepie91> ckb-next driver creates a virtual keyboard device I believe
<joepie91> it's possible that the driver/daemon just isn't crash/restart-proof
pie__ has quit [Ping timeout: 245 seconds]
pie__ has joined #nixos-chat
ajirx has quit [Remote host closed the connection]
jtojnar has quit [Ping timeout: 248 seconds]
endformationage has joined #nixos-chat
jtojnar has joined #nixos-chat
endformationage has quit [Ping timeout: 246 seconds]
drakonis has joined #nixos-chat
<gchristensen> doooooccccccbbbbbooookkkkkk
drakonis_ has joined #nixos-chat
<samueldr> sounds ominous
<gchristensen> I don't know how to do the thing I need
endformationage has joined #nixos-chat
jtojnar_ has joined #nixos-chat
jtojnar has quit [Ping timeout: 252 seconds]
jtojnar_ is now known as jtojnar
<Church-> lol
<Church-> Man I can't stand Devault.
* Church- sighs
<gchristensen> :x
<ar> Church-: Drew?
<ar> Church-: he's actually tolerable these days, compared to a few years ago
<Church-> No, he doesn't really seem like it.
<Church-> Might just be me, dunno.
<Church-> Still can't stand the guy, writes decent code at least.
drakonis has quit [Quit: WeeChat 2.5]
drakonis has joined #nixos-chat
drakonis_ has quit [Ping timeout: 258 seconds]
pie__ has quit [Ping timeout: 246 seconds]
drakonis_ has joined #nixos-chat
veske has quit [Quit: This computer has gone to sleep]
Jackneill has quit [Quit: Leaving]
<kraem> joepie91: i just rebuilt and network manager seemed to restart in a sane way. maybe they've fixed it? :)
<drakonis_> nix on flatpak when?
<infinisil> I feel like I've reached a plateau in my NixOS config
pie__ has joined #nixos-chat
<infinisil> I have it so well configured by now that I can do everything I need comfortably
<infinisil> It's far from perfect, but good enough that I don't feel inclined to do a lot of changes
<infinisil> And I don't like that!
<tilpner> Ehh, I like that I haven't restructured mine in a well, that always takes forever for arguable benefit
<tilpner> *in a while
<__monty__> Throw it all away and start over.
<__monty__> You might find something better : )
<tilpner> If you're really bored, how about converting it to clumsy imports style and measuring how much faster it gets? c.c
<joepie91> infinisil: so what you're saying is that if I want my configuration nice-ified, I can just throw it over your wall? :)
<joepie91> hehe
<infinisil> Haha no totally not
<infinisil> I'll abstract your config away
<infinisil> Then abandon it midway because it takes too long
<infinisil> And then go on a long philosophical journey on whether it's even worth doing because you won't need all that abstraction anyways
<infinisil> But now I've done so much already and can't go back
<infinisil> (that's *totally* not what I did with my config btw)
<ldlework> infinisil: have you hacked my diary
<infinisil> Hehe
<ldlework> infinisil: I wonder what major improvements you've made since we last interacted
<infinisil> On my config? Almost nothing has changed in recent times
<ldlework> Oh. I thought this plateau was a recent development.
<ldlework> infinisil: Is it time to get a book deal maybe? :)
<infinisil> What's that?
<ldlework> An arrangement with a publisher where they pay you to write a book.
<infinisil> Oh um, I don't think I could do that hah
<infinisil> If I do want to write stuff, I should start with a blog at least
<infinisil> Hm, a blog around writing NixOS configurations, how about that
<drakonis_> well, only configurations?
<__monty__> Make sure to optimize your blog publishing setup first. Then blog about that : >
<ldlework> Writing books is hard, but financial incentive is nice :D I watched over a number of months a guy in the Nim community secure a deal and write Nim in Action for Manning
<drakonis_> you'd stand to gain from writing about more than just configurations
<ldlework> it's a real thing now, https://www.manning.com/books/nim-in-action
<infinisil> Drakonis_: Ah well I could write about more, but NixOS configurations seems like the most interesting part to me
<infinisil> Drakonis_: What would you like people to write about more regarding Nix?
<drakonis_> honestly though? i'd like to be better at writing libraries
<ldlework> Hand-holding on how to do local development on a variety of language stacks.
<ldlework> How to manage channels + custom pins
<infinisil> Drakonis_: What kind of libraries?
<ldlework> The principles behind local customizations to packages on nixpkgs
<ldlework> Writing abstractions in Nix and the pitfalls of infinite recursion, etc
<infinisil> ldlework: Nice ideas
<drakonis_> well, ldlework is much better at coming up with things to write about than me
<drakonis_> uhh
<drakonis_> i remember seeing someone write a abstracion for generating files
<ldlework> these are pretty much things I've spent 24+ hours learning how to do, and then later forgetting how to do, and then needing to do again
<ldlework> And having an article to refer back to would just save future me, so it's purely self-interested :D
<infinisil> ldlework: Hm, I have a feeling like an ever-changing Wiki might be a better place for such things. But it doesn't have the same ring to it as a blog
<infinisil> A wiki is not as personal either
<infinisil> But it would be more future-proof
<ldlework> Wiki's are hit-or-miss depending on the community, and I haven't seen any strategy for turning one kind into another having participated in countless communities in my time
<tilpner> I'm still looking for a good way to develop module changes without building my system from a nixpkgs checkout
<tilpner> So... if you have a nice setup for that... c.c
<ldlework> It's like a cultural thing, and how much percieved heroicism there is associated with contributions
<infinisil> ldlework: What do you think of the https://nixos.wiki?
<drakonis_> tilpner, you have to rebuild the whole system every time?
<infinisil> tilpner: I'd say disabledModules + include your own copy
<ldlework> infinisil: it's hard to criticise something like that
<tilpner> Drakonis_: Not necessarily, but that's how I usually end up testing my module changes
<tilpner> infinisil: I guess. Won't cover other modules it references, but it's the second best thing after VM tests
<infinisil> ldlework: Yeah. Personally I'd say the NixOS wiki is decent. It could be better, information seems to still be all around the place, and it's kind of unclear when something should be in the wiki vs the nix(pkgs/os) docs
<ldlework> infinisil: the problem with a wiki is that it will never be a thing that has long-form content to help you understand the principles behind how to think about certain solutions, like many of the conventions and abstractions you'd find in my or your config
<infinisil> Reminds me of this thing about 4 different formats of documentation
<ldlework> i was justs describing nix yesterday as not so much as having a steep learning curve, as much as a learning high-bar -- that unless you manage to completely leap over you can't even really get started
<infinisil> wiki's, tutorials, references, and something else
<samueldr> anecdotal or "personally specific" tips fit well in the wiki
<infinisil> And each of them are needed and serve a different purpose
<samueldr> or deeper dives, like nixos on arm
<samueldr> (though nixos on arm could realistically graduate into a specific documentation document I guess)
<ldlework> even if you start to understand nixlang, or the many concerns around nixpkgs, you still have the practice of organizing a system configuration
<ldlework> tbh
<ldlework> i think a book is extremely prudent
* infinisil looks up 'prudent'
<ldlework> and timely!
<infinisil> Yeah I agree, books are nice
<__monty__> I wonder whether it's time yet.
<infinisil> Oh and here's the blog post about these documentation types I remember: https://www.divio.com/blog/documentation/
<drakonis_> a book does wonders for helping adoption sometimes
<__monty__> The haskell infrastructure for instance could be on the verge of being completely hauled over.
<pie__> unless its a collection of papers like conference proceedings, books tend to be coherent yeah?
<drakonis_> yes
* pie__ reads scroll to find out what the topic even is
<infinisil> Tutorials, how-tos, explanations and references
<infinisil> __monty__: There is the haskell.nix thing which could replace it
<__monty__> That's what I'm talking about.
<__monty__> A nix pill-like series on how to build a "real" configuration could be great though.
<infinisil> If only I could find haskell.nix.. It's not a very googleable thing..
<ldlework> __monty__: that's totally a fair point - but Nix's first book doesn't have to be it's last. And Nix as a stack is so volumonous conceptually that turning people who can't usefully put nix into people who can might be super valuable for pushing nix even further along
<infinisil> Google could find it, DDG not as much :P
<ldlework> for example Nim In Action exists and Nim isn't even 1.0 yet
<pie__> __monty__, something something nixos from scratch
<pie__> ;D
<infinisil> Wait no DDG can find it, I'm just a bit silly
<ldlework> i wonder how many future Nim contributors will come about because they had a solid book to establish a working knowledge
<__monty__> A book would have to focus on industrial use of nix I think. Those users can afford a bit more of a struggle with UX. For some reason I assumed infinisil would focus on casual nixos users.
<ldlework> I think a book that tries to end with a user being capable of implementing a full developer workstation would require so much prerequisite knowledge you've cover just about everything
<infinisil> __monty__: I mean, I am 100% a casual Nix user, writing about industrial usage when I've never done it myself would be odd :P
<pie__> nix is the superglue that ties everything together
<infinisil> There is an overlap between casual and industrial use though of course
<pie__> inb4 you cant take it apart even if you wanted to :V
<ldlework> services, desktop environments, development stacks, channels, nixpkgs, nixlang, abstractions, and so on
<ldlework> tbh, i bet it'd be hard to fit it all in one book
<drakonis_> a online book ty
<pie__> someones looking forward to a long career in writing ;D
<drakonis_> refresh the book every couple years
<ldlework> the only point i'm trying to drive is that nix has a crazy barrier of entry :P
<infinisil> If *I* were to write it would be an online book like that yeah
<pie__> yeah
<ldlework> given it's invaluable merit, it's a real problem
<pie__> @ ldlework
<infinisil> Talking about this motivates me.. hmm..
<ldlework> i need an anki stack with just two cards, for it and it's
<pie__> you mean its and it's
<ldlework> yes
<ldlework> infinisil i can introduce you to the author of Nim in Action if you want
<__monty__> ldlework: his/its, he's/it's
<infinisil> ldlework: I won't write a book for the foreseeable future, no need to
<infinisil> I'll probably set up a blog soon though
<ldlework> heh I have the difference intellectually internalized, but i just type way too fast for my own good
<ldlework> infinisil: make sure you write a static site generator in nixlang first
<ldlework> that's what I did for ldlework.com
<ldlework> :D
<ldlework> well in python tho
<infinisil> Hehe
<infinisil> What's this existing one called
<infinisil> Styx something
<ldlework> yeah something like that
<__monty__> Oh, isn't styx stack-but-nix?
<ldlework> I built mine as a generalized programmable content pipeline modeled after https://metalsmith.io/, where you define where content comes from, the pipelines that process them, and content sinks for their destinations
<ldlework> (but i did it better)
<infinisil> I am very invested in haskell recently, so i might use hakyll
<ldlework> it turns out you can model basically every aspect of a static website as content pipelines
<ldlework> from turning markdown files into paginatated lists, to scss into minified css, etc etc
<etu> oh wow
<etu> that styx thing seems great
<ldlework> which as a result makes writing new pipeline processors super simple. small functions that just do a small thing.
<__monty__> Unfortunate naming I guess: https://github.com/jyp/styx
NinjaTrappeur has quit [Quit: WeeChat 2.4]
<ldlework> from what i could tell, styx implements the standard static site generator model of things like Pages, Articles, Tags, etc
<pie__> ldlework, you got a blog post or something about your fancy paradigm somewhere or something
<ldlework> I wanted the ability to model any kind of data on my site, like you might be able to do with a dynamic CMS backed by a database
* etu recently rebuilt his little website to be built around org/lisp and deployed with nix
<ldlework> but without the database. for example, i model books, and have various lists built around those data sources: http://ldlework.com/projects/media/books/index.html
<ldlework> i just have a couple pipeline processors (items in a pipeline that do processing), which load some yaml, check a cache, do imports from various sources like audible and amazon, generate html from templates, etc
<ldlework> as pipelines are run, a context is accumulated and relationships among objects are established, aggregation is performed, which produces new content sources, which can have their own pipelines, etc
<ldlework> Here's the entire config for my website, https://gist.github.com/dustinlacewell/38fe86825a529fa6e8afaf52d2d28bdb
<ldlework> pie__: i wrote full documentation https://blot.readthedocs.io/en/latest/
<ldlework> but then I completely rewrote blot, and haven't rewritten the documentation
<ldlework> :|
<ldlework> a functional person, in a functional language could probably do it 100x times better
<infinisil> ldlework: You could add a category to the books page, "Books I've written (0)" :P
<ldlework> hah
<pie__> cool
<ldlework> i keep meaning to add a list of my favorite actors, directors, cinemetographers and stuff
<ldlework> i'm off in Unity hacking land
<pie__> i have bibliographies i should be writing...
<infinisil> The thing about starting with a fresh NixOS config might not be such a bad idea after all
<ldlework> to what end?
<infinisil> I don't have to delete everything, but just making a new empty folder and selectively copying/restructuring everything from the old config over
<ldlework> infinisil: oh you mean refactoring
<infinisil> Ah yeah I guess that's refactoring, just more thoroughly
<ldlework> scorched earth refactor
<ldlework> where you get the chance to rename every class!
<infinisil> Hehe yes
<ldlework> i am literally doing that right now
<infinisil> What is this "class" thing you're speaking of
<ldlework> infinisil: figures you wouldn't have any idea about class
<ldlework> :P
<infinisil> Ooff
<infinisil> :P
<ldlework> heh
<ldlework> I'm doing a scorched earth refactor on https://github.com/risk-of-thunder/thunderstore
<pie__> i do this more than i would like <infinisil> I don't have to delete everything, but just making a new empty folder and selectively copying/restructuring everything from the old config over
<pie__> ldlework, are you rewriting it in nix
<infinisil> ldlework: Neat
<ldlework> nope, just the regular kind of SER
<infinisil> pie__: Your config must look really neat by now then!
<pie__> infinisil, who said it was for my config :(
<pie__> also my refactors are usually pretty uninspired
<ldlework> it can result in a lot of bugs
<ldlework> but it can result in a better codebase too
<infinisil> I've thought about setting up tests for my NixOS config
<ldlework> even just the organization of a repository can be improved by with an SER
<infinisil> Because I often upgrade nixpkgs, and only weeks later discover that it broke something I used
<pie__> well i have this abomination https://github.com/deliciouslytyped/nix-expr-testlib so "it should be fine" right? :P
<infinisil> Having tests to make sure everything I use works would be neat
<ldlework> i recently noticed that every time i do a switch, i end up rebuilding my kernel and tons of stuff and i don't understand what i haven't pinned or whatever to not cause that
<pie__> did you enable virtualbox
<pie__> that always makes me build a ton of kernel junk heh
<pie__> just virtualbox though i guess >_>
<ldlework> dealing with nix is a context switch on par with taking a vacation in a submarine so i haven't looked at all
<ldlework> but i do think yes i have virtualbox enabled
<ldlework> tbh, i just have faith it'll all work out
<ldlework> :D
Jackneill has joined #nixos-chat
NinjaTrappeur has joined #nixos-chat
<infinisil> Something I don't like about today's software is how they decide on keyboard shortcuts
<infinisil> This leads to every application having their set of shortcuts you need to learn, which is annoying
<infinisil> Instead what I'd like to see is applications having *no* shortcuts by default
<infinisil> If you need one, you configure it, and you get to choose at that point what it should be
<pie__> :thinking:
<pie__> thats pretty woke
<infinisil> I'm not sure how well it would work admittedly, but it might be pretty nice
<pie__> what i dont like is when there are keys that arent configurable
<infinisil> Like?
<pie__> dunno offhand, but i think drawpile has some
<tilpner> infinisil: That would be terrible
<tilpner> I rely a lot on different common shortcuts when using other peopls machines
<infinisil> pie__: Ah got it
<pie__> hot take: a DSL for specifying keyboard shortcut programs
<tilpner> "Hey, what shortcut did you give 'go to last tab' again?"
<infinisil> tilpner: That is indeed a problem with this..
<infinisil> tilpner: It's similar to what vim/emacs already has
<tilpner> "Oh no, that shortcut is bound to save in my FF, I didn't realise it's your shutdown key"
<infinisil> Hehe
<Church-> pie__: Gonna toss up those kali tools today
<Church-> Seems it was only like three or four lol
<pie__> Church-, :3
<pie__> Church-, perfect timing, ctf on the weekend
<Church-> I have no idea where I put the rest.
<pie__> oh thats a little disappointing xD
<Church-> pie__: nikto, routersploit, wpscan and wfuzz
<infinisil> tilpner: How about every user has their shortcuts stored on a server
<Church-> Yeah I can't find the rest right now
<pie__> Church-, well, thanks for putting this up, and i look forward to the rest
<Church-> Yep, yep
<infinisil> tilpner: The OS can then when a user switches (and logs in with their user@server address) download their shortcuts and stuff
<Church-> I have my nix laptop set up headless for now.
<ldlework> i wish we had hard facts from a big study on how much people actually use other people's computers
<Church-> So it'll be a little easier to set these up
<pie__> infinisil, would be fine if shit could just be configured sanely via files, then you could just use nix to set up the files :P
<Church-> Plus I can finally do Cuda stuff. Yay
<Church-> Been wanting to playi wth gpt2 for a while
<tilpner> infinisil: Yes, but now you've made it complex enough that adoption is highly unlikely
<pie__> Church-, yay, whats gpt2
<tilpner> :/
<Church-> pie__: Text generator
<infinisil> tilpner: I can dream!
<pie__> Church-, ah
<Church-> Really good when it comes to syntax and grammar and what not
<Church-> Even sounds semi coherent/realistic
<Church-> Only semi however
<pie__> haha thats how it goes
<infinisil> tilpner: Oh, something about universal authentication schemes, OpenID and such
<infinisil> tilpner: This would be a great integration for it
<tilpner> infinisil: I'm not saying I wouldn't like to see this adopted
<infinisil> This also pushes towards the "computer in the cloud" idea, where you're taking your config and applications with you whenever you go
<infinisil> (Which I'm also a fan of)
<ldlework> arrive at your destination, wait two hours for your workstation to build
<tilpner> At that point, just reimplement X forwarding but better and just put dumb terminals everywhere :c
<ldlework> office-chair pirate sword-fights up 30%
<infinisil> ldlework: It could be lazy loaded, such that it downloads everything as you need it
<ldlework> a lazy built os sounds hilariously awesome
<infinisil> ldlework: And it can be cached, such that hardware you often use has everything locally already
<ldlework> well sure
<infinisil> ldlework: Hehe yeah, I also thought of doing this with Nix, every store path is lazily built
<andi-> nix-shell as command not found handler?
<infinisil> command-not-found could be replaced with a huge package that contains every other package, which you have in your path
<infinisil> When you use a binary, it uses the one in the package, so it needs to download it :P
<infinisil> Sounds insane but kinda cool
<tilpner> So NIX_AUTO_RUN with FUSE?
* infinisil looks up what NIX_AUTO_RUN is
<tilpner> It's part of command-not-found
<infinisil> Ah yeah just found it, runs stuff in a nix-shell automatically, neat
<drakonis_> a beauty
Jackneill has quit [Remote host closed the connection]
<drakonis_> infinisil, nix app?
<{^_^}> nix#2909 (by edolstra, 2 weeks ago, merged): Add 'nix app' command
<infinisil> tilpner: Hehe nice, hacky, I like it
<infinisil> Not too hacky even
<drakonis_> lazy packages sounds like a wild ride
<infinisil> But I'm not surprised by who wrote it
<drakonis_> a streamed nix
<infinisil> The madman aszlig of course
<infinisil> aszlig++
<{^_^}> aszlig's karma got increased to -666
<drakonis_> level with me, we're all madmen here
<samueldr> I would have like a "trust me and make a wrapper for pkgs.gimp with those binstubs" version, AFAIUI this means that yes, the software is built somewhere
<drakonis_> real question: why isn't there a nix shell, a actual shell
<samueldr> though probably in this case it assumes systems being built on a hydra instance or something
<samueldr> Drakonis_: what do you mean?
<drakonis_> that can implement all of these wild things?
cjpbirkbeck has joined #nixos-chat
<drakonis_> a shell replacement
<samueldr> because no one has had the need yet, and writing a _good_ shell replacement is hard enough, I guess
<infinisil> Drakonis_: Hmm, what would that shell allow you to do that current shell's can't?
<infinisil> Or what could it do better?
<infinisil> Wait, you mean using the nix language for actual shell programming?
<drakonis_> no i mean writing a shell replacement
<drakonis_> writing it in nix would also be kind of interesting?
<infinisil> Drakonis_: What makes the shell nixy then?
<pie__> theres a nixcon talk where they kind of did this with apps <infinisil> ldlework: It could be lazy loaded, such that it downloads everything as you need it
<drakonis_> being able to run expressions by default
<infinisil> Drakonis_: So a combination of bash and nix repl?
<pie__> Drakonis_, dont try to eval nixpkgs by accident#
<drakonis_> yes
<drakonis_> to be fair
<infinisil> Or whatever it's called :)
<drakonis_> i'd take that
<drakonis_> i'd also take pluggable syntax
<drakonis_> i think fish had that
<drakonis_> but then, i think that's something best done by pointing the shell to the script
<drakonis_> pie__, i'll take what i am given
<pie__> ok so aszlig takes advantage of the fact that nix looks for dependencies by literally trawling through the outputs
<drakonis_> a better suggestion, roll nix itself into a shell
<pie__> i love it but this somehow feels messed up
<pie__> not that that being how nix works doesnt make me feel weird to begin with but im told it works well :P#
<drakonis_> so much cool shit can be done
<drakonis_> also how do you write a shell in nix?
<drakonis_> alternatively, should it be written using hnix?
<infinisil> Drakonis_: https://github.com/infinisil/nix-rts :P
<infinisil> But really, Nix is not a language to implement anything in, it's not a general purpose language
<ldlework> it's more of a data-structure description language
<ldlework> and you need some consumer of the resulting structure
<drakonis_> well, then, rnix or hnix will do
<infinisil> rnix/hnix are just different implementations of Nix, you can't do more in those implementations
<drakonis_> hnix exposes libraries
<drakonis_> i'm not sure how far along rnix is, so i can't comment on that
<infinisil> Even if it would be possible to implement something in Nix, this is really not worth it, Nix was just not made for that
<pie__> idk about not made for, but i wouldnt want to
Guanin has joined #nixos-chat
<pie__> would probably just try haskell
<infinisil> Almost any language is a better fit than Nix :P
<pie__> lol
<pie__> "the unreasonable effectiveness of nix in software configuration", alternatively, not
<pie__> inb4 nix aint that great but its lightyears ahead of everything else
<pie__> ok ok i dont want to start the mild hating train again, bad pie_ :P
<drakonis_> haw haw.
<pie__> >_>
<pie__> <_<
* pie__ goes to hug his snowflake stickers
<drakonis_> when did libgl errors stop happening?
<pie__> i just had an awesome idea. why arent nix snowflake plushies a thing yet
<infinisil> pie__: Hehe nice, I'd buy that
<pie__> ( ͡° ͜ʖ ͡°)
<infinisil> Or how about an animal plushy, but it's a weird mutilation of all NixOS version animals combined xD
<pie__> uhhhhhhhhhhhh
<pie__> tone down the junji ito man
<pie__> xD
<drakonis_> alternatively, tone up the junti ito, man
<pie__> ^^^
<pie__> i mean nix is a lazy pure functional language so it uses fix points so its not that far off right
<drakonis_> real question: https://github.com/NixOS/rfcs/pull/42 this stalled out
<{^_^}> rfcs#42 (by Infinisil, 12 weeks ago, open): [RFC 0042] NixOS config options
<drakonis_> orrr maybe not quite
<drakonis_> seems to be nearly there.
<infinisil> Well kinda
<infinisil> It has hit more controversy than I intended
<pie_> probably inevitable :D
<pie_> engineers gonna engineer
<drakonis_> i'm not sure how controversial it is
<drakonis_> rather, i dont see how it is so controversial
<drakonis_> there's modules that cant cover every possible configuration
<infinisil> Drakonis_: Seems like people don't like the idea of not having a lot of options
<drakonis_> how did they get that from the rfc?
<infinisil> And I see the point, but I'm arguing that we can always add more later
jtojnar has quit [Remote host closed the connection]
<drakonis_> i thought the idea was to provide the ability to use your own config file
<infinisil> Drakonis_: "Keep in mind that while it's trivial to add new options with the approach in this RFC, removing them again is hard (even without this RFC). So instead of introducing a lot of additional options when the module gets written, authors should try to keep the initial number low, to not introduce options almost nobody will end up using."
<drakonis_> that's controversial?
<infinisil> I'd guess it's that, let me look at the comments again
MichaelRaskin has joined #nixos-chat
<infinisil> Drakonis_: Yeah just look at the updooted comments
<infinisil> I mean they have arguments, but we can't encode everything in Nix types and have docs for everything
<infinisil> The nixpkgs maintainer team is already quite sparse, and the PR's are increasing, and nixpkgs' code base is getting bigger all the time
<infinisil> But even then, and I'm mentioning this in the RFC, you can add more options later on all the time
<drakonis_> i have two counter examples to the arguments: there was a cassandra module that was disabled some time ago, it got revived recently, the module in question had 50 or so configuration files
<drakonis_> trying to match a default state
<drakonis_> a default cassandra cfg
<drakonis_> and then there's podman, which has module that hasn't been upstreamed yet, because its heckin messy
<infinisil> Drakonis_: Oh nice, mind posting this example in a comment in the RFC?
<drakonis_> Aye
<drakonis_> vdemeester's module is sitting out of tree because it is a carbon copy of fedora's settings for podman, from what i've read
<drakonis_> with very little tweakability
<drakonis_> the settings for podman define which registries are available
drakonis_ has quit [Read error: Connection reset by peer]
__monty__ has quit [Quit: leaving]
<ldlework> Spacenix layers, when?
<ldlework> i guess nixos modules are basically that
drakonis_ has joined #nixos-chat
infinisil has joined #nixos-chat