cgroup = true
[[sandbox_mounts]]
source = "/nix/store"
target = "/nix/store"
optional = true
[default_limits]
time_limit = 2.0
wall_time_limit = 5.0
memory_limit = 262144
stack_limit = 262144
max_processes = 1
max_output = 65536
max_open_files = 64
extra_time = 0.5
[languages.cpp17]
name = "C++ 17 (GCC)"
extension = "cpp"
[languages.cpp17.compile]
command = ["g++", "-std=c++17", "-O2", "-Wall", "-o", "{output}", "{source}"]
source_name = "main.cpp"
output_name = "main"
[languages.cpp17.run]
command = ["./{binary}"]
[languages.cpp20]
name = "C++ 20 (GCC)"
extension = "cpp"
[languages.cpp20.compile]
command = ["g++", "-std=c++20", "-O2", "-Wall", "-o", "{output}", "{source}"]
source_name = "main.cpp"
output_name = "main"
[languages.cpp20.run]
command = ["./{binary}"]
[languages.c]
name = "C (GCC)"
extension = "c"
[languages.c.compile]
command = ["gcc", "-std=c17", "-O2", "-Wall", "-o", "{output}", "{source}", "-lm"]
source_name = "main.c"
output_name = "main"
[languages.c.run]
command = ["./{binary}"]
[languages.python3]
name = "Python 3"
extension = "py"
[languages.python3.run]
command = ["python3", "{source}"]
[languages.java]
name = "Java"
extension = "java"
[languages.java.compile]
command = ["javac", "{source}"]
source_name = "Main.java"
output_name = "Main.class"
[languages.java.compile.limits]
max_processes = 50
[languages.java.run]
command = ["java", "-Xmx256m", "-Xss1m", "Main"]
[languages.java.run.limits]
max_processes = 50
[languages.rust]
name = "Rust"
extension = "rs"
[languages.rust.compile]
command = ["rustc", "-O", "-o", "{output}", "{source}"]
source_name = "main.rs"
output_name = "main"
[languages.rust.run]
command = ["./{binary}"]
[languages.go]
name = "Go"
extension = "go"
[languages.go.compile]
command = ["go", "build", "-o", "{output}", "{source}"]
source_name = "main.go"
output_name = "main"
[languages.go.compile.env]
GOCACHE = "/box/.cache/go-build"
GOPATH = "/box/.go"
[languages.go.compile.limits]
max_processes = 200
[languages.go.run]
command = ["./{binary}"]
[languages.go.run.limits]
max_processes = 20
[languages.javascript]
name = "JavaScript (Node.js)"
extension = "js"
[languages.javascript.run]
command = ["node", "{source}"]
[languages.javascript.run.limits]
max_processes = 20