• 1 Post
  • 125 Comments
Joined 2 年前
cake
Cake day: 2023年6月10日

help-circle





  • My motivation for using NixOS is maintenance. I’ve been running 2-3 personal Linux computers for the last decade, with one of them being a server.

    To get stuff like services working with each other you sometimes need to make small changes to the config files of some services. The issue for me especially with the many services running on the server is coming back to a broken/misbehaving machine after 4+ months and now having to research what changes I made long ago and where those config files are buried.

    Making the change and testing it would likely take less than 5 minutes if you had every detail you need fresh on your mind.

    I simply don’t have the mental capacity to remember all that stuff after months of working on other things. Especially if you’re coming back to something broken this is a really annoying position to be in.

    You want the fix now but have to start by looking up docs and trying to figure out what past-self did to get you into this mess, or to find out what has changed since then.

    At some point I had enough and was either going to teach myself some sort of personal changelog / documentation system, or learn a new declarative configuration system.

    Huge respect for anyone who can keep all this info in their mind and to those that meticulously update their own documentation, but I lack the discipline to do so in the heat of battle and will easily miss things.

    Since then any system that I will have to maintain myself has been using some form of declarative management. It keeps all configuration accessible and organized in one place, so I don’t have to go digging for the correct file paths. It self updates so that even when I go back and forth during testing I won’t miss updating my standalone docs.

    And NixOS brings this to my whole system. No old programs lying around because you forgot to uninstall them and have now forgotten about it. Same thing with pinned package versions that then wreak havoc once they’re incompatible with the updated rest of the system. It even configures my goto tools (shell, editors, etc) to my personal liking when I set up a new machine.

    Its not the first declarative system and probably won’t be the last one I will use, but for now it really makes my life noticeably easier.


  • I get that this seems very intimating, but if you’ve ever used more than three programming languages in your life, I believe you won’t have much to learn.

    I can mimic the syntax and I very roughly understand how the import system works. But I don’t know Nix! Yet I haven’t had any trouble language wise over the last few years.

    In my experience most of the “code” you write is package names and those can be copied from search.nixos.org.

    In that sense I’m effectively using it as a markup language and I don’t think anyone has ever gotten discouraged by having to “learn” YAML, just so they can write a config file for some piece of software they want to use.

    Something that I would take as discouragement is the state of the documentation. It has been improving to a usable level in some areas but other areas are heavily outdated or just plain missing.





  • StarfightertoRimworld@lemmy.worldMin requirements to run well
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    13 天前

    Just want to add that my GTX 1080 runs Rimworld on the highest settings in 1440p without breaking a sweat.

    It should however be noted that the drivers for it are now in maintenance only support mode. That by itself isnt really a problem, but NVIDIA will likely drop all support in a couple of years, if not earlier.

    I fully agree with the rest of your recommendations. AM5 is a very versatile platform.








  • The only issue I’ve run into on my FP5 is that (some?) updates reset the volumes without that being represented correctly in the UI.

    Anytime I’ve run an update I change the volume of the alarm channel one step up and immediately back down to my preferred setting. Simply moving the slider reliably brings the UI and actual volume back into sync.

    My ring volume is most often set to vibrate only and that setting seems to persist across updates just fine. Otherwise I would repeat the same thing for the ring channel.

    Its become a habit for me so I don’t know if all updates cause this or just some. And I probably won’t ever notice when they fix this.



  • How well NixOS fits your purpose really depends on what you want to do with the OS. If you’re just going run a bunch of docker containers, you could manage them via Nix but its a little cumbersome.

    Where NixOS really shines for small servers are the so called NixOS Options. They allow you to install tons of services on bare metal but manage all the configuration for you. E.g. open the correct firewalls ports, run a dedicated DB or cache, etc. and all those simply require you to enable them with an ... = true;.

    Smaller projects might not have a NixOS Option available and some options are more and/or easier configurable than others, but if you’re running just a few common services you could feasibly manage your whole server with just one native config file and no docker shenanigans.

    I’d recommend checking what’s available under the link above. If you wanna go the container route instead, you have the option of just using docker non-declaratively as on every other distro (but then you lose some of the benefits NixOS gives you), or you can declaratively have NixOS manage all the docker containers. There are a few ways to do and manage this so some further research will be required.