Nix-shell shebang: Difference between revisions

Klinger (talk | contribs)
YoshiRulz (talk | contribs)
C#: Add EntryPointFileDirectoryPath to sample, new in preview 6
 
(2 intermediate revisions by the same user not shown)
Line 32: Line 32:
convert "$1" -scale 50% "$1.s50.jpg" &&
convert "$1" -scale 50% "$1.s50.jpg" &&
cowsay "done $1.q50.jpg"
cowsay "done $1.q50.jpg"
</syntaxHighlight>
=== C# ===
Using file-based apps, new in .NET 10:
<syntaxHighlight lang="csharp">
#!/usr/bin/env nix-shell
/*
#! nix-shell -i dotnet -p dotnetCorePackages.dotnet_10.sdk
*/
#:package Humanizer@2.14.1
using Humanizer;
Environment.CurrentDirectory = (string) AppContext.GetData("EntryPointFileDirectoryPath")!; // equivalent of `cd $(dirname $0)`
var dotNet9Released = DateTimeOffset.Parse("2024-12-03");
var since = DateTimeOffset.Now - dotNet9Released;
Console.WriteLine($"It has been {since.Humanize()} since .NET 9 was released.");
</syntaxHighlight>
</syntaxHighlight>