Commit Graph

51 Commits

Author SHA1 Message Date
Sandro Jäckel
bb69775568
paperless-ngx: drop inactive maintainers, add myself to maintainers 2024-08-25 21:39:54 +02:00
éclairevoyant
7d8742da87
treewide: fix mkEnableOption usage 2024-06-14 02:41:42 -04:00
e1mo
f0721f3779
nixos/paperless: Always buidl tesseract with english
With the changes introduced in #303388 tesseract would only be compiled
with the languages defined in `PAPERLESS_OCR_LANGUAGE`. However, english
is always required, making tesseract fail to build when only non-english
languages are defined in tesseract:

```
eng.traineddata must be present in tessdata for Tesseract to work
```
2024-04-19 10:47:54 +02:00
Leona Maroni
025d3a2f65
Merge pull request #303388 from SuperSandro2000/paperless-only-enabled-languages
nixos/paperless: override enabled tesseract languages with the in paperless configured ones
2024-04-14 14:59:33 +02:00
Sandro Jäckel
b579dac4ed
nixos/paperless: override enabled tesseract languages with the in paperless configured ones 2024-04-13 22:44:19 +02:00
stuebinm
6afb255d97 nixos: remove all uses of lib.mdDoc
these changes were generated with nixq 0.0.2, by running

  nixq ">> lib.mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> Inherit >> mdDoc[remove]" --batchmode nixos/**.nix

two mentions of the mdDoc function remain in nixos/, both of which
are inside of comments.

Since lib.mdDoc is already defined as just id, this commit is a no-op as
far as Nix (and the built manual) is concerned.
2024-04-13 10:07:35 -07:00
Casey Link
789684ad02
nixos/paperless: Switch to systemd.tmpfiles.settings
This option resolves #301746 by allowing the admin to bypass the
creation of the paperless directories by systemd-tmpfiles.

This is necessary when, for example, those directories lie inside an NFS
mount that the root user does not have rw access to.

Fixes #301746
2024-04-11 08:19:24 +02:00
Casey Link
9532793d59
nixos/paperless: refactor to use systemd LoadCredential
This replaces the paperless-copy-password service with the use of
systemd's LoadCredential mechanism.

It is not a breaking change since it is gated behind `cfg.passwordFile`.
2024-04-11 08:19:05 +02:00
Atemu
70fa188e17 nixos/paperless: set OMP_NUM_THREADS=1 by default
Fixes https://github.com/NixOS/nixpkgs/issues/240591
2024-03-26 17:56:01 +01:00
Sandro Jäckel
da1ccb628f
nixos/paperless: fix too many open files
paperless-web-start[658743]: kombu.exceptions.OperationalError: [Errno 24] Too many open files: '/nix/store/k6h0pihpi3ih31zjk6ragqcp4mjz4pjs-python3.11-concurrent-log-handler-0.9.24/lib/python3.11/site-packages/concurrent_log_handler-0.9.24.dist-info/entry_points.txt'
2024-03-02 17:52:18 +01:00
Flakebi
9db96ee839
paperless: fix uploading files via local folder
The consumer service needs to be in the same namespace as the
task-queue, otherwise they cannot see each others temporary files.
Same as for web uploading.

See also the discussion here:
https://github.com/paperless-ngx/paperless-ngx/discussions/5606
2024-02-28 09:14:48 +01:00
Atemu
f38bca1ca5
Merge pull request #279677 from leona-ya/paperless-nltk
nixos/paperless: use nltk_data package as NLTK data source
2024-02-01 16:59:28 +01:00
Leona Maroni
6300f478e9
nixos/paperless: use nltk_data package as NLTK data source
nixos
2024-02-01 16:53:34 +01:00
Luke Granger-Brown
23310f467a
Merge pull request #284980 from patka-123/update-paperless-service-example-doc
nixos/paperless: update extraConfig to settings in service docs.
2024-01-30 12:53:31 +00:00
Patka
3d028d17c9
nixos/paperless: update extraConfig to settings in service docs
Signed-off-by: Patka <patka@patka.dev>
2024-01-30 11:26:04 +01:00
Jade Lovelace
80edf319fe nixos/paperless: fix network-online.target dependencies 2024-01-18 16:28:41 -08:00
Sandro Jäckel
7c1b4b22f9
nixos/paperless: convert extraConfig to freeform type
Co-authored-by: Atemu <atemu.main@gmail.com>
2024-01-04 00:04:38 +01:00
h7x4
0a37316d6c
treewide: use mkPackageOption
This commit replaces a lot of usages of `mkOption` with the package
type, to be `mkPackageOption`, in order to reduce the amount of code.
2023-11-27 01:28:36 +01:00
Matthias Riße
63ef033992 nixos/paperless: set PAPERLESS_SECRET_KEY
If the PAPERLESS_SECRET_KEY environment variable is left unset
paperless-ngx defaults to a well-known value, which is insecure.

Co-authored-by: Erik Arvstedt <erik.arvstedt@gmail.com>
2023-10-27 21:11:01 +02:00
Leona Maroni
6249a0983d
nixos/paperless: fix start with latest systemd 2023-10-05 12:56:37 +02:00
Leona Maroni
87f21ac4e6
nixos/paperless: allow systemd services to read ca-certificates
This fixes a regression introduced with the update to 1.17.0.
Since this version paperless-ngx checks the ssl certificates of remote
email servers.
2023-08-25 16:54:04 +02:00
Gregor Godbersen
3d9a6399a1 nixos/paperless: set default thumbnail font
The upstream default for the thumbnail font is set to "Liberation Serif
Regular" located at /usr/share/fonts which is inaccessible under nix.
(2a2bf3bf55/src/paperless/settings.py (L894))

Paperless throws an error when parsing plaintext files without a valid
font. This change sets a nix default using the liberation_ttf package.
2023-08-05 22:06:27 +02:00
Elias Probst
2b0545b423
nixos/paperless: update URL to docs 2023-07-26 19:02:29 +02:00
Atemu
2616bb762b nixos/paperless: explain how to set JSON env vars
Co-authored-by: Christian Theune <ct@flyingcircus.io>
Co-authored-by: Erik Arvstedt <erik.arvstedt@gmail.com>
2023-07-09 19:52:06 +02:00
Atemu
44f637aa8d nixos/paperless: use toShellVars for paperless-manage
The homebrewed snippet didn't escape vars properly which is an issue because
PAPERLESS_OCR_USER_ARGS requires a JSON string. This also meant a discrepancy
between the services' env vars and paperless-manage's.

Just use the correctly functioning library function for this instead.
2023-07-08 16:03:45 +02:00
Benjamin Staffin
211d94d70b
nixos/paperless: Enable UMask now that it works (#240010)
According to
https://github.com/NixOS/nixpkgs/issues/147599#issuecomment-1272286679
the bug that prevented this UMask directive from working has been fixed
in systemd, so it should be safe to use now.

This stops paperless-ngx from making everything world-readable on disk,
but it does not change permissions of any files previously created.
2023-06-28 10:48:25 -04:00
Leona Maroni
dd05e2a899 nixos/paperless: add leona as maintainer 2023-06-28 08:42:23 +08:00
Martin Puppe
ebdfdae156 nixos/paperless: download NLTK data
Since version 1.10.0 paperless-ngx depends on the NLTK library which is
used to pre-process data for machine learning. NLTK needs certain
data for stemming, stopword removal etc. This data has to be downloaded
first. This commit introduces a new systemd service that does the
downloading.
2023-02-23 21:34:49 +01:00
Martin Puppe
fa7fbe565d nixos/paperless: apply nixpkgs-fmt 2023-02-10 23:55:30 +01:00
Erik Arvstedt
a7d112b30a
nixos/paperless: Reindex documents after updating to 1.12.x
This causes a reindex of all documents to allow for comments made before
1.12.x to be searchable.

Also change the format of the version file to just include the version,
not the whole store path.
This simplifies version comparisons and causes migrations to run only
when the version has changed.

Co-Authored-By: Martin Weinelt <hexa@darmstadt.ccc.de>
2023-01-31 14:43:36 +01:00
Florian Brandes
b406baead8 nixos/paperless-ngx: reorder "after" keyword
Signed-off-by: Florian Brandes <florian.brandes@posteo.de>
2023-01-02 16:25:34 +01:00
Florian Brandes
5b6881f4a0 nixos/paperless-ngx: fix startup order
The nixOS test failed sporadically with a timeout.
This is due to a race condition in the startup  of
the scheduler vs the task-queue.

The scheduler runs the migration scripts in "pre-start" and
celery isn't available, yet. The celery worker (paperless-task-queue)
was already started by systemd but was unable to connect
(as the migration scripts from "pre-start" still ran).

This fix adds the necessary "after" condition in the systemd
worker unit and adds a test to "paperless"

Signed-off-by: Florian Brandes <florian.brandes@posteo.de>
2023-01-02 15:21:45 +01:00
Leona Maroni
2d7b8ef56f
nixos/paperless: update for paperless-ngx 1.10.2 2022-12-25 23:07:44 +00:00
Erik Arvstedt
ecacff35a6
nixos/paperless: add required syscall
`unpaper` requires syscall 238 (`set_mempolicy`).
Add this by un-blocking the systemd syscall filter set `@resources`
which is safe in the context of paperless.
2022-09-22 08:14:21 +02:00
Erik Arvstedt
fdead18e9e
nixos/paperless: use python from pkg for gunicorn
This ensures that a compatible `gunicorn` is used when `pkg` is
overridden.
2022-09-12 09:20:53 +02:00
Luke Granger-Brown
55d9a2c596 nixos/paperless: fix time.timeZone setting
This attribute set isn't passed through the NixOS config resolution
mechanism, which means that we can't use lib.mkDefault here.

Instead, just put it before any user overrides so that if the user
specifies this environment variable it'll just override it anyway.
2022-09-11 15:01:47 +01:00
Erik Arvstedt
783f8f16c1
paperless: move PYTHONPATH definition to module
`paperless-ngx.pythonPath` was incomplete due to the missing paperless-ngx
source, so it had to be amended in the service.
Instead of amending it, define it entirely in the service.

This allows an override of `paperless-ngx.propagatedBuildInputs` to be reflected
in the service's PYTHONPATH.
2022-09-05 14:50:45 +02:00
Erik Arvstedt
310b9fe58d
nixos/paperless: extract variable pkg 2022-09-05 10:03:59 +02:00
Martin Weinelt
f98011803e
nixos/paperless: Restrict CAP_NET_BIND_SERVICE
Handing CAP_NET_BIND_SERVICE to the `paperless-web.service` only makes
sense when it actually wants to bind to a port < 1024. Don't hand it out
if that is not the case.
2022-09-04 16:24:24 +02:00
Martin Weinelt
2d257f8101
nixos/paperless: Add pgsql via unix socket example
Finding out how to connect paperless to a PostgreSQL database via unix
sockets and peer authentication took me a few minutes, so leaving a hint
in the extraConfig example seems like a good idea to me.

Also remove unnecessary use of literalExpression for attribute set, it
is only required for complex values like functions or values that depend
on other values or packages.
2022-09-04 16:16:46 +02:00
Martin Weinelt
81a17f7352
nixos/paperless: Use system timezone by default, if set 2022-09-04 16:16:46 +02:00
Martin Weinelt
94f00041f0
nixos/paperless: Allow mbind syscall in paperless-web.services
After uploading a document through the webinterface I started seeing
it killed through the SYSBUS signal. Inspecting the call trace led me to
liblapack's memory allocator, that uses the mbind syscall on Linux.
2022-09-04 16:16:45 +02:00
pennae
2e751c0772 treewide: automatically md-convert option descriptions
the conversion procedure is simple:

 - find all things that look like options, ie calls to either `mkOption`
   or `lib.mkOption` that take an attrset. remember the attrset as the
   option
 - for all options, find a `description` attribute who's value is not a
   call to `mdDoc` or `lib.mdDoc`
 - textually convert the entire value of the attribute to MD with a few
   simple regexes (the set from mdize-module.sh)
 - if the change produced a change in the manual output, discard
 - if the change kept the manual unchanged, add some text to the
   description to make sure we've actually found an option. if the
   manual changes this time, keep the converted description

this procedure converts 80% of nixos options to markdown. around 2000
options remain to be inspected, but most of those fail the "does not
change the manual output check": currently the MD conversion process
does not faithfully convert docbook tags like <code> and <package>, so
any option using such tags will not be converted at all.
2022-07-30 15:16:34 +02:00
Erik Arvstedt
1a32663efc
treewide: rename maintainer earvstedt -> erikarvstedt
The maintainer name now matches the Github username, which simplifies
maintainer notifications.
2022-06-26 19:12:18 +02:00
Erik Arvstedt
0977227b86
nixos/paperless-ng: rename to paperless, use paperless-ngx package
Use this opportunity to rename `paperless-(ng)-server` to `paperless-scheduler`.
This follows the naming scheme in the paperless repo and docs.
2022-04-12 18:15:44 +02:00
Andreas Rammhold
6e1421013a
paperless: remove package & module as it has been superseded by paperless-ng
The paperless project has moved on to paperless-ng and the original
paperless package in Nixpkgs has stopped working recently (due to
version incompatibility with the providede Django package).

Instead of investing more time into the old module we should migrate all
users to the new module instead.
2021-08-14 10:10:44 +02:00
Daniel Nagy
864dabf232
nixos/paperless: use port type 2021-06-18 17:29:15 +02:00
Erik Arvstedt
9ed03f2103 nixos/paperless: fix tmpfiles rules
Previously, the service expected the paperless user to have a group with
the user's name. This is not necessarily the case for custom users.
2020-01-13 02:01:23 +00:00
Erik Arvstedt
5ad5d2321f nixos/paperless: don't use deprecated types.loaOf
This removes a warning.
2020-01-13 02:01:23 +00:00
Silvan Mosberger
478e7184f8
nixos/modules: Remove all usages of types.string
And replace them with a more appropriate type

Also fix up some minor module problems along the way
2019-08-31 18:19:00 +02:00