about summary refs log tree commit diff
path: root/pkgs
Commit message (Collapse)AuthorAgeFilesLines
* pkgs/profpatsch/write-rust: alwyas run tests by defaultProfpatsch2021-04-236-22/+27
| | | | | | testRustSimple wouldn’t work with all the rust functions, so let’s just use it internally and expose the tests via the conventional `doCheck` attribute instead.
* pkgs/profpatsch: add xrandr two monitor setupProfpatsch2021-04-232-0/+205
| | | | Just to prove I can.
* pkgs/profpatsch/write-rust: fix ln invocationsternenseemann2021-04-201-1/+1
| | | | | | | | The -T flag is GNU coreutils specific, for s6-ln and POSIX ln, the equivalent seems to be -L which mandates behavior like linkat(3) with the AT_SYMLINK_FOLLOW flag. cc @Profpatsch
* devhell/vim: Add packages, remove textwidthdevhell2021-04-151-1/+2
| | | | | | The textwidth limit is getting annoying on certain files, and while I'm sure there's an elegant 'vim-way' of doing this without plugins, I'm just gonna go ahead and see if `vim-sleuth` does the trick.
* factorio: Fix patcher to work with Radare2 5.xaszlig2021-04-141-2/+10
| | | | | | | | | | | | | | | Version 5.0.0 of Radare2 introduced a few changes in symbol naming, which causes our patcher to fail because it's unable to find the "/usr/share/factorio" string and the getSystemWriteData() method. The upstream change[1] in question for example now uses underscores for certain characters in the symbol/comment name, so for us to be backwards-compatible I added a check against the major version of Radare2 to determine whether we should add underscores when needed. [1]: https://github.com/radareorg/radare2/commit/aaa930ab261a31e58b1257df06db02481cd3bd55 Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/sternenseemann: add release tarball toolingsternenseemann2021-04-133-0/+104
| | | | | | | | | | | | | | The following nix functions allow easily creating derivations for building a signed releases directory for project(s) to be served via e. g. HTTP. * buildGitTarball: builds a reproducible .tar.gz for a given git revision or tag (similar to git archive, but we don't actually reuse it in favor of fetchgit). * bundleSignedReleases: symlinks tarballs generated using buildGitTarball and accompanying (manually provided) signatures into a directory and verifies the signatures to ensure buildGitTarball is donig what it's supposed to.
* pkgs/sternenseemann: add schmecgit, a cgit about / source filtersternenseemann2021-04-133-0/+146
| | | | | | | | | Only does very simple dispatching to pkgs.lowdown and pkgs.chroma, but is at least significantly faster than the default source and about filters bundled with cgit (which is not really a challenge as they use python and pygments). Added to enable my cgit setup until we can have TVL's //tools/cheddar.
* pkgs/sternenseemann/shakti: fix hashsternenseemann2021-04-131-4/+5
| | | | Ugh.
* pkgs/sternenseemann: restructure default.nixsternenseemann2021-04-131-34/+37
| | | | Group somewhat semantically instead of ordering alphabetically.
* pkgs/sternenseemann/tep: add static list of additional charssternenseemann2021-04-131-2/+8
| | | | | This is currently mostly to add the dot character used as separator in dot time (<https://dotti.me>).
* pkgs/sternenseemann/patches: prevent possible buffer overrunsternenseemann2021-04-101-12/+21
|
* pkgs/sternenseemann/mandoc: use new READ_ALLOWED_PATH approachsternenseemann2021-04-102-64/+82
| | | | | This patch version implements Ingo's suggestion of READ_ALLOWED_PATH: https://inbox.vuxu.org/mandoc-tech/20210331173434.GA57338@athene.usta.de/
* pkgs/sternenseemann/tep: fix attribute pathsternenseemann2021-04-031-1/+1
|
* pkgs/profpatsch/el-semicolon: build and run tests using testRustSimplesternenseemann2021-03-312-12/+7
|
* pkgs/profpatsch: remove nix-genProfpatsch2021-03-312-25/+2
| | | | It was unused and required a broken hnix pin.
* pkgs/sternenseemann/emoji-generic: unbreaksternenseemann2021-03-262-9/+4
| | | | | Once again PVP causes a configure failure which doesn't translate into a build failure. Fixed by bumping upstream repository.
* pkgs/profpatsch/write-rust: use s6-portable-utilsProfpatsch2021-03-261-4/+4
| | | | | | | | | | | | | | | We had a bunch of instances of https://github.com/NixOS/nix/issues/2176, where nix would exit with a “killed by signal 9” error. According to Eelco in that issue, this is perfectly normal behaviour of course, and appears if the last command in a loop closes `stdout` or `stdin`, then the builder will SIGKILL it immediately. This is of course also a perfectly fine error message for that case. It turns out that mainly GNU coreutils exhibit this behaviour … Let’s see if using a more sane tool suite fixes that.
* fix(profpatsch/write-rust): fail on rust test failuresternenseemann2021-03-251-1/+1
| | | | | | | | | | Port of <https://cl.tvl.fyi/c/depot/+/2657>. Original message: `forstdin` iterates over the tests in the test directory, and by default it does *not* fail if an inner loop returns an error, unless `-o okcodes` is given, a list of exit codes that indicate success. Now it fails if a loop returns ≠ 0.
* pkgs/sternenseemann/nix-env-diff: I am stupidsternenseemann2021-03-181-1/+1
| | | | https://youtu.be/LB8bhHyPLgk?t=418
* pkgs/sternenseemann/nix-env-diff: utility for comparing nix-env evalssternenseemann2021-03-183-0/+173
| | | | | | | | | | | | | | | | | | | | | | | | nix-env-diff is a tiny utility which parses and compares the output of `nix-env -qaP --out-path`, printing all changed and added out paths (or attributes if desired). This facilitates a simple way to determine rebuilds or changed reverse dependencies when working on nixpkgs in a similar way as nixpkgs-review and ofborg do it. Both the new evaluation and the base evaluation to compare against have to be created manually using nix-env, which in turn also allows considering attribute sets that are normally not evaluated do to missing `lib.recurseIntoAttrs`. As an example, here is an example building all changed attributes in `ocaml-ng.ocamlPackages_4_12`: ``` nix-env -qaP -A ocaml-ng.ocamlPackages_4_12 --out-path -f . \ | nix-env-diff --attrs ./base-ocamlPackages_4_12 \ | xargs -n 1 -P 4 nix-instantiate --quiet -A \ | xargs nix-store --realise --builders 'ssh://edwin' ``` `./base-ocamlPackages_4_12` contains the result of the `nix-env` invocation executed on the master branch.
* pkgs/profpatsch/deploy: change gcroot locationProfpatsch2021-03-061-1/+1
|
* pkgs/profpatsch/execline: add missing execline depProfpatsch2021-03-061-1/+1
|
* pkgs/profpatsch: remove stray fileProfpatsch2021-03-051-77/+0
|
* pkgs/profpatsch: add gpg-private-offline-keyProfpatsch2021-03-053-0/+136
| | | | | | | | | | | | | | | | | These are the scripts I used to print my gpg private key onte a bunch of A4 papers, as QR codes of the paperkey output. It also contains an example of how to automatically read it back in with a ScanSnap „Einzugsscanner“. I think there also was a test that checks that the full roundtrip works :) The QR codes generation was designed in a way that they contain the highest amount of data when printed on A4 paper, while still being high-redundancy enough that you can destroy about 1/4th of them before they become unreadable. The key was also printed as plain paperkey format, so in the worst case when I don’t have a scanner I can type it in by hand.
* pkgs/profpatsch/nix-eval: add --read-write-modeProfpatsch2021-03-051-1/+5
|
* pkgs/profpatsch.de: add talkiesProfpatsch2021-03-051-1/+12
|
* pkgs/profpatsch/sandbox: fix the env callProfpatsch2021-03-051-1/+1
|
* pkgs/profpatsch/xdg-open: improve tool a bitProfpatsch2021-03-055-38/+99
|
* pkgs/profpatsch/importDhall: fix importDhall2 wrapperProfpatsch2021-03-051-0/+1
|
* pkgs/profpatsch/nman: add readmesternenseemann2021-02-251-0/+12
| | | | | I think nman is of general interest, so general pointers on setting it up may be useful for others.
* pkgs/profpatsch/nman: use unicode replacement characterssternenseemann2021-02-251-1/+1
| | | | | Should give the user more information about what exactly went wrong in the event of a store path being garbage.
* pkgs/profpatsch/nman: check all man files for matchessternenseemann2021-02-251-20/+76
| | | | | | | | | | Instead of generating n hypothetical filenames for the man page we search for and checking if one of them exists, we now iterate through the files in the man dir we are checking and match each of them against our desired man page and section. I feel like this makes the code more cumbersome, but on the upside it is now more unit-testable.
* pkgs/profpatsch/nman: check that empty sections are disallowedsternenseemann2021-02-251-3/+4
|
* pkgs/profpatsch/nman: unit test testable stuffsternenseemann2021-02-253-4/+87
| | | | | | | This is parsing and rendering of stuff currently mostly, since our main logic is relatively interwoven with IO stuff (to avoid copying stuff a lot). This is fine however as the application logic is tested using the nixos vm test we also have!
* pkgs/profpatsch/nman(1): examples after descriptionsternenseemann2021-02-251-30/+17
|
* pkgs/profpatsch/nman(1): reorder invocation descriptionssternenseemann2021-02-251-25/+26
| | | | Now shortest is listed first.
* pkgs/profpatsch/nman: let nix tools inherit stderr handlesternenseemann2021-02-251-12/+25
| | | | | | | | | This relieves us of the burden to print the error message and lets the user see what's going on, for example why they have to wait for years when running `nman duplicity` (we have to fetch all transitive python dependencies). We also print the exit status in case of errors and the signal that killed a process (in the case of SIGKILL, SIGSEGV and maybe more?).
* pkgs/profpatsch/nman(1): please mandoc -Tlintsternenseemann2021-02-251-1/+1
|
* pkgs/profpatsch/nman: use 100 for usage errorssternenseemann2021-02-252-3/+3
| | | | | | | In the Profpatsch universe, execline reigns surpreme. Therefore we must bow to its (understandable) rejection of POSIX and use 100 as the user error instead of the 64 of sysexits.h. This makes a lot of sense, as we are already using execline conventions for the other exit codes.
* pkgs/profpatsch/nman(1): add DISCLAIMER sectionsternenseemann2021-02-251-0/+13
| | | | | | | | We want to discourage scripting with nman, as we may want to tweak the user interface or internal behavior of nman in the future without maintaining backwards compatibilty. In other words: You have been warned.
* pkgs/profpatsch/nman(1): add Profpatsch's emailsternenseemann2021-02-251-2/+3
|
* pkgs/profpatsch/nman(1): misc clarificationssternenseemann2021-02-251-5/+7
| | | | (as suggested by Profpatsch)
* pkgs/profpatsch/nman: typo fixessternenseemann2021-02-252-2/+2
|
* pkgs/profpatsch/nman: clone path instead of resetting itsternenseemann2021-02-251-9/+6
| | | | | Just copy path instead of having a harder to maintain reset mechanism. Copying strings is not really a performance concern in this case.
* pkgs/profpatsch/nman: print io::Error for NmanError::IOsternenseemann2021-02-251-5/+4
| | | | | | | We reuse std::io::Error's Display trait to print precisely the error that occurred to the user as well. This will probably help a lot if an IO error should ever occurr, as they will only ever occurr in very weird situations (mktemp(3) failed or share/man is not a readable directory).
* pkgs/profpatsch/nman: adjust usage to match man pagesternenseemann2021-02-251-1/+1
|
* pkgs/profpatsch/nman: add man page for nmansternenseemann2021-02-252-0/+197
| | | | Proof-reading would be very welcome!
* pkgs/profpatsch/nman: fix panic if mandir.len() < 3sternenseemann2021-02-251-1/+1
| | | | | | | | | | | | | Sometimes share/man contains directories that are not of the form man<section> which we are checking in build_man_page. However, this check can't deal with directories that are shorter than 3 characters due to the use of split_at() which panics if the index is out of range (for somer reason…). In nixpkgs it is relatively common to have directories like "de" in share/man. This has been resolved.
* pkgs/profpatsch/nman: repurpose old path field in DrvWithOutputsternenseemann2021-02-251-6/+8
| | | | | | | | | The path field wasn't used in DrvWithOutput as we only ever needed rendered. rendered however is a bit of a confusing name as it is not in fact fully rendered in all cases. Since we can pass rendered to nix-store --realise without preprocessing in all cases we rename it to path and add a note in the documentation. The old path field is removed for this without replacement.
* pkgs/profpatsch/nman: move parse_drv_* into implssternenseemann2021-02-251-34/+38
| | | | | * parse_drv_output → DrvOutput::parse * parse_drv_path → DrvWithOutput::parse