diff --git a/.darcs-boringfile b/.darcs-boringfile
index 27de70f95..e26aa6dd9 100644
--- a/.darcs-boringfile
+++ b/.darcs-boringfile
@@ -29,7 +29,6 @@
 (^|/)ChangeSet($|/)
 (^|/)\.svn($|/)
 (^|/)\.git($|/)
-\.gitignore$
 \.py[co]$
 \#
 \.cvsignore$
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000..958ddd4ad
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,22 @@
+*.pyc
+*.pyo
+
+/build/
+/support/
+
+# these are generated at build time, and never checked in
+/src/allmydata/_version.py
+/src/allmydata/_appname.py
+
+# these are generated too
+/bin/tahoe
+/bin/tahoe.pyscript
+/bin/tahoe-script.py
+
+/.built
+/src/allmydata_tahoe.egg-info/
+Twisted-*.egg
+
+/_trial_temp*
+/dist/
+/twisted/plugins/dropin.cache