about summary refs log tree commit diff
path: root/pkgs/profpatsch
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.
* pkgs/profpatsch/nman: distinguish between failed and missing cmdssternenseemann2021-02-251-4/+7
|
* pkgs/profpatsch/nman: refactor exit code handling, print error messagessternenseemann2021-02-251-12/+30
| | | | | | * make exit code determination nicer syntactically by using an impl * add .msg() function which returns an appropriate error message for every error type.
* pkgs/profpatsch/nman: fix building of default outputsternenseemann2021-02-251-5/+9
| | | | | | | | | | Unfortunately, nix-instantiate prints only the drv path for the `out` output which causes nix-store to realise all drv outputs. This of course breaks build_man_page since it expects the output to be just one path. We fix this (for now) by using split(). Ideally we would use <drv_path>!out for realising the default output which only builds the output we need. However this is a bit annoying to solve since it means we have to allocate a bit of memory.
* pkgs/profpatsch/nman: initial rewrite in ruststernenseemann2021-02-254-150/+293
| | | | | | | | | | | | | | | | | | | | | | This is a complete and user interface compatible rewrite of nman.go in Rust which aleviates a few flaws of the previous implementation: * Garbage collector roots for both the derivation and the build outputs are created in a temporary directory which is cleaned afterwards. This prevents a race condition between nman and nix-store --gc and doesn't pollute the user's working directory. * Instead of building just one build output, nman now checks every output for the requested man page which fixes nman for derivations which have their man pages split between multiple outputs, e. g. man and devman. Future work: * Improve error messages reported to the user * Man page * Implement man page search heuristics if no section is specified: Instead of falling back to section 1, all sections should be checked for the desired page (in an ascending order?)
* pkgs/profpatsch: vendor testRustSimple from tvlsternenseemann2021-02-142-3/+30
| | | | | | | testRustSimple builds and runs the tests of a buildRustCrate derivation automatically using drvSeqL, returning its non-test variant. Really looking forward to pkgs.tvl :)
* feat(pkgs/profpatsch): add backup scriptProfpatsch2021-02-132-0/+155
| | | | | | Small wrapper around duplicity to restore/create my backups with. The legosi backup is created by `services.duplicity`, but can be restored from the script via the read-only application key.
* feat(pkgs/profpatsch/deploy): use substitutes on remoteProfpatsch2021-02-131-2/+6
|
* Revert "modules/user/sternenseemann/sway: fix startup by enabling opengl"sternenseemann2021-02-113-40/+14
| | | | | | This reverts commit 5bd756eaf27882820cb59e0ecf9c305f08b3b3e3. Committed more than I meant to.
* modules/user/sternenseemann/sway: fix startup by enabling openglsternenseemann2021-02-113-14/+40
| | | | | | sway needs opengl driver's to be enabled and loadable in order to start. I previously didn't notice this oversight as I still had them loaded and did not reboot after the rebuild.
* pkgs/profpatsch/utils-hs: update to f53264978042d8041831a3ac3766aa1dfdc60b57sternenseemann2021-02-071-2/+2
| | | | | This fixes the build of pkgs.profpatsch.watch-server, it was likely only forgotten to update the revision in vuizvui.
* treewide: stdenv.lib -> pkgs.libProfpatsch2021-02-054-4/+4
| | | | Upstream is deprecating `stdenv.lib`, so let’s do the same.
* pkgs/profpatsch: add deployProfpatsch2021-02-052-0/+40
| | | | Small script to deploy my machines.
* pkgs/profpatsch: adjust exec stuff to new skalibsProfpatsch2021-02-054-14/+54
| | | | | | | | | | | skarnet thought it would be wise to completely change the skalibs exec function interface without any backwards compat, so here we are. Have to reverse the code a bit, because `xmexec0` is a recursive `#define` pointing to `xmexec0_af`. `record-get` gets a rust treatment, it doesn’t really need the C interface just to exec into prog.
* pkgs/profpatsch: add nix-evalProfpatsch2021-01-012-1/+7
| | | | Dumb wrapper around `nix-instantiate` for something I often need.
* pkgs/profpatsch: add nix-runProfpatsch2021-01-013-0/+40
| | | | | | | | | Small tool which takes a block of nix options that should produce a script to run, and then calls the script with the rest of argv e nix-run { -A foobar } a b c calls `nix-build -A foobar && ./result a b c`.
* machines/profpatsch/base-server: convert module to toml definitionProfpatsch2020-12-301-0/+119
| | | | | | | | | | This is a working PoC of specifying module configs as toml configuration with simple to understand semantics. Both the option definitions and the actual config values can be specified via the toml DSL. This is extremely happy-path for now, so errors are gonna be horrible.
* pkgs/profpatsch/e: translate [ and ] to block boundariesProfpatsch2020-12-281-9/+20
| | | | | | | | | | | | | Since the goal of using `e` with argv is interactive execution of block-style commands from the command line, the use of { and } for blocks is sub-optimal, since bash (and ostensibly also fish) interpret them as metacharacters and assign some semantics. [ and ] on the other hand are not taken (apart from the `[` executable, which is only relevant in command position and can always be replaced by the `test` command). So we translate a stand-alone "[" argument to "{" and the same for "]"/"}", giving us a transparent block syntax.
* pkgs/profpatsch/e: allow passing a block-style argument as argvProfpatsch2020-12-281-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | Often times I want to execute “block-style” programs directly, but it is rather inconvenient to type out `execlineb -c "…"` every time, plus -c wants the argv as a single string instead of an argv. The alternative, using the block representation with leading spaces, is even less ergonomic. So instead of execlineb -c "nix-run { -A pkgs.profpatsch.e ~/vuizvui } echo hello" or even nix-run ' -A' ' pkgs.profpatsch.e' ' /home/me/vuizvui' '' echo hello I can now write e nix-run { -A pkgs.profpatsch.e ~/vuizvui } echo hello and it will work as expected (provided your shell expands inside {} blocks, which bash does but fish doesn’t for some reason). If no argument is passed, e falls back to opening a shell prompt.
* pkgs/profpatsch.de: update cvProfpatsch2020-11-231-0/+0
| | | | | The tex sources are in a different place currently, planning to move them here once I’ve nixified them sometime in the future.
* pkgs/profpatsch.de: more talkiesProfpatsch2020-09-171-1/+6
| | | | Co-Authored-By: midzer <midzer@gmail.com>
* pkgs/profpatsch.de: replace jquery by native jsProfpatsch2020-09-173-18/+7
| | | | | | | It was only used for a single use-case, by now all browsers support this functionality. It’s a pretty heavy dependency for a single use :) Co-Authored-By: midzer <midzer@gmail.com>
* pkgs/profpatsch.de: use font-display: swap to improve page loadProfpatsch2020-09-161-0/+4
|
* pkgs/profpatsch: bump nixperimentsProfpatsch2020-08-301-4/+8
| | | | Improvements to filterSourceGitignore were made.
* pkgs/profpatsch: add lru-dirProfpatsch2020-08-292-0/+77
|
* pkgs/profpatsch: remove erroneously exported symbolsProfpatsch2020-08-201-3/+0
|
* machines/shiki: use imv instead of fehProfpatsch2020-08-201-1/+1
|
* pkgs/profpatsch/nman: use --no-out-link for nix-buildsternenseemann2020-08-071-1/+1
| | | | Before, nman had a habit of leaving result* links lying around.
* pkgs/profpatsch/display-infos: use high voltage signProfpatsch2020-07-291-1/+1
| | | | | | | The other lightning is not an official Unicode codepoint, so most fonts don’t have it. Thanks sterni!
* pkgs/profpatsch.de: minor improvements to talkie textsProfpatsch2020-07-191-4/+4
|
* pkgs/profpatsch.de: add key.ascProfpatsch2020-07-192-0/+944
| | | | It’s referenced in id.txt, but I forgot to add it.
* pkgs/profpatsch.de: add updated talkiesProfpatsch2020-07-183-45/+163
| | | | | | I’ve been expanding the list somewhat, it’s time to put them on the website. Moves them into a separate file, which was easier than expected.
* pkgs/profpatsch.de: prevent favicon requestsProfpatsch2020-07-181-0/+7
|
* pkgs/profpatsch.de: update id.txtProfpatsch2020-07-181-23/+21
| | | | | | | - Add Paris as location - bump date - Change XMPP account to headcounter.org - clearsign
* pkgs/profpatsch.de: add preloading directivesProfpatsch2020-07-182-1/+16
| | | | | | Those tell the browser that it’s going to need them later, even it hasn’t found them yet (e.g. the fonts can only be found after loading the CSS).
* pkgs: Update easy-dhall-nix to latest masteraszlig2020-07-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm not familiar with the "easy-dhall-nix" project, but the repository is imported into Vuizvui via import-from-derivation. While this by itself is not a big issue (apart from contributing hugely to evaluation time, we're already at around an hour), the "dhall-nix" derivation is in turn imported again via importDhall, so whenever something breaks with dhall-nix, our evaluation will break as well. Unfortunately, something is broken right now: building '/nix/store/c363947v9qk287d07qj2kpj60rmzwalj-dhall-nix-1.1.14-x86_64-linux.tar.bz2.drv'... trying https://github.com/dhall-lang/dhall-haskell/releases/download/1.32.0/dhall-nix-1.1.14-x86_64-linux.tar.bz2 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 648 100 648 0 0 2592 0 --:--:-- --:--:-- --:--:-- 2581 100 2255k 100 2255k 0 0 1639k 0 0:00:01 0:00:01 --:--:-- 6287k hash mismatch in fixed-output derivation '/nix/store/yhls1ffnvp1nbjsm0xr3l1z6j6x4waqh-dhall-nix-1.1.14-x86_64-linux.tar.bz2': wanted: sha256:1j32jf0is0kikfw7h9w3n8ikw70bargr32d1cyasqgmb7s7mvs1c got: sha256:1qs5p05qfk5xs1ajwyhn27m0bzs96lnlf3b4gnkffajhaq7hiqll cannot build derivation '/nix/store/aj5ag721b9gm4an6yxh2ljg19ixg4alv-dhall-nix-simple.drv': 1 dependencies couldn't be built The reason why this happens is because GitHub's tarballs are not deterministic and whenever GitHub changes something in the way these are generated, we get a hash mismatch. For exactly that reason, the fetchFromGitHub wrapper in nixpkgs uses fetchzip instead of fetchurl, so that file ordering in the archive doesn't matter. Unfortunately, the upstream project still uses fetchurl, but since the URLs and hashes have changed due to a bump to Dhall version 1.33.1, I've choosen to switch to latest master instead of monkeypatching via extraPostFetch. With this bandaid, we shouldn't run into a hash collision until either the next GC or until the upstream project has switched to either fetchFromGitHub or fetchzip. Signed-off-by: aszlig <aszlig@nix.build> Cc: @Profpatsch, @justinwoo
* pkgs/profpatsch: ascii-fy toc.txtProfpatsch2020-07-061-3/+3
|
* pkgs/profpatsch.de: add toc.txtProfpatsch2020-07-063-2/+14
|
* pkgs/profpatsch/xdg-open: Prepare decoding http urlsProfpatsch2020-07-064-2/+206
| | | | | | | | | I want to be able to open http(s) links that are e.g. images directly in the right application. Aka web urls should be transparent, instead of always opening everthing in the browser. This adds some silly ways of connecting to the server and parsing out the headers, in order to fetch the content-type.
* pkgs/profpatsch/netencode: Encode into U instead of TProfpatsch2020-07-062-47/+43
| | | | | | | | This is an experiment about whether we can get away with using the non-recursive version by default. The U::Record variant uses a Vec instead of a HashMap by default, to make encoding from lists easier, and keep the ordering as given.
* pkgs/profpatsch: remove record-get from profpastch.deProfpatsch2020-07-061-7/+0
|
* pkgs/profpatsch/xdg-open/mini-url: envvar instead of substituteProfpatsch2020-07-063-256/+15
| | | | | | | | It’s a lot simpler to just export the parsed attribute as envvars. Remove the substitute stuff (it already went into the el_substitute lib anyway) and replace the xpathexec0 code with the function from the el_exec lib.
* pkgs/profpatsch/xdg-open: add mini-urlProfpatsch2020-07-063-2/+396
| | | | | A small parser for http/https URLs. Substitutes host/port/path in argv.