diff --git a/default.nix b/default.nix
index 41f238752..74d86360c 100644
--- a/default.nix
+++ b/default.nix
@@ -19,7 +19,7 @@ let
 
   config = (pkgs.lib.evalModules {
     modules = [
-      { _module.args = { inherit pkgs; lib = pkgs.lib; }; }
+      { _module.args = { inherit pkgs; inherit (pkgs) lim; }; }
       ./modules/hardware.nix
       ./modules/base.nix
       ./modules/busybox.nix
diff --git a/modules/arch/mips.nix b/modules/arch/mips.nix
index 956abf4b9..fb637d6eb 100644
--- a/modules/arch/mips.nix
+++ b/modules/arch/mips.nix
@@ -1,4 +1,4 @@
-{ lib, pkgs, config, ...}:
+{ lib, pkgs, config, lim, ...}:
 {
   config = {
     kernel.config = {
@@ -10,7 +10,7 @@
       OF = "y";
       USE_OF = "y";
     };
-    hardware.ram.startAddress = 0;
+    hardware.ram.startAddress = lim.parseInt "0x0";
     boot.commandLine = [
       "console=ttyS0,115200" # true of all mips we've yet encountered
     ];
diff --git a/overlay.nix b/overlay.nix
index dbc96716d..c02d8f3fb 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -191,4 +191,9 @@ extraPkgs // {
   });
 
   pppBuild = prev.ppp;
+
+  # liminix library functions
+  lim = {
+    parseInt = s : (builtins.fromTOML "r=${s}").r;
+  };
 }