about summary refs log tree commit diff
path: root/pkgs
Commit message (Collapse)AuthorAgeFilesLines
* sandbox: Only mount new procfs instance for PID nsaszlig2020-09-111-6/+11
| | | | | | | | | | If we don't have a PID namespace, we're not allowed to mount a new procfs instance and subsequently get an error (EPERM). To cope with this, we're now bind-mounting /proc just like the other pseudo file systems IFF we're not using the CLONE_NEWPID flag. Signed-off-by: aszlig <aszlig@nix.build>
* sandbox: Allow to enable/disable namespacesaszlig2020-09-113-4/+24
| | | | | | | | | | | | | | | | | | | | While the sandbox was initially written for games, I now use the implementation for other things, such as sandboxing database management systems inside "nix develop". However, both MariaDB and PostgreSQL do not like it very much if for example IPC is too restricted and if the PID file contains the PID of the process inside the namespace. Additionally I always wanted to have a way to enable network namespaces for games as well, so this is a good occasion to make them configurable. Of course, since we need the mount and user namespaces to implement our sandbox in the first place, we can't allow users to disable these namespaces, but for everything else, we now have a new "namespaces" attribute. Signed-off-by: aszlig <aszlig@nix.build>
* 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/vim: Add syntax/indent plugin for Fluentaszlig2020-08-141-0/+7
| | | | | | | | | | | | For translations there is a nice web interface called Pontoon[1], which should it make conventient to edit translations. However, for developers like me I'd call this quite inconvenient, so I need a Vim plugin to make it at least more pleasing to look at :-) [1]: https://github.com/mozilla/pontoon Signed-off-by: aszlig <aszlig@nix.build>
* vim: Update Nix addon to latest masteraszlig2020-08-081-2/+2
| | | | | | | | | | | | While being at it, let's bump the Nix syntax/indentation plugin to the latest version, since there are a few quirks that were annoying me since quite a while but I was too lazy to actually fix. I haven't checked whether the latest version fixes these quirks since I don't know them on top of my head, but if it doesn't I surely will stumble on them soon enough. Signed-off-by: aszlig <aszlig@nix.build>
* vim: No longer set termencoding to "ascii"aszlig2020-08-081-1/+0
| | | | | | | | | | So far I had termencoding set to "ascii", because my terminal was only really able to display ASCII characters and nothing else. Since this is no longer the case, we can also get rid of this restriction in my Vim configuration. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/aszlig: Add Mutt configurationaszlig2020-08-082-1/+224
| | | | | | | | | | | | | | | | | | I've been using this configuration since years already but so far it has been residing in ~/.muttrc and I copied to new machines accordingly. The reason why I didn't add it here was because the config was too ugly and I never got so far as to properly re-do it. Unfortunately, the config is still ugly as hell, but at least we now generate it from a structured Nix format and also the IMAP/SMTP user and server infos are now retrieved via gopass instead. This also includes my small prank multipart/alternative filter, which should hopefully "encourange" recipients to disable HTML parsing/rendering. Signed-off-by: aszlig <aszlig@nix.build>
* gopass: Drop patch for using ASCII symbols onlyaszlig2020-08-082-18/+0
| | | | | | | | With the switch to a proper Unicode capable font, we no longer need to patch gopass and simply can now enjoy a proper tree view and also one less patch to maintain. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/psi: Increment date in version numberaszlig2020-08-071-1/+1
| | | | | | | | | | | | | | | I really don't have a lot of other things to blame for forgetting this in the first place, but let's just assume that the temperatures here right now are higher than I'm used[TM] to and thus my brain wasn't working. On the other hand while writing this I also took a peek and aparently it's around 20 degree celsius right now, which would be... well... ... okay, I just forgot about that and I feel ashamed now. Go on! Nothing to read here! Signed-off-by: aszlig <aszlig@nix.build>
* 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/psi: Update to latest upstream masteraszlig2020-08-073-55/+22
| | | | | | | | | | | | | | | | The latest master version no longer crashes on Jingle file transfer requests. So alongside updating to the latest Git version, I also dropped the patch disabling Jingle. Another reason for updating is simply because the client version already feels old (heck, it's been February since the last update) and I'm really craving for fresh new bugs. I rebased the patch for the default configuration against current master with no changes in configuration (only obsolete stuff removed) and fixed the move of the src/plugins directory to the project's root directory. Signed-off-by: aszlig <aszlig@nix.build>
* 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!
* games/crosscode: Update to version 1.3aszlig2020-07-281-2/+2
| | | | | | | | | | | | | | | | This adds a new exclusive PC version quest, which is accessible in the end game (after you acquired the Meteor Shade) and can be found in Ba'kii Kum. Version 1.3.0 additionally adds new combat attacks for certain (later) party members that were lacking in that regard. There are also tons of smaller changes under the hood for the upcoming DLC. Full upstream announcement: https://www.radicalfishgames.com/?p=6983 Signed-off-by: aszlig <aszlig@nix.build>
* 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).
* games/gog: Add Baldur's Gate I and IIaszlig2020-07-123-0/+133
| | | | | | | | | | | | | | Both are the enhanced edition from GOG. Packaging is mostly straightforward, although I had to use patchelf with a custom patch, since while --remove-needed removes the DT_NEEDED entries from the ELF it doesn't however remove the corresponding entries in the .gnu.version_r section. The reason why I did this is because we really should not need Expat and OpenSSL, because they're only used by the XMPP portions of the statically linked libjingle. Signed-off-by: aszlig <aszlig@nix.build>
* 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.
* 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
|
* pkgs/profpatsch: (fix) export websiteStaticProfpatsch2020-06-291-0/+6
|
* pkgs/profpatsch: export toNetstring from the toplevelProfpatsch2020-06-292-7/+5
|
* 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>
* 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
|
* 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>