about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* pkgs/sandbox: Prepare for querying runtime pathsaszlig2017-10-034-18/+49
| | | | | | | | | | We're now using a makefile for building the sandbox and use pkg-config to pass in the flags we need for compiling against lib(nix)store. Right now the sandbox itself doesn't do anything different because we're not actually using the (incomplete) code for querying the store. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/sandbox: Include basic runtime pathsaszlig2017-10-032-18/+112
| | | | | | | | | | | These paths are things such as /etc and /run but also the .Xauthority file, which contains the cookie to connect to the X server. What is still missing is access to the DRI libraries, which is a bit trickier, because we need to add those store paths at runtime and we need to also mount all of the dependencies. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/sandbox: Use own store path as root directoryaszlig2017-10-032-10/+9
| | | | | | | | | | | | | | | | | | | I've already pointed out in the previous commit that using /tmp for the root directory isn't a very good idea, mainly because we can't access sockets from /tmp (eg. the X server sockets). So what we're now doing is using the store path that contains the sandbox wrappers, because that very path won't be mounted into the sandbox anyway, so we get a free directory just as an entry point. This has the main advantage that we don't need to create any temporary directories which we later need to clean up nor do we need to assume that some paths might exist in the system. For example if we'd use /usr we still have /usr/bin/env on NixOS, but if that's going to go away in the future or we are on a distro that doesn't have it at all, the sandbox setup will fail. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/build-game: Introduce buildSandboxaszlig2017-10-035-118/+63
| | | | | | | | | | | | | | | | So far creating the sandbox has been a setup hook, however it's a bit ugly how we gathered the needed paths for the chroot file system by recursively searching for store paths. While I'd like to have the sandbox being built within the main derivation, it really isn't very practical when the build takes longer than 10 minutes. With this implementation however the sandbox builds really fast and we can also modify the sandbox without needing to rebuild a particular game. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/build-game: Add preliminary sandbox hookaszlig2017-10-033-3/+617
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is basically to make sure various games can't write to whatever they want in the file system, so it's not a complete sandboxing solution. Currently there's a drawback in that we can't easily determine the runtime dependencies while building a particular game, so we need to recursively dig through all referenced store paths to look them up. A better solution for this would be to gather the build time reference graph prior to building so that we can limit searching for these references within only the actual build outputs instead of churning through all inputs. In addition to that, we currently mount the namespaced root file system on top of /tmp, which makes the real /tmp unavailable to us. While in theory this shouldn't be a problem, it actually turns out it is indeed a problem if the application wants to connect to the X server socket, which is at something like /tmp/.X11-unix/X0 for display :0. Apart from these drawbacks we have a working solution for simple applications (not games, because they usually require X), which now get its own chroot with only the paths accessible that are strictly necessary. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* devhell/packages: Add i3lock-colordevhell2017-09-271-1/+2
| | | | Some nicer action on my lockscreen would be nice.
* games/invisigun-heroes: Update to version 1.5.50aszlig2017-09-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New features: * NET: Join & invite your Steam friends through the in-game lobby menu or Steam friends list * GAME: Experimental fallback for unsupported controllers & generic USB gamepads * GAME: Added an achievement for completing the training * UI: Your Steam nickname will show at the top left of the title screen * UI: New lobby chat message: "I'm going to spectate this match." * PREFS: Set your own data export path in the "config.json" file in the game directory Updates: * GAME: The shield is only lost when dealt actual damage (not via stuns, Yeti breath, etc) * GAME: Lower chance of character repetition when choosing random heroes * GAME: More obvious shocked/soft-stun effect and audio * GAME: Bubble Suit removed * NET: Online play requires the latest version if there's an update available * AETHER: Aether is immobile for 0.3s after a ground pound * AETHER: Aether's spam cooldown increased from 0.5s to 0.7s * AETHER: Aether's pound has a circular radius of 2 units from his center * AETHER: Pound hard stuns for 1.25s * AETHER: Pound pushback force is uniform * CARMEN: Destroyed block rubble remains for 3s instead of 0.5s * PROTEUS: Tagged players are slowed more (multiplier changed from 0.65x to 0.45x) * PROTEUS: The Scanner Drone can't be self-destroyed while pulse-revealing players * IRIS: Spam allowed reduced from 3 to 2 * EPI: Epi has an ability cooldown of 2s if the ghost is killed (no self-imposed cooldown) * UI: "Join Public Match" is now "Quick Match" with an icon update * UI: Searching for a public match in "Any" region is faster * UI: More fun title screen news Fixes * GAME: Fixed projectiles having no velocity if split while being reflected * GAME: Fixed controller lockup in lobby when switching from previously chosen player slots * GAME: Fixed perma-visibility after teleporting while revealed * GAME: Fixed disappearing revealer if it's pursuing a teleporting player * GAME: Fixed possibility that a Beast Tamer pit beast could spawn outside the map * AETHER: Aether no longer gets stunned if walking into a player that he pounded * EPI: Fixed real Epi teleporting to ghost Epi if inputs are triggered twice in a frame * UI: Fixed some lobby UI initialization before an online match is created * UI: Fixed edge cases that could cause a client to be stuck "waiting for host" in the lobby * UI: Fixed pause menu "Return to Lobby" button for Challenge Mode * UI: Fixed color & bloom values in field guide Full upstream change log: http://www.sombr.com/pub/SIG/tools/ReleaseNotes.php Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/managed: Remove kmix againaszlig2017-09-251-1/+0
| | | | | | | | | | | Reverts adding kmix as introduced in e49eca5c0c9c27352825c455d3e1b8a938245755. This causes two mixer icons to show up in the tray, which is kinda redundant. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Cc: @dwenola, @BrokkoliBerta
* machines/titan: Adapt new rofi theme toodevhell2017-09-221-13/+7
|
* machines/katara: rm TERM (it’s not what I thought it is)Profpatsch2017-09-201-1/+0
| | | | thx @aszlig
* machines/katara: add static vpn client to hakuProfpatsch2017-09-201-0/+11
|
* machines/eris: Change rofi themedevhell2017-09-181-13/+7
|
* devhell/base: Remove setting global TERMdevhell2017-09-181-1/+0
| | | | | | This is messing with some terminal emulators such as termite and xterm in conjunction with ncmpcpp. Thanks to @aszlig for helping with the troubleshooting.
* profiles/managed: Replace simple-scan by skanliteaszlig2017-09-171-1/+1
| | | | | | | | | | This has been introduced by NixOS/nixpkgs@c4c187ed7226e2132c13070444d0, thanks to @pshendry. IMHO it makes more sense to use this instead of simple-scan, because the managed machines run KDE while simple-scan is a Gnome application. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/build-game: Add ALSA library to RT depsaszlig2017-09-131-2/+8
| | | | | | | | | Most older games don't cope very well with PulseAudio, so let's add ALSA so that a fallback is available. This is also very useful if withPulseAudio is set to false, because this would actually mean "no audio at all". Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/games: Switch Unity games to buildUnityaszlig2017-09-133-45/+10
| | | | | | | | | | | | Both of these games weren't working at all. Megabyte Punch was completely broken and the expression wasn't even finished and Lovers In A Dangerous Spacetime wasn't up to date (unfortunately we can't pin on a specific version). Megabyte Punch now also uses callPackage_i686, because it only comes with a 32 bit binary. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/games: Add build-support for pkgsi686Linuxaszlig2017-09-131-5/+10
| | | | | | | | So far we only had all the functions within build-support for builtins.currentSystem, but a few games we have within Vuizvui are still i686-linux. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/games: Fix fetchHumbleBundleaszlig2017-09-131-0/+4
| | | | | | | | | The login URL for HumbleBundle has changed from /login to /processlogin, so let's fix it quickly via sed. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Issue: saik0/humblebundle-python#16 Cc: @saik0
* pkgs/build-game: Add unzip to nativeBuildInputsaszlig2017-09-132-7/+3
| | | | | | | | | | | A lot of games come as a Zip archive, so let's add it to nativeBuildInputs by default so we no longer need to deal with that for every single game. This also removes that line from Invisigun Heroes, so the package now is pretty much minimal and very clean :-) Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/build-game: Try to evade tarbombsaszlig2017-09-131-1/+21
| | | | | | | | | | A lot of games (especially Unity games) come as a tarbomb, so in order to avoid having those files all over the place we now create an additional directory before unpack and set the sourceRoot to that if it's a tarbomb and if that's not the case set it to the single file within that directory. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/build-unity: Switch to using buildGameaszlig2017-09-132-31/+20
| | | | | | | | | | | Now we no longer need to invoke patchelf by ourselves and all of the dependencies are patched automatically. I've added gtk2-x11, gdk_pixbuf and glib to buildUnity as well, because after inspecting other Unity games they seem to require the same libraries as well. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/build-game: Add runtimeDependencies attributeaszlig2017-09-134-11/+24
| | | | | | | This allows us to add libraries to the RPATH despite being required by the respective game. By default there is only PulseAudio at the moment. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/games: Add a new buildGame functionaszlig2017-09-133-0/+178
| | | | | | | | | | | | | | | The main functionality for this function is to gather missing dependencies in ELF executables and shared libraries and using patchelf to set the right RPATH. All of the dependencies are searched based on what we have in one of the buildInputs variables, so all we need to do is list them in there. One thing that's still left to solve is adding libraries to the RPATH which are only required at runtime. An example for this would be the pulseaudio library. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* devhell/titan: Add neomuttdevhell2017-09-131-0/+1
|
* pkgs/build-unity: Create desktop entryaszlig2017-09-101-2/+19
| | | | | | | | | | | | This automatically creates a desktop entry based on the given fullName and the standard path for the icon (Resources/UnityPlayer.png). Well, at least I hope that the icon path is standard, but we'll see once we use buildUnity for more games. Tested using Plasma 5 for Invisigun Heroes. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/build-unity: Wrap binary instead of linkingaszlig2017-09-101-2/+4
| | | | | | | | The executable of Unity games at the moment is unable to find its own path if it can't do a stat() on argv[0]. So wrapping the program helps here for now. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* games/invisigun-heroes: Factor out into buildUnityaszlig2017-09-104-38/+67
| | | | | | | | | | | There are a lot of Unity games out there, so it's a good idea to have a generic builder just for Unity, which we then can apply to a lot more games. Right now this is a pretty basic abstraction which I've only tested with Invisigun Heroes. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/games: Inline base-module.nixaszlig2017-09-102-14/+11
| | | | | | | This is such a short expression that really shouldn't belong in its own file, so that everything we want to know is there in default.nix. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* games/invisigun-heroes: Update to version 1.5.30aszlig2017-09-101-2/+3
| | | | | | | | | | | | The full upstream changes are a bit long to list here between 1.5.1 and 1.5.30, so here are the release notes from the official site: http://www.sombr.com/pub/SIG/tools/ReleaseNotes.php We're now using a version attribute for the fetchItch function, so that future updates won't break the package expression. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* games/fetch-itch: Allow to pass a versionaszlig2017-09-101-4/+30
| | | | | | | | | | | | | | | | | | So far we had a similar "experience" with itch.io as we had with humblebundle having upstream URLs being updated in-place and thus whenever we're trying to get an earlier revision than the latest one, our fetcher would fail. However, itch.io has build IDs which even contain version string that we can actually use in our packages as-is and they directly map to a build ID. This commit implements just that, so that whenever a version attribute is passed to fetchItch, an explicit version is selected. If such a version couldn't be found, a list of the most recent versions is displayed, which should also make it easier for updating packages. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/workstation: Move gpodder to dnyarriaszlig2017-09-072-2/+1
| | | | | | | Actually this is the only one workstation where I use gpodder, so let's move it there and also don't make it a lazy package. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/workstation: Don't make Firefox lazyaszlig2017-09-072-1/+1
| | | | | | | | I might move to Firefox as my primary browser again. Apart from that, I regularily use it anyway, so having it as a lazy package doesn't make sense. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* machines: Unify most options for brawndo and tyreeaszlig2017-09-073-121/+77
| | | | | | | | | | | | | | | | | | | Both machines are using Plasma along with a few common KDE applications, so let's actually be more aggressive about deduplicating the options, because after all whenever these machines start to deviate more from each other, we can still either override those options or move them out. I've also cleaned up a few packages, so instead of having mpv *and* vlc we now have mpv and bomi for both machines. The latter is mostly about figuring out whether it's actually a good GUI video player, as it is basically a front-end for mpv. With this unification this means that some packages which are generally useful, such as okular and gwenview are now not only available to tyree but brawndo as well. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Cc: @dwenola, @BrokkoliBerta
* machines/tyree: Add a few more KDE applicationsaszlig2017-09-071-4/+11
| | | | | | | | | | | Most of them are KDE PIM applications and kmail so far was already within the systemPackages in the configuration.nix directly so far. The one exception to these is kmix (an audio volume mixer), which is generally useful to have I think. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Cc: @BrokkoliBerta
* modules/bfq: Reintroduce SCSI_MQ_DEFAULT for 4.13aszlig2017-09-061-1/+1
| | | | | | | | | | | The change dropping the SCSI_MQ_DEFAULT option has been reverted in torvalds/linux@cbe7dfa26eee4819db7b5846181d56fd0cece0ea, so while the release canidate versions didn't have this option, the final release however does have it again. So we need to wait until 4.14 for it to become removed hopefully. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* tests/bfq: Use SCSI disk interfaceaszlig2017-09-061-1/+2
| | | | | | | | | Using the virtio disk interface isn't very suitable for real-world simulation, so let's use the SCSI interface, because SATA is exposed to userland as a SCSI device. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Cc: @devhell
* devhell/packages: Fix attribute for glancesaszlig2017-09-051-1/+1
| | | | | | | | | Eval error introduced by 761856c84d8abae87aa1cd3b2a0f70f9f1bf4397. It's actually in pythonPackages. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Cc: @devhell
* profiles/workstation: Add pv to systemPackagesaszlig2017-09-051-0/+1
| | | | | | | I tend to use it more frequently than I thought I would and it's quite small, so let's make it the default for my workstations. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/vim: Clean up autocommandsaszlig2017-09-051-13/+13
| | | | | | | | | | | | I was using set for a bunch of these, but these autocommands are only used for single buffers so let's actually make sure they are set only there by using setlocal. In addition to that I've corrected usage of '==' to use '==#', because '==' actually depends on user settings whether it's case sensitive or not (set ignorecase). Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/vim: Add sleuth plugin for indent detectionaszlig2017-09-051-0/+7
| | | | | | | | I work with a lot of differente repositories and different indentation styles, so I hope this plugin will help cope with that so I no longer need to set those settings manually. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/vim: Add plugin for editing CSV filesaszlig2017-09-051-2/+16
| | | | | | | | | | | I happen to work with CSV files quite a bit lately but it's a major nuisance doing so with a normal text editor and I don't want to use a full-blown spreadsheet programm just for a few CSV files or even write a script every time I need to edit only a tiny bit. So this plugin solves that problem for me. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/vim: Be more agressive with including pluginsaszlig2017-09-051-22/+33
| | | | | | | | | | | Originally I only wanted to make sure the ftplugin gets loaded before the syntax file, but while at it I thought just prepending/appending stuff to the runtimepath is not enough for me. So now my version of Vim has all the plugins directly in the standard directories just as if they came with upstream. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* devhell/packages: Add glancesdevhell2017-09-051-0/+1
|
* machines/titan: Add netalyzrdevhell2017-09-051-0/+1
|
* profiles/workstation: Add xournal to lazy-packagesaszlig2017-09-041-0/+1
| | | | | | | I'm not going to use this a lot, so let's not clutter up the closure size with it, even though the package is actually quite small. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/aszlig: Add xournal with aspect ratio patchaszlig2017-09-043-1/+90
| | | | | | | | | This is an override of xournal with a patch that allows to keep the aspect ratio while resizing. Origin of the patch: https://sourceforge.net/p/xournal/patches/58/ Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* machines/schnurrkadse: add surfsternenseemann2017-09-031-0/+1
|
* machines/schnurrkadse: add pulseaudio zeroconf discoverysternenseemann2017-09-031-0/+2
|
* devhell/packages: Fix attribute for "jrnl"aszlig2017-09-021-1/+1
| | | | | | | | The jrnl package is now a top-level attribute since NixOS/nixpkgs@3ff173ffde475f96f12b379f4ae21658e63045c1. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Cc: @devhell
* madules/programs: Remove xpdf moduleaszlig2017-09-024-22/+1
| | | | | | | | | Since version 4.0 of xpdf, the UI has vastly changed and the configuration setting I'm using in this module no longer is necessary for me. So let's drop the module altogether until I'm getting used to the new xpdf and find new things I don't like :-) Signed-off-by: aszlig <aszlig@redmoonstudios.org>