edit:

I’ve updated & expanded the list (finished for today)

    • WereCat@lemmy.worldOP
      link
      fedilink
      arrow-up
      2
      ·
      1 month ago

      This looks quite interesting but I honestly can’t think of any use case where I would find this useful for me. Also this seems like something best to try in VM first. I’ll keep this one in a bookmark though, may become useful later. Thanks!

      • lavember@programming.dev
        link
        fedilink
        arrow-up
        7
        ·
        1 month ago

        impermanence forces you to be intentional with your system, where files are persisted, which is great for: hygiene like feeling like the computer was freshly formatted on each boot; using NixOS as intended by keeping things declarative (in other words, “nixmaxxing”); security also, to a lesser extent tbh, but it’d be protecting against malware nesting at impermanent paths

        • WereCat@lemmy.worldOP
          link
          fedilink
          arrow-up
          2
          ·
          1 month ago

          I get it but for now I find this to be a bit too overly declarative for my taste. For now I’ll focus on things that actually matter for my use case but as I’ve said. I’m bookmarking this to try later in VM.

  • ivn@tarte.nuage-libre.fr
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    1 month ago
    • Stylix to have consistent theme
    • Nixvim to configure nvim using nix
    • For emacs there is nix-doom-emacs-unstraightened but I’ve not tried it and I would recommend trying Doom Emacs first
    • devenv for per project nix managed dev environments
    • nixd for nix lsp

    That’s all I can think about that’s unique to nix. The rest is about configuring your DE, WM, terminal, shell, apps… how you like it like in any other distro, just through nix instead.

    • sudoer777@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 month ago

      I use nix-doom-emacs-unstraightened for org-mode and ledger-mode, although I think it expects you to use elisp for most of the configuration so it’s not as integrated with Nix. Second devenv, nixd, and stylix. There’s also flakes for Niri and DMS for window manager + shell.

  • [object Object]@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 month ago

    NixOS synergises very well with terminal command aliases, you should check what commands you frequently use and put those into the config as well.

    • WereCat@lemmy.worldOP
      link
      fedilink
      arrow-up
      3
      ·
      1 month ago

      Good point. I forgot to add that to my list but I did make one alias reflake for sudo nixos-rebuild switch --flake ~/nixos-dotfiles#nixos-werecat After I had to type this out for IDK how many times (and forgot about CTRL+R) it quickly got annoying :)

      • [object Object]@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        1 month ago

        Now that you mentioned Ctrl+R, also check out program named atuin. It makes the command search a bit more friendly, and you can also optionally sync command history. It has NixOS options, of course.

        • WereCat@lemmy.worldOP
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          1 month ago

          IDK why the Atuin config file that got generated is commented out in it’s entirety and nothing works. Right now I can’t be bothered to go trough the entire config and enable things one by one. From what I’ve tried nothing works and IDK why. CTRL+R does not invoke the Atuin search it still invokes the old one. I uncommented everything and still nothing seems to work. The atuin definitely responds to my commands in terminal though. I did run atuin setup as well.

          edit: OK, I’ve spent another 30min+ on this and I still can’t understand why it does not work. I’ve adjusted config, even got a custom config from other users and I can’t seem to be able to invoke it in the terminal besides using it’s commands which are the only thing that seem to work. I was able to make an account and login via terminal as well.

          edit2: Figured it out! I’ve tried mcfly and encountered the same issue. Turns out I needed to edit .bashrc which is read only even for sudo and even after chmod. So after beating my head against a wall I’ve realized that .bashrc is symlinked to my home.nix and that’s where I need to place my edits. So now mcfly runs fine and I’m assuming Atuin would as well since after looking at github I pretty much had to do the same edit for both.

  • NewOldGuard@lemmy.ml
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 month ago

    Tailscale is pretty straightforward because they have a config for it baked in, pretty sure it’s just services.tailscale.enable = true. But if you use it with the operator=$USER setting, note that you still need to run tailscale with sudo for your initial login before that works properly

  • Urist@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    29 days ago

    You can do secrets management with agenix or sops-nix, but this should probably come way after setting up SSH.

    I would also try to do a parallel modularization along with adding a second host. Try creating your own custom modules and learn a little about the Nix syntax.

  • HelloRoot@lemy.lol
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    1
    ·
    edit-2
    1 month ago

    Actually using the OS and not thinking about it instead of tinkering with it constantly and wondering what to change.

    • WereCat@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      1 month ago

      The whole point of me trying NixOS is to tinker with the configs and learning how it works and also learning some of the other skills that go with that. If I just wanted to use the laptop then there is no difference vs my Fedora desktop setup because it’s also GNOME 50 running the same applications.

    • WereCat@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      29 days ago

      Well after doing some research and trying VIM and EMACS for a bit. I already know that I don’t want to use VIM over nano because the features I want neither of them has so it’s pointless to even start learning using VIM and nano is sufficient for the basic stuff but EMACS does have the features. However EMACS is just too much… It’s like I want to crop an image so I download Blender. The thing is too scary to even start with and needs so much customization just to get me started that I just don’t have the energy to attempt it at once with NixOS.

      So I’ve decided to pick up Helix again after all because it also has the features I’m after and needs very little setup to start learning to use it.

      • juipeltje@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        29 days ago

        Helix is a solid choice tbh. I’m not sure if it works on NixOS, but you could always try something like Doom Emacs that comes preconfigured, similar to things like Lazyvim on the Neovim side. But yeah Emacs is a lot to take in and can be a pain sometimes. I actually just got done troubleshooting and making some changes to my config to solve an issue i had where simple things like scrolling up and down in a file was causing very high cpu usage. I ended up figuring out the issue with the help from a kind redditor, but i was kinda on the verge of considering a different editor if i hadn’t manage to solve it lol.

  • InnerScientist@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    28 days ago

    Add renovate bot (self-hosted or not) or a similar not to your nixos repository to automatically update your lock file. Enable automatic system rebuilds (not live, nixos-rebuild boot…) to keep in sync with the repo.

    Include multiple nixos systems in one repo, then reuse configuration or even make them reference each other (if you want that)

    Find an issue to report upstream (or even add a pull request)

    Fully automate your reinstall using disko and nixos-anywhere (don’t forget luks)

    Be happy (optional)

    Go over everything you’ve written in your repo so far, realise it’s formatted wrong and spend 2 hours fixing it until it no longer works

    Build a derivation for something that doesn’t exist (also add a pull request if applicable and you’ve got time to maintain it)

    Add a little nixpkgs-unstable, as a treat (use overlays)

    Backups

    Build a server so convoluted, kubernetes is easier to manage (I am here)

    • WereCat@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      27 days ago

      Go over everything you’ve written in your repo so far, realise it’s formatted wrong and spend 2 hours fixing it until it no longer works

      Made it 8h :D and I’m still struggling with home-manager somewhat.