My submissions for Advent of Code 2025
adventofcode.com/2025
rust
aoc
1#!/usr/bin/env nu
2
3let current = ls | where name =~ \d\d and type == dir | get name | sort | last | default "00"
4let part2 = $current | path join part2
5
6if (($current == "00") or ($part2 | path exists)) {
7 let next = $current | into int | $in + 1 | into string | fill -a r -c '0' -w 2
8 let part1 = $next | path join part1
9
10 mkdir ($part1 | path join src)
11 { package: { name: $"aoc25-($next)-1" version: "1.0.0" edition: "2024" } }
12 | save ($part1 | path join Cargo.toml)
13
14 r#'use std::fs::read_to_string;
15
16fn main() {
17 read_to_string("../input.txt").expect("failed to open input file");
18}'# | save ($part1 | path join src main.rs)
19} else {
20 let part1 = $current | path join part1
21
22 mkdir $part2
23 open ($part1 | path join Cargo.toml)
24 | update package.name $"aoc25-($current)-2"
25 | save ($part2 | path join Cargo.toml)
26
27 cp -r ($part1 | path join src) ($part2 | path join src)
28}