It's not too hard, I did it via nixos as well. It's actually documented extremely well for nix, I just did some edits to their default configuration so I could deploy it to a VPS without having to ssh in, cause I have to be as extra as possible.

You can basically copy / paste this whole config and just change your domain name and it'll work, the only thing really missing is defining certbot in the configuration. Which auto does all that bullshit for you too as well.

https://nixos.org/manual/nixos/stable/index.html#module-services-matrix-synapse

Reply to this note

Please Login to reply.

Discussion

I don’t even know what nixos is but I assume it’s linux.

Yeah it's a linux distro unlike any other, and I fell in love with it. Honestly changed the way I use a computer. Basically you just manage everything from what programs you install to how services are configured in 1 master configuration file. It is weird to learn the nix language, but the bonus is anything you learn how to do is reproducible. So if for some reason I want to set up matrix on another server, all I have to do is change the domain name & host ip in the configuration file, then I just type out `morph deploy matrix.nix switch` and it should just work.

So the entire instance is managed from 1 config file?

Yep exactly, the entire server is defined with one file and then the system becomes immutable. Which really just means the only way to jack up your installation is to mess with said config file. It won't rebuild your system if there's any errors as well which is a bonus.

Is this just for servers?

It's mainly for servers but you can also use it on desktops. It's actually the only distro I use anymore, from my pi's to servers to desktop and laptop. All of em are on nixos now.

I once set up a Saltstack fleet and that worked on a similar principle.

Was great for managing many many machines.

https://docs.saltproject.io/en/latest/contents.html