diff --git a/core/devserver.mjs b/core/devserver.mjs index 9c694a5407..98fc12e908 100644 --- a/core/devserver.mjs +++ b/core/devserver.mjs @@ -27,6 +27,7 @@ const devServer = await dev({ app.use('/manual', express.static(process.env.PATH_MANUAL)); app.use('/guides/nix-pills', express.static(process.env.PATH_PILLS)); app.use('/demos', express.static(process.env.PATH_DEMOS)); +app.use('/branding', express.static(process.env.PATH_BRANDING)); app.use(devServer.handle); app.listen(devServer.address.port + 1, () => { diff --git a/core/src/content/menus/footer.yaml b/core/src/content/menus/footer.yaml index 1b8a4472a8..e0ba69349a 100644 --- a/core/src/content/menus/footer.yaml +++ b/core/src/content/menus/footer.yaml @@ -11,6 +11,8 @@ sections: link: https://reproducible.nixos.org/ - name: Security link: /community/teams/security + - name: Branding + link: /branding - name: Summer of Nix link: https://github.com/ngi-nix/summer-of-nix - name: Get in Touch diff --git a/core/src/pages/branding.astro b/core/src/pages/branding.astro new file mode 100644 index 0000000000..628de66f34 --- /dev/null +++ b/core/src/pages/branding.astro @@ -0,0 +1,86 @@ +--- +import Container from '../components/layout/Container.astro'; +import PageHeader from '../components/layout/PageHeader.astro'; +import Layout from '../layouts/Layout.astro'; +--- + + + + +

+ NixOS Branding Guide +

+ The NixOS Branding Guide outlines the official visual identity of the NixOS project. It provides clear + guidance on how to use the NixOS logo, colors, typography, and other brand elements + across digital and print media. Whether you're creating a blog post, a presentation, + a sticker, or a t-shirt, this guide helps ensure your materials reflect the NixOS + brand consistently and respectfully. +
+ +

+ NixOS Logos +

+

+ Below are the official NixOS logo variants. These assets are available for + use in accordance with the guidelines set out in the Branding Guide. Each + version is designed for a specific use case—horizontal or vertical layout, + dark or light backgrounds. +

+

+ Please refer to the Branding Guide for instructions on proper usage, clear + space, and background contrast requirements. +

+
+ + + + + + + + + + + + +
+
+
diff --git a/flake.lock b/flake.lock index 69fe20aeef..41fbb2542a 100644 --- a/flake.lock +++ b/flake.lock @@ -48,6 +48,22 @@ "type": "github" } }, + "flake-compat_4": { + "flake": false, + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -211,6 +227,27 @@ "type": "github" } }, + "gitignore_2": { + "inputs": { + "nixpkgs": [ + "nixos-branding", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "nix-pills": { "flake": false, "locked": { @@ -227,6 +264,29 @@ "type": "github" } }, + "nixos-branding": { + "inputs": { + "flake-compat": "flake-compat_2", + "gitignore": "gitignore_2", + "nixpkgs": "nixpkgs_2", + "pre-commit-hooks": "pre-commit-hooks", + "treefmt-nix": "treefmt-nix", + "typix": "typix" + }, + "locked": { + "lastModified": 1752363501, + "narHash": "sha256-apzFsv1kd+tXb7Qt92qEZ5UeqFNvInmv2ztGdXjH5I8=", + "owner": "nixos", + "repo": "branding", + "rev": "69c41ba342aa3c623d3b7d4489a236560043d216", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "branding", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1730768919, @@ -323,6 +383,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1746663147, + "narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "dda3dcd3fe03e991015e9a74b22d35950f264a54", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1753549186, "narHash": "sha256-Znl7rzuxKg/Mdm6AhimcKynM7V3YeNDIcLjBuoBcmNs=", @@ -337,7 +413,7 @@ "type": "indirect" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1747179050, "narHash": "sha256-qhFMmDkeJX9KJwr5H32f1r7Prs7XbQWtO0h3V0a0rFY=", @@ -353,7 +429,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { "lastModified": 1747179050, "narHash": "sha256-qhFMmDkeJX9KJwr5H32f1r7Prs7XbQWtO0h3V0a0rFY=", @@ -369,12 +445,41 @@ "type": "github" } }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": [ + "nixos-branding", + "flake-compat" + ], + "gitignore": [ + "nixos-branding", + "gitignore" + ], + "nixpkgs": [ + "nixos-branding", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1742649964, + "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "released-nix-stable": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "flake-parts": "flake-parts_2", "git-hooks-nix": "git-hooks-nix_2", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "nixpkgs-23-11": "nixpkgs-23-11", "nixpkgs-regression": "nixpkgs-regression" }, @@ -395,10 +500,10 @@ }, "released-nix-unstable": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_4", "flake-parts": "flake-parts_3", "git-hooks-nix": "git-hooks-nix_3", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_5", "nixpkgs-23-11": "nixpkgs-23-11_2", "nixpkgs-regression": "nixpkgs-regression_2" }, @@ -452,7 +557,8 @@ "flake-parts": "flake-parts", "git-hooks-nix": "git-hooks-nix", "nix-pills": "nix-pills", - "nixpkgs": "nixpkgs_2", + "nixos-branding": "nixos-branding", + "nixpkgs": "nixpkgs_3", "released-nix-stable": "released-nix-stable", "released-nix-unstable": "released-nix-unstable", "released-nixpkgs-stable": "released-nixpkgs-stable", @@ -473,6 +579,48 @@ "id": "systems", "type": "indirect" } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nixos-branding", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1742982148, + "narHash": "sha256-aRA6LSxjlbMI6MmMzi/M5WH/ynd8pK+vACD9za3MKLQ=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "61c88349bf6dff49fa52d7dfc39b21026c2a8881", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "typix": { + "inputs": { + "nixpkgs": [ + "nixos-branding", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1745311617, + "narHash": "sha256-rSwSFTy7E+/i+V2IB6GT4eP07r0XPoKlq/GbNYhakkw=", + "owner": "loqusion", + "repo": "typix", + "rev": "bc85fe6c66247893e8ff3e5d15166276caaf26eb", + "type": "github" + }, + "original": { + "owner": "loqusion", + "repo": "typix", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 0f6db7ae13..6f83ad5499 100644 --- a/flake.nix +++ b/flake.nix @@ -1,4 +1,4 @@ -rec { +{ description = "The nixos.org homepage"; inputs = { @@ -7,7 +7,8 @@ rec { flake-parts.url = "github:hercules-ci/flake-parts"; git-hooks-nix.url = "github:cachix/git-hooks.nix"; - # These inputs are used for the manuals and release artifacts + # These inputs are used for the branding, manuals and release artifacts + nixos-branding.url = "github:nixos/branding"; released-nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; released-nixpkgs-stable.url = "nixpkgs/nixos-25.05"; released-nix-unstable.url = "github:nixos/nix/master"; @@ -33,6 +34,7 @@ rec { flake-parts, git-hooks-nix, nixpkgs, + nixos-branding, released-nixpkgs-unstable, released-nixpkgs-stable, released-nix-unstable, @@ -197,6 +199,13 @@ rec { sed -i -e "s|