• evranch@lemmy.ca
    link
    fedilink
    arrow-up
    5
    ·
    10 months ago

    That doesn’t sound too different from the regular Unix paradigm where all your config is stored in your home directory. I’ve wiped my root partition many times over the last decade but usually everything in my desktop environment is just the same as it was. Aside from migration of dotfiles into .config which was honestly overdue.

    Unless NixOS is kind of like Ansible and is a build script for the whole system, package management and all? Haven’t tried it myself.

    My concern would be slow buildup of unused packages if that’s the case. It’s nice to wipe out that junk on an upgrade.

    • currycourier@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      9 months ago

      I haven’t used Ansible but it sounds pretty much like that, basically you write out all the packages you want in a config and it builds the system from that. Very nice in terms of stability and maintainability. I’m very much an amateur so I can’t say for sure but I think the unused package issue would still exist on nix.

    • ComradeKhoumrag@infosec.pub
      link
      fedilink
      arrow-up
      2
      ·
      9 months ago

      Exactly, like ansible.

      Unused packages aren’t typically a problem unless you imperatively change your systems state. Otherwise, If you remove it from your configuration.nix, it’s removed when you switch to your next build. Previous builds/generations keep those versions of those packages, which wastes space, but you can specify garbage collection to remove generations older than a month

      My only complaint so far is the best way to properly make a development shell for a python project is either with a still somewhat experimental feature called flakes, or a 3rd party solution poetry2nix. Im probably going to switch to using docker/podman for python projects.

      On the other hand, pip is the worst package manager, so being incentivized away from it is kind of a plus