diff --git a/compiler-core/src/build/package_compiler.rs b/compiler-core/src/build/package_compiler.rs
index 9c0eed8bd76..813b0c49dbc 100644
--- a/compiler-core/src/build/package_compiler.rs
+++ b/compiler-core/src/build/package_compiler.rs
@@ -354,7 +354,7 @@ where
         // we overwrite any precompiled Erlang that was included in the Hex
         // package. Otherwise we will build the potentially outdated precompiled
         // version and not the newly compiled version.
-        Erlang::new(&build_dir, &include_dir).render(io, modules)?;
+        Erlang::new(&build_dir, &include_dir).render(io, modules, self.root)?;
 
         if self.compile_beam_bytecode {
             written.extend(modules.iter().map(Module::compiled_erlang_path));
diff --git a/compiler-core/src/codegen.rs b/compiler-core/src/codegen.rs
index 5038ea1533b..0dd28d148a8 100644
--- a/compiler-core/src/codegen.rs
+++ b/compiler-core/src/codegen.rs
@@ -33,10 +33,11 @@ impl<'a> Erlang<'a> {
         &self,
         writer: Writer,
         modules: &[Module],
+        root: &Utf8Path,
     ) -> Result<()> {
         for module in modules {
             let erl_name = module.name.replace("/", "@");
-            self.erlang_module(&writer, module, &erl_name)?;
+            self.erlang_module(&writer, module, &erl_name, root)?;
             self.erlang_record_headers(&writer, module, &erl_name)?;
         }
         Ok(())
@@ -47,11 +48,12 @@ impl<'a> Erlang<'a> {
         writer: &Writer,
         module: &Module,
         erl_name: &str,
+        root: &Utf8Path,
     ) -> Result<()> {
         let name = format!("{erl_name}.erl");
         let path = self.build_directory.join(&name);
         let line_numbers = LineNumbers::new(&module.code);
-        let output = erlang::module(&module.ast, &line_numbers);
+        let output = erlang::module(&module.ast, &line_numbers, root);
         tracing::debug!(name = ?name, "Generated Erlang module");
         writer.write(&path, &output?)
     }
diff --git a/compiler-core/src/erlang.rs b/compiler-core/src/erlang.rs
index cbe489a1641..9486185d3c2 100644
--- a/compiler-core/src/erlang.rs
+++ b/compiler-core/src/erlang.rs
@@ -20,6 +20,7 @@ use crate::{
     },
     Result,
 };
+use camino::Utf8Path;
 use ecow::{eco_format, EcoString};
 use heck::ToSnakeCase;
 use im::HashSet;
@@ -150,13 +151,18 @@ pub fn record_definition(name: &str, fields: &[(&str, Arc<Type>)]) -> String {
     .to_pretty_string(MAX_COLUMNS)
 }
 
-pub fn module<'a>(module: &'a TypedModule, line_numbers: &'a LineNumbers) -> Result<String> {
-    Ok(module_document(module, line_numbers)?.to_pretty_string(MAX_COLUMNS))
+pub fn module<'a>(
+    module: &'a TypedModule,
+    line_numbers: &'a LineNumbers,
+    root: &'a Utf8Path,
+) -> Result<String> {
+    Ok(module_document(module, line_numbers, root)?.to_pretty_string(MAX_COLUMNS))
 }
 
 fn module_document<'a>(
     module: &'a TypedModule,
     line_numbers: &'a LineNumbers,
+    root: &'a Utf8Path,
 ) -> Result<Document<'a>> {
     let mut exports = vec![];
     let mut type_defs = vec![];
@@ -217,7 +223,13 @@ fn module_document<'a>(
         join(type_defs, lines(2)).append(lines(2))
     };
 
-    let src_path = EcoString::from(module.type_info.src_path.as_str());
+    let src_path_full = &module.type_info.src_path;
+    let src_path_relative = EcoString::from(
+        src_path_full
+            .strip_prefix(root)
+            .unwrap_or_else(|_| src_path_full)
+            .to_string(),
+    );
 
     let mut needs_function_docs = false;
     let mut statements = Vec::with_capacity(module.definitions.len());
@@ -227,7 +239,7 @@ fn module_document<'a>(
             &module.name,
             module.type_info.is_internal,
             line_numbers,
-            &src_path,
+            &src_path_relative,
         ) {
             needs_function_docs = needs_function_docs || env.needs_function_docs;
             statements.push(statement_document);
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__allowed_string_escapes.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__allowed_string_escapes.snap
index f6b7d6d0bee..3d225c93760 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__allowed_string_escapes.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__allowed_string_escapes.snap
@@ -11,7 +11,7 @@ pub fn a() { "\n" "\r" "\t" "\\" "\"" "\\^" }
 
 -export([a/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec a() -> binary().
 a() ->
     <<"\n"/utf8>>,
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__binop_parens.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__binop_parens.snap
index c33970c0140..130b04da820 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__binop_parens.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__binop_parens.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     A = (2 * (3 + 1)) div 2,
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__bit_pattern_shadowing.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__bit_pattern_shadowing.snap
index 17f3769b0cf..c8508fe475c 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__bit_pattern_shadowing.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__bit_pattern_shadowing.snap
@@ -19,7 +19,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> bitstring().
 main() ->
     Code = <<"hello world"/utf8>>,
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__block_assignment.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__block_assignment.snap
index edf003608c1..71e4c59ad44 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__block_assignment.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__block_assignment.snap
@@ -19,7 +19,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     X = begin
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info.snap
index 42ab7a178e6..43ad29f0f80 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> integer().
 main() ->
     1.
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_imported.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_imported.snap
index 8c2f32d2a4d..64b393b44ef 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_imported.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_imported.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> integer().
 main() ->
     1.
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_imported_qualified.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_imported_qualified.snap
index cf8f01c5000..a2c34eabc3f 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_imported_qualified.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_imported_qualified.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> integer().
 main() ->
     1.
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_with_function_inside.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_with_function_inside.snap
index 5efe5bd7266..9258055910f 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_with_function_inside.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_with_function_inside.snap
@@ -21,12 +21,12 @@ pub fn main() {
 
 -export([function/0, main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec function() -> integer().
 function() ->
     1.
 
--file("/root/project/test/my/mod.gleam", 8).
+-file("project/test/my/mod.gleam", 8).
 -spec main() -> integer().
 main() ->
     function().
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_with_function_inside_imported.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_with_function_inside_imported.snap
index 57b2d259ca9..559d8f17ba8 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_with_function_inside_imported.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_with_function_inside_imported.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> integer().
 main() ->
     fun some_module:function/0().
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_with_function_inside_imported_qualified.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_with_function_inside_imported_qualified.snap
index 0056f79134b..8e567b6a0ab 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_with_function_inside_imported_qualified.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__constant_named_module_info_with_function_inside_imported_qualified.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> integer().
 main() ->
     some_module:function().
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__discard_in_assert.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__discard_in_assert.snap
index 024333a4211..9623a6b32e0 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__discard_in_assert.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__discard_in_assert.snap
@@ -14,7 +14,7 @@ pub fn x(y) {
 
 -export([x/1]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec x({ok, any()} | {error, any()}) -> integer().
 x(Y) ->
     {ok, _} = case Y of
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__field_access_function_call.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__field_access_function_call.snap
index 56507de2398..1e59d5cee9e 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__field_access_function_call.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__field_access_function_call.snap
@@ -21,7 +21,7 @@ fn main() {
 
 -type fn_box() :: {fn_box, fun((integer()) -> integer())}.
 
--file("/root/project/test/my/mod.gleam", 5).
+-file("project/test/my/mod.gleam", 5).
 -spec main() -> integer().
 main() ->
     B = {fn_box, fun(X) -> X end},
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__field_access_function_call1.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__field_access_function_call1.snap
index 1b1bd3ec0bc..0f82595ae2e 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__field_access_function_call1.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__field_access_function_call1.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     T = {fun(X) -> X end},
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_argument_shadowing.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_argument_shadowing.snap
index 99fd1a9c54b..fe9d0ec7231 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_argument_shadowing.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_argument_shadowing.snap
@@ -21,7 +21,7 @@ pub type Box {
 
 -type box() :: {box, integer()}.
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec main(any()) -> fun((integer()) -> box()).
 main(A) ->
     fun(Field@0) -> {box, Field@0} end.
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info.snap
index 3fa258d0c15..4e86832bb4a 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info.snap
@@ -19,12 +19,12 @@ pub fn main() {
 
 -export(['moduleInfo'/0, main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec 'moduleInfo'() -> integer().
 'moduleInfo'() ->
     1.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec main() -> integer().
 main() ->
     'moduleInfo'().
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_imported.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_imported.snap
index 52934f6bb60..8cc1690ab36 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_imported.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_imported.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> integer().
 main() ->
     some_module:'moduleInfo'().
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_imported_qualified.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_imported_qualified.snap
index f577351713b..6e2fc8fc803 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_imported_qualified.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_imported_qualified.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> integer().
 main() ->
     some_module:'moduleInfo'().
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_in_constant.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_in_constant.snap
index b64d37e39cc..2234455b514 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_in_constant.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_in_constant.snap
@@ -21,12 +21,12 @@ pub fn main() {
 
 -export(['moduleInfo'/0, main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec 'moduleInfo'() -> integer().
 'moduleInfo'() ->
     1.
 
--file("/root/project/test/my/mod.gleam", 8).
+-file("project/test/my/mod.gleam", 8).
 -spec main() -> integer().
 main() ->
     'moduleInfo'().
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_in_constant_imported.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_in_constant_imported.snap
index 717983ddafc..c798d4bf6eb 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_in_constant_imported.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_in_constant_imported.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> integer().
 main() ->
     fun some_module:'moduleInfo'/0().
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_in_constant_imported_qualified.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_in_constant_imported_qualified.snap
index 2e1f32cd0da..4d20a962358 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_in_constant_imported_qualified.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__function_named_module_info_in_constant_imported_qualified.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> integer().
 main() ->
     some_module:'moduleInfo'().
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__guard_variable_rewriting.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__guard_variable_rewriting.snap
index e8394c8ec05..929b94f18c1 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__guard_variable_rewriting.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__guard_variable_rewriting.snap
@@ -20,7 +20,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec main() -> float().
 main() ->
     case 1.0 of
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__inline_const_pattern_option.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__inline_const_pattern_option.snap
index 5f27e34d5b2..a95fc49d198 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__inline_const_pattern_option.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__inline_const_pattern_option.snap
@@ -21,7 +21,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec main() -> bitstring().
 main() ->
     Fifteen = 15,
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test.snap
index ce1c75a5ab4..9629d11b344 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test.snap
@@ -14,7 +14,7 @@ let x = #(100000000000000000, #(2000000000, 3000000000000, 40000000000), 50000,
 
 -export([go/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec go() -> {integer(),
     {integer(), integer(), integer()},
     integer(),
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test0_1.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test0_1.snap
index f803e25ff88..7a6ada7d9f8 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test0_1.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test0_1.snap
@@ -15,7 +15,7 @@ pub fn go() {
 
 -export([go/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec go() -> integer().
 go() ->
     Y = 1,
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test0_2.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test0_2.snap
index bbee74a5c69..57961c6acfe 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test0_2.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test0_2.snap
@@ -16,7 +16,7 @@ pub fn go() {
 
 -export([go/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec go() -> integer().
 go() ->
     Fifteen = 16#F,
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test0_3.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test0_3.snap
index f803e25ff88..7a6ada7d9f8 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test0_3.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test0_3.snap
@@ -15,7 +15,7 @@ pub fn go() {
 
 -export([go/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec go() -> integer().
 go() ->
     Y = 1,
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1.snap
index 4a17ea6257f..88017736d02 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1.snap
@@ -11,7 +11,7 @@ pub fn t() { True }
 
 -export([t/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec t() -> boolean().
 t() ->
     true.
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test10.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test10.snap
index d777c6ef9dc..cfa0ae5b014 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test10.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test10.snap
@@ -13,7 +13,7 @@ type Null { Null } fn x() { Null }
 
 -type null() :: null.
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec x() -> null().
 x() ->
     null.
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test11.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test11.snap
index 89b79b27f10..716772bcc68 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test11.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test11.snap
@@ -14,7 +14,7 @@ type Point { Point(x: Int, y: Int) }
 
 -type point() :: {point, integer(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec x() -> point().
 x() ->
     {point, 4, 6},
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test12.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test12.snap
index cea98dde1f7..77cd56e2d9d 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test12.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test12.snap
@@ -13,7 +13,7 @@ type Point { Point(x: Int, y: Int) } fn x(y) { let Point(a, b) = y a }
 
 -type point() :: {point, integer(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec x(point()) -> integer().
 x(Y) ->
     {point, A, B} = Y,
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test13.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test13.snap
index 12c1fd23aa8..c35b59610ba 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test13.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test13.snap
@@ -16,12 +16,12 @@ pub type State{ Start(Int) End(Int) }
 
 -type state() :: {start, integer()} | {'end', integer()}.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec build(fun((integer()) -> I)) -> I.
 build(Constructor) ->
     Constructor(1).
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec main() -> state().
 main() ->
     build(fun(Field@0) -> {'end', Field@0} end).
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test16.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test16.snap
index 34492c01d5d..d4846a4e971 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test16.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test16.snap
@@ -12,12 +12,12 @@ pub fn x() { go(x: 1, y: 2) go(y: 3, x: 4) }
 
 -export([x/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec go(I, any()) -> I.
 go(Xx, Yy) ->
     Xx.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec x() -> integer().
 x() ->
     go(1, 2),
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test17.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test17.snap
index 202d2a34a5e..98e9a711763 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test17.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test17.snap
@@ -16,7 +16,7 @@ fn create_user(user_id) { User(age: 22, id: user_id, name: "") }
 
 -type user() :: {user, integer(), binary(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec create_user(integer()) -> user().
 create_user(User_id) ->
     {user, User_id, <<""/utf8>>, 22}.
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test18.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test18.snap
index 868cfec0f5b..edf81d4be64 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test18.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test18.snap
@@ -11,7 +11,7 @@ pub fn run() { case 1, 2 { a, b -> a } }
 
 -export([run/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec run() -> integer().
 run() ->
     case {1, 2} of
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test19.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test19.snap
index 08ac10593f5..555230c2ca8 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test19.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test19.snap
@@ -14,7 +14,7 @@ type X { X(x: Int, y: Float) }
 
 -type x() :: {x, integer(), float()}.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec x() -> x().
 x() ->
     {x, 1, 2.0},
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_1.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_1.snap
index 3a8bb8f63f7..9f05160f4c5 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_1.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_1.snap
@@ -14,7 +14,7 @@ pub type Money { Pound(Int) }
 
 -type money() :: {pound, integer()}.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec pound(integer()) -> money().
 pound(X) ->
     {pound, X}.
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_2.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_2.snap
index 3e90fa28d40..3609b45cdac 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_2.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_2.snap
@@ -11,7 +11,7 @@ pub fn loop() { loop() }
 
 -export([loop/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec loop() -> any().
 loop() ->
     loop().
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_4.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_4.snap
index df12274215a..d98f5c51165 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_4.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_4.snap
@@ -12,12 +12,12 @@ fn inc(x) { x + 1 }
 
 -export([go/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec inc(integer()) -> integer().
 inc(X) ->
     X + 1.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go() -> integer().
 go() ->
     _pipe = 1,
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_5.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_5.snap
index 3e503add854..e617eb3978d 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_5.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_5.snap
@@ -12,12 +12,12 @@ fn add(x, y) { x + y }
 
 -export([go/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec add(integer(), integer()) -> integer().
 add(X, Y) ->
     X + Y.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go() -> integer().
 go() ->
     _pipe = 1,
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_6.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_6.snap
index a144a543654..bb5bbd0dddf 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_6.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test1_6.snap
@@ -15,17 +15,17 @@ pub fn fdiv(x, y) { x /. y }
 
 -export(['and'/2, 'or'/2, remainder/2, fdiv/2]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec 'and'(boolean(), boolean()) -> boolean().
 'and'(X, Y) ->
     X andalso Y.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec 'or'(boolean(), boolean()) -> boolean().
 'or'(X, Y) ->
     X orelse Y.
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec remainder(integer(), integer()) -> integer().
 remainder(X, Y) ->
     case Y of
@@ -33,7 +33,7 @@ remainder(X, Y) ->
         Gleam@denominator -> X rem Gleam@denominator
     end.
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec fdiv(float(), float()) -> float().
 fdiv(X, Y) ->
     case Y of
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test2.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test2.snap
index aa8b30069ea..020d1a1c843 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test2.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test2.snap
@@ -13,7 +13,7 @@ pub fn tail(list) { case list { [x, ..xs] -> xs z -> list } }
 
 -export([second/1, tail/1]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec second(list(integer())) -> integer().
 second(List) ->
     case List of
@@ -24,7 +24,7 @@ second(List) ->
             1
     end.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec tail(list(P)) -> list(P).
 tail(List) ->
     case List of
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test20.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test20.snap
index b8bd5c57ed7..59b0405a0eb 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test20.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test20.snap
@@ -17,7 +17,7 @@ pub fn go(a) {
 
 -export([go/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go(integer()) -> integer().
 go(A) ->
     A@1 = A + 1,
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test21.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test21.snap
index d828b322765..633ca2f2b57 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test21.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test21.snap
@@ -17,7 +17,7 @@ pub fn go(a) {
 
 -export([go/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go(any()) -> integer().
 go(A) ->
     A@1 = 1,
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test22.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test22.snap
index 67e9ea38ecc..d8d3c4052e7 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test22.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test22.snap
@@ -26,12 +26,12 @@ pub fn main() {
 
 -type box() :: {box, integer()}.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec factory(fun((J) -> N), J) -> N.
 factory(F, I) ->
     F(I).
 
--file("/root/project/test/my/mod.gleam", 10).
+-file("project/test/my/mod.gleam", 10).
 -spec main() -> box().
 main() ->
     factory(fun(Field@0) -> {box, Field@0} end, 0).
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test23.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test23.snap
index 78434cbc546..9092df121f1 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test23.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test23.snap
@@ -22,7 +22,7 @@ pub fn main(args) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main(any()) -> integer().
 main(Args) ->
     case Args of
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test3.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test3.snap
index 8bac3f7e645..6c0fbad4a24 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test3.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test3.snap
@@ -14,7 +14,7 @@ type Point { Point(x: Int, y: Int) }
 
 -type point() :: {point, integer(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec y() -> point().
 y() ->
     ((fun() -> fun(Field@0, Field@1) -> {point, Field@0, Field@1} end end)())(
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test5.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test5.snap
index 6c545eeb87d..7c27d2070cc 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test5.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test5.snap
@@ -16,7 +16,7 @@ pub fn tail(list) {
 
 -export([tail/1]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec tail(list(integer())) -> integer().
 tail(List) ->
     case List of
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test6.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test6.snap
index 31fe9ce684e..600c7ad7e87 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test6.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test6.snap
@@ -11,7 +11,7 @@ pub fn x() { let x = 1 let x = x + 1 x }
 
 -export([x/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec x() -> integer().
 x() ->
     X = 1,
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test8.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test8.snap
index f342724e3c5..cac2d28d4dc 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test8.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test8.snap
@@ -11,7 +11,7 @@ pub fn x() { 1. <. 2.3 }
 
 -export([x/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec x() -> boolean().
 x() ->
     1.0 < 2.3.
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test9.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test9.snap
index cec8f4bd4bb..c384937a3d3 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test9.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__integration_test9.snap
@@ -14,7 +14,7 @@ pub type Pair(x, y) { Pair(x: x, y: y) } pub fn x() { Pair(1, 2) Pair(3., 4.) }
 
 -type pair(I, J) :: {pair, I, J}.
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec x() -> pair(float(), float()).
 x() ->
     {pair, 1, 2},
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__negation.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__negation.snap
index b15aa736c92..0ca27b2befd 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__negation.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__negation.snap
@@ -13,7 +13,7 @@ pub fn negate(x) {
 
 -export([negate/1]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec negate(boolean()) -> boolean().
 negate(X) ->
     not X.
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__negation_block.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__negation_block.snap
index 4b43c2a4e80..2c3a951a096 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__negation_block.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__negation_block.snap
@@ -16,7 +16,7 @@ pub fn negate(x) {
 
 -export([negate/1]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec negate(boolean()) -> boolean().
 negate(X) ->
     not begin
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__operator_pipe_right_hand_side.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__operator_pipe_right_hand_side.snap
index 73a3c0d4b69..8daa87aedfc 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__operator_pipe_right_hand_side.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__operator_pipe_right_hand_side.snap
@@ -17,12 +17,12 @@ pub fn bool_expr(x, y) {
 
 -export([bool_expr/2]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec id(I) -> I.
 id(X) ->
     X.
 
--file("/root/project/test/my/mod.gleam", 5).
+-file("project/test/my/mod.gleam", 5).
 -spec bool_expr(boolean(), boolean()) -> boolean().
 bool_expr(X, Y) ->
     Y orelse begin
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__positive_zero.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__positive_zero.snap
index 88f6e8ea213..9dc92ca86d4 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__positive_zero.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__positive_zero.snap
@@ -15,7 +15,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> float().
 main() ->
     +0.0.
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__recursive_type.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__recursive_type.snap
index af0f2a085fb..2cc3bdfa7bd 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__recursive_type.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__recursive_type.snap
@@ -19,12 +19,12 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec id(I) -> I.
 id(X) ->
     X.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec main() -> fun((M) -> M).
 main() ->
     id(fun id/1).
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__scientific_notation.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__scientific_notation.snap
index adf35ea0a2a..26b3cec763c 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__scientific_notation.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__scientific_notation.snap
@@ -16,7 +16,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> float().
 main() ->
     1.0e6,
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__tail_maybe_expr_block.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__tail_maybe_expr_block.snap
index 4e0b483758b..41ea7ae2ae3 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__tail_maybe_expr_block.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__tail_maybe_expr_block.snap
@@ -21,7 +21,7 @@ pub fn a() {
 
 -export([a/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec a() -> list(integer()).
 a() ->
     Fake_tap = fun(X) -> X end,
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__tuple_access_in_guard.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__tuple_access_in_guard.snap
index a463adb5453..b72c8d72ff2 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__tuple_access_in_guard.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__tuple_access_in_guard.snap
@@ -20,7 +20,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> binary().
 main() ->
     Key = 10,
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__type_named_else.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__type_named_else.snap
index 815ed58b6ec..9a1e169890d 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__type_named_else.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__type_named_else.snap
@@ -22,7 +22,7 @@ pub fn main() {
 
 -type 'else'() :: 'else'.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec main() -> 'else'().
 main() ->
     'else'.
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__type_named_module_info.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__type_named_module_info.snap
index 06dfec314ef..7818a766754 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__type_named_module_info.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__type_named_module_info.snap
@@ -22,7 +22,7 @@ pub fn main() {
 
 -type module_info() :: module_info.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec main() -> module_info().
 main() ->
     module_info.
diff --git a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__variable_name_underscores_preserved.snap b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__variable_name_underscores_preserved.snap
index ccdc4317b81..28ed85b5fd7 100644
--- a/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__variable_name_underscores_preserved.snap
+++ b/compiler-core/src/erlang/snapshots/gleam_core__erlang__tests__variable_name_underscores_preserved.snap
@@ -17,7 +17,7 @@ pub fn a(name_: String) -> String {
 
 -export([a/1]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec a(binary()) -> binary().
 a(Name_) ->
     Name__ = Name_,
diff --git a/compiler-core/src/erlang/tests.rs b/compiler-core/src/erlang/tests.rs
index e5e0a328afb..650d2341570 100644
--- a/compiler-core/src/erlang/tests.rs
+++ b/compiler-core/src/erlang/tests.rs
@@ -14,6 +14,7 @@ use crate::{
     uid::UniqueIdGenerator,
     warning::TypeWarningEmitter,
 };
+use camino::Utf8Path;
 
 mod bit_arrays;
 mod case;
@@ -112,10 +113,11 @@ pub fn compile_test_project(src: &str, src_path: &str, dep: Option<(&str, &str,
         extra: parsed.extra,
         dependencies: vec![],
     };
+    let root = Utf8Path::new("/root");
     built_module.attach_doc_and_module_comments();
 
     let line_numbers = LineNumbers::new(src);
-    module(&built_module.ast, &line_numbers).unwrap()
+    module(&built_module.ast, &line_numbers, &root).unwrap()
 }
 
 #[macro_export]
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array.snap
index e6660f36fe9..d31251fd9ef 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array.snap
@@ -20,7 +20,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec main() -> bitstring().
 main() ->
     A = 1,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array1.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array1.snap
index 3da2377e92a..2cb05f60713 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array1.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array1.snap
@@ -18,12 +18,12 @@ fn main() {
 
 -export([x/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec x() -> integer().
 x() ->
     2.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> bitstring().
 main() ->
     A = -1,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array2.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array2.snap
index 85fc17e6291..0e85bf9a4a5 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array2.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array2.snap
@@ -16,7 +16,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec main() -> integer().
 main() ->
     A = 1,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array3.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array3.snap
index f2a545ce2f5..29334745eb1 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array3.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array3.snap
@@ -16,7 +16,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec main() -> integer().
 main() ->
     A = <<"test"/utf8>>,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array4.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array4.snap
index b454bb4c5c9..aa81a890110 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array4.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array4.snap
@@ -16,12 +16,12 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec x() -> integer().
 x() ->
     1.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> bitstring().
 main() ->
     A = <<(x())/integer>>,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array5.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array5.snap
index ee664829a57..7299ffd9303 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array5.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array5.snap
@@ -16,7 +16,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> bitstring().
 main() ->
     A = <<10:(lists:max([(8), 0]))>>,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_declare_and_use_var.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_declare_and_use_var.snap
index 56fd4393fbe..95714f2cc92 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_declare_and_use_var.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_declare_and_use_var.snap
@@ -14,7 +14,7 @@ pub fn go(x) {
 
 -export([go/1]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec go(bitstring()) -> bitstring().
 go(X) ->
     <<Name_size@1:8, Name:Name_size@1/binary>> = case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_discard.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_discard.snap
index 87130b8214b..044ce957028 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_discard.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_discard.snap
@@ -18,7 +18,7 @@ pub fn bit_array_discard(x) -> Bool {
 
 -export([bit_array_discard/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec bit_array_discard(bitstring()) -> boolean().
 bit_array_discard(X) ->
     case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_discard1.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_discard1.snap
index 4e43803c32e..6277bb671aa 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_discard1.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_discard1.snap
@@ -18,7 +18,7 @@ pub fn bit_array_discard(x) -> Bool {
 
 -export([bit_array_discard/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec bit_array_discard(bitstring()) -> boolean().
 bit_array_discard(X) ->
     case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_float.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_float.snap
index 0db06d9e6e9..ddcdd3af75f 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_float.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_float.snap
@@ -15,7 +15,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec main() -> bitstring().
 main() ->
     B = 16,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_literal_string_constant_is_treated_as_utf8.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_literal_string_constant_is_treated_as_utf8.snap
index 1192f24c914..d184705a17a 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_literal_string_constant_is_treated_as_utf8.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_literal_string_constant_is_treated_as_utf8.snap
@@ -14,7 +14,7 @@ pub fn main() { a }
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec main() -> bitstring().
 main() ->
     <<"hello"/utf8, " "/utf8, "world"/utf8>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_literal_string_is_treated_as_utf8.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_literal_string_is_treated_as_utf8.snap
index fcbef902bea..db8dbe7d0a0 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_literal_string_is_treated_as_utf8.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_literal_string_is_treated_as_utf8.snap
@@ -14,7 +14,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> bitstring().
 main() ->
     <<"hello"/utf8, " "/utf8, "world"/utf8>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_literal_string_pattern_is_treated_as_utf8.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_literal_string_pattern_is_treated_as_utf8.snap
index b4448994af0..771fee2d43b 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_literal_string_pattern_is_treated_as_utf8.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__bit_array_literal_string_pattern_is_treated_as_utf8.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     case <<>> of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__discard_utf8_pattern.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__discard_utf8_pattern.snap
index 20c933059a6..865b974366d 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__discard_utf8_pattern.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__discard_utf8_pattern.snap
@@ -14,7 +14,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> bitstring().
 main() ->
     _assert_subject = <<>>,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__negative_size.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__negative_size.snap
index e52f4dd75a8..2d1ee1fa5c6 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__negative_size.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__negative_size.snap
@@ -15,7 +15,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> bitstring().
 main() ->
     <<1:0>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__unicode_bit_array_1.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__unicode_bit_array_1.snap
index aae533b97bf..67dcec266de 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__unicode_bit_array_1.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__unicode_bit_array_1.snap
@@ -15,7 +15,7 @@ expression: "\n    pub fn main() {\n        let emoji = \"\\u{1F600}\"\n
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> bitstring().
 main() ->
     Emoji = <<"\x{1F600}"/utf8>>,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__unicode_bit_array_2.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__unicode_bit_array_2.snap
index 9bb6f7449a9..58ae0f0ffcb 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__unicode_bit_array_2.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__bit_arrays__unicode_bit_array_2.snap
@@ -14,7 +14,7 @@ expression: "\n    pub fn main() {\n        let arr = <<\"\\u{1F600}\":utf8>>\n}
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> bitstring().
 main() ->
     Arr = <<"\x{1F600}"/utf8>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__alternative_pattern_variable_rewriting.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__alternative_pattern_variable_rewriting.snap
index de20f4705b5..3e3e78be5de 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__alternative_pattern_variable_rewriting.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__alternative_pattern_variable_rewriting.snap
@@ -21,7 +21,7 @@ pub fn myfun(mt) {
 
 -export([myfun/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec myfun(integer()) -> {ok, integer()} | {error, any()}.
 myfun(Mt) ->
     case Mt of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__negative_zero_pattern.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__negative_zero_pattern.snap
index 61f81b6e439..1642625e017 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__negative_zero_pattern.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__negative_zero_pattern.snap
@@ -18,7 +18,7 @@ pub fn main(x) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main(float()) -> integer().
 main(X) ->
     case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__not.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__not.snap
index 4627e8a59b0..5b53a31a365 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__not.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__not.snap
@@ -17,7 +17,7 @@ pub fn main(x, y) {
 
 -export([main/2]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec main(any(), boolean()) -> integer().
 main(X, Y) ->
     case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__not_two.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__not_two.snap
index 574b290cc76..a20f32d8016 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__not_two.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__not_two.snap
@@ -17,7 +17,7 @@ pub fn main(x, y) {
 
 -export([main/2]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec main(boolean(), boolean()) -> integer().
 main(X, Y) ->
     case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__positive_zero_pattern.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__positive_zero_pattern.snap
index 93e206a47c8..07eeee9e2e3 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__positive_zero_pattern.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__positive_zero_pattern.snap
@@ -18,7 +18,7 @@ pub fn main(x) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main(float()) -> integer().
 main(X) ->
     case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__spread_empty_list.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__spread_empty_list.snap
index 87746b61204..b191d9df9f0 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__spread_empty_list.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__spread_empty_list.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     case [] of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__spread_empty_list_assigning.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__spread_empty_list_assigning.snap
index 3d76b037ae5..5eceef2b197 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__spread_empty_list_assigning.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__case__spread_empty_list_assigning.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> list(any()).
 main() ->
     case [] of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__conditional_compilation__included_attribute_syntax.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__conditional_compilation__included_attribute_syntax.snap
index f6d2fb54f61..dd62cfcb33c 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__conditional_compilation__included_attribute_syntax.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__conditional_compilation__included_attribute_syntax.snap
@@ -13,7 +13,7 @@ expression: "@target(erlang)\n  pub fn main() { 1 }\n"
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     1.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__const_generalise.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__const_generalise.snap
index 065e00e0ca9..d4e923d29d9 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__const_generalise.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__const_generalise.snap
@@ -21,12 +21,12 @@ pub fn main(){
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec identity(I) -> I.
 identity(A) ->
     A.
 
--file("/root/project/test/my/mod.gleam", 8).
+-file("project/test/my/mod.gleam", 8).
 -spec main() -> binary().
 main() ->
     Num = identity(1),
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__pub_const_equal_to_private_function.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__pub_const_equal_to_private_function.snap
index 1809c68f251..2d872529fac 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__pub_const_equal_to_private_function.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__pub_const_equal_to_private_function.snap
@@ -17,7 +17,7 @@ expression: "\n          fn identity(a) {\n            a\n          }\n\n
 
 -export([identity/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec identity(I) -> I.
 identity(A) ->
     A.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__pub_const_equal_to_record_with_nested_private_function_field.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__pub_const_equal_to_record_with_nested_private_function_field.snap
index 27c59283e3f..f77b2a6c341 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__pub_const_equal_to_record_with_nested_private_function_field.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__pub_const_equal_to_record_with_nested_private_function_field.snap
@@ -30,7 +30,7 @@ expression: "\n          fn identity(a) {\n            a\n          }\n\n
 
 -type funcs(J) :: {funcs, mapper(J)}.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec identity(K) -> K.
 identity(A) ->
     A.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__pub_const_equal_to_record_with_private_function_field.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__pub_const_equal_to_record_with_private_function_field.snap
index 6d060d78133..16bf8ee6566 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__pub_const_equal_to_record_with_private_function_field.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__pub_const_equal_to_record_with_private_function_field.snap
@@ -24,7 +24,7 @@ expression: "\n          fn identity(a) {\n            a\n          }\n\n
 
 -type mapper(I) :: {mapper, fun((I) -> I)}.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec identity(J) -> J.
 identity(A) ->
     A.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__record_constructor.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__record_constructor.snap
index 2f5b3ae400f..027861b6fb1 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__record_constructor.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__record_constructor.snap
@@ -23,7 +23,7 @@ pub fn main() {
 
 -type x() :: {x, integer()}.
 
--file("/root/project/test/my/mod.gleam", 8).
+-file("project/test/my/mod.gleam", 8).
 -spec main() -> fun((integer()) -> x()).
 main() ->
     fun(Field@0) -> {x, Field@0} end.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__record_constructor_in_tuple.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__record_constructor_in_tuple.snap
index 80afd66b8cf..3698e0e1bc3 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__record_constructor_in_tuple.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__record_constructor_in_tuple.snap
@@ -23,7 +23,7 @@ pub fn main() {
 
 -type x() :: {x, integer()}.
 
--file("/root/project/test/my/mod.gleam", 8).
+-file("project/test/my/mod.gleam", 8).
 -spec main() -> {fun((integer()) -> x())}.
 main() ->
     {fun(Field@0) -> {x, Field@0} end}.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_private_in_internal.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_private_in_internal.snap
index 1fb6ad83b8a..19eea0d2889 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_private_in_internal.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_private_in_internal.snap
@@ -25,7 +25,7 @@ expression: "\n              fn identity(a) {\n                a\n
 
 -type mapper(I) :: {mapper, fun((I) -> I)}.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec identity(J) -> J.
 identity(A) ->
     A.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_private_in_list.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_private_in_list.snap
index b3ee1464dcc..52bb9fd18a6 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_private_in_list.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_private_in_list.snap
@@ -17,7 +17,7 @@ expression: "\n          fn identity(a) {\n            a\n          }\n\n
 
 -export([identity/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec identity(I) -> I.
 identity(A) ->
     A.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_private_in_tuple.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_private_in_tuple.snap
index 7bd7f394a63..b04a0c2940b 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_private_in_tuple.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_private_in_tuple.snap
@@ -17,7 +17,7 @@ expression: "\n          fn identity(a) {\n            a\n          }\n\n
 
 -export([identity/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec identity(I) -> I.
 identity(A) ->
     A.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_qualified_pub_const_equal_to_record_with_private_function_field.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_qualified_pub_const_equal_to_record_with_private_function_field.snap
index c11b210314c..62520a8003d 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_qualified_pub_const_equal_to_record_with_private_function_field.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_qualified_pub_const_equal_to_record_with_private_function_field.snap
@@ -24,7 +24,7 @@ expression: "\n              fn identity(a) {\n                a\n
 
 -type mapper(I) :: {mapper, fun((I) -> I)}.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec identity(J) -> J.
 identity(A) ->
     A.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_unqualified_pub_const_equal_to_private_function.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_unqualified_pub_const_equal_to_private_function.snap
index 47c891eddad..e5852e07206 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_unqualified_pub_const_equal_to_private_function.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_unqualified_pub_const_equal_to_private_function.snap
@@ -17,7 +17,7 @@ expression: "\n              fn identity(a) {\n                a\n
 
 -export([identity/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec identity(I) -> I.
 identity(A) ->
     A.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_unqualified_pub_const_equal_to_record_with_private_function_field.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_unqualified_pub_const_equal_to_record_with_private_function_field.snap
index c11b210314c..62520a8003d 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_unqualified_pub_const_equal_to_record_with_private_function_field.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__consts__use_unqualified_pub_const_equal_to_record_with_private_function_field.snap
@@ -24,7 +24,7 @@ expression: "\n              fn identity(a) {\n                a\n
 
 -type mapper(I) :: {mapper, fun((I) -> I)}.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec identity(J) -> J.
 identity(A) ->
     A.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__backslashes_are_escaped_in_module_comment.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__backslashes_are_escaped_in_module_comment.snap
index 507b5192660..068f9cfc3cc 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__backslashes_are_escaped_in_module_comment.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__backslashes_are_escaped_in_module_comment.snap
@@ -24,7 +24,7 @@ pub fn main() { 1 }
 
 ?MODULEDOC(" \\backslashes!\\\n").
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> integer().
 main() ->
     1.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__backslashes_in_documentation_are_escaped.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__backslashes_in_documentation_are_escaped.snap
index 48065cd78d9..7067c458e40 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__backslashes_in_documentation_are_escaped.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__backslashes_in_documentation_are_escaped.snap
@@ -21,7 +21,7 @@ pub fn documented() { 1 }
 -define(DOC(Str), -compile([])).
 -endif.
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 ?DOC(" \\hello\\\n").
 -spec documented() -> integer().
 documented() ->
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__double_quotes_are_escaped_in_module_comment.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__double_quotes_are_escaped_in_module_comment.snap
index 5833aaeee29..ca854a69b60 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__double_quotes_are_escaped_in_module_comment.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__double_quotes_are_escaped_in_module_comment.snap
@@ -24,7 +24,7 @@ pub fn main() { 1 }
 
 ?MODULEDOC(" \"quotes!\"\n").
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> integer().
 main() ->
     1.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__function_with_documentation.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__function_with_documentation.snap
index 218f9960a96..c8ebcfb7291 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__function_with_documentation.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__function_with_documentation.snap
@@ -21,7 +21,7 @@ pub fn documented() { 1 }
 -define(DOC(Str), -compile([])).
 -endif.
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 ?DOC(" Function doc!\n").
 -spec documented() -> integer().
 documented() ->
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__function_with_multiline_documentation.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__function_with_multiline_documentation.snap
index 6be7d5b247e..41718c626a0 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__function_with_multiline_documentation.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__function_with_multiline_documentation.snap
@@ -23,7 +23,7 @@ pub fn documented() { 1 }
 -define(DOC(Str), -compile([])).
 -endif.
 
--file("/root/project/test/my/mod.gleam", 5).
+-file("project/test/my/mod.gleam", 5).
 ?DOC(
     " Function doc!\n"
     " Hello!!\n"
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__internal_function_has_no_documentation.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__internal_function_has_no_documentation.snap
index d73e21a4172..ecb574b39ef 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__internal_function_has_no_documentation.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__internal_function_has_no_documentation.snap
@@ -22,7 +22,7 @@ pub fn main() { 1 }
 -define(DOC(Str), -compile([])).
 -endif.
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 ?DOC(false).
 -spec main() -> integer().
 main() ->
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__multi_line_module_comment.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__multi_line_module_comment.snap
index 78bb5e19353..5cb64200ce4 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__multi_line_module_comment.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__multi_line_module_comment.snap
@@ -30,7 +30,7 @@ pub fn main() { 1 }
     "\n"
 ).
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec main() -> integer().
 main() ->
     1.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__quotes_in_documentation_are_escaped.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__quotes_in_documentation_are_escaped.snap
index 486a4e86602..4db72720781 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__quotes_in_documentation_are_escaped.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__quotes_in_documentation_are_escaped.snap
@@ -21,7 +21,7 @@ pub fn documented() { 1 }
 -define(DOC(Str), -compile([])).
 -endif.
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 ?DOC(" \"hello\"\n").
 -spec documented() -> integer().
 documented() ->
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__single_line_module_comment.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__single_line_module_comment.snap
index d5e86a1e3bd..ed5233d059e 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__single_line_module_comment.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__documentation__single_line_module_comment.snap
@@ -24,7 +24,7 @@ pub fn main() { 1 }
 
 ?MODULEDOC(" Hello! This is a single line module comment.\n").
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> integer().
 main() ->
     1.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__attribute_erlang.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__attribute_erlang.snap
index be64c4eee62..b753dc14ff1 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__attribute_erlang.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__attribute_erlang.snap
@@ -16,7 +16,7 @@ pub fn one(x: Int) -> Int {
 
 -export([one/1]).
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec one(integer()) -> integer().
 one(X) ->
     one:one(X).
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__attribute_javascript.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__attribute_javascript.snap
index 9d02310e846..7f18585b1a2 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__attribute_javascript.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__attribute_javascript.snap
@@ -16,7 +16,7 @@ pub fn one(x: Int) -> Int {
 
 -export([one/1]).
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec one(integer()) -> integer().
 one(X) ->
     erlang:error(#{gleam_error => todo,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__both_externals_no_valid_impl.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__both_externals_no_valid_impl.snap
index d5c4564d71b..f947ee083bf 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__both_externals_no_valid_impl.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__both_externals_no_valid_impl.snap
@@ -22,7 +22,7 @@ pub fn should_not_be_generated() {
 
 -export([erl/0]).
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec erl() -> nil.
 erl() ->
     one:one().
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__discarded_arg_in_external_are_passed_correctly.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__discarded_arg_in_external_are_passed_correctly.snap
index cc2c5a5f3bd..247b8b2cff7 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__discarded_arg_in_external_are_passed_correctly.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__discarded_arg_in_external_are_passed_correctly.snap
@@ -14,7 +14,7 @@ pub fn woo(_a: a) -> Nil
 
 -export([woo/1]).
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec woo(any()) -> nil.
 woo(_a) ->
     wibble:wobble(_a).
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__elixir.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__elixir.snap
index 50abcb57e71..ed177937f4c 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__elixir.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__elixir.snap
@@ -18,7 +18,7 @@ fn do() -> Int
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> {fun(() -> integer()), integer()}.
 main() ->
     {fun 'Elixir.String':main/0, 'Elixir.String':main()}.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__erlang_and_javascript.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__erlang_and_javascript.snap
index a7d9dfa885e..e8919421de8 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__erlang_and_javascript.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__erlang_and_javascript.snap
@@ -17,7 +17,7 @@ pub fn one(x: Int) -> Int {
 
 -export([one/1]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec one(integer()) -> integer().
 one(X) ->
     one:one(X).
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__inlining_external_functions_from_another_module.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__inlining_external_functions_from_another_module.snap
index 55c700ec1fd..58b14d5b80d 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__inlining_external_functions_from_another_module.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__inlining_external_functions_from_another_module.snap
@@ -15,7 +15,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> binary().
 main() ->
     erlang:binary_to_atom(<<"ok"/utf8>>).
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__integration_test1_3.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__integration_test1_3.snap
index 8cd543c48d7..4c85174e43c 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__integration_test1_3.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__integration_test1_3.snap
@@ -14,7 +14,7 @@ pub fn run() -> Int
 
 -export([run/0]).
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec run() -> integer().
 run() ->
     'Elixir.MyApp':run().
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__integration_test7.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__integration_test7.snap
index 045080bd2bb..0a112f66e74 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__integration_test7.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__integration_test7.snap
@@ -15,12 +15,12 @@ pub fn catch(x) { receive() }
 
 -export(['receive'/0, 'catch'/1]).
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec 'receive'() -> integer().
 'receive'() ->
     'try':'and'().
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec 'catch'(any()) -> integer().
 'catch'(X) ->
     'try':'and'().
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__javascript_only.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__javascript_only.snap
index 52f76428b11..a8b5f11dffc 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__javascript_only.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__javascript_only.snap
@@ -18,7 +18,7 @@ pub fn should_not_be_generated(x: Int) -> Int
 
 -export([should_be_generated/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec should_be_generated(integer()) -> integer().
 should_be_generated(X) ->
     X.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__javascript_only_indirect.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__javascript_only_indirect.snap
index 3a6d7cfb4ea..60a97de28b0 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__javascript_only_indirect.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__javascript_only_indirect.snap
@@ -23,7 +23,7 @@ pub fn also_should_not_be_generated() {
 
 -export([should_be_generated/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec should_be_generated(integer()) -> integer().
 should_be_generated(X) ->
     X.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__multiple_discarded_args_in_external_are_passed_correctly.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__multiple_discarded_args_in_external_are_passed_correctly.snap
index 41412219a83..9cc3ced7e47 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__multiple_discarded_args_in_external_are_passed_correctly.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__multiple_discarded_args_in_external_are_passed_correctly.snap
@@ -14,7 +14,7 @@ pub fn woo(_: a, _: b) -> Nil
 
 -export([woo/2]).
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec woo(any(), any()) -> nil.
 woo(Argument, Argument@1) ->
     wibble:wobble(Argument, Argument@1).
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__multiple_discarded_args_in_external_are_passed_correctly_2.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__multiple_discarded_args_in_external_are_passed_correctly_2.snap
index dc55d2e0293..91fb95ecfca 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__multiple_discarded_args_in_external_are_passed_correctly_2.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__multiple_discarded_args_in_external_are_passed_correctly_2.snap
@@ -14,7 +14,7 @@ pub fn woo(__: a, _two: b) -> Nil
 
 -export([woo/2]).
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec woo(any(), any()) -> nil.
 woo(Argument, _two) ->
     wibble:wobble(Argument, _two).
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__no_body.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__no_body.snap
index d1ec8246439..ff44cf3f1c4 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__no_body.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__no_body.snap
@@ -14,7 +14,7 @@ pub fn one(x: Int) -> Int
 
 -export([one/1]).
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec one(integer()) -> integer().
 one(X) ->
     one:one(X).
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__private.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__private.snap
index b7cc8e04cdd..954ac2ece9d 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__private.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__private.snap
@@ -18,7 +18,7 @@ fn do() -> Int
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     library:main().
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__private_external_function_calls.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__private_external_function_calls.snap
index 63abf4c88a7..0ec298dd5d0 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__private_external_function_calls.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__private_external_function_calls.snap
@@ -15,7 +15,7 @@ pub fn x() { go(x: 1, y: 2) go(y: 3, x: 4) }
 
 -export([x/0]).
 
--file("/root/project/test/my/mod.gleam", 5).
+-file("project/test/my/mod.gleam", 5).
 -spec x() -> integer().
 x() ->
     m:f(1, 2),
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__private_local_function_references.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__private_local_function_references.snap
index f51c956f80c..212286ef6f2 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__private_local_function_references.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__private_local_function_references.snap
@@ -15,7 +15,7 @@ pub fn x() { go }
 
 -export([x/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec x() -> fun((integer(), integer()) -> integer()).
 x() ->
     fun m:f/2.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__public_elixir.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__public_elixir.snap
index 3416e713315..644c399055d 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__public_elixir.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__public_elixir.snap
@@ -14,7 +14,7 @@ pub fn do() -> Int
 
 -export([do/0]).
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec do() -> integer().
 do() ->
     'Elixir.String':main().
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__public_local_function_calls.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__public_local_function_calls.snap
index 904808d8d9b..6d3a1fd3be5 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__public_local_function_calls.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__public_local_function_calls.snap
@@ -15,12 +15,12 @@ fn x() { go(x: 1, y: 2) go(y: 3, x: 4) }
 
 -export([go/2]).
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec go(integer(), integer()) -> integer().
 go(X, Y) ->
     m:f(X, Y).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec x() -> integer().
 x() ->
     m:f(1, 2),
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__unqualified_inlining_external_functions_from_another_module.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__unqualified_inlining_external_functions_from_another_module.snap
index f72c5c781f9..082aca4549f 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__unqualified_inlining_external_functions_from_another_module.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__external_fn__unqualified_inlining_external_functions_from_another_module.snap
@@ -15,7 +15,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> binary().
 main() ->
     erlang:binary_to_atom(<<"ok"/utf8>>).
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__function_as_value.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__function_as_value.snap
index c2643e8cdf9..1d6dc6b6c3e 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__function_as_value.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__function_as_value.snap
@@ -19,12 +19,12 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec other() -> nil.
 other() ->
     nil.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec main() -> fun(() -> nil).
 main() ->
     fun other/0.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__function_called.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__function_called.snap
index b22e44e45d8..19e57d9c8c5 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__function_called.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__function_called.snap
@@ -15,7 +15,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> any().
 main() ->
     main().
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__labelled_argument_ordering.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__labelled_argument_ordering.snap
index 0ac114f19da..f049a4d5886 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__labelled_argument_ordering.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__labelled_argument_ordering.snap
@@ -40,12 +40,12 @@ pub fn main() {
 
 -type d() :: d.
 
--file("/root/project/test/my/mod.gleam", 7).
+-file("project/test/my/mod.gleam", 7).
 -spec wibble(a(), b(), c(), d()) -> nil.
 wibble(A, B, C, D) ->
     nil.
 
--file("/root/project/test/my/mod.gleam", 11).
+-file("project/test/my/mod.gleam", 11).
 -spec main() -> nil.
 main() ->
     wibble(a, b, c, d),
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_aliased_imported_function_as_value.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_aliased_imported_function_as_value.snap
index b5957e51d18..3e9518eadf4 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_aliased_imported_function_as_value.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_aliased_imported_function_as_value.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> fun(() -> nil).
 main() ->
     fun some@other:wibble/0.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_aliased_imported_function_called.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_aliased_imported_function_called.snap
index 8d87a43cc38..79abc80da94 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_aliased_imported_function_called.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_aliased_imported_function_called.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> nil.
 main() ->
     some@other:wibble().
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_imported_function_as_value.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_imported_function_as_value.snap
index dd41c5f3e78..9808064a9d7 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_imported_function_as_value.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_imported_function_as_value.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> fun(() -> nil).
 main() ->
     fun some@other:wibble/0.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_imported_function_called.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_imported_function_called.snap
index eb293a9c0b7..111a40dd31b 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_imported_function_called.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_imported_function_called.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> nil.
 main() ->
     some@other:wibble().
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_unqualified_imported_function_as_value.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_unqualified_imported_function_as_value.snap
index d41b8b0f6ca..04eb4ab272a 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_unqualified_imported_function_as_value.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_unqualified_imported_function_as_value.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> fun(() -> nil).
 main() ->
     fun some@other:wibble/0.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_unqualified_imported_function_called.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_unqualified_imported_function_called.snap
index 7cd16b23911..b8b8d280e3d 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_unqualified_imported_function_called.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__functions__nested_unqualified_imported_function_called.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> nil.
 main() ->
     some@other:wibble().
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards.snap
index 11ac13067e9..ba7201f6dae 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards.snap
@@ -18,7 +18,7 @@ pub fn main(args) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main(any()) -> integer().
 main(Args) ->
     case Args of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards20.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards20.snap
index 7b47ad3e75c..c57de705ea4 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards20.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards20.snap
@@ -19,7 +19,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     X = 0.123,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards21.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards21.snap
index 6d50bbbabc4..df1b035793d 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards21.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards21.snap
@@ -18,7 +18,7 @@ pub fn main(x) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main(list(integer())) -> integer().
 main(X) ->
     case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards22.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards22.snap
index 86121a53b66..2e521de2ef0 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards22.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards22.snap
@@ -19,7 +19,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     X = 0,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards23.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards23.snap
index 3996c47ce13..a0f1ffd35e7 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards23.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards23.snap
@@ -19,7 +19,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     X = {1, 2, 3},
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards24.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards24.snap
index 3f7b0a775c6..ff1718c3e85 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards24.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards24.snap
@@ -20,7 +20,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     X = {1, 2, 3},
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards25.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards25.snap
index dfe67cfad69..857a21441c0 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards25.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards25.snap
@@ -19,7 +19,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     X = 0,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards26.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards26.snap
index 1e2e3bc2559..6458e6f2750 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards26.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards26.snap
@@ -19,7 +19,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     X = 0,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards27.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards27.snap
index 17ab2c54433..24fac6e6461 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards27.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards27.snap
@@ -18,7 +18,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     case <<"test"/utf8>> of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards28.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards28.snap
index 5ce247d96bf..256e2ad6745 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards28.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards28.snap
@@ -25,7 +25,7 @@ expression: "\n    type Test { Test(x: Int, y: Float) }\n    pub fn main() {\n
 
 -type test() :: {test, integer(), float()}.
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec main() -> integer().
 main() ->
     X = {test, 1, 3.0},
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards29.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards29.snap
index 1bed2900d9f..5a3d3bf7869 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards29.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards29.snap
@@ -18,7 +18,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     case {0.1, 1.0} of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards30.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards30.snap
index 2cff2843f02..4d2212cea01 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards30.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards30.snap
@@ -18,7 +18,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     case {0.1, 1.0} of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards31.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards31.snap
index a4e920f1c5b..90651d84271 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards31.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards31.snap
@@ -18,7 +18,7 @@ pub fn main(args) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main(list(boolean())) -> integer().
 main(Args) ->
     case Args of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_1.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_1.snap
index 10deded57ed..eb49f24dcc8 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_1.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_1.snap
@@ -18,7 +18,7 @@ pub fn main(args) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main(any()) -> integer().
 main(Args) ->
     case Args of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_10.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_10.snap
index cfa9fb8cc65..2c214f63a20 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_10.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_10.snap
@@ -19,7 +19,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     X = 0.123,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_2.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_2.snap
index 9bef50ff0aa..283027dcf9b 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_2.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_2.snap
@@ -18,7 +18,7 @@ pub fn main(args) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main(boolean()) -> integer().
 main(Args) ->
     case Args of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_3.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_3.snap
index 22d3d51cd17..db8b86819ac 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_3.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_3.snap
@@ -18,7 +18,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     case {1, 0} of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_4.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_4.snap
index 1df429ef502..1de355a7463 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_4.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_4.snap
@@ -18,7 +18,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     case {1, 0} of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_5.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_5.snap
index 8e49bb9e519..52ef3290be4 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_5.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_5.snap
@@ -18,7 +18,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     case {1, 0} of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_6.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_6.snap
index 51d99653a12..62ad0d2e61b 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_6.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_6.snap
@@ -18,7 +18,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     case {1, 0} of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_7.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_7.snap
index 446f9833279..2eb37993c5c 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_7.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_7.snap
@@ -18,7 +18,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     case {1.0, 0.1} of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_8.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_8.snap
index 12785da2075..52a69804910 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_8.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_8.snap
@@ -18,7 +18,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     case {1.0, 0.1} of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_9.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_9.snap
index 0a8924bdb25..4abe5ec656e 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_9.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__clause_guards_9.snap
@@ -19,7 +19,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     X = 0.123,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__constants_in_guards.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__constants_in_guards.snap
index 42818b69ebf..ea12b828be2 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__constants_in_guards.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__constants_in_guards.snap
@@ -25,7 +25,7 @@ pub fn main(arg) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 8).
+-file("project/test/my/mod.gleam", 8).
 -spec main({{integer(), float(), binary()}, binary(), float(), integer()}) -> integer().
 main(Arg) ->
     _ = [1, 2, 3],
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__constants_in_guards1.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__constants_in_guards1.snap
index 98d418a3a61..459c71a952b 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__constants_in_guards1.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__constants_in_guards1.snap
@@ -20,7 +20,7 @@ pub fn main(arg) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main(list(integer())) -> integer().
 main(Arg) ->
     case Arg of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__field_access.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__field_access.snap
index 1096c06ca65..5f0c576c510 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__field_access.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__field_access.snap
@@ -28,7 +28,7 @@ expression: "\n        pub type Person {\n          Person(username: String, nam
 
 -type person() :: {person, binary(), binary(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec main() -> binary().
 main() ->
     Given_name = <<"jack"/utf8>>,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_access.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_access.snap
index f905fec2f97..cb71a2e280a 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_access.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_access.snap
@@ -20,7 +20,7 @@ expression: "\n          import hero\n          pub fn main() {\n            let
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec main() -> boolean().
 main() ->
     Name = <<"Tony Stark"/utf8>>,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_list_access.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_list_access.snap
index de48eb91dfe..51f7c4483f0 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_list_access.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_list_access.snap
@@ -20,7 +20,7 @@ expression: "\n          import hero\n          pub fn main() {\n            let
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec main() -> boolean().
 main() ->
     Names = [<<"Tony Stark"/utf8>>, <<"Bruce Wayne"/utf8>>],
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_nested_access.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_nested_access.snap
index baa66be2f7d..a2862af7954 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_nested_access.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_nested_access.snap
@@ -20,7 +20,7 @@ expression: "\n          import hero\n          pub fn main() {\n            let
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec main() -> boolean().
 main() ->
     Name = <<"Bruce Wayne"/utf8>>,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_string_access.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_string_access.snap
index 7db5c8f5b18..aff87c478d0 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_string_access.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_string_access.snap
@@ -20,7 +20,7 @@ expression: "\n          import hero\n          pub fn main() {\n            let
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec main() -> boolean().
 main() ->
     Name = <<"Tony Stark"/utf8>>,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_tuple_access.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_tuple_access.snap
index ce519c105c6..cc919aea30f 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_tuple_access.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__module_tuple_access.snap
@@ -20,7 +20,7 @@ expression: "\n          import hero\n          pub fn main() {\n            let
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec main() -> boolean().
 main() ->
     Name = <<"Tony Stark"/utf8>>,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__nested_record_access.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__nested_record_access.snap
index 7ba7d6a91a5..4b8ef3c96c2 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__nested_record_access.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__nested_record_access.snap
@@ -37,7 +37,7 @@ pub fn a(a: A) {
 
 -type c() :: {c, boolean()}.
 
--file("/root/project/test/my/mod.gleam", 14).
+-file("project/test/my/mod.gleam", 14).
 -spec a(a()) -> integer().
 a(A) ->
     case A of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__only_guards.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__only_guards.snap
index c1aab109ec3..873c0ee06d3 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__only_guards.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__only_guards.snap
@@ -20,7 +20,7 @@ pub fn main(arg) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main(binary()) -> integer().
 main(Arg) ->
     case Arg of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__only_guards1.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__only_guards1.snap
index 20bc1f3403b..bc1dc90f897 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__only_guards1.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__only_guards1.snap
@@ -20,7 +20,7 @@ pub fn main(arg) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main(bitstring()) -> integer().
 main(Arg) ->
     case Arg of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__only_guards2.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__only_guards2.snap
index 07c6b0d2a59..e75f17e123b 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__only_guards2.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__only_guards2.snap
@@ -20,7 +20,7 @@ pub fn main(arg) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main({integer(), float()}) -> integer().
 main(Arg) ->
     case Arg of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__only_guards3.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__only_guards3.snap
index b588092f5ec..3d4ef7a829a 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__only_guards3.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__guards__only_guards3.snap
@@ -20,7 +20,7 @@ pub fn main(arg) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main(float()) -> integer().
 main(Arg) ->
     case Arg of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__message.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__message.snap
index 72716711fcc..4dff781e0bb 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__message.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__message.snap
@@ -16,7 +16,7 @@ pub fn unwrap_or_panic(value) {
 
 -export([unwrap_or_panic/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec unwrap_or_panic({ok, K} | {error, any()}) -> K.
 unwrap_or_panic(Value) ->
     {ok, Inner} = case Value of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__more_than_one_var.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__more_than_one_var.snap
index 7a956dba765..f8347555778 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__more_than_one_var.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__more_than_one_var.snap
@@ -14,7 +14,7 @@ pub fn go(x) {
 
 -export([go/1]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec go(list(integer())) -> list(integer()).
 go(X) ->
     [1, A, B, C] = case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__one_var.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__one_var.snap
index 96db2fd9c58..56d9461732b 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__one_var.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__one_var.snap
@@ -14,7 +14,7 @@ pub fn go() {
 
 -export([go/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec go() -> integer().
 go() ->
     _assert_subject = {ok, 1},
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__pattern_let.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__pattern_let.snap
index ac49f55e96c..b62bd46ebdc 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__pattern_let.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__pattern_let.snap
@@ -14,7 +14,7 @@ pub fn go(x) {
 
 -export([go/1]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec go(list(integer())) -> list(integer()).
 go(X) ->
     [1 = A, B, C] = case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__variable_message.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__variable_message.snap
index 5e2894af032..283f28dc040 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__variable_message.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__variable_message.snap
@@ -16,7 +16,7 @@ pub fn expect(value, message) {
 
 -export([expect/2]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec expect({ok, L} | {error, any()}, binary()) -> L.
 expect(Value, Message) ->
     {ok, Inner} = case Value of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__variable_rewrites.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__variable_rewrites.snap
index dae2e2c9107..b149fb5dca2 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__variable_rewrites.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__let_assert__variable_rewrites.snap
@@ -15,7 +15,7 @@ pub fn go() {
 
 -export([go/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec go() -> integer().
 go() ->
     _assert_subject = {ok, 1},
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__int_negation.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__int_negation.snap
index 06d8a107608..013e250906e 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__int_negation.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__int_negation.snap
@@ -16,7 +16,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     A = 3,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__numbers_with_scientific_notation.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__numbers_with_scientific_notation.snap
index bca10215101..ff578559b59 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__numbers_with_scientific_notation.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__numbers_with_scientific_notation.snap
@@ -1,7 +1,6 @@
 ---
 source: compiler-core/src/erlang/tests/numbers.rs
 expression: "\nconst i = 100.001e223\nconst j = -100.001e-223\n\npub fn main() {\n  i\n  j\n}\n"
-snapshot_kind: text
 ---
 ----- SOURCE CODE
 
@@ -20,7 +19,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 5).
+-file("project/test/my/mod.gleam", 5).
 -spec main() -> float().
 main() ->
     100.001e223,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__numbers_with_underscores.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__numbers_with_underscores.snap
index 92a40014a4e..ca7fbdc2d84 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__numbers_with_underscores.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__numbers_with_underscores.snap
@@ -16,7 +16,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> float().
 main() ->
     100000,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__numbers_with_underscores1.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__numbers_with_underscores1.snap
index a6d50748867..cdfcdaebd00 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__numbers_with_underscores1.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__numbers_with_underscores1.snap
@@ -18,7 +18,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> float().
 main() ->
     100000,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__numbers_with_underscores2.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__numbers_with_underscores2.snap
index b48d20a4e8f..66af9824bee 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__numbers_with_underscores2.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__numbers_with_underscores2.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     _assert_subject = 1,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__repeated_int_negation.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__repeated_int_negation.snap
index 54c12bd21ff..32cd7040ddc 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__repeated_int_negation.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__repeated_int_negation.snap
@@ -16,7 +16,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     A = 3,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__zero_b_in_hex.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__zero_b_in_hex.snap
index 0edceacf6c7..41b4d8bde6f 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__zero_b_in_hex.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__numbers__zero_b_in_hex.snap
@@ -15,7 +15,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     16#ffe0bb.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__panic_as.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__panic_as.snap
index c818dee3614..477712b86ce 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__panic_as.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__panic_as.snap
@@ -15,7 +15,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> any().
 main() ->
     erlang:error(#{gleam_error => panic,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__panic_as_function.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__panic_as_function.snap
index 43e1027df22..27ffe64b00c 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__panic_as_function.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__panic_as_function.snap
@@ -18,12 +18,12 @@ pub fn main() {
 
 -export([retstring/0, main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec retstring() -> binary().
 retstring() ->
     <<"wibble"/utf8>>.
 
--file("/root/project/test/my/mod.gleam", 5).
+-file("project/test/my/mod.gleam", 5).
 -spec main() -> any().
 main() ->
     erlang:error(#{gleam_error => panic,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__piped.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__piped.snap
index 84e15b36570..291631a674f 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__piped.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__piped.snap
@@ -16,7 +16,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> any().
 main() ->
     _pipe = <<"lets"/utf8>>,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__piped_chain.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__piped_chain.snap
index 59b8d50befc..ab88f536dc3 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__piped_chain.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__piped_chain.snap
@@ -17,7 +17,7 @@ expression: "\n     pub fn main() {\n      \"lets\"\n      |> panic as \"pipe\"\
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> any().
 main() ->
     _pipe = <<"lets"/utf8>>,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__plain.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__plain.snap
index e8b0f4f3b2d..cf275c17d27 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__plain.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__panic__plain.snap
@@ -15,7 +15,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> any().
 main() ->
     erlang:error(#{gleam_error => panic,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__alternative_patterns.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__alternative_patterns.snap
index f4fd1e4e804..aadf260c6d1 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__alternative_patterns.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__alternative_patterns.snap
@@ -22,7 +22,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     Duplicate_name = 1,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__alternative_patterns1.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__alternative_patterns1.snap
index bb733e8bf45..24391d2d993 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__alternative_patterns1.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__alternative_patterns1.snap
@@ -16,7 +16,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     case {ok, 1} of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__alternative_patterns2.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__alternative_patterns2.snap
index b96332a70ce..2b536d74bef 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__alternative_patterns2.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__alternative_patterns2.snap
@@ -19,7 +19,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     Duplicate_name = 1,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__alternative_patterns3.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__alternative_patterns3.snap
index 96eb98c6d40..b15ab02b105 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__alternative_patterns3.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__alternative_patterns3.snap
@@ -21,7 +21,7 @@ pub fn main(arg) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main({ok, integer()} | {error, any()}) -> integer().
 main(Arg) ->
     _ = {ok, 1},
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__pattern_as.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__pattern_as.snap
index f7f129c53ee..4ba1841cf2e 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__pattern_as.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__pattern_as.snap
@@ -16,7 +16,7 @@ pub fn a(x) {
 
 -export([a/1]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec a({ok, integer()} | {error, any()}) -> integer().
 a(X) ->
     case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__string_prefix_as_pattern_with_assertion.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__string_prefix_as_pattern_with_assertion.snap
index 68366bb79f3..bc2ede8e317 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__string_prefix_as_pattern_with_assertion.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__string_prefix_as_pattern_with_assertion.snap
@@ -14,7 +14,7 @@ pub fn a(x) {
 
 -export([a/1]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec a(any()) -> binary().
 a(X) ->
     _assert_subject = <<"wibble"/utf8>>,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__string_prefix_as_pattern_with_list.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__string_prefix_as_pattern_with_list.snap
index 43508eae89c..915927f7e8c 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__string_prefix_as_pattern_with_list.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__string_prefix_as_pattern_with_list.snap
@@ -16,7 +16,7 @@ pub fn a(x) {
 
 -export([a/1]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec a(list(binary())) -> binary().
 a(X) ->
     case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__string_prefix_as_pattern_with_multiple_subjects.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__string_prefix_as_pattern_with_multiple_subjects.snap
index c2235cc1930..84f5716b6b0 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__string_prefix_as_pattern_with_multiple_subjects.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__string_prefix_as_pattern_with_multiple_subjects.snap
@@ -16,7 +16,7 @@ pub fn a(x) {
 
 -export([a/1]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec a(binary()) -> binary().
 a(X) ->
     case {X, X} of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__string_prefix_as_pattern_with_multiple_subjects_and_guard.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__string_prefix_as_pattern_with_multiple_subjects_and_guard.snap
index ce4ed015a7d..ad9e2f7dd07 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__string_prefix_as_pattern_with_multiple_subjects_and_guard.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__patterns__string_prefix_as_pattern_with_multiple_subjects_and_guard.snap
@@ -16,7 +16,7 @@ pub fn a(x) {
 
 -export([a/1]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec a(binary()) -> binary().
 a(X) ->
     case {X, X} of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__block_expr_into_pipe.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__block_expr_into_pipe.snap
index b8448a7622a..8350e4e0b89 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__block_expr_into_pipe.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__block_expr_into_pipe.snap
@@ -18,12 +18,12 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec id(I) -> I.
 id(A) ->
     A.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     _pipe = begin
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__call_pipeline_result.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__call_pipeline_result.snap
index 93299d4cc15..30695ab0f94 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__call_pipeline_result.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__call_pipeline_result.snap
@@ -19,12 +19,12 @@ pub fn add(x) {
 
 -export([add/1, main/0]).
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec add(integer()) -> fun((integer()) -> integer()).
 add(X) ->
     fun(Y) -> X + Y end.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     begin
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__clever_pipe_rewriting.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__clever_pipe_rewriting.snap
index 92f54356202..6eb2f070644 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__clever_pipe_rewriting.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__clever_pipe_rewriting.snap
@@ -13,7 +13,7 @@ pub fn apply(f: fn(a) -> b, a: a) { a |> f }
 
 -export([apply/2]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec apply(fun((I) -> J), I) -> J.
 apply(F, A) ->
     _pipe = A,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__clever_pipe_rewriting1.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__clever_pipe_rewriting1.snap
index 6086b527c1d..5e336148976 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__clever_pipe_rewriting1.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__clever_pipe_rewriting1.snap
@@ -13,7 +13,7 @@ pub fn apply(f: fn(a, Int) -> b, a: a) { a |> f(1) }
 
 -export([apply/2]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec apply(fun((I, integer()) -> J), I) -> J.
 apply(F, A) ->
     _pipe = A,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_call.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_call.snap
index eda036af19b..64321563115 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_call.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_call.snap
@@ -23,12 +23,12 @@ pub fn two(a, b) {
 
 -export([two/2, main/0]).
 
--file("/root/project/test/my/mod.gleam", 10).
+-file("project/test/my/mod.gleam", 10).
 -spec two(J, any()) -> J.
 two(A, B) ->
     A.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     _pipe = 123,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_case_subject.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_case_subject.snap
index 5f722cf9c60..7ac0e698d05 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_case_subject.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_case_subject.snap
@@ -15,7 +15,7 @@ pub fn x(f) {
 
 -export([x/1]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec x(fun((integer()) -> L)) -> L.
 x(F) ->
     case begin
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_eq.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_eq.snap
index ddb9a0fa34c..3729cfaeea2 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_eq.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_eq.snap
@@ -17,12 +17,12 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec id(I) -> I.
 id(X) ->
     X.
 
--file("/root/project/test/my/mod.gleam", 5).
+-file("project/test/my/mod.gleam", 5).
 -spec main() -> boolean().
 main() ->
     1 =:= begin
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_list.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_list.snap
index 3198f44388a..b7fb59744af 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_list.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_list.snap
@@ -15,7 +15,7 @@ pub fn x(f) {
 
 -export([x/1]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec x(fun((integer()) -> L)) -> list(L).
 x(F) ->
     [begin
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_record_update.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_record_update.snap
index da9723b95ce..9affe08d958 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_record_update.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_record_update.snap
@@ -24,12 +24,12 @@ pub fn main(x) {
 
 -type x() :: {x, integer(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 5).
+-file("project/test/my/mod.gleam", 5).
 -spec id(I) -> I.
 id(X) ->
     X.
 
--file("/root/project/test/my/mod.gleam", 9).
+-file("project/test/my/mod.gleam", 9).
 -spec main(x()) -> x().
 main(X) ->
     _record = X,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_tuple.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_tuple.snap
index 3120459b20a..3643d101cd9 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_tuple.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__pipes__pipe_in_tuple.snap
@@ -15,7 +15,7 @@ pub fn x(f) {
 
 -export([x/1]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec x(fun((integer()) -> K)) -> {K}.
 x(F) ->
     {begin
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__imported_qualified_constructor_as_fn_name_escape.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__imported_qualified_constructor_as_fn_name_escape.snap
index 2c307ac82a6..2a05caeac2e 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__imported_qualified_constructor_as_fn_name_escape.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__imported_qualified_constructor_as_fn_name_escape.snap
@@ -15,7 +15,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec main() -> fun((integer()) -> other_module:'let'()).
 main() ->
     fun(Field@0) -> {'let', Field@0} end.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__nested_record_update.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__nested_record_update.snap
index dc913e1a24a..3ad08a028e1 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__nested_record_update.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__nested_record_update.snap
@@ -27,7 +27,7 @@ pub fn main() {
 
 -type wobble() :: {wobble, integer(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 9).
+-file("project/test/my/mod.gleam", 9).
 -spec main() -> wibble().
 main() ->
     Base = {wibble, 1, {wobble, 2, 3}, 4},
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__nested_record_update_with_blocks.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__nested_record_update_with_blocks.snap
index 783c6d18b14..ec5cdc71f8e 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__nested_record_update_with_blocks.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__nested_record_update_with_blocks.snap
@@ -28,7 +28,7 @@ pub fn main(a: A) {
 
 -type c() :: {c, integer()}.
 
--file("/root/project/test/my/mod.gleam", 5).
+-file("project/test/my/mod.gleam", 5).
 -spec main(a()) -> a().
 main(A) ->
     _record = A,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__pipe_update_subject.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__pipe_update_subject.snap
index 855768cb164..9a58b49d2c6 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__pipe_update_subject.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__pipe_update_subject.snap
@@ -23,12 +23,12 @@ pub fn main() {
 
 -type thing() :: {thing, integer(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 5).
+-file("project/test/my/mod.gleam", 5).
 -spec identity(I) -> I.
 identity(X) ->
     X.
 
--file("/root/project/test/my/mod.gleam", 7).
+-file("project/test/my/mod.gleam", 7).
 -spec main() -> thing().
 main() ->
     Thing = {thing, 1, 2},
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_access_block.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_access_block.snap
index eed6fa6c22d..9335a48900e 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_access_block.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_access_block.snap
@@ -23,7 +23,7 @@ pub fn main() {
 
 -type thing() :: {thing, integer(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 5).
+-file("project/test/my/mod.gleam", 5).
 -spec main() -> integer().
 main() ->
     erlang:element(
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessor_multiple_variants.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessor_multiple_variants.snap
index cb97f248134..f255dd4e493 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessor_multiple_variants.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessor_multiple_variants.snap
@@ -19,7 +19,7 @@ pub fn get_name(person: Person) { person.name }
 
 -type person() :: {teacher, binary(), binary()} | {student, binary(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec get_name(person()) -> binary().
 get_name(Person) ->
     erlang:element(2, Person).
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessor_multiple_variants_parameterised_types.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessor_multiple_variants_parameterised_types.snap
index 600eb0a48d0..c52c2ee44bb 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessor_multiple_variants_parameterised_types.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessor_multiple_variants_parameterised_types.snap
@@ -21,12 +21,12 @@ pub fn get_age(person: Person) { person.age }
 -type person() :: {teacher, binary(), list(integer()), binary()} |
     {student, binary(), list(integer())}.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec get_name(person()) -> binary().
 get_name(Person) ->
     erlang:element(2, Person).
 
--file("/root/project/test/my/mod.gleam", 7).
+-file("project/test/my/mod.gleam", 7).
 -spec get_age(person()) -> list(integer()).
 get_age(Person) ->
     erlang:element(3, Person).
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessor_multiple_variants_positions_other_than_first.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessor_multiple_variants_positions_other_than_first.snap
index 413245ccd39..8457c060c92 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessor_multiple_variants_positions_other_than_first.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessor_multiple_variants_positions_other_than_first.snap
@@ -21,12 +21,12 @@ pub fn get_age(person: Person) { person.age }
 -type person() :: {teacher, binary(), integer(), binary()} |
     {student, binary(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec get_name(person()) -> binary().
 get_name(Person) ->
     erlang:element(2, Person).
 
--file("/root/project/test/my/mod.gleam", 7).
+-file("project/test/my/mod.gleam", 7).
 -spec get_age(person()) -> integer().
 get_age(Person) ->
     erlang:element(3, Person).
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessor_multiple_with_first_position_different_types.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessor_multiple_with_first_position_different_types.snap
index 746b46ffde8..5e5379c6db6 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessor_multiple_with_first_position_different_types.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessor_multiple_with_first_position_different_types.snap
@@ -19,7 +19,7 @@ pub fn get_age(person: Person) { person.age }
 
 -type person() :: {teacher, nil, integer()} | {student, binary(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec get_age(person()) -> integer().
 get_age(Person) ->
     erlang:element(3, Person).
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessors.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessors.snap
index 71f7ba5275d..03bb0af36d9 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessors.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_accessors.snap
@@ -18,12 +18,12 @@ pub fn get_name(person: Person) { person.name }
 
 -type person() :: {person, binary(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec get_age(person()) -> integer().
 get_age(Person) ->
     erlang:element(3, Person).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec get_name(person()) -> binary().
 get_name(Person) ->
     erlang:element(2, Person).
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_constants.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_constants.snap
index 1eed66e5ba1..eea6158891d 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_constants.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_constants.snap
@@ -16,7 +16,7 @@ pub fn a() { A }
 
 -type test() :: a.
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec a() -> test().
 a() ->
     a.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_spread.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_spread.snap
index bf89803cf92..a5fc746fbc9 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_spread.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_spread.snap
@@ -23,7 +23,7 @@ fn main() {
 
 -type triple() :: {triple, integer(), integer(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec main() -> integer().
 main() ->
     Triple = {triple, 1, 2, 3},
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_spread1.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_spread1.snap
index 94e52a09ae5..353502d1bf9 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_spread1.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_spread1.snap
@@ -23,7 +23,7 @@ fn main() {
 
 -type triple() :: {triple, integer(), integer(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec main() -> integer().
 main() ->
     Triple = {triple, 1, 2, 3},
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_spread2.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_spread2.snap
index 747e1d0ecc7..e201db16169 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_spread2.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_spread2.snap
@@ -23,7 +23,7 @@ fn main() {
 
 -type triple() :: {triple, integer(), integer(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec main() -> integer().
 main() ->
     Triple = {triple, 1, 2, 3},
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_spread3.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_spread3.snap
index c3d68cde285..1917f65d859 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_spread3.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_spread3.snap
@@ -24,7 +24,7 @@ fn main() {
 
 -type triple() :: {triple, integer(), integer(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec main() -> integer().
 main() ->
     Triple = {triple, 1, 2, 3},
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates.snap
index 0ad3e531e7f..57793a9c444 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates.snap
@@ -21,7 +21,7 @@ fn main() {
 
 -type person() :: {person, binary(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> person().
 main() ->
     P = {person, <<"Quinn"/utf8>>, 27},
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates1.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates1.snap
index ba6b2c8bdf0..85be4d642fa 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates1.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates1.snap
@@ -21,7 +21,7 @@ fn main() {
 
 -type person() :: {person, binary(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> person().
 main() ->
     P = {person, <<"Quinn"/utf8>>, 27},
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates2.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates2.snap
index c094a880dab..fdb4d261fb6 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates2.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates2.snap
@@ -21,7 +21,7 @@ fn main() {
 
 -type person() :: {person, binary(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> person().
 main() ->
     P = {person, <<"Quinn"/utf8>>, 27},
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates3.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates3.snap
index 4e1469553a0..b182c62247b 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates3.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates3.snap
@@ -24,12 +24,12 @@ fn return_person() {
 
 -type person() :: {person, binary(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 9).
+-file("project/test/my/mod.gleam", 9).
 -spec return_person() -> person().
 return_person() ->
     {person, <<"Quinn"/utf8>>, 27}.
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> person().
 main() ->
     New_p = begin
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates4.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates4.snap
index 54e18abb7d3..e01216c7dfc 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates4.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__records__record_updates4.snap
@@ -24,7 +24,7 @@ fn main() {
 
 -type person() :: {person, binary(), integer()}.
 
--file("/root/project/test/my/mod.gleam", 5).
+-file("project/test/my/mod.gleam", 5).
 -spec main() -> person().
 main() ->
     Car = {car,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__ascii_as_unicode_escape_sequence.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__ascii_as_unicode_escape_sequence.snap
index 73f1fe62d94..3d7b681f418 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__ascii_as_unicode_escape_sequence.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__ascii_as_unicode_escape_sequence.snap
@@ -15,7 +15,7 @@ pub fn y() -> String {
 
 -export([y/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec y() -> binary().
 y() ->
     <<"\x{79}"/utf8>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_const_concat.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_const_concat.snap
index f8c07f0443b..e5709f0c98f 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_const_concat.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_const_concat.snap
@@ -18,7 +18,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 5).
+-file("project/test/my/mod.gleam", 5).
 -spec main() -> binary().
 main() ->
     <<"cute"/utf8, "bee"/utf8>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_const_concat_many_strings.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_const_concat_many_strings.snap
index af9f56c76c6..59d20a20489 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_const_concat_many_strings.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_const_concat_many_strings.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> binary().
 main() ->
     <<"a"/utf8,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_const_concat_many_strings_in_list.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_const_concat_many_strings_in_list.snap
index 4795e3bd250..170cb560d89 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_const_concat_many_strings_in_list.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_const_concat_many_strings_in_list.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec main() -> list(binary()).
 main() ->
     [<<"a"/utf8,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_const_concat_other_const_concat.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_const_concat_other_const_concat.snap
index 9880d1106ff..75fde2dd2a7 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_const_concat_other_const_concat.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_const_concat_other_const_concat.snap
@@ -18,7 +18,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 5).
+-file("project/test/my/mod.gleam", 5).
 -spec main() -> binary().
 main() ->
     <<"cute"/utf8, "bee"/utf8, "buzz"/utf8>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_string_prefix.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_string_prefix.snap
index 52960f7e856..63f5238e658 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_string_prefix.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_string_prefix.snap
@@ -16,7 +16,7 @@ pub fn main(x) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main(binary()) -> binary().
 main(X) ->
     <<"m-"/utf8, Rest/binary>> = case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_string_prefix_discar.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_string_prefix_discar.snap
index 8a12c94d56b..ccf3a0b8fa9 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_string_prefix_discar.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__assert_string_prefix_discar.snap
@@ -15,7 +15,7 @@ pub fn main(x) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main(binary()) -> binary().
 main(X) ->
     <<"m-"/utf8, _/binary>> = case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat.snap
index 72f81e1f075..5de21c7bf65 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat.snap
@@ -15,7 +15,7 @@ pub fn go(x, y) {
 
 -export([go/2]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go(binary(), binary()) -> binary().
 go(X, Y) ->
     <<X/binary, Y/binary>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat_3_variables.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat_3_variables.snap
index 0a02f3acbfa..6ea464e3ae1 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat_3_variables.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat_3_variables.snap
@@ -15,7 +15,7 @@ pub fn go(x, y, z) {
 
 -export([go/3]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go(binary(), binary(), binary()) -> binary().
 go(X, Y, Z) ->
     <<<<X/binary, Y/binary>>/binary, Z/binary>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat_constant.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat_constant.snap
index 29af9b75ab1..dcf155e7838 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat_constant.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat_constant.snap
@@ -18,7 +18,7 @@ pub fn go() {
 
 -export([go/0]).
 
--file("/root/project/test/my/mod.gleam", 5).
+-file("project/test/my/mod.gleam", 5).
 -spec go() -> binary().
 go() ->
     <<"Hello, "/utf8, "Joe!"/utf8>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat_constant_fn.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat_constant_fn.snap
index 44dc945478b..3aa5ba241fd 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat_constant_fn.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat_constant_fn.snap
@@ -21,12 +21,12 @@ pub fn go() {
 
 -export([go/0]).
 
--file("/root/project/test/my/mod.gleam", 4).
+-file("project/test/my/mod.gleam", 4).
 -spec s() -> binary().
 s() ->
     <<"s"/utf8>>.
 
--file("/root/project/test/my/mod.gleam", 8).
+-file("project/test/my/mod.gleam", 8).
 -spec go() -> binary().
 go() ->
     <<(s())/binary, (s())/binary>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat_function_call.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat_function_call.snap
index c5a717a0533..6c2f4bea655 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat_function_call.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__concat_function_call.snap
@@ -19,12 +19,12 @@ pub fn go() {
 
 -export([go/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec x() -> binary().
 x() ->
     <<""/utf8>>.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec go() -> binary().
 go() ->
     <<(x())/binary, (x())/binary>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__discard_concat_rest_pattern.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__discard_concat_rest_pattern.snap
index a745595e4f9..07938ad2ee5 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__discard_concat_rest_pattern.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__discard_concat_rest_pattern.snap
@@ -18,7 +18,7 @@ pub fn go(x) {
 
 -export([go/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go(binary()) -> nil.
 go(X) ->
     case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__not_unicode_escape_sequence.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__not_unicode_escape_sequence.snap
index 2d6108d2829..fed6119b8c1 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__not_unicode_escape_sequence.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__not_unicode_escape_sequence.snap
@@ -15,7 +15,7 @@ pub fn not_unicode_escape_sequence() -> String {
 
 -export([not_unicode_escape_sequence/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec not_unicode_escape_sequence() -> binary().
 not_unicode_escape_sequence() ->
     <<"\\u{03a9}"/utf8>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__not_unicode_escape_sequence2.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__not_unicode_escape_sequence2.snap
index 294ed0aff24..56ea94adb7b 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__not_unicode_escape_sequence2.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__not_unicode_escape_sequence2.snap
@@ -15,7 +15,7 @@ pub fn not_unicode_escape_sequence() -> String {
 
 -export([not_unicode_escape_sequence/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec not_unicode_escape_sequence() -> binary().
 not_unicode_escape_sequence() ->
     <<"\\\\u{03a9}"/utf8>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__pipe_concat.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__pipe_concat.snap
index 69dac17ddca..0ab3bcca855 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__pipe_concat.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__pipe_concat.snap
@@ -19,12 +19,12 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec id(I) -> I.
 id(X) ->
     X.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec main() -> binary().
 main() ->
     <<(begin
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__rest_variable_rewriting.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__rest_variable_rewriting.snap
index 5aa289b5b83..bcc68d9f47f 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__rest_variable_rewriting.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__rest_variable_rewriting.snap
@@ -18,7 +18,7 @@ pub fn go(x) {
 
 -export([go/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go(binary()) -> binary().
 go(X) ->
     case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_of_number_concat.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_of_number_concat.snap
index 01759432376..f44459b9c50 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_of_number_concat.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_of_number_concat.snap
@@ -15,7 +15,7 @@ pub fn go(x) {
 
 -export([go/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go(binary()) -> binary().
 go(X) ->
     <<X/binary, "1"/utf8>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix.snap
index f9e7b89da64..50d642c0d81 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix.snap
@@ -18,7 +18,7 @@ pub fn go(x) {
 
 -export([go/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go(binary()) -> binary().
 go(X) ->
     case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment.snap
index db4710f6081..5d22d9b8e44 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment.snap
@@ -18,7 +18,7 @@ pub fn go(x) {
 
 -export([go/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go(binary()) -> binary().
 go(X) ->
     case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment_not_unicode_escape_sequence.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment_not_unicode_escape_sequence.snap
index 986bc84eee2..38177ced923 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment_not_unicode_escape_sequence.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment_not_unicode_escape_sequence.snap
@@ -27,7 +27,7 @@ pub fn go(x) {
 
 -export([go/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go(binary()) -> binary().
 go(X) ->
     _ = case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment_with_escape_sequences.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment_with_escape_sequences.snap
index afb4d527b44..8597a07748c 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment_with_escape_sequences.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment_with_escape_sequences.snap
@@ -34,7 +34,7 @@ pub fn go(x) {
 
 -export([go/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go(binary()) -> binary().
 go(X) ->
     _ = case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment_with_guard.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment_with_guard.snap
index 3cae6f0f8a6..fca69af0faa 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment_with_guard.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment_with_guard.snap
@@ -19,7 +19,7 @@ pub fn go(x) {
 
 -export([go/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go(binary()) -> binary().
 go(X) ->
     case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment_with_multiple_subjects.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment_with_multiple_subjects.snap
index b5f9bb409b8..243fa29f474 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment_with_multiple_subjects.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_assignment_with_multiple_subjects.snap
@@ -18,7 +18,7 @@ pub fn go(x) {
 
 -export([go/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go(binary()) -> binary().
 go(X) ->
     case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_not_unicode_escape_sequence.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_not_unicode_escape_sequence.snap
index 9dfe311ddd0..07d22364229 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_not_unicode_escape_sequence.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_not_unicode_escape_sequence.snap
@@ -27,7 +27,7 @@ pub fn go(x) {
 
 -export([go/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go(binary()) -> binary().
 go(X) ->
     _ = case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_shadowing.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_shadowing.snap
index 43f7d7a5add..17c96a34174 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_shadowing.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_shadowing.snap
@@ -18,7 +18,7 @@ pub fn go(x) {
 
 -export([go/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go(binary()) -> binary().
 go(X) ->
     case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_with_escape_sequences.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_with_escape_sequences.snap
index e056f98a0a4..47fd9298ea1 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_with_escape_sequences.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__string_prefix_with_escape_sequences.snap
@@ -34,7 +34,7 @@ pub fn go(x) {
 
 -export([go/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go(binary()) -> binary().
 go(X) ->
     _ = case X of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode1.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode1.snap
index e7833e44096..5d080879591 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode1.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode1.snap
@@ -15,7 +15,7 @@ pub fn emoji() -> String {
 
 -export([emoji/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec emoji() -> binary().
 emoji() ->
     <<"\x{1f600}"/utf8>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode2.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode2.snap
index 9b5528ab69c..767c67234e3 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode2.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode2.snap
@@ -15,7 +15,7 @@ pub fn y_with_dieresis() -> String {
 
 -export([y_with_dieresis/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec y_with_dieresis() -> binary().
 y_with_dieresis() ->
     <<"\x{0308}y"/utf8>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode3.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode3.snap
index 6b07a6715b9..c220777ebd4 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode3.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode3.snap
@@ -15,7 +15,7 @@ pub fn y_with_dieresis_with_slash() -> String {
 
 -export([y_with_dieresis_with_slash/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec y_with_dieresis_with_slash() -> binary().
 y_with_dieresis_with_slash() ->
     <<"\\\x{0308}y"/utf8>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode_concat1.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode_concat1.snap
index 935415f6a17..a3d49c856bd 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode_concat1.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode_concat1.snap
@@ -15,7 +15,7 @@ pub fn main(x) -> String {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main(binary()) -> binary().
 main(X) ->
     <<X/binary, "\x{0308}"/utf8>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode_concat2.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode_concat2.snap
index 65c108468cd..4112815dd46 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode_concat2.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode_concat2.snap
@@ -15,7 +15,7 @@ pub fn main(x) -> String {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main(binary()) -> binary().
 main(X) ->
     <<X/binary, "\\u{0308}"/utf8>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode_concat3.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode_concat3.snap
index 9d46007199b..d278487eb0c 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode_concat3.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode_concat3.snap
@@ -15,7 +15,7 @@ pub fn main(x) -> String {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main(binary()) -> binary().
 main(X) ->
     <<X/binary, "\\\x{0308}"/utf8>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode_escape_sequence_6_digits.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode_escape_sequence_6_digits.snap
index b4845f04aeb..9e1d82e591a 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode_escape_sequence_6_digits.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__strings__unicode_escape_sequence_6_digits.snap
@@ -15,7 +15,7 @@ pub fn unicode_escape_sequence_6_digits() -> String {
 
 -export([unicode_escape_sequence_6_digits/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec unicode_escape_sequence_6_digits() -> binary().
 unicode_escape_sequence_6_digits() ->
     <<"\x{10abcd}"/utf8>>.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__named.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__named.snap
index 5af960e958d..84165f3ddcf 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__named.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__named.snap
@@ -15,7 +15,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> any().
 main() ->
     erlang:error(#{gleam_error => todo,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__piped.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__piped.snap
index f639d681ac8..59cb71fb560 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__piped.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__piped.snap
@@ -17,7 +17,7 @@ expression: "\n     pub fn main() {\n      \"lets\"\n      |> todo as \"pipe\"\n
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> any().
 main() ->
     _pipe = <<"lets"/utf8>>,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__plain.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__plain.snap
index a4aa49f4392..d1298d68ed8 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__plain.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__plain.snap
@@ -15,7 +15,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> any().
 main() ->
     erlang:error(#{gleam_error => todo,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__todo_as.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__todo_as.snap
index 3d20f5e5bd2..73b49f14ea9 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__todo_as.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__todo_as.snap
@@ -15,7 +15,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> any().
 main() ->
     erlang:error(#{gleam_error => todo,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__todo_as_function.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__todo_as_function.snap
index 21f714008ea..409fdac5fd3 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__todo_as_function.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__todo__todo_as_function.snap
@@ -18,12 +18,12 @@ pub fn main() {
 
 -export([retstring/0, main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec retstring() -> binary().
 retstring() ->
     <<"wibble"/utf8>>.
 
--file("/root/project/test/my/mod.gleam", 5).
+-file("project/test/my/mod.gleam", 5).
 -spec main() -> any().
 main() ->
     erlang:error(#{gleam_error => todo,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__custom_type_named_args_count_once.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__custom_type_named_args_count_once.snap
index 85c5ce8ba72..13fc12860e8 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__custom_type_named_args_count_once.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__custom_type_named_args_count_once.snap
@@ -22,7 +22,7 @@ expression: "\n        pub type Wibble(a, b) {\n            Wibble(a, b)\n
 
 -type wibble(I, J) :: {wibble, I, J}.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec wibble() -> wibble(K, K).
 wibble() ->
     erlang:error(#{gleam_error => todo,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__custom_type_nested_named_args_count_once.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__custom_type_nested_named_args_count_once.snap
index 2211bf45890..3ace2b8c33e 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__custom_type_nested_named_args_count_once.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__custom_type_nested_named_args_count_once.snap
@@ -22,7 +22,7 @@ expression: "\n        pub type Wibble(a, b) {\n            Wibble(a, b)\n
 
 -type wibble(I, J) :: {wibble, I, J}.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec wibble() -> wibble(K, wibble(K, any())).
 wibble() ->
     erlang:error(#{gleam_error => todo,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__custom_type_nested_result_type_count_once.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__custom_type_nested_result_type_count_once.snap
index 41f7e7d98c4..62ae8f616ff 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__custom_type_nested_result_type_count_once.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__custom_type_nested_result_type_count_once.snap
@@ -22,7 +22,7 @@ expression: "\n        pub type Wibble(a) {\n            Oops\n        }\n\n
 
 -type wibble(I) :: oops | {gleam_phantom, I}.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec wibble() -> {ok, any()} | {error, wibble(any())}.
 wibble() ->
     erlang:error(#{gleam_error => todo,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__custom_type_tuple_type_params_count_twice.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__custom_type_tuple_type_params_count_twice.snap
index f78dbd07710..399d4840308 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__custom_type_tuple_type_params_count_twice.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__custom_type_tuple_type_params_count_twice.snap
@@ -22,7 +22,7 @@ expression: "\n        pub type Wibble(a, b) {\n            Wibble(a, b)\n
 
 -type wibble(I, J) :: {wibble, I, J}.
 
--file("/root/project/test/my/mod.gleam", 6).
+-file("project/test/my/mod.gleam", 6).
 -spec wibble() -> {K, wibble(K, any())}.
 wibble() ->
     erlang:error(#{gleam_error => todo,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__nested_result_type_count_once.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__nested_result_type_count_once.snap
index 74ee6d55b6f..4f44466c2a4 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__nested_result_type_count_once.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__nested_result_type_count_once.snap
@@ -15,7 +15,7 @@ expression: "\n        pub fn wibble() -> Result(a, Result(a, b)) {\n
 
 -export([wibble/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec wibble() -> {ok, any()} | {error, {ok, any()} | {error, any()}}.
 wibble() ->
     erlang:error(#{gleam_error => todo,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__result_type_count_once.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__result_type_count_once.snap
index 219b3c6eda9..0e826cd0afd 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__result_type_count_once.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__result_type_count_once.snap
@@ -15,7 +15,7 @@ expression: "\n        pub fn wibble() -> Result(a, a) {\n            todo\n
 
 -export([wibble/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec wibble() -> {ok, any()} | {error, any()}.
 wibble() ->
     erlang:error(#{gleam_error => todo,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__result_type_inferred_count_once.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__result_type_inferred_count_once.snap
index 80a59d69a1d..ddccfa81515 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__result_type_inferred_count_once.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__result_type_inferred_count_once.snap
@@ -25,7 +25,7 @@ expression: "\n        fn wibble() {\n            let assert Ok(_) = wobble()\n
 
 -type wobble(I) :: wobble | {gleam_phantom, I}.
 
--file("/root/project/test/my/mod.gleam", 10).
+-file("project/test/my/mod.gleam", 10).
 -spec wobble() -> {ok, any()} | {error, wobble(any())}.
 wobble() ->
     erlang:error(#{gleam_error => todo,
@@ -34,7 +34,7 @@ wobble() ->
             function => <<"wobble"/utf8>>,
             line => 11}).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec wibble() -> {ok, any()} | {error, wobble(any())}.
 wibble() ->
     _assert_subject = wobble(),
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__tuple_type_params_count_twice.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__tuple_type_params_count_twice.snap
index 9b2e0e25141..c62b7fd4e09 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__tuple_type_params_count_twice.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__type_params__tuple_type_params_count_twice.snap
@@ -15,7 +15,7 @@ expression: "\n        pub fn wibble() -> #(a, b) {\n            todo\n        }
 
 -export([wibble/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec wibble() -> {any(), any()}.
 wibble() ->
     erlang:error(#{gleam_error => todo,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___arity_1.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___arity_1.snap
index 893a56d9a0a..885656597fe 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___arity_1.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___arity_1.snap
@@ -21,13 +21,13 @@ fn pair(f) {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 7).
+-file("project/test/my/mod.gleam", 7).
 -spec pair(fun(() -> L)) -> {L, L}.
 pair(F) ->
     X = F(),
     {X, X}.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> {integer(), integer()}.
 main() ->
     pair(fun() -> 123 end).
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___arity_2.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___arity_2.snap
index a9ee8ea5874..fc916894493 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___arity_2.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___arity_2.snap
@@ -21,13 +21,13 @@ fn pair(x, f) {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 7).
+-file("project/test/my/mod.gleam", 7).
 -spec pair(J, fun(() -> M)) -> {J, M}.
 pair(X, F) ->
     Y = F(),
     {X, Y}.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> {float(), integer()}.
 main() ->
     pair(1.0, fun() -> 123 end).
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___arity_3.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___arity_3.snap
index f645d582e2e..63316379ce7 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___arity_3.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___arity_3.snap
@@ -21,13 +21,13 @@ fn trip(x, y, f) {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 7).
+-file("project/test/my/mod.gleam", 7).
 -spec trip(J, K, fun(() -> N)) -> {J, K, N}.
 trip(X, Y, F) ->
     Z = F(),
     {X, Y, Z}.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> {float(), binary(), integer()}.
 main() ->
     trip(1.0, <<""/utf8>>, fun() -> 123 end).
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___no_callback_body.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___no_callback_body.snap
index 9e6aeb123e4..f73067da371 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___no_callback_body.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___no_callback_body.snap
@@ -16,7 +16,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> any().
 main() ->
     Thingy = fun(F) -> F() end,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___pipeline_that_returns_fn.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___pipeline_that_returns_fn.snap
index 5c2dc92d660..de5617faef5 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___pipeline_that_returns_fn.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__use___pipeline_that_returns_fn.snap
@@ -20,12 +20,12 @@ pub fn add(x) {
 
 -export([add/1, main/0]).
 
--file("/root/project/test/my/mod.gleam", 7).
+-file("project/test/my/mod.gleam", 7).
 -spec add(integer()) -> fun((fun(() -> integer())) -> integer()).
 add(X) ->
     fun(F) -> F() + X end.
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     begin
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__anon_external_fun_name_escaping.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__anon_external_fun_name_escaping.snap
index 0258d454a8f..2fdb88f9d12 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__anon_external_fun_name_escaping.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__anon_external_fun_name_escaping.snap
@@ -17,7 +17,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 5).
+-file("project/test/my/mod.gleam", 5).
 -spec main() -> fun(() -> nil).
 main() ->
     fun 'one.two':'three.four'/0.
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__blocks_are_scopes.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__blocks_are_scopes.snap
index cf6d796f840..07d11a90fc4 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__blocks_are_scopes.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__blocks_are_scopes.snap
@@ -19,7 +19,7 @@ pub fn main() {
 
 -export([main/0]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main() -> integer().
 main() ->
     X = 1,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__discarded.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__discarded.snap
index db68ff7aafc..8b1c812e34f 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__discarded.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__discarded.snap
@@ -15,7 +15,7 @@ pub fn go() {
 
 -export([go/0]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec go() -> nil.
 go() ->
     _ = 1,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__module_const_vars.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__module_const_vars.snap
index 304c09bcc8f..c090a8585b1 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__module_const_vars.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__module_const_vars.snap
@@ -21,22 +21,22 @@ pub fn use_compound() { compound.1(compound.0) }
 
 -export([use_int_alias/0, use_int_identity_alias/0, use_compound/0]).
 
--file("/root/project/test/my/mod.gleam", 5).
+-file("project/test/my/mod.gleam", 5).
 -spec int_identity(integer()) -> integer().
 int_identity(I) ->
     I.
 
--file("/root/project/test/my/mod.gleam", 3).
+-file("project/test/my/mod.gleam", 3).
 -spec use_int_alias() -> integer().
 use_int_alias() ->
     42.
 
--file("/root/project/test/my/mod.gleam", 7).
+-file("project/test/my/mod.gleam", 7).
 -spec use_int_identity_alias() -> integer().
 use_int_identity_alias() ->
     int_identity(42).
 
--file("/root/project/test/my/mod.gleam", 10).
+-file("project/test/my/mod.gleam", 10).
 -spec use_compound() -> integer().
 use_compound() ->
     (erlang:element(2, {42, fun int_identity/1, fun int_identity/1}))(
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__shadow_and_call.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__shadow_and_call.snap
index 2a4e9210307..5b9260a2415 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__shadow_and_call.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__shadow_and_call.snap
@@ -15,7 +15,7 @@ pub fn main(x) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main(K) -> K.
 main(X) ->
     (fun(X@1) -> X@1 end)(X).
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__shadow_let.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__shadow_let.snap
index 1c61613eee5..9328f62488e 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__shadow_let.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__shadow_let.snap
@@ -20,7 +20,7 @@ pub fn go(a) {
 
 -export([go/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec go(integer()) -> integer().
 go(A) ->
     case A of
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__shadow_param.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__shadow_param.snap
index 51e4bf5681c..9422079affa 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__shadow_param.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__shadow_param.snap
@@ -14,7 +14,7 @@ fn(board) { board }
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 1).
+-file("project/test/my/mod.gleam", 1).
 -spec main(I) -> I.
 main(Board) ->
     fun(Board@1) -> Board@1 end,
diff --git a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__shadow_pipe.snap b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__shadow_pipe.snap
index b3e8f11750c..7a7542e6629 100644
--- a/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__shadow_pipe.snap
+++ b/compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__variables__shadow_pipe.snap
@@ -16,7 +16,7 @@ pub fn main(x) {
 
 -export([main/1]).
 
--file("/root/project/test/my/mod.gleam", 2).
+-file("project/test/my/mod.gleam", 2).
 -spec main(K) -> K.
 main(X) ->
     _pipe = X,