My dotfiles
				
			
			
		| Some work has been done on making the Connection feel nicer, but also more work is needed to not have the channel be exposed to the upper layers of the application. We should wrap all the GRPC calls in the GenServer (which may also allow caching on certain calls such as get_sys_info) | ||
|---|---|---|
| .woodpecker | ||
| agent | ||
| app | ||
| proto | ||
| proto_compiler | ||
| .gitignore | ||
| .tool-versions | ||
| Cargo.lock | ||
| Cargo.toml | ||
| docker-compose.yml | ||
| get_prymn.sh | ||
| README.md | ||
Prymn
Project dependencies
- Elixir 1.15
- Erlang 24 or later
- Rust (recent version)
- protoc for protobufs version 3
Setup
Some basic steps to setup the project and its dependencies.
- Install asdf (curl is also required)
- Using git: git clone https://github.com/asdf-vm/asdf.git ~/.asdf
- or, using paru, paru -S asdf-vm
- Add asdf to path: source /opt/asdf-vm/asdf.{bash,zsh,fish}, or~/.asdf/asdf.{bash,zsh,fish}
 
- Using git: 
- Install erlang
- asdf plugin add erlang
- asdf install erlang 25
 
- Install elixir
- asdf plugin add elixir
- asdf install elixir 1.15
 
- Install rust
- Optionally, set CARGO_HOMEandRUSTUP_HOMEto a XDG directory (e.g~/.local/share/cargoand~/.local/share/rustup)
- Arch: pacman -S rustup
- Other: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Make sure to add $HOME/.cargo/bin(or$CARGO_HOME) toPATH
- rustup toolchain install stable
- rustup default stable
- rustup component add clippy
- rustup component add rust-analyzer
- rustup component add rustfmt
 
- Optionally, set 
- Install protoc version 3
- Arch: pacman -S protobuf
- Debian: apt install -y protobuf-compiler
 
- Arch: 
- (Optional) Install inotify-tools
- Arch: pacman -S inotify-tools
- Debian: apt install -y inotify-tools
 
- Arch: 
- Setup elixir
- Install hex: mix local.hex
- cd app && mix escript.install hex protobuf
- asdf reshim
 
- Install hex: 
Preparing for development
Elixir app
- cd app
- Start the database: docker-compose up -d
- mix setup
- mix phx.server