Class'd things up
Added flake rules
add systemd unit files, refactored to output 3 file types