about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* pkgs/profpatsch: move record-get to netencodeProfpatsch2020-07-063-3/+12
|
* pkgs/sternenseemann/logbook: reflect angstrom update in nixpkgssternenseemann2020-07-011-3/+0
| | | | https://github.com/NixOS/nixpkgs/commit/2c616aa63895f064ac1b1332a8cf9e7ae3ddbb44
* pkgs/profpatsch/profpatsch.de: fetch webfontsProfpatsch2020-06-294-63/+110
|
* machines/legosi: add v6 addressProfpatsch2020-06-291-0/+12
|
* machines/legosi: open firewall for http(s)Profpatsch2020-06-291-0/+7
|
* pkgs/profpatsch: (fix) export websiteStaticProfpatsch2020-06-291-0/+6
|
* pkgs/profpatsch: export toNetstring from the toplevelProfpatsch2020-06-292-7/+5
|
* machines/profpatsch/legosi: serve the static website from nginxProfpatsch2020-06-291-11/+14
|
* pkgs/profpatsch: add static build of profpatsch.deProfpatsch2020-06-297-0/+965
| | | | | | | | This was previously located verbatim on my webserver. Since `df.eu` thought it was a good idea to unilaterally cancel it when I moved my domain, it is now a good idea to nixify what was there.
* pkgs/profpatsch/execline: change el_semicolon to only read one argProfpatsch2020-06-291-37/+80
| | | | | | | | | | | | | | | The C implementation of el_semicolon in execline only reads one argument at a time and returns an index into the rest of argv. This makes sense for the usual application of programs using it, which is just reading a few arguments and a block or two, and then executing into `prog`. `prog` could be anything really, including additional blocks. The new `el_semicolon_full_argv` function exports the previous behaviour of parsing the whole thing. As a nice side-effect, we return the rest of argv in-place.
* pkgs/profpatsch/execline: add el_exec and el_substituteProfpatsch2020-06-286-20/+285
| | | | | | | | | | | el_exec: wraps the various execve wrappers in skalib that are useful for writing execline-like utils. currently only `xpathexec0` is supported, which execs into the argv you give it or errors with the right error if file not found. el_substitute: execline argv substitution! Wraps the execline function, so it will behave exactly the same as the existing execline utils, like `importas`.
* pkgs/profpatsch/execline/el_semicolon: mark empty blocks as blocksProfpatsch2020-06-271-5/+10
|
* pkgs/profpatsch/netencode: add a netencode.nix to generate netencodeProfpatsch2020-06-272-0/+51
| | | | | We can define a more or less complete generator in less than 50 lines of nix. Nice.
* pkgs/profpatsch/netencode: actually enable parsing the binary typeProfpatsch2020-06-271-0/+2
|
* pkgs/profpatsch/netencode: add binary typeProfpatsch2020-06-262-3/+47
|
* sandbox: Use closureInfo for getting runtime depsaszlig2020-06-231-25/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A while ago[1], @Profpatsch added this comment above the definition of the $runtimeDeps variable: # Reads the dependency closures and does ? something? TODO: explain I just recently (yesterday as of the date of this commit) found out about that comment by accident. While this should probably be better of as an issue instead, the comment does have a point, since not everybody enjoys reading/writing sed expressions. In a nutshell, what the implementation actually does is parsing the output of the files generated by exportReferencesGraph. At the time of writing the implementation, we didn't have a JSON-based interface in Nix for doing the same, nor did we have something like pkgs.closureInfo. There was only a small Perl script[2], which did something like this, but given that it can be easily done via sed, I opted to instead use the latter. Nevertheless however, using closureInfo is not only more concise in its implementation, it also makes our implementation much more concise as well and also obvious on what we're doing here. [1]: 09dc1d8ad625b9a1d5b89593b184d316837ba1cc [2]: https://github.com/NixOS/nixpkgs/blob/8747190024205a5a3534b4e9a18dbaf3f3ee7b39/pkgs/build-support/kernel/paths-from-graph.pl Signed-off-by: aszlig <aszlig@nix.build>
* fetchGog: Default downloadName to "en3installer0"aszlig2020-06-2317-18/+5
| | | | | | | | | | | | | Most of the games are using "en3installer0" as the downloadName, so it makes sense to use this as the default, since first of all do not support languages other than English except for a few games (eg. Albion) and second, there is no game with several installer packages to chose from (at least not on top of my head). Even if there would be, it would still be the exception rather than the rule, so let's optimise for the common scenario. Signed-off-by: aszlig <aszlig@nix.build>
* profiles/base: Enable Nix experimental featuresaszlig2020-06-231-0/+1
| | | | | | | | I've had this in my configuration.nix for a while and since I got used to it, I think it's a good idea to enable both Nix Flakes and the "nix" command by default for all my machines. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/profpatsch/netencode: add support for boolProfpatsch2020-06-223-9/+43
| | | | | Instead of adding a new type, it just uses the 2^1 natural, which has exactly two possibilities.
* pkgs/profpatsch/execline: el-semicolon block parsingProfpatsch2020-06-223-0/+156
|
* machines/legosi: finish comment …Profpatsch2020-06-191-1/+1
|
* modules/user/profpatsch/bitlbee: fix ConfigDirProfpatsch2020-06-191-1/+1
|
* machines/legosi: wrapExecStart weechat with ip2unix for bitlbeeProfpatsch2020-06-191-0/+20
|
* modules/profpatsch/weechat: add wrapExecStartProfpatsch2020-06-191-4/+14
|
* machines/legosi: fix nixPath even betterProfpatsch2020-06-191-1/+1
|
* machines/legosi: fix nixPathProfpatsch2020-06-191-0/+1
|
* modules/user/profpatsch/services: add bitlbeeProfpatsch2020-06-193-11/+93
| | | | Also add the service to legosi so I can use it from the weechat user.
* machines/legosi: open bitlebee authMode for nowProfpatsch2020-06-191-2/+4
|
* machines/legosi: enable bitlbee serviceProfpatsch2020-06-191-1/+13
| | | | No libpurple for just XMPP, phew.
* profiles/packages: Remove virtinst overridedevhell2020-06-181-9/+0
| | | | I'm fairly certain this isn't needed anymore.
* profiles/base: Remove hardware.u2fdevhell2020-06-161-1/+0
| | | | | | | According to [1], `udev` has gained native support for FIDO security tokens, and subsequently has been removed upstream. [1]: 89c3e73dad0970b26183e415555fb0379ba33e7a
* Revert "profiles/packages: Remove p7zip"devhell2020-06-161-0/+1
| | | | | | | As already stated otherwise in this log, it's back, so reverting the removal. This reverts commit 54b3f8ac7da02738be6919d05ae12d5c14796e3f.
* profiles/workstation: Revert replacing p7zipaszlig2020-06-151-1/+1
| | | | | | | | | | | | This reverts commit 64fdbcc7e0949a3d3bf1cee3361d5ebe5c56cc4c. It seems that there is now[1] a maintained version of p7zip and since I didn't get used to unar so far, I take this opportunity to switch back to p7zip. [1]: https://github.com/NixOS/nixpkgs/pull/90140 Signed-off-by: aszlig <aszlig@nix.build>
* machines/legosi: replace weechat package by moduleProfpatsch2020-06-151-3/+5
|
* modules/user/profpatsch: add programs/weechat moduleProfpatsch2020-06-152-0/+120
|
* machines/legosi: add weechatProfpatsch2020-06-151-0/+4
|
* legosi: Use modulesPath instead of <nixpkgs/nixos>aszlig2020-06-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | While it's fine to use <nixpkgs> on most systems, we deliberately want to avoid the use of <nixpkgs> to make sure that whenever we for example run <nixpkgs/nixos/lib/eval-config.nix> with a custom "pkgs" argument we are guaranteed that we get the version we specify. So this is one of the reason I used <nixpkgsSrc> on Hydra instead of <nixpkgs>, so that whenever we have such occasions where we can't guarantee such things, the evaluation will fail. And right now, it does: in job 'machines.profpatsch.legosi': file 'nixpkgs/nixos/modules/profiles/qemu-guest.nix' was not found in the Nix search path (add it using $NIX_PATH or -I), at .../machines/profpatsch/legosi.nix:12:5 Fortunately, there is modulesPath, which refers to <nixpkgs/nixos/modules> of the nixpkgs version passed via "pkgs". Signed-off-by: aszlig <aszlig@nix.build> Cc: @Profpatsch
* machines/profpatsch: add legosiProfpatsch2020-06-122-1/+48
| | | | Small Hetzner qemu virtual server.
* profiles/packages: Add zstddevhell2020-06-091-0/+1
|
* games/gog: Add Into the Breachaszlig2020-06-082-0/+33
| | | | | | | | | | | | The second game from Subset Games after FTL: The remnants of human civilization are threatened by gigantic creatures breeding beneath the earth. You must control powerful mechs from the future to hold off this alien threat. Each attempt to save the world presents a new randomly generated challenge in this turn-based strategy game. Signed-off-by: aszlig <aszlig@nix.build>
* setup-hooks/fix-fmod: Patch all calls to system()aszlig2020-06-081-7/+10
| | | | | | | | | | | In newer versions of libfmod, there are two calls to system(), which cause the setup hook to fail, since it only expects one such call. Fortunately, we don't want libfmod to execute *any* external commands, so fixing this is rather easy by just making *all* calls to system() a no-op. Signed-off-by: aszlig <aszlig@nix.build>
* games/crosscode: Update to version 1.2aszlig2020-06-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New upstream features: * A new "New Game Plus" mode, which allows to replay the game with various modifications * Three more cups are now available in the Arena of Rhombus Square along with new items in the Arena Shop Upstream fixes: * Add missing Chinese translation for New Game Plus menu * Slightly adapt point requirements for new Arena Cups * "Get on my Level" NG+ option will now set enemy level based on your average stats, making for a much more balanced experience * 4x Enemy Damage didn't work. Now it does * Potentially fix crash in statistics menu (hopefully) * Fix damage number display with enemy damage x1.5 scaling * Self inflicted damage with Sergey-Hax won't immediately kill you * Regen items work outside of combat when "Classic Heals" is enabled * EXP scaling slightly modified to scale after level scaling * Fixed music playback issues in the arena * Fixed softlock when skipping intro and solving a still unsolved puzzle later in the cargo-hold * Shredder detection will ignore wave duplicates because otherwise you can easily break/softlock things * Fixed a few more crash issues in the arena * Element Load is now active again when you skipped the intro in NG+ * Boosters work properly now together with "Get on my Level" * Several smaller dialog fixes, especially when "Get on my level" is activated * Apollo's level won't be scaled despite "Get on my level" because he's a honorable Spheromancer that doesn't cheat! * Fix broken Healing at Landmarks * Fix crashes related to attacking Kamikater in ways you really shouldn't attack it * Fix some more arena music issues * Make sure all descriptions of HP Regen specify healing every 60 seconds Full upstream announcement: https://www.radicalfishgames.com/?p=6864 Signed-off-by: aszlig <aszlig@nix.build>
* games/gog: Add Gibbous and Knights and Bikesaszlig2020-06-083-0/+30
| | | | | | | | Both games have been laying around uncommitted for quite a while and since they work out of the box with the generic Unity3d builder they're also straightforward to package without any surprises. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/games/gog: init sunless-skies at 1.3.6Profpatsch2020-06-072-0/+15
| | | | | | I had some problems where it got stuck in the loading screen, but after restarting a few times to find out why, it suddenly worked. So no guarantees that it’s bug-free.
* games/gog: Add Hollow Knight version 1.4.3.2aszlig2020-06-072-0/+25
| | | | | | | | | | | | | | | | | Hollow Knight is a 2D Metroidvania action-adventure game, which takes place in Hallownest, a fictional ancient kingdom. The player controls an insect-like, silent, and nameless knight while exploring the underground world. Packaging the game would have been almost straightforward, would there not be another occasion where the developer has mixed up the persistent data path with the non-persistent data path, which is quite common in many games. Fortunately, this is pretty easy to fix with our Mono game patcher. Signed-off-by: aszlig <aszlig@nix.build>