diff --git a/README.md b/README.md
index fca377e5..e264e820 100644
--- a/README.md
+++ b/README.md
@@ -9,6 +9,9 @@ for UI. Click on
 [this](https://git.nelim.org/matt1432/nixos-configs/src/branch/master/modules/ags)
 to see my configuration.
 
+I'm also a victim of Stockholm syndrome at this point and make my scripts
+in TypeScript because it's the scripting language I am most comfortable with.
+
 ## About
 
 ### General
@@ -21,7 +24,7 @@ explained
 
 ### Flake Location
 
-This git repo will always be located at `/home/${mainUser}/.nix`
+This git repo will always be located at `$FLAKE` (`config.environment.variables.FLAKE`)
 and symlinked to `/etc/nixos` to have everything where NixOS tools
 expect things to be.
 
@@ -29,6 +32,9 @@ ie.
 
 ```bash
 sudo rm -r /etc/nixos
+
+echo "$FLAKE" # /home/matt/.nix
+
 sudo ln -sf /home/matt/.nix /etc/nixos
 ```
 
diff --git a/common/default.nix b/common/default.nix
index c7b3156c..93ff3890 100644
--- a/common/default.nix
+++ b/common/default.nix
@@ -1,6 +1,7 @@
 {
   config,
   home-manager,
+  lib,
   nh,
   nix-melt,
   nur,
@@ -64,7 +65,7 @@
       extraArgs = "--keep-since 30d";
     };
   };
-  environment.variables.FLAKE = "/home/matt/.nix";
+  environment.variables.FLAKE = lib.mkDefault "/home/matt/.nix";
 
   services = {
     fwupd.enable = true;
diff --git a/common/home/bash/config/bashrc b/common/home/bash/config/bashrc
index c8387ebe..51e63556 100644
--- a/common/home/bash/config/bashrc
+++ b/common/home/bash/config/bashrc
@@ -1,6 +1,6 @@
 # Check git status of nix configs
 fetchNix() {(
-    cd ~/.nix || exit 1
+    cd "$FLAKE" || exit 1
     git fetch --all --quiet
     GIT=$(git -c color.status=always status |
             grep -v -e "On branch" \
diff --git a/common/home/git/default.nix b/common/home/git/default.nix
index 806de2e7..eacbc0cc 100644
--- a/common/home/git/default.nix
+++ b/common/home/git/default.nix
@@ -1,10 +1,4 @@
-{
-  config,
-  pkgs,
-  ...
-}: let
-  inherit (config.vars) mainUser;
-in {
+{pkgs, ...}: {
   programs = {
     git = {
       enable = true;
@@ -75,9 +69,10 @@ in {
       runtimeInputs = [git];
 
       text = ''
-        DIR=''${1:-"/home/${mainUser}/.nix"}
+        DIR=''${1:-"$FLAKE"}
+
+        cd "$DIR" || exit 1
 
-        cd "$DIR"
         git add flake.lock
         git commit -m 'chore: update flake.lock'
         git push
diff --git a/common/vars/default.nix b/common/vars/default.nix
index 4bf0a401..097906ac 100644
--- a/common/vars/default.nix
+++ b/common/vars/default.nix
@@ -5,6 +5,7 @@
 }: {
   options.vars = let
     inherit (lib) mkOption types;
+    flakeDir = config.environment.variables.FLAKE;
     cfg = config.vars;
   in {
     mainUser = mkOption {
@@ -49,7 +50,7 @@
 
     configDir = mkOption {
       type = types.str;
-      default = "/home/${cfg.mainUser}/.nix/devices/${cfg.hostName}/config";
+      default = "${flakeDir}/devices/${cfg.hostName}/config";
       description = ''
         The path to where most of the devices' configs are in the .nix folder
       '';
@@ -61,7 +62,7 @@
         The name of the main monitor used for Hyprland
         and Regreet which also uses Hyprland
       '';
-      # This is to allow a bash script to know wether this value exists
+      # This is to allow a bash script to know whether this value exists
       default = "null";
     };
 
diff --git a/devices/nos/modules/subtitles/syncing/node-syncsub/main.ts b/devices/nos/modules/subtitles/syncing/node-syncsub/main.ts
index c14e5ae0..975fb559 100755
--- a/devices/nos/modules/subtitles/syncing/node-syncsub/main.ts
+++ b/devices/nos/modules/subtitles/syncing/node-syncsub/main.ts
@@ -38,5 +38,6 @@ readdir(DIR, (_, files) => {
         '--overwrite',
     ];
 
+    // TODO: actually call the command
     console.log(cmd);
 });
diff --git a/modules/ags/default.nix b/modules/ags/default.nix
index 215016d1..0b1d8430 100644
--- a/modules/ags/default.nix
+++ b/modules/ags/default.nix
@@ -7,6 +7,7 @@
 }: let
   inherit (config.vars) mainUser hostName;
 
+  flakeDir = config.environment.variables.FLAKE;
   isTouchscreen = config.hardware.sensor.iio.enable;
 in {
   # Enable pam for ags and astal
@@ -28,11 +29,11 @@ in {
       inherit (lib) optionals;
 
       astalTypes = config.home.file.".local/share/io.Aylur.Astal/types";
-      astalConfigDir = ".nix/modules/ags/astal";
+      astalConfigDir = ".nix/modules/ags/astal"; # FIXME: figure out way to use $FLAKE
 
       # https://github.com/Aylur/ags/blob/e1f2d311ceb496a69ef6daa6aebb46ce511b2f22/nix/hm-module.nix#L69
       agsTypes = config.home.file.".local//share/com.github.Aylur.ags/types";
-      agsConfigDir = ".nix/modules/ags/config";
+      agsConfigDir = ".nix/modules/ags/config"; # FIXME: figure out way to use $FLAKE
 
       configJs =
         /*
@@ -57,11 +58,11 @@ in {
       home = {
         file =
           {
-            ".config/astal".source = symlink /home/${mainUser}/.nix/modules/ags/astal;
+            ".config/astal".source = symlink "${flakeDir}/modules/ags/astal";
             "${astalConfigDir}/types".source = astalTypes.source;
             "${astalConfigDir}/config.js".text = configJs;
 
-            ".config/ags".source = symlink /home/${mainUser}/.nix/modules/ags/config;
+            ".config/ags".source = symlink "${flakeDir}/modules/ags/config";
             "${agsConfigDir}/types".source = agsTypes.source;
             "${agsConfigDir}/config.js".text = configJs;
           }
diff --git a/modules/hyprland/packages.nix b/modules/hyprland/packages.nix
index 3c801c65..08dc8449 100644
--- a/modules/hyprland/packages.nix
+++ b/modules/hyprland/packages.nix
@@ -6,6 +6,7 @@
 }: let
   inherit (lib) makeLibraryPath optionalString;
   inherit (config.vars) mainUser;
+  flakeDir = config.environment.variables.FLAKE;
 in {
   imports = [../dolphin.nix];
 
@@ -20,7 +21,7 @@ in {
 
       ({config, ...}: let
         symlink = config.lib.file.mkOutOfStoreSymlink;
-        configDir = "/home/${mainUser}/.nix/modules/hyprland/config";
+        configDir = "${flakeDir}/modules/hyprland/config";
       in {
         xdg.configFile = {
           "dolphinrc".source = symlink "${configDir}/dolphinrc";