Make the beans: Place beans in a large bowl; cover with water by several inches. Refrigerate, covered, overnight. Drain. (For a quick soak, cover beans in a saucepan with water. Bring to a boil. Remove from heat. Let stand, covered, for 1 hour. Drain.)
Make the flavor base: Heat oil in a pot over medium heat. Cook onion, garlic, chile, 1 1/2 teaspoons salt, and any add-ins until onion and garlic are soft, about 5 minutes.
Add beans, 8 cups water, and 1 1/2 teaspoons salt. Bring to a boil. Reduce heat. Simmer, partially covered, adding water as needed to keep submerged, until tender, 35 minutes to 2 hours, depending on type of bean. (Start checking for doneness after 30 minutes.)
Stir a few tablespoons of any of these into the flavor base: bell peppers, sausage, bacon, tomatoes. Or season with herbs and spices (cumin, paprika, cayenne, oregano, thyme, rosemary, bay leaf).