diff --git a/homes/x86_64-linux/coded@shorthair/default.nix b/homes/x86_64-linux/coded@shorthair/default.nix
index ace98f3..559333c 100644
--- a/homes/x86_64-linux/coded@shorthair/default.nix
+++ b/homes/x86_64-linux/coded@shorthair/default.nix
@@ -19,174 +19,67 @@
   ...
 }:
 {
+  chimera.users.coded.enable = true;
 
-  home.packages = [ pkgs.foliate ];
+  chimera.waybar.modules.temperature.hwmonPath = "/sys/class/hwmon/hwmon4/temp1_input";
 
-  chimera = {
-    waybar.modules.temperature.hwmonPath = "/sys/class/hwmon/hwmon4/temp1_input";
-    waybar.modules.backlight.enable = true;
+  chimera.niri = {
+    enable = true;
 
-    nextcloud.enable = true;
-
-    shell = {
-      zsh.enable = true;
-
-      starship.enable = true;
-
-      rebuildFlakePath = "/home/coded/Programming/Chimera/Nix/NixFiles";
-
-      defaultAliases.enable = true;
-      usefulPackages.enable = true;
-
-      replacements = {
-        defaultEnable = true;
-        bat.enable = false;
-        atuin.enableUpArrow = true;
+    monitors = {
+      "DP-1" = {
+        mode = {
+          width = 1920;
+          height = 1080;
+          refresh = 165.;
+        };
+        position = {
+          x = 0;
+          y = 0;
+        };
       };
-    };
-
-    git = {
-      delta.enable = true;
-      stgit.enable = true;
-      gitReview.enable = true;
-      auth.clicksUsername = "coded";
-      gpg.enable = true;
-    };
-
-    touchpad.enable = true;
-    input.touchpad.scrolling.natural = true;
-
-    niri = {
-      enable = true;
-
-      monitors = {
-        "DP-1" = {
-          mode = {
-            width = 1920;
-            height = 1080;
-            refresh = 165.;
-          };
-          position = {
-            x = 0;
-            y = 0;
-          };
-          variable-refresh-rate = true;
+      "DP-2" = {
+        mode = {
+          width = 1920;
+          height = 1080;
+          refresh = 165.;
         };
-        "DP-2" = {
-          mode = {
-            width = 1920;
-            height = 1080;
-            refresh = 165.;
-          };
-          position = {
-            x = 1920;
-            y = 0;
-          };
-          variable-refresh-rate = true;
+        position = {
+          x = 1920;
+          y = 0;
         };
-        "HDMI-A-1" = {
-          mode = {
-            width = 3840;
-            height = 2160;
-            refresh = 60.;
-          };
-          position = {
-            x = 0;
-            y = -2160;
-          };
+      };
+      "HDMI-A-1" = {
+        mode = {
+          width = 3840;
+          height = 2160;
+          refresh = 60.;
+        };
+        position = {
+          x = 0;
+          y = -2160;
         };
       };
     };
-
-    # hyprland = {
-    #   enable = true;
-
-    #   monitors = [
-    #     "DP-1,1920x1080@165,0x0,1"
-    #     "DP-2,1920x1080@165,1920x0,1"
-    #     "HDMI-A-1,3840x2160@60,0x-2160,1"
-    #   ];
-    # };
-
-    # hyprland.hyprpaper = {
-    #   splash = {
-    #     enable = true;
-    #     offset = -0.6;
-    #   };
-    # };
-
-    browser.firefox = {
-      enable = true;
-      extensions = {
-        bitwarden.enable = true;
-        youtube = {
-          sponsorBlock.enable = true;
-          returnDislike.enable = true;
-          deArrow.enable = true;
-        };
-        reactDevTools.enable = true;
-        adnauseam.enable = true;
-      };
-      search = {
-        enable = true;
-        extensions.enable = true;
-        bookmarks.enable = true;
-        engines = [
-          "Kagi"
-          "MDN"
-          "NixOS Options"
-          "NixOS Packages"
-          "Home-Manager Options"
-          "Noogle"
-          "GitHub"
-          "Arch Wiki"
-          "Gentoo Wiki"
-        ];
-      };
-      extraExtensions = [ config.nur.repos.rycee.firefox-addons.simple-tab-groups ];
-    };
-
-    games.minecraft.enable = true;
-
-    editor.neovim.enable = true;
-    editor.editorconfig.enable = true;
-
-    theme.font.nerdFontGlyphs.enable = true;
-    theme.wallpaper = ./wallpaper.png;
-    theme.catppuccin = {
-      enable = true;
-      style = "Macchiato";
-      color = "Blue";
-    };
-
-    yubikey.enable = true;
   };
 
+  chimera.theme.wallpaper = ./wallpaper.png;
 
-  programs.git.includes = [
-  {
-    condition = "gitdir:~/programming/Chimera";
+  # SSH Config
+  programs.ssh = {
+    enable = true;
 
-    contents = {
-      user.name = "Samuel Shuert";
-      user.email = "coded@clicks.codes";
+    includes = [ "~/.ssh/config.d/*" ];
+
+    matchBlocks = {
+      "ssh.clicks.codes" = {
+        port = 29418;
+        identityFile = "~/.ssh/id_clicks_git";
+      };
+      "github.com" = {
+        user = "git";
+        identityFile = [ "~/.ssh/github_sk_nano" ];
+      };
     };
-  }
-  {
-    condition = "gitdir:~/programming/Clicks";
-
-    contents = {
-      user.name = "Samuel Shuert";
-      user.email = "coded@clicks.codes";
-    };
-  }
-  {
-    condition = "gitdir:~/programming/Personal";
-
-    contents = {
-      user.name = "Samuel Shuert";
-      user.email = "coded@coded.codes";
-    };
-  }
-  ];
+  };
 }
diff --git a/homes/x86_64-linux/coded@shorthair/openrgb/default.nix b/homes/x86_64-linux/coded@shorthair/openrgb/default.nix
deleted file mode 100644
index 7f5688e..0000000
--- a/homes/x86_64-linux/coded@shorthair/openrgb/default.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{ pkgs, ... }:
-{
-  home.packages = [ pkgs.openrgb ];
-}
diff --git a/modules/home/users/coded/README.md b/modules/home/users/coded/README.md
new file mode 100644
index 0000000..8374723
--- /dev/null
+++ b/modules/home/users/coded/README.md
@@ -0,0 +1,8 @@
+# coded's chimera options
+
+## What is this?
+
+`coded` is a `chimera` user with multiple machines. Some of his options should
+be shared across all of his machines, these are those options.
+
+## How can I use this?
diff --git a/modules/home/users/coded/default.nix b/modules/home/users/coded/default.nix
new file mode 100644
index 0000000..9167ae8
--- /dev/null
+++ b/modules/home/users/coded/default.nix
@@ -0,0 +1,198 @@
+{
+  inputs,
+  config,
+  lib,
+  pkgs,
+  ...
+}:
+let
+  cfg = config.chimera.users.coded;
+in {
+  options.chimera.users.coded.enable = lib.mkEnableOption "Enable Chimera options for coded";
+
+  config = lib.mkIf cfg.enable {
+    # Chimera Config
+    chimera.nextcloud.enable = true;
+
+    chimera.shell.rebuildFlakePath = "/home/coded/Programming/Chimera/Nix/NixFiles";
+
+    chimera.shell = {
+      zsh.enable = true;
+      starship.enable = true;
+
+      defaultAliases.enable = true;
+      usefulPackages.enable = true;
+
+      replacements = {
+        defaultEnable = true;
+        bat.enable = false;
+        atuin.enableUpArrow = true;
+      };
+    };
+
+    chimera.git = {
+      delta.enable = true;
+      stgit.enable = true;
+      gitReview.enable = true;
+      auth.clicksUsername = "coded";
+      gpg.enable = true;
+    };
+
+    chimera.input.touchpad = {
+      enable = true;
+      scrolling.natural = true;
+    };
+
+    chimera.browser.firefox = {
+      enable = true;
+      extensions = {
+        bitwarden.enable = true;
+        youtube = {
+          sponsorBlock.enable = true;
+          returnDislike.enable = true;
+          deArrow.enable = true;
+        };
+        reactDevTools.enable = true;
+        adnauseam.enable = true;
+      };
+      search = {
+        enable = true;
+        extensions.enable = true;
+        bookmarks.enable = true;
+        engines = [
+          "Kagi"
+          "MDN"
+          "NixOS Options"
+          "NixOS Packages"
+          "Home-Manager Options"
+          "Noogle"
+          "GitHub"
+          "Arch Wiki"
+          "Gentoo Wiki"
+        ];
+      };
+      extraExtensions = [
+        config.nur.repos.rycee.firefox-addons.refined-github
+        config.nur.repos.rycee.firefox-addons.new-tab-override
+      ];
+    };
+
+    chimera.games.minecraft.enable = true;
+
+    chimera.editor = {
+      neovim.enable = true;
+      editorconfig.enable = true;
+      emacs = {
+        enable = true;
+        defaultEditor = false;
+      };
+    };
+
+    chimera.theme.font.nerdFontGlyphs.enable = true;
+
+    chimera.theme.catppuccin = {
+      enable = true;
+      style = "Macchiato";
+      color = "Blue";
+    };
+
+    chimera.yubikey.enable = true;
+
+    # Programming Folder Creation
+    home.file = {
+      "Programming/README.md" = {
+        text = ''
+        # Structure
+        [Org]/[Language]/[project]
+
+        Both Org and Language should be capitalized however project may follow any name scheme.
+        '';
+      };
+      "Programming/Personal/README.md" = {
+        text = ''
+        # What is this directory for?
+        This directory stores all my personal programming projects
+
+        # Git config modifications
+        user.name = "Samuel Shuert"
+        user.email = "me@thecoded.prof"
+        '';
+      };
+      "Programming/Auxolotl/README.md" = {
+        text = ''
+        # What is this directory for?
+        This directory stores all Auxolotl related programming projects
+
+        # Git config modifications
+        user.name = "Samuel Shuert"
+        user.email = "me@thecoded.prof"
+        '';
+      };
+      "Programming/Chimera/README.md" = {
+        text = ''
+        # What is this directory for?
+        This directory stores all Chimera related programming projects
+
+        # Git config modifications
+        user.name = "Samuel Shuert"
+        user.email = "me@thecoded.prof"
+        '';
+      };
+      "Programming/Clicks/README.md" = {
+        text = ''
+        # What is this directory for?
+        This directory stores all Clicks related programming projects
+
+        # Git config modifications
+        user.name = "Samuel Shuert"
+        user.email = "coded@clicks.codes"
+        '';
+      };
+    };
+
+    # Git Config
+    programs.git.includes = [
+      {
+        condition = "gitdir:~/Programming/Chimera/**";
+
+        contents = {
+          user.name = "Samuel Shuert";
+          user.email = "me@thecoded.prof";
+        };
+      }
+      {
+        condition = "gitdir:~/Programming/Clicks/**";
+
+        contents = {
+          user.name = "Samuel Shuert";
+          user.email = "coded@clicks.codes";
+        };
+      }
+      {
+        condition = "gitdir:~/Programming/Personal/**";
+
+        contents = {
+          user.name = "Samuel Shuert";
+          user.email = "me@thecoded.prof";
+        };
+      }
+      {
+        condition = "gitdir:~/Programming/Auxolotl/**";
+
+        contents = {
+          user.name = "Samuel Shuert";
+          user.email = "me@thecoded.prof";
+        };
+      }
+    ];
+
+    # Additional Kitty Config
+    programs.kitty.extraConfig = ''
+      map kitty_mod+enter launch --cwd=current --type=window
+      map kitty_mod+t     launch --cwd=current --type=tab
+    '';
+
+    # Additional Packages
+    home.packages = [ pkgs.foliate pkgs.openrgb ];
+  };
+}
