There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

How have you automated configuring your machines in terms of packages and dotfiles so it works cross-distro?

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!

Takios ,
@Takios@discuss.tchncs.de avatar

I use SaltStack to automate my servers. Just feels better than Ansible to me.
For my PC and laptop I don’t do anything, I haven’t hopped distribution since I started using Tumbleweed a few years ago.

Psyhackological OP ,
@Psyhackological@lemmy.ml avatar

I heard about Salt being better alternative than Ansible. Why? I see.

Takios ,
@Takios@discuss.tchncs.de avatar

The clear cut of state data, pillar data and formulae feels more intuitive to me than Ansible’s playbook organization.

Psyhackological OP ,
@Psyhackological@lemmy.ml avatar

For person using only Ansible I don’t know what are you talking about. 😆

Wooki ,

flakes and lock files are next level.

chrash0 ,

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: github.com/covercash2/dotfiles

data1701d ,
@data1701d@startrek.website avatar

I’m not a Mac fan, but I do keep a Hackintosh VM with GPU passthrough to run the occasional XCode and the like or send a text message when I’m too lazy to pull out my iPhone. I will say that MacOS’s standardized interface is rather nice, though.

Psyhackological OP ,
@Psyhackological@lemmy.ml avatar

Wow, you went through hell with this Hacintosh. Interesting that you have an iPhone not Android when you use Linux.

Psyhackological OP ,
@Psyhackological@lemmy.ml avatar

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.

bsergay ,

Nix, the package manager, is distro-agnostic. Add Home Manager on top of it and you’re good to go; both packages and dotfiles are dealt with.

demesisx ,
@demesisx@infosec.pub avatar

I do this in combination with Nix-Darwin for one of my machines. I also have some Kubernetes clusters and RISC-V machines running bare metal executables using NixOS-Anywhere and some other stuff.

Psyhackological OP ,
@Psyhackological@lemmy.ml avatar

That does not sound like some basic stuff though. 😆

Psyhackological OP ,
@Psyhackological@lemmy.ml avatar

Hm I see, thanks. A good one when you have it installed on every machine.

Telorand ,

You can make a custom distro based on one of the Universal Blue or Fedora Atomic images.

github.com/ublue-os/image-template

You could also go to the bleeding edge, make a Containerfile, and use bootc and podman to build a bootable container.

Psyhackological OP ,
@Psyhackological@lemmy.ml avatar

I recently installed Bazzite exclusively for gaming but I need to read more about Atomic distro.

possiblylinux127 ,

Ansible is probably the most mature

Psyhackological OP ,
@Psyhackological@lemmy.ml avatar

And industry sstandard, yeah.

MonkderVierte ,

I have a custom /etc/profile that loads /etc/session.d/$HOSTNAME-$USER scripts.

ipkpjersi ,

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.

possiblylinux127 ,

No Ansible?

communism ,
@communism@lemmy.ml avatar

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.

ferngully ,

Chezmoi has an amazing templating feature to address different files on different machines. It’s worth the time to set up.

KindaABigDyl ,
@KindaABigDyl@programming.dev avatar

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.

gramgan ,

Chezmoi looks interesting. I’ve just been using xstow.

data1701d ,
@data1701d@startrek.website avatar

I’ll be frank - I never have, though I probably should. For me, if an application’s configuration ever annoys me enough, I just manually copy the config from a machine that I already did the config.

One day, I may set up a shell script based on Debian’s Debootstrap that feeds it a list of packages (I think you can provide it a text file with a list of packages) to get everything set up, but that day is not today.

demesisx ,
@demesisx@infosec.pub avatar

Perhaps you’re tired of hearing it but this is very close to exactly how NixOS works with home manager.

data1701d ,
@data1701d@startrek.website avatar

Quite honestly, I almost chose NixOS over Debian a few years for that reason, but I prefer the community support of Debian. Of course, that could change, but right now, I’m not in a big distro-hopping mood nor am I sufficiently unhappy with Debian. On a side note, it kind of bothered me that you couldn’t use Nix to configure e.g the layout of your XFCE desktop. If I ever transition, maybe I’ll put in some time one summer to make that all work.

chameleon ,
@chameleon@fedia.io avatar

My dotfiles aren't distro-specific because they're symlinks into a git repo (or tarball) + a homegrown shell script to make them, and that's about the end of it.

My NixOS configuration is split between must-have CLI tools/nice-to-have CLI tools/hardware-related CLI tools/GUI tools and functions as a suitable reference for non-Nix distros, even having a few comments on what the package names are elsewhere, but installation is ultimately still manual.

thurstylark ,

I use vcsh and myrepos.

vcsh allows you to run multiple git repos that share ~ as their root, and mr simplifies/automates the management of those multiple repos. You can check out my setup here.

pinganini ,

@Psyhackological I've cut the Gordian knot by running one distro everywhere

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines