From 1af2e4f0ba6c658246bfcbd2d64ef2c2df539bcb Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Mon, 15 Jun 2026 19:25:39 +0200 Subject: [PATCH] a --- .../nixoslogo/artifacts/clearspace.py | 30 +++++++++++++++++++ .../nixoslogo/nixoslogo/core.py | 1 + .../nixoslogo/nixoslogo/logo.py | 2 +- .../nixoslogo/nixoslogo/logomark.py | 4 +++ .../nixos-logo-clearspace/package.nix | 2 +- .../nixos-logomark-clearspace/package.nix | 2 +- .../nixos-logomark-clearspace/script.py | 1 + .../nixos-logotype-clearspace/package.nix | 2 +- 8 files changed, 40 insertions(+), 4 deletions(-) diff --git a/package-sets/python-packages/nixoslogo/nixoslogo/artifacts/clearspace.py b/package-sets/python-packages/nixoslogo/nixoslogo/artifacts/clearspace.py index 281933c..1824937 100644 --- a/package-sets/python-packages/nixoslogo/nixoslogo/artifacts/clearspace.py +++ b/package-sets/python-packages/nixoslogo/nixoslogo/artifacts/clearspace.py @@ -19,6 +19,7 @@ def __init__( logo_name: str, space_object: BaseRenderable, annotations: Annotations, + show_icon_clearspace: bool = False, **kwargs, ): self.logo = logo @@ -28,6 +29,14 @@ def __init__( self.recommended = self.logo(clear_space=ClearSpace.RECOMMENDED) self.minimal = self.logo(clear_space=ClearSpace.MINIMAL) + + self.show_icon_clearspace = show_icon_clearspace + + if self.show_icon_clearspace: + self.icon = self.logo(clear_space=ClearSpace.ICON) + else: + self.icon = None + super().__init__(**kwargs) @property @@ -48,6 +57,17 @@ def make_filename(self, extras: tuple[str] = ()) -> str: ) def make_svg_elements(self): + if self.show_icon_clearspace: + print(self.icon) + return ( + self.make_greyscale_def(), + self.make_grid_lines(), + self.make_clearspace_lines(), + self.icon.make_svg_elements(), + self.recommended.make_svg_elements(), + self.make_space_object_elements(), + ) + return ( self.make_greyscale_def(), self.make_grid_lines(), @@ -170,7 +190,17 @@ def make_grid_lines(self): def make_clearspace_lines(self): recommended_annotation = self.annotations.make_annotation(text="RECOMMENDED") minimal_annotation = self.annotations.make_annotation(text="MINIMAL") + if self.show_icon_clearspace: + icon_annotation = self.annotations.make_annotation(text="ICON") return ( + svg.Rect( + x=self.recommended.canvas.min_x, + y=self.recommended.canvas.min_y, + width=100, + height=100, + fill="red", + stroke=5, + ), svg.Rect( x=self.recommended.canvas.min_x, y=self.recommended.canvas.min_y, diff --git a/package-sets/python-packages/nixoslogo/nixoslogo/core.py b/package-sets/python-packages/nixoslogo/nixoslogo/core.py index 67ff415..d325f33 100644 --- a/package-sets/python-packages/nixoslogo/nixoslogo/core.py +++ b/package-sets/python-packages/nixoslogo/nixoslogo/core.py @@ -133,6 +133,7 @@ class ClearSpace(Enum): NONE = auto() MINIMAL = auto() RECOMMENDED = auto() + ICON = auto() class ColorStyle(Enum): diff --git a/package-sets/python-packages/nixoslogo/nixoslogo/logo.py b/package-sets/python-packages/nixoslogo/nixoslogo/logo.py index 79e47e4..5ec1221 100644 --- a/package-sets/python-packages/nixoslogo/nixoslogo/logo.py +++ b/package-sets/python-packages/nixoslogo/nixoslogo/logo.py @@ -32,7 +32,7 @@ def __init__( logotype_cap_height: float | None = None, logotype_color: str = "black", logotype_style: LogotypeStyle = LogotypeStyle.REGULAR, - logotype_spacings: tuple[int] = DEFAULT_LOGOTYPE_SPACINGS_WITH_BEARING, + logotype_spacings: tuple[int, ...] = DEFAULT_LOGOTYPE_SPACINGS_WITH_BEARING, logotype_characters: str = "NixOS", logotype_transform: svg.Translate | None = None, clear_space: ClearSpace = ClearSpace.RECOMMENDED, diff --git a/package-sets/python-packages/nixoslogo/nixoslogo/logomark.py b/package-sets/python-packages/nixoslogo/nixoslogo/logomark.py index 3a8d89d..b7cd572 100644 --- a/package-sets/python-packages/nixoslogo/nixoslogo/logomark.py +++ b/package-sets/python-packages/nixoslogo/nixoslogo/logomark.py @@ -58,6 +58,8 @@ def _get_clearspace(self): return self.elements_y_max / 2 case ClearSpace.RECOMMENDED: return self.elements_y_max + case ClearSpace.ICON: + return self.elements_y_max / 8 case _: raise Exception(f"Unknown ClearSpace: {self.clear_space}") @@ -216,6 +218,8 @@ def _get_clearspace(self): return self.elements_y_max / 2 case ClearSpace.RECOMMENDED: return self.elements_y_max + case ClearSpace.ICON: + return self.elements_y_max / 8 case _: raise Exception(f"Unknown ClearSpace: {self.clear_space}") diff --git a/package-sets/top-level/nixos-branding/artifacts/clearspace/nixos-logo-clearspace/package.nix b/package-sets/top-level/nixos-branding/artifacts/clearspace/nixos-logo-clearspace/package.nix index e38c82a..7b13b62 100644 --- a/package-sets/top-level/nixos-branding/artifacts/clearspace/nixos-logo-clearspace/package.nix +++ b/package-sets/top-level/nixos-branding/artifacts/clearspace/nixos-logo-clearspace/package.nix @@ -1,6 +1,6 @@ { artifact-builder }: artifact-builder { name = "nixos-logo-clearspace"; - outputHash = "sha256-2KzUQsyjcwfAH2fqUQrSZmJBSO0sMzC32lvptFSyVOw="; + outputHash = "sha256-v5pCaAEZEMxUobBl9ekTHlJDREBhPPZzb2KdWyrWXJM="; script = ./script.py; } diff --git a/package-sets/top-level/nixos-branding/artifacts/clearspace/nixos-logomark-clearspace/package.nix b/package-sets/top-level/nixos-branding/artifacts/clearspace/nixos-logomark-clearspace/package.nix index a5ee886..1ec931c 100644 --- a/package-sets/top-level/nixos-branding/artifacts/clearspace/nixos-logomark-clearspace/package.nix +++ b/package-sets/top-level/nixos-branding/artifacts/clearspace/nixos-logomark-clearspace/package.nix @@ -1,6 +1,6 @@ { artifact-builder }: artifact-builder { name = "nixos-logomark-clearspace"; - outputHash = "sha256-f2LSFFGeJlkrhFHNN/2drhQr7mzlQ9VMBaXPk89P3p8="; + outputHash = "sha256-YQtKddyhfASO7wNNFtbiPw5YEd2kikybI0L5Fn/ZYkQ="; script = ./script.py; } diff --git a/package-sets/top-level/nixos-branding/artifacts/clearspace/nixos-logomark-clearspace/script.py b/package-sets/top-level/nixos-branding/artifacts/clearspace/nixos-logomark-clearspace/script.py index bddd79f..8b1a9a5 100644 --- a/package-sets/top-level/nixos-branding/artifacts/clearspace/nixos-logomark-clearspace/script.py +++ b/package-sets/top-level/nixos-branding/artifacts/clearspace/nixos-logomark-clearspace/script.py @@ -10,5 +10,6 @@ logo_name="logomark", space_object=space_object, annotations=annotations, + show_icon_clearspace=True, ) ilc.write_svg() diff --git a/package-sets/top-level/nixos-branding/artifacts/clearspace/nixos-logotype-clearspace/package.nix b/package-sets/top-level/nixos-branding/artifacts/clearspace/nixos-logotype-clearspace/package.nix index 1b20823..3282c12 100644 --- a/package-sets/top-level/nixos-branding/artifacts/clearspace/nixos-logotype-clearspace/package.nix +++ b/package-sets/top-level/nixos-branding/artifacts/clearspace/nixos-logotype-clearspace/package.nix @@ -1,6 +1,6 @@ { artifact-builder }: artifact-builder { name = "nixos-logotype-clearspace"; - outputHash = "sha256-MKaFYf9/lxTWTdr2OfOMZU4CqtbAE/KmozY20xfPeXo="; + outputHash = "sha256-lPdN/5gvxUpsHpJCkC1ilR8wTj5K45aBE4qM4hhVDfo="; script = ./script.py; }