I’m looking for interesting tools to automate managing packaging and configuring everything automated.

And yeah I know about NixOS but I like to distro hop and experiment so I for now know these:

  • Ansible - automating many machines, using different package names as vars and package managers.
  • Bash - the most native and compatible scripting language that can be.
  • Chezmoi - for dotfiles.

For now that’s it. I’m looking forward for your suggestions!

  • KindaABigDyl@programming.dev
    link
    fedilink
    arrow-up
    10
    ·
    10 months ago

    And yeah I know about NixOS but I like to distro hop and experiment

    If you know about NixOS, then you probably know this, but Nix, the package manager/the language behind NixOS, is cross-platform.

    I daily drive NixOS, but I also use Nix (and home-manager) on my Fedora music laptop, my Ubuntu home file-server, and my work Windows machine (WSL) to install and configure neovim automatically instead of copying a config, installing all the packages, and running check health over and over again until everything is set up.

    I just copy my neovim.nix file over (also other things like zsh.nix) and run home-manager switch

    You don’t have to use NixOS to take advantage of its benefits.

    • Psyhackological@lemmy.mlOP
      link
      fedilink
      arrow-up
      3
      ·
      10 months ago

      It always seemed to me like Nix package manager is not “native” enough or there are some downsides compared to dnf or apt. If that’s not the case I think I’ve got my answer.

  • chrash0@lemmy.world
    link
    fedilink
    arrow-up
    6
    ·
    10 months ago

    i’ve used Chezmoi for years now pretty successfully. works on my Mac and Linux machines. it probably could be made to work on Windows. i am transitioning to NixOS, but i’ll probably keep using it anyway, since i still have Macs for work (and because they’re great laptops don’t @ me). the only real downside is that it only works for the home folder, so i have to manually control stuff for /etc, but i generally prefer user configuration for most tools anyway.

    i had messed around with Ansible for this in the past, but i didn’t really like it for this use case. it’s been a while tho so it’s hard to say why.

    not to pile on, but you might also look at GNU Stow. i decided against it, but it’s there.

    obligatory i s’pose: https://github.com/covercash2/dotfiles

    • Psyhackological@lemmy.mlOP
      link
      fedilink
      arrow-up
      1
      ·
      10 months ago

      Yeah I see everyone saying chezmoi is great.

      Ansible seems fine but also complicate many thing not doing something in bash.

      GNU Stow seems even more complication than Ansible.

      Bash seems the most simplest one.

  • hperrin@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    10 months ago

    I’ve tried to move as much as I can into Flatpak. That way I can just copy my .var folder, and all my apps are migrated.

    For other things like my configs, I use a git repo.

  • k4j8@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    10 months ago

    I wrote my own program, filetailor. It’s similar to Chezmoi but uses inline comments instead of templates for machine-specific lines. This allows me to make edits directly to my local files and then sync those changes to other machines.

    I also use Ansible.

  • communism@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    10 months ago

    Most of my files are different across machines because of different themes etc. The only dotfiles I have synced across machines are my .zshrc, .gitconfig, .ideavimrc (not my actual vimrc because it has some machine-specific theming), and .p10k.zsh. I have them all in a folder synced with syncthing and then I symlink ~/.zshrc to e.g. ~/dotfiles/.zshrc.

  • ipkpjersi@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    10 months ago

    I have a Linux setup script that downloads a bunch of config files and sets them up. I also have backups of my zshrc and other configs, and that helps a ton too. I have a Linux scripts repo on GitHub where I toss all my Linux scripts and that’s quite helpful too.