Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I feel that one day I should write about this curse that NixOS brings into your life when you start enjoying it : you cannot go back to different systems but at the same time you (at least I) cannot vouch and recommend it to others as the languages and constructs (Flakes with a space or an utf-8 character in the path ? Here is a rabbit hole you can go down with) are just so byzantine and painful to work with but oh boy do they work... A crystal prison, nice but with sharp corners everywhere...


It's the same as Emacs for me. I don't want to leave it but I don't recommend it to anyone.


Why you don’t recommend it to anyone? May be a proper recommendation is what I need to really be engaged with it ? The same for Nix.

Please more details about the practical benefits because I kind of see in general why it can be good but there is still certain lack of the real practical demonstrations from those who use it daily.


> Why you don’t recommend it to anyone?

I don't recommend emacs because the vast majority of packages have "Lisp Incompletion Syndrome"--they get the easy 80% right and leave you to get bitten by the difficult 20%.

lsp-mode and tramp still have bad Heisenbug interactions even after you get the correct incantations to make them not crash. Other packages are similar.

There are a few very core packages that work well. Everything else is in sufficient disrepair that you will have to pick the broken pieces up off the floor at fairly regular intervals.


Try out Doom! You don't have to use evil-mode either if that's not your thing (I don't use it), just disable :editor evil in your init.el.

Personally I kind of view it like having a custom mechanical keyboard. Why not invest some time and money into making your tools more ergonomic and enjoyable? Yeah any keyboard will work, and any text editor will edit documents.

Text-editing aside, magit and org-mode are particularly nice in Emacs. Plus there's just something comforting knowing that Emacs will always be there for me, just the way I set it up.


> Why not invest some time and money into making your tools more ergonomic and enjoyable?

I did that for many years. After switching from one machine to the next, one operating system to the next, one IDE to the next, everything constantly changing, year after year - I found myself in a job where I had to reinstall the OS and everything on it from scratch, every two weeks, for a year, because... well. Because! By the time that was over, I had given up customizing much of anything at all, and that has been working out all right ever since.


Why not keep your config externally available and reuse when setting up again? With Emacs that is easily possible.


That would not have helped much with the jobs where I needed to use some proprietary IDE, or which involved some OS on which Emacs was poorly supported.

(If I had already been an Emacs fan, I suppose I could have found some way to forcibly bodge things together and use my preferred editor regardless: but I'm afraid it's never appealed to me.)


Tangible (e.g. file- or even better text-file-based) configuration helps here—this is less a fault of customization in general and more of opaque configuration systems.


Reinstall every other week. Haven't done that since Windows 98.


> Why not invest some time and money into making your tools more ergonomic and enjoyable?

Because unless you use just one system daily or even weekly, customizations are nothing an annoyance since it’s unlikely you can clone every customization across every system you use daily.


> since it’s unlikely you can clone every customization across every system you use daily.

But you can, even for physically distinct machines: just package-up your emacs/environment/shell/etc profile into a bash-bunny USB stick, such that the bunny uses its keyboard emulation to type-out and run the commands that load your profile into your current machine.


Unlike most things in the comments above, I have no clue what you are talking about and highly doubt many people do.


Not everyone works on the machine they are sitting in front of.


Right, that's why I said to use a Bash Bunny: it's a USB mass storage stick that can also emulate a USB keyboard (there's a few buttons on the stick to switch modes), so you'd be at the computer, open up a terminal and open the editor for a new bash/emacs config file, then plug-in the stick in keyboard mode and press the start button on the stick and after a few seconds it should have dumped kilobytes of data into the file which you can then save locally and so take your bash/shell/emacs/etc settings with you, even without needing USB mass-storage support (given many companies disable USB mass storage to mitigate data-exfiltration but, of course, need to allow USB mice and keyboards).


That's why storing your conf in a keyboard input device is so nice, works as long as you can insert your own keyboard. I think I might start doing that, but the systems I remote in to are so different can not be sure emacs/vim is there.

I would recommend a Raspberry Pico as a fake keyboard, it has 2MB of storage. But that all falls apart when you are not allowed your own USB devices...


bring your $HOME/.emacs.d around with you, pretty easy :)


A long-term practical benefit: it will always be there for you.

In a world of corporate built software that may or may not exist in a few years, Emacs is an investment for life. It's the last editor, or whatever you use it for, that you'll ever need.


Any open source software project will last as long as the community lasts. If interest fades, then it will become worse/harder to run. It slowly becomes incompatible with newer systems, no one is making plugins, documentation becomes outdated.


True, but open source doesn't guarantee that the community will keep maintaining the project, even if there's interest from users. See Atom, etc.

If the main maintainer is a large company, they can decide to shift focus at any point and abandon the project, which puts its existence in jeopardy. (GNU) Emacs and Vim have been around for decades, and they're pretty much guaranteed to be around for many decades to come. As far as long-term investments go, learning and using these is the safest choice you can make.


Are you kidding me? Who wouldn’t want to emulate an OS or play games directly from their text editor?


I'm loving Dunnet in Emacs. Nobody spoil me on how it ends, plz.


this is exactly the software that came to mind for me.


You mean like this? https://blog.wesleyac.com/posts/the-curse-of-nixos

You should still write your commentary on the idea, though!


Thanks for the link! I definitely agree with the author, NixOS is the only system that does The Right Thing but I cannot recommend it to anyone. I mean, I technically have recommended it to one person, but he's an ex-Arch user so... does it really count? :D


There are definitely still many rough edges and sharp corners!

For software developers and sysadmins with certain temperaments, though, I think it's definitely already a good fit. A lot of NixOS people come from Arch and Gentoo, and it works well for them— although Arch folks who are deeply aligned with its keep-it-simple philosophy are probably usually turned off by Nix.


Heh, I love a good dig at GCL.


Funny you mention spaces in flake paths. I was hit by that bug and bumped the PR to address it, and it might be getting merged in soon!


That's the problem ... So much time to a pleasing but inefficient payoff


Or even worst: when you cannot switch out of it but you're not smart to package proprietary software that's not available in the repositories.


there's always not using flakes




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

Search: