diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -6,13 +6,50 @@
 
 ## Installation
 
+### Homebrew
+
 If you’re using [Homebrew], you can just run
 
     brew install pinboard-notes-backup
 
-Prebuilt binaries are available for OS X and Linux—find them on [the page for the most recent release][release]. Download the archive for your OS, unpack it, and copy the `pnbackup` binary to some directory in your `PATH`, like `/usr/local/bin`. You may also want to copy the man page, `pnbackup.1`, to a directory like `/usr/local/share/man/man1`.
-
 [Homebrew]: https://brew.sh
+
+### Nix
+
+If you’re using the [Nix] package manager, run
+
+    nix-env -i -A nixpkgs.pinboard-notes-backup
+
+If you use NixOS, run
+
+    nix-env -i -A nixos.pinboard-notes-backup
+
+[Nix]: https://nixos.org/nix/
+
+### Manual installation
+
+Prebuilt binaries are available for OS X and Linux—find them on [the page for the most recent release][release]. To install the program from one of these,
+
+1. Download the archive for your OS and unpack it.
+
+2. Copy the `pnbackup` binary to some directory in your `PATH`, like `/usr/local/bin`.
+
+3. *Optional:* Install the man page by running
+
+       install -D --mode=444 pnbackup.1 /usr/local/share/man/man1
+
+4. *Optional:* Generate and install a Bash completion script by running
+
+       mkdir -p /usr/local/etc/bash_completion.d
+       pnbackup --bash-completion-script $(which pnbackup) > \
+           /usr/local/etc/bash_completion.d/pnbackup.bash
+
+5. *Optional:* Generate and install a Zsh completion script by running
+
+       mkdir -p /usr/local/share/zsh/site-functions
+       pnbackup --zsh-completion-script $(which pnbackup) > \
+           /usr/local/share/zsh/site-functions/_pnbackup
+
 [release]: https://github.com/bdesham/pinboard-notes-backup/releases/latest
 
 ### Building from source
@@ -25,7 +62,7 @@
 
     stack install
 
-to build the `pnbackup` binary and install it. (The default installation directory is `~/.local/bin`; you probably want to copy the executable from there into some directory that is listed in your `PATH`.)
+to build the `pnbackup` binary and install it. (The default installation directory is `~/.local/bin`; pass an argument like `--local-bin-path=/usr/local/bin` to change this.)
 
 [Stack]: http://docs.haskellstack.org/en/stable/README/
 
@@ -50,7 +87,7 @@
 
 Your notes are stored in a table called “notes” with the following schema:
 
-```
+``` sql
 CREATE TABLE notes (
     id TEXT NOT NULL UNIQUE,
     title TEXT NOT NULL,
@@ -96,6 +133,9 @@
 
 [PVP]: https://pvp.haskell.org/
 
+* 1.0.5 (2019-09-15)
+    - The Bash and Zsh completion scripts are now told explicitly that the “FILE” argument should be completed with a filename. (This seems to have been the default behavior for both shells anyway, so this may not represent an actual change in functionality.)
+    - The application now builds against a wider range of dependencies.
 * 1.0.4.1 (2019-07-19)
     - The “built” version of the man page is now included in version control (in the `man` directory) and in the package produced by `cabal sdist`/`stack sdist`. (It was previously necessary to create this yourself by feeding the Markdown source file to Pandoc.)
     - Changed the categories and the description in the cabal file.
diff --git a/pinboard-notes-backup.cabal b/pinboard-notes-backup.cabal
--- a/pinboard-notes-backup.cabal
+++ b/pinboard-notes-backup.cabal
@@ -1,5 +1,5 @@
 name:                pinboard-notes-backup
-version:             1.0.4.1
+version:             1.0.5
 synopsis:            Back up the notes you've saved to Pinboard
 description:         A command-line application to back up your notes from the
                      Pinboard bookmarking service to a local SQLite database.
@@ -31,11 +31,11 @@
                        , ansi-wl-pprint       >= 0.6  && < 0.7
                        , bytestring           >= 0.10 && < 0.11
                        , containers           >= 0.5  && < 0.7
-                       , http-client          >= 0.5  && < 0.6
+                       , http-client          >= 0.5  && < 0.7
                        , http-types           >= 0.12 && < 0.13
                        , mtl                  >= 2.2  && < 2.3
                        , optparse-applicative >= 0.11 && < 0.15
-                       , req                  >= 1.0  && < 1.3
+                       , req                  >= 1.0  && < 2.2
                        , sqlite-simple        >= 0.4  && < 0.5
                        , text                 >= 1.2  && < 1.3
                        , time                 >= 1.5  && < 1.10
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -32,7 +32,8 @@
                                <> long "verbose"
                                <> help verboseHelp)
     <*> argument str (metavar "FILE"
-                      <> help pathHelp)
+                      <> help pathHelp
+                      <> action "file")
     where tokenHelp = "Your API token (e.g. maciej:abc123456). "
                       <> "You can find this at <https://pinboard.in/settings/password>."
           verboseHelp = "Display detailed progress information."
