| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Do a barrel roll!
|
| |
|
|
|
|
| |
Plus add some other virtualization thingies I can uncomment if I need them.
|
| |
|
|
|
|
| |
why not lol
|
| |
|
|
|
|
| |
Used for IHP development https://ihp.digitallyinduced.com/Guide/index.html
|
| |
|
| |
|
|
|
|
|
|
|
| |
gonic is a modern alternative to mpd, it indexes music directories and
provides a server with a protocol to request files and metadata.
It has an Android app.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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`.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
`xbindkeys` seems to be the solution, at least via user-space.
This reverts commit 59dbc84cb214ed3df6506e95d3bf59b89f9d3548.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Kinda need despite my eternal hate for terminal ui.
|
|
|
|
|
| |
External keyboards never keep the speed I set. I don’t want that. I
don’t want to interact with udev, either.
|
|
|
|
|
| |
I think nman is of general interest, so general pointers on setting
it up may be useful for others.
|
|
|
|
|
| |
Should give the user more information about what exactly went wrong in
the event of a store path being garbage.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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!
|
| |
|
|
|
|
| |
Now shortest is listed first.
|
|
|
|
|
|
|
|
|
| |
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?).
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
(as suggested by Profpatsch)
|
| |
|
|
|
|
|
| |
Just copy path instead of having a harder to maintain reset mechanism.
Copying strings is not really a performance concern in this case.
|
|
|
|
|
|
|
| |
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).
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Proof-reading would be very welcome!
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|