Hacker Newsnew | past | comments | ask | show | jobs | submit | edent's commentslogin

I don't think that's quite accurate.

Flats and terraced homes aren't the majority - about 55% of people live in detached or semi-detached houses. See the ONS Census data at https://www.ons.gov.uk/peoplepopulationandcommunity/housing/...

My terraced house has off-street parking, as do most of them in my area.

Houses with separate garages are also fairly easy to upgrade - we had an armoured cable buried in a new trench to connect our old property.

Similarly, most flats with car-parks are especially easy to add chargers to. They can either be 7kW points or just regular plugs. We had slow chargers installed in our old flat.

Yes, there are many properties with no easy way to add charging. But none of those places have a petrol pump attached either.


Could you not have downloaded one of the hundreds of Open Source event systems and configured it in less time?

Possibly, but probably not in less time and the point was partly learn to use agentic coding and also having it do exactly what I wanted.

I'd love NixOS more if they had any decent documentation.

Everything seems scattered around a dozen forums, a hundred old blog posts, and a thousand issues of "this work on my machine (3 releases ago)".


It doesn't help that there are two NixOS wikis. nixos.wiki and wiki.nixos.org.

wiki.nixos.org claims that nixos.wiki is outdated and unofficial. But both appear to receive updates, and which one wins the SEO game is a coinflip whenever i google a nixos question.


nixos.org is the official wiki. It will take time for search ranking to beat the old one.

You know, I used to agree, but what I realized, is I am a software engineer, and I'm used to working in large projects with source-code as the only documentation.

And that's what's great about NixOS, you just clone nixpkgs and treat it like any other underdocumented software you might work on.


> I'm used to working in large projects with source-code as the only documentation.

As a software engineer I have an opposing attitude towards this. I work on projects with terrible documentation because somebody pays me to do so or there is a significant potential that I can unlock.

There are significant alternatives to NixOS like bootable containers and OSTree which are more useful and better documented. If Nix project really cares about being competitive and adopt users, they have to document their stuff. They are already going against the grain and ain't nobody has time to put up with their weird language and their subpar documentation.


> I work on projects with terrible documentation because somebody pays me to do so or there is a significant potential that I can unlock.

I mean, I'd argue there is significant potential, but really, for me it's just easy because I've been doing it for 20 years, and documentation is always fundamentally worse than code in some important ways.

> If Nix project really cares about being competitive and adopt users, they have to document their stuff.

This is one of the good/bad things about OSS.. most users don't provide positive value to the project. So do they really want to adopt users? Shrugs but the project is certainly competitive.


> for me it's just easy because I've been doing it for 20 years

C’mon, just drop the “greybeard” act. Nix not having proper documentation is bad practice, period. No ifs buts or howevers, it’s just an objective fact. Good documentation is always (ALWAYS) a net positive, and this is an OS with it’s own unique mindset and way of doing things, good documentation is essential. End of.


+1. I would also recommend using Github search to look for existing examples.

And actually to add, I've been finding myself going to nixpkgs first for reference on how to build and/or configure packages even outside of nix.

In a world of LLMs and agentic coding, I think documentation is less important.

ChatGPT is very good at pulling it together to give you working code. Not on the first try, but on the third try it usually works.

Pasting the generally horrible error messages is also quite effective!

Pasting? Give Claude/codex the ability to go fix it itself and have it deal with it directly.

no thank you, there are things I do not want Claude to have rwx on. like my entire f*cking system. I run llms in a docker container with just the folder I'm working in.

If you grant access to the Nix daemon socket but not writing outside the current directory, that's an effective sandbox. It allows evaluating derivations but not actually installing them.

haha technologie is moving so fast ;p

my entire system is configured using a flake i built with coding agent and skills to tell it how to configure things in nixos heh

A lot of us use NixOS/nix yet haven't read any documentation nor hand-written nix ourself. That's Claude Code's job.

If only.

Claude Code has to be actively steered, because while it knows some nixpkgs it surely doesn’t know it enough. E.g. it was absolutely incapable of fixing lldap settings after system upgrade from 25.05 to 25.11. It just prodded around blindly, producing meaningless configs instead learning how the module works.

NixOS docs work for me, but I tend to just go for the nixpkgs source instead. Manuals document options but not how those are actually plumbed through, nor what remains behind the scenes like all systemd unit settings). Claude can do this too, but it goes quite weird roundabout ways with a lot of weird `find /nix/store` and `nix eval`s to get to it, slow and token-hungry (and not always accurate).

This said, Claude is very helpful at checking logs and providing a picture of what’s going on - saves ton of time this way. Plus it can speed up iterating on changes after it’s fed enough knowledge (but don’t expect it to do things right, that’s still on you). It has breadth of it, but not the depth, and that shows at almost any non-trivial task.


You don't have Claude Code git clone nixpkgs and home-manager for local reference?

I feel you on the nix store + nix eval death loop, though it gleans real info. If I weren't on the Claude Max plan I'd probably feel more of the pain. And context is now 1MM tokens which means you're not running out just as it's starting to piece things together, heh.


I do, but it somehow tends to forget how to do things right now and then - despite having notes in memories system - and starts to do them in its own weird ways.

I’m going to experiment with skills next, or maybe make it build a few helper scripts for itself to quickly get some module source from nixpkgs matching flake.lock without having to think of it all. I’m positive about Claude for nix management, merely saying it’s not something that “just works” for now and reading nix code is still on the human part of the tandem.

This said, to be fair - when it gets the approach right, it excels. I was setting up Ente for photos backup and sharing, and it produced a nice overlay with custom patches for my needs from just “figure out why /shared-albums/ redirects wrong and fix”. Found the module, the package, pulled source, analyzed it, proposed a patch (settings weren’t enough), did it - I only had to test, and only because I haven’t provided it with a browser. Felt amazing.


I would have never become a power user of Linux were I used LLM to do the installation of Gentoo once upon a time. :( So do you guys not know much about the distro you are using, or how does this work? I honestly thought your comment was sarcasm, but apparently it is not.

NixOS is high-level declarative, so you're reading high-level config diffs when the AI agent is pitching changes.

Unless you're brand new to Linux or computing, it's not a mystery what a given nix config change is ever doing.

You can probably guess what this does:

    networking.firewall.allowedTCPPorts = [ 8080, 9000 ];
The things to know about the OS are high level things. The rest of its idiosyncrasies you learn just in time through daily exposure like anything else.

Coming from Ansible with hand-written config templates this was honestly a friction point for me - I felt like NixOS is trying to actively hide what it's actually going to configure. It's gotten better now that I read some nixpkg service sources but from time to time I still feel the urge to just directly manage my systemd units, sshd configs and whatnot. Like, sure it simplifies the setup but at the same time also puts another abstraction between me and the software I'm using.

You always have the option to do your own custom thing like use nix config to manage /etc/iptables.rules.

NixOS does you one thing better by giving you the option to configure things without caring about the underlying implementation, like whether the firewall uses iptables or nftables or something else.


I agree with the many levels of abstraction, but at the same time, directly managing systemd units is also so much easier with Nix then any other distro I've tried.

> Unless you're brand new to Linux or computing, it's not a mystery what a given nix config change is ever doing.

I am not brand new - and I don't know what the heck the config is doing.

That is why I rely on documentation.

The "code is self-explanatory" is always an attempt to not have useful documentation and try to rationalise that problem away.


Nothing about this changes with Nix nor AI agents.

You can read documentation on an as-needed basis or to your heart's content.

The point is that the majority of the day to day changes I make to my desktop environment aren't so critical that I need to do more than read an AI agent's proposed changes to my config and accept them when they look reasonable.

And I don't think looking up the exact config options to NixOS' networking system does anything to increase my knowledge of the OS. It's just a triviality.


> [ 8080, 9000 ]

Fails to parse is what it does...

Are we really living in times where people can't write a single (syntactically) well-formed line of code in a programming language they use?

I understand this doesn't really matter when just using NixOS Slop Edition™ but man I hate it.


You hate that I couldn't remember whether nix has array delimiters on the spot?

Jeez, tough crowd.

Though it also kinda represents this pride over triviality that some people latch on to in the AI world which is odd since it's also only a mistake a human would make. Had I run my hand-written comment through a proofreading clanker, I would have spared you the negative emotional reaction.

In the pre-AI world, you would have probably not been so harsh since it's understandable that someone make that mistake with such an idiosyncratic language like nix that almost nobody writes full-time. Yet in the AI world, you demand more from humans.

Something interesting, there.


> [..] only a mistake a human would make. Had I run my hand-written comment through a proofreading clanker [..]

That's true, and I should've been less rude in my previous comment. Sorry.

(Though note `nix eval` would've sufficed, no need for the probabilistic kind of clanker)

> Yet in the AI world, you demand more from humans.

But this isn't true. In my opinion `learning >> depending on an LLM` and my gripe is that it seems like the former is being displaced by the latter. In the pre-AI world I would've known that the person making the mistake wasn't making it because they outsourced their skill.

So I'm not, in fact, demanding anything more than in the pre-AI world.


The other poster is being a jerk, but your point doesn’t really refute theirs: if you can’t even be bothered to check for an array delimiter, instead passing that on to an AI, how will you ever learn?

People are being more demanding of humans because humans are taking knowledge and learning for granted. All this abstraction has a cost, and the cost is you.


Things are falling out of your memory all the time as a function of how often or seldom you do something, how trivial or superficial the information is, and how minor the difference between other tools you use regularly.

Despite many years of experience, I still sometimes get this wrong in Python or its equivalent in the other languages I regularly switch between:

    from math import sqrt as s
    import sqrt as s from math
    import sqrt from sqrt as s
The difference here is that, because I admitted to using AI, I don't get the grace of making the most trivial mistake in a forum comment.

And suddenly we pretend that had I just written it by hand a few more times, I would never err again in forum comments, despite making similar errors this week in languages I've used to write millions of lines of code across decades.


Well, there's layers. When I started using nixOS I read through the guide and wiki but I also used LLM assistance to help create a stable starting point. Then over time I've incrementally added new things to my configuration through a mix of LLM assistance and reading online material.

I think the initial migration towards nixOS is the hardest point, since it requires learning a bunch of new things all at once in order to get the system into a usable state that matches your expectations and preferences. The key benefit of using an LLM is that it makes it really easy to get your system into a useful initial state, and then you can safely learn and experiment incrementally with a mix of tools.

When I started off I didn't understand everything, but at this point I feel I have a very good understanding of everything in my configuration file.


I'm glad that I'm not the only one. I don't want to move from "Microsoft knows best" to "Claude knows best but hey, at least you review the output by looking up the not so good documentation".

Kind of an interesting thing here where if this is how you view it, it kind shows in itself why you don't actually need it.

Like what is ultimately the difference here for you vs a non-nix user who, as author says, is just dealing with some big ambiguous pile of state? It kind of takes away any upside to using nix, and probably just creates more friction for your AI than just running ubuntu/apt stuff.

The idea is you can keep configuration "in your head" such that you can reason and iterate and fully know what your system is like at any moment. If you actually don't care about that, you aren't getting anything out of it!


The upside of Nix config is that it's the state of my system in a declarative config file.

I have these packages installed and these firewall settings and these users with these permissions and this folder served over Samba and these hotkeys that do these things and these Obsidian vaults synced over SyncThing and these devices in my SyncThing network and Neovim installed with these plugins and ...

This is difference between me and a non-nix user, not whether we can rattle off the exact state of our live system from memory.

The non-nix user has to query live system state, if such query tools even exist for their question, and I get to read a config file. And I get to maintain my system config in git, and I get to deploy my config on all of my machines.


But if you are not reading or comprehending the config file, why does it make any difference? You ask AI to purge ffmpeg from your system, it will probably know more about doing that with apt than with nix, right? And if the input on your end is "remove ffmpeg from my system" or whatever either way, what's the need for nix? You will be much happier just editing /etc files and such in the standard way, rather than hoping your AI knows the (sometimes sadly inconsistent) way nixos handles the particular module/service/whatever you are dealing with.

For me, the difference is that there is no way in hell that I want to give an AI assistant full access to configure my system live. With a declarative config, the only access it needs is to an isolated git repo.

But if the declaritive file is not read/understood, what is the difference? At some point, you're gonna run sudo nixos-rebuild, and that is the whole system on the line.

> But if the declaritive file is not read/understood, what is the difference?

Well the main difference is precisely that I have a clear opportunity to read and understand the declarative file.

But even if something were to sneak in there, rolling back is now trivial.


This whole thing has been about explicitly using LLM instead of learning nix. So sure, definitely agree with about the niceness of using nix in general if that is all you are saying, but also not sure what you are trying to argue for anymore.

My point is that nix is a big enabler for me to use AI to configure my system, because it provides a safer environment in which to do so.

Very cool!

HN: AI coding is still coding because you need the domain knowledge to steer AI in the right direction, read the code, understand it and fix it when necessary.

Also HN: No idea how this OS works, screw writing proper documentation, just ask Claude to do it! Wee!

You AI babies seriously need to pick a lane.


So relying on closed source code using a closed model to configure a free OS. That's a step back.

On the contrary, the model doesn't actually add any lock-in. When GP wants to switch to free model the config files are still there. There's no lock-in, as I see it.

It is not about lock-in, it is about free software being usable without resorting to non-free software. One of the free models is usable for this would be a better shift and that might be workable but I'm not sure about how well they'd work.

> I legitimately don’t understand how companies get to this point

The people who start a company care deeply about the problem they're trying to solve.

The first N employees also care - they're willing to risk working for start-up because they can see the potential and want to help.

But then you hire, say, an accountant. The accountant doesn't care about your mission. You are just another client to them. You need someone to staff the phone or sweep the floors or design the logo or whatever. Why should they care? You're not paying them to care, they're not invested in the company nor its success, and they believe nothing they do for the company will change their personal fortunes.

Then, before you know it, you have a couple of floors filled with people who have no incentive to care.

It is incredibly difficult to run an organisation where everyone is mission driven.


I think you meant to say "It is incredibly less profitable to run an organization where everyone is mission driven."

Did you, by any chance, hit the "Drunk UI" option on a previous visit?

If so, click one of the other themes at the top.


Cool. But every time I use them I get a wrong answer faster.

I know, I know. I'm prompting it wrong. I'm using the wrong model. I need to pull the slot-machine arm just one more time.

I know I'm not as clever as Terrance Tao - so I'll wait until the machines are useful to someone like me.


I recommend going to the pub with some friends and having a chat about anything that isn't work.

Nice blog btw

You're welcome to read my MSc and see if I was "going with the hype" https://arxiv.org/abs/2304.10542

The answer was quite the opposite. I wanted to see if the technology lived up to the hype. The answer, unsurprisingly was no. If only Zuck had listened to me :-)


Wanna comment on why you'd be spending your time and energy doing free work for facebook?

You can make pretty much the same arguments for LLMs. Pollution, corruption, and war are all things I'm keen to avoid.

And thus it is reasonable to not use LLMs. And it's not only the training process that's problematic. There are so many individual LLM users who waste electricity on tasks that they would have solved by thinking for themselves just a few years ago.

"Up to death" would provide a perverse incentive for people to kill creators in order to liberate something from copyright.


Taking the death date into account is literally already how prevailing copyright law works. You can just make it conditional on publish date.


Sure, but Life + 70 means it is unlikely that anyone will benefit from the death soon.


One provision of the Sony Bono Copyright Extension Act [0] (which expired 6 months after passage of the law) allowed next-of-kin to revoke (the sale of) copyrights sold by the author without recourse (by the folks who paid for them). Allegedly, this was added by Disney in order to cut costs hundreds of millions of dollars in a dispute over licensing Winnie The Pooh IP/rights [1].

Expect something similar when the next big author dies; my prediction: JK Rowling.

Notes:

0 - https://www.congress.gov/bill/105th-congress/senate-bill/505

1- https://hughstephensblog.net/2023/12/18/winnie-the-poohs-cop...


The inheritors are in a better position to kill the author-- or just allow them to die from neglect-- and are incentivized to do so by postmortem profits.

Any benefit from the work being public domain is diffuse, it won't create a windfall for any particular party. The residuals on the other hand are quite concrete, particularly when an author's preferences are capping the market for their work or when the publicity of their death will create newfound popularity.


> The inheritors are in a better position to kill the author-- or just allow them to die from neglect-- and are incentivized to do so by postmortem profits.

An estate tax of 100% would eliminate this moral hazard; but the estate tax is already unpopular when its exemption amount means that few estates pay any tax.

> Any benefit from the work being public domain is diffuse, it won't create a windfall for any particular party.

A defendant in a copyright infringement case would have a windfall if the copyright was extinguished as a result of an untimely death.


The distinction between author and their estates is fascinating: the stereotype is estates mismanaging the art, but that usually happens because the estates want to be “artistic” themselves.

Most artists are terrible at business. They do dumb things for no reason.

JRR Tolkein and his estate is prime example. JRR signed away all movie rights for a nominal sum. His estate fought tooth and nail for their rights, while still allowing grey zone stuff to develop (Dungeons and Dragons).


Imagine what a better world we would live in if the Tolkien estate was able to kill D&D in the cradle as they would have liked...

/s


> The inheritors are in a better position to kill the author-- or just allow them to die from neglect-- and are incentivized to do so by postmortem profits.

This is true now, with or without copyright reform. If the author fears, they can make a will or trust, just like it is today. Not sure why this consideration would factor as a negative signal.


TBF there's currently a massive perverse incentive in that we want to encourage creators to create, but then allow the successful ones to retire making money from past works.


Maybe 100 years after birth instead.


That’s a disincentive to authors in their later years if it’s a straight rule.

We’d need something like a minimum of 20 years or up to their 100th birthday or something.


Imagine being in the last phase of life and finding your only motivation to create or share anything is the opportunity to extract as much value from society as possible.


I don't see anyone here judging you for going to work and wanting to be compensated for your efforts. But suddenly authors are "extract[ing] as much value from society as possible"? That's just rude. If we're being honest, it's much better for society that an author gets that money than someone working at Facebook.


Many people find motivation to give to their heirs in their last phase of life.


Imagine being in the last phase of life and finding you have to work full time as a Walmart greeter because you can’t support yourself as a working artist anymore due to ageist pricks being in charge of policy.


This isn't a bad idea. It would prevent the constant recycling of copyrighted works and bias the creative economy towards newer works. It seems the bias is in the other direction at the moment.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: