Personally I haven’t. While Linux is imperfect, choosing the right distro makes the rest of the experience straightforward. And with it’s whole complexity, I find Linux more user friendly than Windows. Even driver issues, broken shadow file ownership and KDE specifics only made me more confident about my choice to use Linux after I solved everything.

OQB @pixeldaemon@sh.itjust.works

  • insomniac_lemon@lemmy.cafe
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    23 hours ago

    you don’t have to! Just install the package
    and it will use your ad-hoc dotfiles like it would on any other distro

    And changes will last on reboot, y’know with the whole immutable thing?

    EDIT: I couldn’t find straightforward (to me) info on this even searching for stuff like ‘NixOS mutable home’, but after the reply to this I tried different terms and found the wiki page on impermanence. Specifically, the persisting+home managing sections:

    Some files and folders should be persisted between reboots though (such as /etc/nixos/).
    This can be accomplished through bind mounts or by using the NixOS Impermanence module, which will set up bind mounts and links as needed.

    and

    You can just make a home partition on a drive and mount it as normal, so everything in /home or /home/username will be persisted

    However, then files are stored read-only in the Nix store. In order to persist files while still being writable, you can use the Home Manager Impermanence module

    • a14o@feddit.org
      link
      fedilink
      arrow-up
      1
      ·
      1 day ago

      Absolutely! I’ll give you an example. In the NixOS config for my desktop I have the lines:

      {
        environment.systemPackages = with pkgs; [
          firefox
          ...
        ];
      }
      

      So Firefox is installed every time I build a system with this config. This is just like apt-get install firefox in that very user can use it after installation. The config lives in the respective user’s dotfiles (.config/mozilla/firefox) and will of course survive reboots.

      What I chose to do additionally (but this is in no way required!) is a home-manager config for my main account with the lines:

      {
        programs.firefox = {
          enable = true;
          policies = {
            DisableFirefoxAccounts = true;
            DisablePocket = true;
            DisableTelemetry = true;
            DownloadDirectory = "${config.home.homeDirectory}/tmp";
            OfferToSaveLogins = false;
            ...
        }
        ...
      }
      

      This is a declarative configuration that basically handles my dotfiles (profiles, extensions, themes, …) for me. I think you have the impression that this is mandatory, but it is really a very specific behavior through the home-manager module, but you can absolutely run NixOS without it.