rvnash
Setting up for Advent of Code 2025
AOC 2025 is right around the corner. Last year, my first year, I just started a raw Elixir application and manually created modules for each day’s challenge. This year I’m thinking of starting with the aoc package. Anyone have opinions about what the most helpful framework is for enjoying this year’s challenges?
Most Liked
lud
The aoc package is opinionated, it creates modules with the parse/2, part_one/1 and part_two/2 functions, and it creates tests if you fancy some TDD. If you do not like that, you can still use it just to fetch the inputs locally.
If you want to do your setup yourself I guess starting with a bash script that generates a module can be enough.
I’d suggest to try aoc right now, see the Are you trying this library before December 1st ? section so you know if it is useful to you before day 1.
This is my bash command to work with my package that I run every morning:
play:
mix aoc.create | rg '\.ex' | rg -v Compiling | xargs code
mix format
nohup firefox $(mix aoc.url | rg "https") >/dev/null 2>&1 &
echo 'Good Luck :)'
adamu
Here’s a similar thread, which also contains my opinion ![]()
sevenseacat
I have one repo for alllllll of my puzzle solutions that I keep building in every year - GitHub - sevenseacat/advent_of_code: My Elixir solutions to Advent of Code · GitHub (spoilers: includes solutions for 457 stars and counting)
My daily process is pretty simple -
- I run
mix day <year> <day>eg.mix day 2025 1to generate a skeleton module/test module for the day’s solution (which will be inlib/y2025/day01.exandtest/y2025/day01_test.exs) - I manually download the puzzle input for that day and put it in
lib/y2025/input/day01.txt - And away I go! Now I can run code like
Y2025.Day01.part1()iniexto test out my part 1 solution, etc.
Popular in Challenges
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








