JasterV
Vintage Net Wifi - Passing credentials by configuration at compile time
Hello there ![]()
I am using the vintage net wifi package on my nerves project.
I don’t want to source my WIFI credentials to git but unfortunately the WIFI is configured at compile time and I need to pass the credentials in my target.exs file.
I was wondering if someone figured out a way to read the wifi credentials from a configuration file at compile time that is not sourced to git.
I’ve tried to read from environment variables but I have problems trying to load those environment variables into my system because of the following:
I’ve thought on having an environment variable WIFI_SSID_LIST=ssid1,ssid2,ssid3
but if the SSID contains &, the export $(cat .env | xargs) command will fail:
export: not valid in this context: &
So then I started thinking on having a separate file and reading it using File.read on the target.exs but I am not sure about it.
Is there someone that has tried something else?
Marked As Solved
ConnorRigby
target.exs is a Elixir script, so you can populate that data from anywhere. I sometimes do things like this
ssid = System.get_env("WIFI_SSID")
psk = System.get_env("WIFI_PSK")
config :vintage_net,
regulatory_domain: "US",
config: [
{"wlan0", %{type: VintageNetWiF, networks: [%{ssid: ssid, psk: psk}]}},
]
You can extend this to have a list if you want as well.
unfortunately the WIFI is configured at compile time and I need to pass the credentials in my
target.exsfile.
you don’t have to set them at compile-time. you can do this:
config :vintage_net,
regulatory_domain: "US",
config: [
{"wlan0", %{type: VintageNetWiFi}},
]
And then configure it at runtime with
iex()> VintageNetWiFi.quick_configure(ssid, psk)
Also Liked
Hermanverschooten
I don’t know what OS you are running on, but have you tried to source the .env file instead of cattting it?
source .env
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance









