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';
+---
+
+
+
+
+
+
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|