diff --git a/hosts/nixos-desktop/default.nix b/hosts/nixos-desktop/default.nix
index d850215..f7323de 100644
--- a/hosts/nixos-desktop/default.nix
+++ b/hosts/nixos-desktop/default.nix
@@ -25,6 +25,7 @@
       webis.enable = true;
     };
     programs.prismlauncher.enable = true;
+    programs.aider.enable = true;
     services.wallpaper.enable = true;
   };
 
diff --git a/modules/programs/aider.nix b/modules/programs/aider.nix
new file mode 100644
index 0000000..06f4464
--- /dev/null
+++ b/modules/programs/aider.nix
@@ -0,0 +1,28 @@
+{ config
+, lib
+, pkgs
+, ...
+}:
+
+with lib;
+let
+  cfg = config.my.programs.aider;
+
+  wrapped = pkgs.writeShellApplication {
+    name = "aider";
+    text = ''
+      aider --openai-api-key "$(cat /run/agenix/openai)" --no-attribute-author --no-attribute-committer "$@"
+    '';
+    runtimeInputs = [ cfg.package ];
+  };
+in
+{
+  options.my.programs.aider = {
+    enable = mkEnableOption "ssh";
+    package = mkPackageOption pkgs "aider-chat" { };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ wrapped ];
+  };
+}