If the choices will change dynamically as the user changes other inputs, use updateSelectInput in an observe() call.
If the choices will not change over the course of a single session but may change from one session to the next, use updateSelectInput directly in the shinyServer function.
If the choices will never change, you can calculate the model directly in ui.R--it's just regular R code you're writing.