-
-
Notifications
You must be signed in to change notification settings - Fork 18.9k
open-relay-typefaces: init at 2025-03-20, subsumes kreative-square-fonts #399148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,95 @@ | ||
| { | ||
| lib, | ||
| stdenvNoCC, | ||
| fetchFromGitHub, | ||
| }: | ||
|
|
||
| let | ||
| mkOpenRelayTypeface = | ||
| name: | ||
| { directory, meta }: | ||
| stdenvNoCC.mkDerivation (finalAttrs: { | ||
| pname = "open-relay-${name}"; | ||
| version = "2025-03-20"; | ||
|
|
||
| src = fetchFromGitHub { | ||
| owner = "kreativekorp"; | ||
| repo = "open-relay"; | ||
| tag = finalAttrs.version; | ||
| hash = "sha256-OQpZHPbNL3rxXH89lwtHvm7eENl8fS0M0i8IBn4m2hI="; | ||
| }; | ||
|
|
||
| installPhase = '' | ||
| runHook preInstall | ||
|
|
||
| install -D -m444 -t "$out/share/fonts/truetype" "${directory}/*.ttf" | ||
| install -D -m644 -t "$out/share/doc/${finalAttrs.pname}-${finalAttrs.version}" "${directory}/OFL.txt" | ||
|
|
||
| runHook postInstall | ||
| ''; | ||
|
|
||
| meta = { | ||
| homepage = "https://www.kreativekorp.com/software/fonts/index.shtml"; | ||
| description = "Free and open source fonts from Kreative Software"; | ||
| license = lib.licenses.ofl; | ||
| platforms = lib.platforms.all; | ||
| maintainers = with lib.maintainers; [ | ||
| linus | ||
| toastal | ||
| ]; | ||
| } // meta; | ||
| }); | ||
| in | ||
| lib.mapAttrs mkOpenRelayTypeface { | ||
| constructium = { | ||
| directory = "Constructium"; | ||
| meta = { | ||
| homepage = "https://www.kreativekorp.com/software/fonts/constructium/"; | ||
| description = "fork of SIL Gentium designed specifically to support constructed scripts as encoded in the Under-ConScript Unicode Registry"; | ||
| longDescription = '' | ||
| Constructium is a fork of SIL Gentium designed specifically to support | ||
| constructed scripts as encoded in the Under-ConScript Unicode Registry. | ||
| It is ideal for mixed Latin, Greek, Cyrillic, IPA, and conlang text in | ||
| web sites and documents. | ||
| ''; | ||
| }; | ||
| }; | ||
|
|
||
| fairfax = { | ||
| directory = "Fairfax"; | ||
| meta = { | ||
| homepage = "https://www.kreativekorp.com/software/fonts/fairfax/"; | ||
| description = "6×12 bitmap font supporting many Unicode blocks & scripts as well as constructed scripts"; | ||
| longDescription = '' | ||
| Fairfax is a 6×12 bitmap font for terminals, text editors, IDEs, etc. It | ||
| supports many scripts and a large number of Unicode blocks as well as | ||
| constructed scripts as encoded in the Under-ConScript Unicode Registry, | ||
| pseudographics and semigraphics, and tons of private use characters. It | ||
| has been superceded by Fairfax HD but is still maintained. | ||
| ''; | ||
| }; | ||
| }; | ||
|
|
||
| fairfax-hd = { | ||
| directory = "FairfaxHD"; | ||
| meta = { | ||
| homepage = "https://www.kreativekorp.com/software/fonts/fairfaxhd/"; | ||
| description = "halfwidth scalable monospace font supporting many Unicode blocks & script as well as constructed scripts"; | ||
| longDescription = '' | ||
| Fairfax HD is a halfwidth scalable monospace font for terminals, text | ||
| editors, IDEs, etc. It supports many scripts and a large number of | ||
| Unicode blocks as well as constructed scripts as encoded in the | ||
| Under-ConScript Unicode Registry, pseudographics and semigraphics, and | ||
| tons of private use characters. | ||
| ''; | ||
| }; | ||
| }; | ||
|
|
||
| kreative-square = { | ||
| directory = "KreativeSquare"; | ||
| meta = { | ||
| homepage = "https://www.kreativekorp.com/software/fonts/ksquare/"; | ||
| description = "Fullwidth scalable monospace font designed specifically to support pseudographics, semigraphics, and private use characters"; | ||
| }; | ||
| }; | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Would it make more sense to use something like
open-relay-fonts.kreative-squarefor the name? My Nix is rusty and to me this just looks like we're expecting users to install the fonts only by their name. But these fonts all come fromopen-relayso maybe it makes sense to group them together somehow?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tough call since I don’t see it as much with everything trying to flatten (tho I prefer nesting myself).
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Other top-level nested things are like
ocamlPackages,gnomeExtension,linuxKernel,libsForQt5, where 4 fonts seems a bit out of place—tholohit-fonts+mplus-outline-fontsare there.If I were a Nixpkgs maintainer, I would personally like to see
fontsin its own attrset like the aforementionedocamlPackagessince there is a lot of names used just for fonts & fonts, while being software, generally tend to ship as is versus the from-source build approach (tho I would venture to guess Google Fonts requiring a repository with the prebuilt font has something to do with that). It would also make certain operations easier since you could dowith pkgs.fonts; …or have the system font setups take a callback with the fonts (such as{ fonts.packages = (fonts: with fonts; [ roboto ]); }).There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You /are/ a nixpkgs maintainer. You might not have the commit bit yet, but that's not a requirement to propose refactors in nixpkgs. It's more of a Do-ocracy, there's not a font institution inside the community responsible for a fonts attribute 😆
If you're serious about this, open an issue, highlighting people previously involved. Maybe prototype on the "how" somewhere local before, and open a draft PR once it cooked a bit more. This shouldn't be self-merged anyways, but needs to be reviewed by people frequently interacting with the font system, so commit bits are orthogonal.