about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* pkgs/profpatsch/sandbox: fix the env callProfpatsch2021-03-051-1/+1
|
* pkgs/profpatsch/xdg-open: improve tool a bitProfpatsch2021-03-056-38/+100
|
* pkgs/profpatsch/importDhall: fix importDhall2 wrapperProfpatsch2021-03-051-0/+1
|
* services/profpatsch/weechat: start factoring out some optionsProfpatsch2021-03-052-13/+29
| | | | | | The goal is to be able to have multiple weechat services on one machine, so a bunch of people can run their weechat clients under different service users.
* machines/legosi: enable xandikos caldav/carddav serverProfpatsch2021-03-051-0/+17
|
* machines/{shiki,legosi}: enable tailscale moduleProfpatsch2021-03-052-0/+4
|
* machines/profpatsch/base-workstation: add binutilsProfpatsch2021-03-051-0/+1
|
* machines/shiki: make dunst follow keyboard focusProfpatsch2021-03-052-0/+4
|
* machines/shiki: reenable fcitx Japanese inputProfpatsch2021-03-051-10/+10
|
* machines/profpatsch: fix git overwriting gitFullProfpatsch2021-03-052-2/+8
| | | | | | I had a clash between the base config and my workstation, which lead to `git send-email` not being available because `git` (minimal) was shadowing `gitFull`.
* machines/herja: Disable light programdevhell2021-03-041-1/+1
| | | | | | | | | I've been using `illum` to make the screen brightness keys work on this machine. It's better than invoking light manually or via a xbindrc call. Although, `illum` is a bit outdated in nixpkgs, and I'm guessing that's the reason why it crashes when the machine boots. After restarting the service it's fine. If `illum` isn't updated in nixpkgs soon, I'll have a look at it.
* machines/sternenseemann/wolfgang: set builders-use-substitutes = truesternenseemann2021-03-042-4/+9
|
* profiles/packages: Replace tldr with tealdeerdevhell2021-03-021-1/+1
| | | | | | | The normal `tldr-c-client` from `tldr`'s own repository hasn't been updated in about 5 years and there is a really annoying update bug that has a fix but upstream has just "forgot" about it it seems. So, this alternative works as expected and is written in Rust. Yay.
* Revert "machines/herja: Add non-functioning mute btn event"devhell2021-03-011-10/+0
| | | | | | `xbindkeys` seems to be the solution, at least via user-space. This reverts commit 59dbc84cb214ed3df6506e95d3bf59b89f9d3548.
* machines/eir: Remove some unneeded CUPS packagesdevhell2021-03-011-1/+1
|
* machines/herja: Add non-functioning mute btn eventdevhell2021-03-011-0/+10
| | | | | | For some reason this doesn't work yet. It works fine when run manually as root or my own user, but when acpid runs it nothing happens. Dunno yet why.
* machines/sternenseemann/wolfgang: add nix-output-monitorsternenseemann2021-02-281-0/+1
| | | | Kinda need despite my eternal hate for terminal ui.
* machines/shiki: “solve” the keyboard speed reset problemProfpatsch2021-02-271-0/+18
| | | | | External keyboards never keep the speed I set. I don’t want that. I don’t want to interact with udev, either.
* 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
|
* tests/profpatsch/programs/nman: add nixos test for nmansternenseemann2021-02-252-0/+54
| | | | | | | | | | | We can't really do normal unit tests, since they'd be integration tests requiring nix. Recursive nix is also a bad idea in normal derivations, so we add a NixOS test for nman. Here we are also somewhat limited since we already need to have all store paths used by nman in /nix/store otherwise we'd need to access the network which would fail. However we can verify that nman only builds specific store paths before finding the desired man page this way.
* 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
* pkgs/profpatsch/nman: document code furthersternenseemann2021-02-251-0/+54
|
* pkgs/profpatsch/nman: if no section is given, treat it as unknownsternenseemann2021-02-251-37/+67
| | | | | | | | | | | | | | | Previously, we would always assume section 1 was requested if no section was given on the command line. Now the section is treated as if it was unknown and we search for a matching man page by looking through the sub directories of $output/share/man. This means the following invokation works as expected: nman libunwind unw_getcontext instead of requiring nman libunwind 3 unw_getcontext
* pkgs/profpatsch/nman: use pkgs.sternenseemann.temp for TempDirsternenseemann2021-02-253-44/+15
| | | | | temp is essentially the old TempDir code from nman, but using libc's mkdtemp(3) directly instead of mktemp(1) and a slightly better API.
* pkgs/profpatsch/nman: print context for common error messagessternenseemann2021-02-251-34/+43
| | | | | Most notably stderr produced by nix-instantiate and nix-store will now be printed on an error.
* pkgs/profpatsch/nman: reduce and unify exit codessternenseemann2021-02-251-7/+9
|
* pkgs/profpatsch/nman: mutate PathBuf directly instead of using .join()sternenseemann2021-02-251-5/+4
| | | | Should save on copying a bit.
* pkgs/profpatsch/nman: print errors to stderrsternenseemann2021-02-251-4/+2
|
* pkgs/profpatsch/nman: prefer out over docsternenseemann2021-02-251-1/+1
| | | | | | | | man pages are usually pretty small and therefore often also included in out whereas doc seems to seldomly contain any man pages. TODO: confirm this and get a better overview over man pages in doc outputs
* pkgs/profpatsch/nman: check for newline before trimmingsternenseemann2021-02-251-1/+4
|
* pkgs/profpatsch/nman: don't realise all build outputs for `out`sternenseemann2021-02-251-5/+15
| | | | | | | | | | | | | | | nix-instantiate unfortunately prints the plain .drv path for <attr>.out wheras it prints <name>.drv!<output> for all non-default outputs. If we realise the plain .drv path, _all_ outputs are realised which is not desireable since we may not need extra store path being created by this, e. g. for a derivation with outputs = [ "out" "lib" "dev" ] we only need to realise "out" if the man pages are located in there, saving a bit of time and disk space. We implement this better behavior by adding the render function to DrvWithOutput which converts a DrvWithOutput (at the cost of copying) to an OsString. If the output is out, "!out" is appended to the path meaning nix-store will only realise the default output.