refactor: change to litterate config
Configuration is now held by the `.org` files. All `.nix` files are tangled from the org-mode files.
This commit is contained in:
@@ -1,7 +1,3 @@
|
||||
# Baseline variant of Bun for x86_64-linux CPUs without AVX2 support.
|
||||
# The regular `bun` from nixpkgs requires AVX2 and crashes with SIGILL on older hardware.
|
||||
#
|
||||
# Version is typically kept in sync with nixpkgs's `bun` (passed via `callPackage`).
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
@@ -13,8 +9,6 @@
|
||||
stdenv,
|
||||
version ? "1.3.13",
|
||||
}: let
|
||||
# When updating `version`, compute the new hash with:
|
||||
# nix store prefetch-file "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-x64-baseline.zip"
|
||||
hash = {
|
||||
"1.3.13" = "sha256-nYokKSpwaAkCBdqsCloiP19pc29Sh+N7+I07QDHtx1A=";
|
||||
};
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
# https://cairns.gg/
|
||||
{
|
||||
stdenv,
|
||||
fetchzip,
|
||||
makeWrapper,
|
||||
lib,
|
||||
fontconfig,
|
||||
freetype,
|
||||
libx11,
|
||||
libxext,
|
||||
libxrandr,
|
||||
libxinerama,
|
||||
libxi,
|
||||
libxcursor,
|
||||
libxrender,
|
||||
libxfixes,
|
||||
libxtst,
|
||||
libxcb,
|
||||
libxkbcommon,
|
||||
libglvnd,
|
||||
libICE,
|
||||
libSM,
|
||||
dbus,
|
||||
libxshmfence,
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cairn";
|
||||
version = "0.9.11";
|
||||
src = fetchzip {
|
||||
url = "https://download.cairns.gg/releases/${version}/${pname}-${version}-linux-x64.tar.gz";
|
||||
hash = "sha256-UbjeEbP4o6y+0j1oeF3RwqTuunGB5wD0CSpdFDk97/U=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [makeWrapper];
|
||||
|
||||
dontBuild = true;
|
||||
dontPatchELF = true;
|
||||
dontStrip = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm755 $src/cairn $out/bin/cairn
|
||||
wrapProgram $out/bin/cairn \
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [
|
||||
stdenv.cc.cc.lib
|
||||
fontconfig
|
||||
freetype
|
||||
libx11
|
||||
libxext
|
||||
libxrandr
|
||||
libxinerama
|
||||
libxi
|
||||
libxcursor
|
||||
libxrender
|
||||
libxfixes
|
||||
libxtst
|
||||
libxcb
|
||||
libxkbcommon
|
||||
libglvnd
|
||||
libICE
|
||||
libSM
|
||||
dbus
|
||||
libxshmfence
|
||||
]}
|
||||
|
||||
mkdir -p $out/share/applications
|
||||
cat > $out/share/applications/cairn.desktop <<EOF
|
||||
[Desktop Entry]
|
||||
Version=0.9.11
|
||||
Name=Cairns
|
||||
Comment=Modpacks for Vintage Story
|
||||
Exec=$out/bin/cairn
|
||||
Icon=cairn
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Games
|
||||
EOF
|
||||
|
||||
install -Dm644 ${./cairn.svg} $out/share/icons/hicolor/scalable/apps/${pname}.svg
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Modpacks for Vintage Story";
|
||||
homepage = "https://cairns.gg/";
|
||||
platforms = ["x86_64-linux"];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">
|
||||
<!--
|
||||
Cairn: the stack of stones you build so you can find the exact way back.
|
||||
|
||||
Palette is the game's own Vintagestory.API.Client.GuiStyle, the same source the
|
||||
launcher's theme draws from, so the icon sits next to the app rather than merely
|
||||
near it. Stones lighten as they rise and the cap is ColorRust1 — the accent already
|
||||
carried by the Play button and the selected tab.
|
||||
|
||||
Constraint that drove the shapes: this has to survive 16x16 in a Windows taskbar.
|
||||
So the silhouette does the work — a clear taper, five stones, dark gaps wide enough
|
||||
to still separate them when each is barely two pixels tall. Detail is layered on
|
||||
top for the sizes that can show it, and is expendable below them.
|
||||
-->
|
||||
<defs>
|
||||
<linearGradient id="bg" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop offset="0" stop-color="#37291F"/>
|
||||
<stop offset="1" stop-color="#191210"/>
|
||||
</linearGradient>
|
||||
|
||||
<radialGradient id="glow" cx="0.5" cy="0.60" r="0.58">
|
||||
<stop offset="0" stop-color="#C89A5E" stop-opacity="0.26"/>
|
||||
<stop offset="1" stop-color="#C89A5E" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
|
||||
<linearGradient id="s1" x1="0.15" y1="0" x2="0.6" y2="1">
|
||||
<stop offset="0" stop-color="#D3B78C"/><stop offset="1" stop-color="#836A4E"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="s2" x1="0.15" y1="0" x2="0.6" y2="1">
|
||||
<stop offset="0" stop-color="#DFC393"/><stop offset="1" stop-color="#927A58"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="s3" x1="0.15" y1="0" x2="0.6" y2="1">
|
||||
<stop offset="0" stop-color="#E9CD9B"/><stop offset="1" stop-color="#A28560"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="s4" x1="0.15" y1="0" x2="0.6" y2="1">
|
||||
<stop offset="0" stop-color="#F3D6A2"/><stop offset="1" stop-color="#B0906A"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="s5" x1="0.15" y1="0" x2="0.6" y2="1">
|
||||
<stop offset="0" stop-color="#F0801F"/><stop offset="1" stop-color="#9C4108"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
|
||||
<rect width="1024" height="1024" rx="228" fill="url(#bg)"/>
|
||||
<rect width="1024" height="1024" rx="228" fill="url(#glow)"/>
|
||||
|
||||
<!-- Grounds the stack without committing to a horizon line. -->
|
||||
<ellipse cx="512" cy="880" rx="322" ry="27" fill="#0F0B09" opacity="0.5"/>
|
||||
|
||||
<!--
|
||||
Each stone is tilted a few degrees, and no two share a width-to-height ratio, so the
|
||||
stack looks built by hand rather than turned on a lathe. The dark outline is what
|
||||
keeps the gaps legible once antialiasing starts merging neighbours.
|
||||
-->
|
||||
<g stroke="#171110" stroke-width="8">
|
||||
<ellipse cx="512" cy="788" rx="286" ry="84" fill="url(#s1)" transform="rotate(-2.5 512 788)"/>
|
||||
<ellipse cx="490" cy="612" rx="236" ry="74" fill="url(#s2)" transform="rotate(3.5 490 612)"/>
|
||||
<ellipse cx="532" cy="458" rx="190" ry="68" fill="url(#s3)" transform="rotate(-4.5 532 458)"/>
|
||||
<ellipse cx="498" cy="322" rx="146" ry="53" fill="url(#s4)" transform="rotate(6 498 322)"/>
|
||||
<ellipse cx="520" cy="204" rx="103" ry="46" fill="url(#s5)" transform="rotate(-4 520 204)"/>
|
||||
</g>
|
||||
|
||||
<!--
|
||||
Top-lit highlights: they give the stones volume at 128px and up, and simply dissolve
|
||||
into the fill below that, which is the correct behaviour for detail this fine.
|
||||
-->
|
||||
<g fill="#FFFFFF" opacity="0.20">
|
||||
<ellipse cx="470" cy="748" rx="150" ry="26" transform="rotate(-2.5 470 748)"/>
|
||||
<ellipse cx="452" cy="578" rx="124" ry="23" transform="rotate(3.5 452 578)"/>
|
||||
<ellipse cx="498" cy="428" rx="100" ry="21" transform="rotate(-4.5 498 428)"/>
|
||||
<ellipse cx="470" cy="299" rx="76" ry="16" transform="rotate(6 470 299)"/>
|
||||
<ellipse cx="498" cy="184" rx="54" ry="14" transform="rotate(-4 498 184)"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.7 KiB |
Reference in New Issue
Block a user