| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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`.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This has been laying around since a few weeks but instead of just using
a simple shell script wrapper (which I had in the first place), I
decided to directly patch the binary during rC3.
The main reason why I went this route was because in the long run we
want to have a generic implementation we can use to patch all sorts of
games, similar to what we have with monogame-patcher.
So the way the *current* patcher roughly works is by allocating an area
called "compost", which is then used as some kind of abstraction for
allocating code and data to be used for the references/logic that we
need to patch.
The latter involves patching XDG_DATA_HOME into the game and changing
the "/usr/share/factorio" path to use the ones within the store path
($out/share/factorio). Fortunately, Factorio already assumes that
everything within /usr/share/factorio (or our path for that matter) is
read-only, so we don't need to add extra code/conditions specifically to
handle that.
Patching both cases is made possible by patching a third location
(get_executable_name), which tries to get the current executable path
via several methods (using /proc/self/exe, running "ps", ...) at
runtime, which in our case is really unnecessary and a perfect
opportunity to replace the function logic by the hardcoded path and
using the rest of the function for our compost area.
While patching might sound straigtforward, I actually introduced two
little (but hard to debug) bugs, where I'm very grateful to all those
folks (you know who you are) at rC3 who were actually following along
and provided helpful input.
In the long term, the goal is to rewrite the patcher with more elaborate
type information (eg. right now function/opcode information is raw JSON)
and generalise it enough that we can use it to get rid of a few other
wrappers.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
I no longer use Taskwarrior and since my config.patch fails to apply in
the most recent release, I think it's time to finally remove it from my
workstation profile.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
One thing that has annoyed me since quite a while but ultimately didn't
fix yet, was that the urgency hint was only set for one millisecond.
I don't know how this would look like in a desktop environment, but in
my environment the corresponding workspace only flashes red and then
turns back to blue (the default color) whenever I get a new message.
Since I do not constantly switch to Psi to check whether there is
something new, I sometimes responded very late to messages even though I
didn't want to (eg. not actively working on something).
Of course, I also don't want to be interrupted when I'm actually in
zone, but luckily the way urgency hints are displayed in my environment
is pretty unobtrusive and there is no flashing, blinking or even sounds.
So the only difference is that I do not need to switch to Psi anymore,
to check whether there are new messages.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This has been mentioned on Discourse[1] and since I have that game in my
GOG library, I just decided to package it.
I only went to the main menu and didn't actually play it, since I'm
somewhat time constrained at the moment. So this only is "for the sake
of completeness" :-)
[1]: https://discourse.nixos.org/t/nix-expression-for-downloaded-gog-game/10595/7
Signed-off-by: aszlig <aszlig@nix.build>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a common pattern I encounter on a daily basis, which involves
copy & pasting the store path of a failed build to "nix log".
Now the same is just a matter of running "nlast" and we get rid of the
useless copy & paste.
The way we do this does have a small goof: Using mtime (or really any
time, other than atime, which commonly is disabled) is not going to work
if we *repeat* an older Nix build, since this will only change the log
file but the prefix directory will be unchanged.
Since addressing this goof would most likely result in iterating through
*all* log files, I'm not doing it since I think it doesn't occur very
often in practice. If I happen to be wrong on that, we could still go
for the heavyweight solution.
Also, I went for implementing this in Python instead of a shell script,
because the latter would not only be less readable but also way slower
since we need to either fork out for every stat command or use ls and
head to figure out the newest file.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
| |
Recommended by aszlig to switch from module to package.
|
|
|
|
|
|
|
|
|
|
|
| |
No particular reason, other than current Psi version "feeling" too old
and I'm feeling somewhat adventurous.
The usrsctp library is now needed for Jingle, so I added a small build
of it directly from master as well. Who wants old release versions,
right?
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the "cryptography" Python library is marked as insecure I'd have
several options here: Add an excemption for the library, switch to
NixOps 2.0 or entirely remove it.
I chose to do the latter, since on all of my deployments I currently use
a heavily patched NixOps version which is somewhat of a mix between 1.5
and 2.0 and the version used here in the workstation profile is unused
since ages anyway.
In case I really need to use nixops on any of my workstations again, I
could still resort to "nix run".
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
| |
Added this when contributing to a GDScript project and since I know a
few persons who implement their games using Godot, I might need to write
GDScript at some point in the future again, so the syntax highlighting
plugin comes in handy.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
| |
This led to an issue where `vim` and `vimdiff` were launched from two
different derivations.
|
|
|
|
| |
Don't need these either really.
|
|
|
|
|
| |
Nerd Fonts looks interesting and should replace most of the ones I
already use.
|
|
|
|
|
|
|
| |
I just like `tender` colorscheme too much, and also `dracula` didn't
work very well. Although most of my LaTeX work is done on Overleaf,
sometimes I do need some good local LaTeX support in vim, so let's give
`vimtex` a chance.
|
|
|
|
|
|
|
|
|
|
| |
I've been trying to get most of my environment directly configured via
my NixOS configuration rather than rely on my dotfiles repository, if
the program/configuration is well supported in NixOS.
Just like Vim, here too I'm relying more on NixOS' ZSH options, which
truly eliminates dependencies on external repositories or dotfile
setups.
|
|
|
|
|
| |
The tex sources are in a different place currently, planning to move
them here once I’ve nixified them sometime in the future.
|
|
|
|
| |
Might be less annoying that having to do things via the browser.
|
|
|
|
|
| |
Who'd have thought. Work has finally embraced a way of printing no
matter what OS one runs. What a time to be alive.
|
|
|
|
| |
I'm very happy with `alacritty`, so I'm dropping `termite`.
|
| |
|
|
|
|
| |
Now it's pretty much the way I want it.
|
|
|
|
|
|
|
|
|
| |
The option has been renamed since a while[1] ago, so to get rid of
annoying warnings, let's actually switch to the new option name.
[1]: https://github.com/NixOS/nixpkgs/commit/c99bd9bedf7291390c28eddb31f
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I already have this running in writethrough for long enough so that I'm
pretty confident that a disaster like last time[1] should not happen
anytime soon so that hereby I'm making this permanent in the machine
configuration.
The reason why I set this to writearound initially instead of
writethrough, was that I just wanted to go with the most conservative
option first.
Of course, during scrub, we still disable all caching, so we should not
generate too much wear on the SSD.
[1]: 15008e69542774c441e388ad4c2e28a2d27f9ba0
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Upstream changes:
* New localization: Russian
* GAME: Performance optimizations
* GAME: Faster startup
* GAME: Framerate locked at 60fps to prevent timing drifts
* GAME: Vsync disabled and setting removed due to sync timing issues
* UI: Adjusted some button target visuals for clarity
* UI: Much improved UI performance in online lobbies
* UI: Warning when time-based modes are almost over is more clear
* JOURNEY: Aether's boss shows shields on all body segments instead of
just the head
* JOURNEY: Regen shield time on Carmen stage 6 increased from 0.5s to
0.75s
* UI: Fixed letterboxing shadows in middle of screen
* UI: Localization corrections
* UI: Fixed some text labels' display in Japanese
* UI: Fixed offset scrolling positions in options menus
* UI: Possible fix for blank interface elements (sanity checks when
data loading on startup)
* INPUT: Fixed some instances where control would be lost
* NET: Fix for some disconnection cases when returning to the lobby
after a match
* NET: Fixed degrading network performance as a match progresses
* NET: Fixed online stuttering and hitches after the first round
* NET: Fixed incorrect shot style being set on clients
* NET: Fixed freezing that can occur in Zone Control and Carrier modes
* NET: More accurate framerate-independent timers for online modes
* GFX: Fixed Selene's jump shadow showing in the wrong location for 1
frame
* GFX: Fixed Phoebe instantly showing at her teleport destination for
1 frame
* IRIS: Fixed being able to dash over Djaan-Khe's traps
* EPI: Fixed not triggering footstep effects if activating ability
midway to the next tile
* DJAAN-KHE: Fixed not triggering footstep effects if activating
ability midway to the next tile
The full upstream changelog can be found at:
https://www.sombr.com/pub/SIG/changelog/
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The list of changes is very huge, so here is a *very* small summary for
the 1.4 upgrade:
* There is a new end-game mystery
* Add some more character events
* Add Fish Ponds
* Add a new farm map: Four Corners
* Over 60 new items, some fun, some practical and some powerful
* Add 24 new hairstyles, 181 new shirts, 35 new hats, 14 new pants and
2 new boots
* Junimo Kart has been almost completely re-done
* Sheds can be upgraded to double their interior size
* Add 2 new monsters and 2 new alternative levels to the mines
* Add a new type of upgrade at the Blacksmith’s
* New emote menu for your farmer (default key is Y)
* Lots of Quality of Life improvements
* Your collections tab now keeps track of all the letters you’ve
received
* Add 14 new music tracks
* Hundreds of bug fixes
Here is the full version history with not only the 1.4 upgrade but also
all the patches till now:
https://stardewvalleywiki.com/Version_History
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I already updated the game a while ago, but didn't commit it yet and
since the update has been out since a year, I think it's time to
actually update it here as well (shame on me).
This essentially includes the "new" bounty hunter update from June 2019,
which has a lot of changes.
So instead of including the changelog here, I'm hereby referring to the
upstream release announcement:
https://playstarbound.com/starbound-1-4-bounty-hunter-update/
I also changed the -Werror flag in the preloader to -Wall, since the
errors/warnings we're getting are false-positives:
error: '__builtin_strncpy' specified bound depends on the length of
the source argument [-Werror=stringop-overflow=]
While a warning like this usually is a concern, it's not in our case,
since the size of the destination *also* depends on the length of the
source argument.
Additionally, I changed the test to use the new
networking.interfaces.*.ipv4.addresses option instead of the legacy one
which has been deprecated for ages.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
| |
Another game that I already finished (in less than 400 days obviously)
but haven't yet committed so far.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
| |
I've already packaged both games a while ago and already finished them,
so this is basically to get rid of a dirty Git working tree.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
| |
The `sensible` plugin doesn't work for me. I think setting things
manually is probably better for now.
|
|
|
|
| |
It's marked as broken and I've been using `smos` more lately anyway.
|
| |
|
|
|
|
| |
Fully automatic indentation, why not.
|
|
|
|
|
| |
I'm finding myself use containers more and more these days, primarily
for testing stuff, so it's useful to have the tools installed.
|
|
|
|
|
|
| |
Trying to figure out a better, more consistent approach to theming my
terminals and terminal programs, so let's start from scratch and remove
as much as possible.
|
|
|
|
| |
Let's see if this does anything good.
|
| |
|
|
|
|
| |
Forgot I had this still in here.
|
|
|
|
|
| |
As I move from one machine to another I'll be removing SpaceVim and
enabling my Vim.
|
|
|
|
|
|
|
| |
This config works now. Huge thanks to aszlig for helping! This is only a
bare-bones configurations. There are some parts of SpaceVim I really
enjoy, so over time I'll try to get my Vim configuration to emulate
those parts.
|
|
|
|
|
|
| |
This is in preparation of me leaving SpaceVim behind and not having to
rely on external sources for certain programs, such as Vim, when
installing a new machine.
|
|
|
|
|
|
|
|
|
|
|
| |
While the "packages" within Nix Flakes does make a few things a bit
simpler it also only allows us to export a flat structure.
However, in Vuizvui we want to use namespaces for the corresponding
package sets, since different packages could have different overrides
depending on the namespace of the corresponding author.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
| |
I'm not sure when this started, but `scrot -s` introduces artefacts in
the screenshot because the selection border is captured with the
screenshot which is pretty annoying. It looks like `maim` doesn't have
this issue.
|
|
|
|
|
| |
I really love the screensavers, but unfortunately more often than not
it's hugely distracting for my mode of work.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is actually needed to build the axbo program, which I have rarely
used during the past years. However, I'm not absolutely sure that I
won't be using this again so I decided to fix it, since all that needed
to be done is take an additional patch from Debian that fixes
compatibility with newer JDK versions.
Since the patch changes configure.in and Makefile.am, we need to
regenerate all the files for autotools as well and since there were old
m4 files laying around I deleted them in preAutoreconf.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The test is not essential for running any real NixOS machines and the
tests just checks whether the runInMachine function for building
derivations inside a VM works.
I was very much reluctant to just remove this test before I actually
fixed the issue upstream because this would mean that it's highly likely
that I'm never going to do it.
However, since all the channels on our side are currently blocking on
this test, which isn't relevant either, I'm going to risk possibly never
fixing runInMachine upstream since I'd have removed that test anyway for
the aforementioned reason.
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
| |
This is incredibly useful if you don't want to leave the terminal.
|