aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--devShells/c.nix2
-rw-r--r--flake.lock167
-rw-r--r--flake.nix5
-rw-r--r--nixos/configurations/lipwig.nix6
-rw-r--r--pkgs/default.nix32
-rw-r--r--pkgs/u-boot-add-openwrt-one.patch21
6 files changed, 175 insertions, 58 deletions
diff --git a/devShells/c.nix b/devShells/c.nix
index 9a2db98..b7c2519 100644
--- a/devShells/c.nix
+++ b/devShells/c.nix
@@ -1,7 +1,7 @@
pkgs:
pkgs.mkShell {
packages = with pkgs; [
- clang-tools_14
+ clang-tools
ctags
gcc
gdb
diff --git a/flake.lock b/flake.lock
index 3d515f8..ce37427 100644
--- a/flake.lock
+++ b/flake.lock
@@ -45,9 +45,9 @@
},
"ellembimages": {
"inputs": {
- "flakepy": "flakepy_2",
- "nixpkgs": "nixpkgs_9",
- "systems": "systems_5"
+ "flakepy": "flakepy_3",
+ "nixpkgs": "nixpkgs_11",
+ "systems": "systems_6"
},
"locked": {
"lastModified": 1756392836,
@@ -79,7 +79,7 @@
},
"flake-utils_2": {
"inputs": {
- "systems": "systems_8"
+ "systems": "systems_9"
},
"locked": {
"lastModified": 1705309234,
@@ -96,7 +96,7 @@
},
"flakepy": {
"inputs": {
- "nixpkgs": "nixpkgs_6",
+ "nixpkgs": "nixpkgs_5",
"systems": "systems_3"
},
"locked": {
@@ -119,6 +119,25 @@
"systems": "systems_4"
},
"locked": {
+ "lastModified": 1751271815,
+ "narHash": "sha256-TrMceYyeUXdQZlj/qZCznJB4iHdKj+d1cHXzcaoi3ig=",
+ "owner": "Cynerd",
+ "repo": "flakepy",
+ "rev": "d59cf207f55256163badc539a65669ad9bb1ba95",
+ "type": "gitlab"
+ },
+ "original": {
+ "owner": "Cynerd",
+ "repo": "flakepy",
+ "type": "gitlab"
+ }
+ },
+ "flakepy_3": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_10",
+ "systems": "systems_5"
+ },
+ "locked": {
"lastModified": 1756370037,
"narHash": "sha256-c1FeGRrH80ZwBrIBOUbSOik9b23OmVcTOledPgAyAug=",
"owner": "Cynerd",
@@ -132,10 +151,10 @@
"type": "gitlab"
}
},
- "flakepy_3": {
+ "flakepy_4": {
"inputs": {
- "nixpkgs": "nixpkgs_10",
- "systems": "systems_6"
+ "nixpkgs": "nixpkgs_12",
+ "systems": "systems_7"
},
"locked": {
"lastModified": 1751271815,
@@ -174,11 +193,11 @@
},
"nixos-hardware": {
"locked": {
- "lastModified": 1757103352,
- "narHash": "sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH+q462Sn8lrmWmk=",
+ "lastModified": 1758663926,
+ "narHash": "sha256-6CFdj7Xs616t1W4jLDH7IohAAvl5Dyib3qEv/Uqw1rk=",
"owner": "NixOS",
"repo": "nixos-hardware",
- "rev": "11b2a10c7be726321bb854403fdeec391e798bf0",
+ "rev": "170ff93c860b2a9868ed1e1102d4e52cb3d934e1",
"type": "github"
},
"original": {
@@ -237,6 +256,34 @@
},
"nixpkgs_11": {
"locked": {
+ "lastModified": 1756288264,
+ "narHash": "sha256-Om8adB1lfkU7D33VpR+/haZ2gI5r3Q+ZbIPzE5sYnwE=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "ddd1826f294a0ee5fdc198ab72c8306a0ea73aa9",
+ "type": "github"
+ },
+ "original": {
+ "id": "nixpkgs",
+ "type": "indirect"
+ }
+ },
+ "nixpkgs_12": {
+ "locked": {
+ "lastModified": 1751180975,
+ "narHash": "sha256-BKk4yDiXr4LdF80OTVqYJ53Q74rOcA/82EClXug8xsY=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "a48741b083d4f36dd79abd9f760c84da6b4dc0e5",
+ "type": "github"
+ },
+ "original": {
+ "id": "nixpkgs",
+ "type": "indirect"
+ }
+ },
+ "nixpkgs_13": {
+ "locked": {
"lastModified": 1753091883,
"narHash": "sha256-oVZt8VRJkO2Gytc7D2Pfqqy7wTnSECzdKPnoL9z8iFA=",
"owner": "NixOS",
@@ -249,7 +296,7 @@
"type": "indirect"
}
},
- "nixpkgs_12": {
+ "nixpkgs_14": {
"locked": {
"lastModified": 1707877513,
"narHash": "sha256-sp0w2apswd3wv0sAEF7StOGHkns3XUQaO5erhWFZWXk=",
@@ -279,11 +326,11 @@
},
"nixpkgs_3": {
"locked": {
- "lastModified": 1757068644,
- "narHash": "sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4=",
+ "lastModified": 1759036355,
+ "narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "8eb28adfa3dc4de28e792e3bf49fcf9007ca8ac9",
+ "rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127",
"type": "github"
},
"original": {
@@ -308,11 +355,11 @@
},
"nixpkgs_5": {
"locked": {
- "lastModified": 1678875422,
- "narHash": "sha256-T3o6NcQPwXjxJMn2shz86Chch4ljXgZn746c2caGxd8=",
+ "lastModified": 1751180975,
+ "narHash": "sha256-BKk4yDiXr4LdF80OTVqYJ53Q74rOcA/82EClXug8xsY=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "126f49a01de5b7e35a43fd43f891ecf6d3a51459",
+ "rev": "a48741b083d4f36dd79abd9f760c84da6b4dc0e5",
"type": "github"
},
"original": {
@@ -322,11 +369,11 @@
},
"nixpkgs_6": {
"locked": {
- "lastModified": 1751180975,
- "narHash": "sha256-BKk4yDiXr4LdF80OTVqYJ53Q74rOcA/82EClXug8xsY=",
+ "lastModified": 1753091883,
+ "narHash": "sha256-oVZt8VRJkO2Gytc7D2Pfqqy7wTnSECzdKPnoL9z8iFA=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "a48741b083d4f36dd79abd9f760c84da6b4dc0e5",
+ "rev": "2baf8e1658cba84a032c3a8befb1e7b06629242a",
"type": "github"
},
"original": {
@@ -336,11 +383,11 @@
},
"nixpkgs_7": {
"locked": {
- "lastModified": 1753091883,
- "narHash": "sha256-oVZt8VRJkO2Gytc7D2Pfqqy7wTnSECzdKPnoL9z8iFA=",
+ "lastModified": 1678875422,
+ "narHash": "sha256-T3o6NcQPwXjxJMn2shz86Chch4ljXgZn746c2caGxd8=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "2baf8e1658cba84a032c3a8befb1e7b06629242a",
+ "rev": "126f49a01de5b7e35a43fd43f891ecf6d3a51459",
"type": "github"
},
"original": {
@@ -364,11 +411,11 @@
},
"nixpkgs_9": {
"locked": {
- "lastModified": 1756288264,
- "narHash": "sha256-Om8adB1lfkU7D33VpR+/haZ2gI5r3Q+ZbIPzE5sYnwE=",
+ "lastModified": 1753091883,
+ "narHash": "sha256-oVZt8VRJkO2Gytc7D2Pfqqy7wTnSECzdKPnoL9z8iFA=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "ddd1826f294a0ee5fdc198ab72c8306a0ea73aa9",
+ "rev": "2baf8e1658cba84a032c3a8befb1e7b06629242a",
"type": "github"
},
"original": {
@@ -396,11 +443,11 @@
},
"personal-secret": {
"locked": {
- "lastModified": 1753116365,
- "narHash": "sha256-ilY/TB/McunFYw5P8MEICMopP/BnCoB8NrRc0Y0ReyE=",
+ "lastModified": 1758700023,
+ "narHash": "sha256-OGD4fk4s0WAgbuTTy1o0mQ7Q33QqQVBMEO//2E9gCPg=",
"ref": "refs/heads/master",
- "rev": "0266c14d8f1a57153be83ed12dae57861f222e28",
- "revCount": 136,
+ "rev": "be95927173de8d484e1c00fe02a9548fd7f34745",
+ "revCount": 137,
"type": "git",
"url": "ssh://git@cynerd.cz/nixos-personal-secret"
},
@@ -412,7 +459,26 @@
"pyshv": {
"inputs": {
"flakepy": "flakepy",
- "nixpkgs": "nixpkgs_7"
+ "nixpkgs": "nixpkgs_6"
+ },
+ "locked": {
+ "lastModified": 1758706031,
+ "narHash": "sha256-9ATM1fy3T38sjum7YhBaF4bnEEE3eACeoorU4RmUChA=",
+ "owner": "silicon-heaven",
+ "repo": "pyshv",
+ "rev": "643d5d2e966985d33820eb374841d5af1449b7ec",
+ "type": "github"
+ },
+ "original": {
+ "owner": "silicon-heaven",
+ "repo": "pyshv",
+ "type": "github"
+ }
+ },
+ "pyshv_2": {
+ "inputs": {
+ "flakepy": "flakepy_2",
+ "nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1753438446,
@@ -428,10 +494,10 @@
"type": "gitlab"
}
},
- "pyshv_2": {
+ "pyshv_3": {
"inputs": {
- "flakepy": "flakepy_3",
- "nixpkgs": "nixpkgs_11"
+ "flakepy": "flakepy_4",
+ "nixpkgs": "nixpkgs_13"
},
"locked": {
"lastModified": 1753438446,
@@ -455,10 +521,11 @@
"nixpkgs": "nixpkgs_3",
"nixturris": "nixturris",
"personal-secret": "personal-secret",
+ "pyshv": "pyshv",
"shellrc": "shellrc",
"shvcli": "shvcli",
"shvcli-ell": "shvcli-ell",
- "systems": "systems_7",
+ "systems": "systems_8",
"usbkey": "usbkey",
"vpsadminos": "vpsadminos"
}
@@ -466,7 +533,7 @@
"shellrc": {
"inputs": {
"flake-utils": "flake-utils",
- "nixpkgs": "nixpkgs_5"
+ "nixpkgs": "nixpkgs_7"
},
"locked": {
"lastModified": 1756365336,
@@ -484,7 +551,7 @@
},
"shvcli": {
"inputs": {
- "pyshv": "pyshv"
+ "pyshv": "pyshv_2"
},
"locked": {
"lastModified": 1756393169,
@@ -521,7 +588,7 @@
},
"shvcli_2": {
"inputs": {
- "pyshv": "pyshv_2"
+ "pyshv": "pyshv_3"
},
"locked": {
"lastModified": 1756393169,
@@ -646,6 +713,20 @@
"type": "github"
},
"original": {
+ "id": "systems",
+ "type": "indirect"
+ }
+ },
+ "systems_9": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
@@ -654,7 +735,7 @@
"usbkey": {
"inputs": {
"flake-utils": "flake-utils_2",
- "nixpkgs": "nixpkgs_12"
+ "nixpkgs": "nixpkgs_14"
},
"locked": {
"lastModified": 1744029480,
@@ -672,11 +753,11 @@
},
"vpsadminos": {
"locked": {
- "lastModified": 1755964485,
- "narHash": "sha256-+YzznL/mHiSjDFC8vJsSgQ+pvjhqWMsLRjegEKSNv/4=",
+ "lastModified": 1758982026,
+ "narHash": "sha256-ajgJNVCBdrIupEIENmpwQ4Wrem+vTGq0hNruG8OsdAo=",
"owner": "vpsfreecz",
"repo": "vpsadminos",
- "rev": "20f55b1d9bee4fdab62494d4471854d6586d3637",
+ "rev": "9e13be53e3dafd8dfa8ff251919b432bbd04608e",
"type": "github"
},
"original": {
diff --git a/flake.nix b/flake.nix
index 587af86..c63ceef 100644
--- a/flake.nix
+++ b/flake.nix
@@ -9,6 +9,7 @@
shellrc.url = "git+https://git.cynerd.cz/shellrc";
agenix.url = "github:ryantm/agenix";
+ pyshv.url = "github:silicon-heaven/pyshv";
shvcli.url = "github:silicon-heaven/shvcli";
shvcli-ell.url = "gitlab:elektroline-predator/shvcli-ell";
@@ -26,6 +27,7 @@
personal-secret,
shellrc,
agenix,
+ pyshv,
shvcli,
shvcli-ell,
usbkey,
@@ -55,7 +57,8 @@
nixosdeploy.overlays.default
self.overlays.pkgs
shellrc.overlays.default
- shvcli.overlays.default
+ pyshv.overlays.default
+ shvcli.overlays.packages
shvcli-ell.inputs.ellembimages.overlays.default
shvcli-ell.overlays.packages
usbkey.overlays.default
diff --git a/nixos/configurations/lipwig.nix b/nixos/configurations/lipwig.nix
index 2f5e242..a02f57c 100644
--- a/nixos/configurations/lipwig.nix
+++ b/nixos/configurations/lipwig.nix
@@ -251,7 +251,7 @@
twofactor_webauthn
;
# Additional modules can be fetched with:
- # NEXTCLOUD_VERSIONS=31 nix run nixpkgs#nc4nix -- -apps "passwords,money,integration_github,integration_gitlab"
+ # NEXTCLOUD_VERSIONS=31 nix run nixpkgs#nc4nix -- -apps "passwords,money,integration_github,integration_gitlab,fileslibreofficeedit"
fileslibreofficeedit = pkgs.fetchNextcloudApp {
url = "https://github.com/allotropia/nextcloud_files_libreoffice_edit/releases/download/v2.0.1/fileslibreofficeedit.tar.gz";
hash = "sha256-Xqx5snQWintYJG3Q1Crw22TkNw18DdADXkurMQqt3X8=";
@@ -273,8 +273,8 @@
license = "agpl3Plus";
};
passwords = pkgs.fetchNextcloudApp {
- url = "https://git.mdns.eu/api/v4/projects/45/packages/generic/passwords/2025.7.0/passwords.tar.gz";
- hash = "sha256-SVItAtFRO/CbZ203ZS86inCZ+ZpGy0NUS3y2Xj1b+LI=";
+ url = "https://git.mdns.eu/api/v4/projects/45/packages/generic/passwords/2025.9.0/passwords.tar.gz";
+ hash = "sha256-BMu7TPd6xwa/bSQOgN/wFPnK7AK0KgsUKqSqMatjqqw=";
license = "agpl3Plus";
};
};
diff --git a/pkgs/default.nix b/pkgs/default.nix
index 10bb325..f80464b 100644
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -40,14 +40,30 @@ final: prev: {
(final.buildUBoot {
defconfig = "mt7981_openwrt-one-spi-nand_defconfig";
extraMeta.platforms = ["aarch64-linux"];
- BL31 = "${final.armTrustedFirmwareMT7981}/bl31.elf";
- filesToInstall = ["u-boot.bin"];
+ filesToInstall = ["u-boot.fip" ".config"];
extraPatches = [./u-boot-add-openwrt-one.patch];
extraConfig = ''
- CONFIG_FS_BTRFS=y
- CONFIG_CMD_BTRFS=y
+ CONFIG_CMD_BOOTMENU=n
+ CONFIG_AUTOBOOT_MENU_SHOW=n
+ CONFIG_BOOTDELAY=3
+
+ CONFIG_PCI=y
+ CONFIG_PCIE_MEDIATEK_GEN3=y
+ CONFIG_PCI_DEBUG=y
+ CONFIG_DM_DEBUG=y
+ CONFIG_NVME=y
+ CONFIG_NVME_PCI=y
+ CONFIG_CMD_NVME=y
+ #CONFIG_FS_BTRFS=y
+ #CONFIG_CMD_BTRFS=y
CONFIG_BOARD_LATE_INIT=n
'';
+ postBuild = ''
+ ${final.buildPackages.armTrustedFirmwareTools}/bin/fiptool create \
+ --soc-fw '${final.armTrustedFirmwareMT7981}/bl31.bin' \
+ --nt-fw ./u-boot.bin \
+ u-boot.fip
+ '';
}).overrideAttrs (oldAttrs: {
nativeBuildInputs = [final.buildPackages.unixtools.xxd] ++ oldAttrs.nativeBuildInputs;
});
@@ -78,15 +94,13 @@ final: prev: {
if prev.hostPlatform.is32bit
then
# Downgrade to get 32bit support working
- prev.gvproxy.overrideAttrs {
+ prev.gvproxy.overrideAttrs (oldAttrs: {
version = "0.8.6";
- src = prev.buildPackages.fetchFromGitHub {
- owner = "containers";
- repo = "gvisor-tap-vsock";
+ src = oldAttrs.src.override {
rev = "v0.8.6";
hash = "sha256-a/Gd1QUxZ+47sQtndbehx86UjC1DezhqwS5d5VTIjRc=";
};
- }
+ })
else prev.gvproxy;
# Older version of packages
diff --git a/pkgs/u-boot-add-openwrt-one.patch b/pkgs/u-boot-add-openwrt-one.patch
index 722f1ee..a154b6c 100644
--- a/pkgs/u-boot-add-openwrt-one.patch
+++ b/pkgs/u-boot-add-openwrt-one.patch
@@ -1,6 +1,9 @@
+diff --git a/arch/arm/dts/openwrt-one.dts b/arch/arm/dts/openwrt-one.dts
+new file mode 100644
+index 00000000000..5828310fb2d
--- /dev/null
+++ b/arch/arm/dts/openwrt-one.dts
-@@ -0,0 +1,203 @@
+@@ -0,0 +1,207 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2024 John Crispin <john@phrozen.org>
@@ -66,6 +69,10 @@
+ status = "okay";
+};
+
++&pcie {
++ status = "okay";
++};
++
+&eth {
+ status = "okay";
+ mediatek,gmac-id = <1>;
@@ -204,6 +211,9 @@
+&watchdog {
+ status = "disabled";
+};
+diff --git a/configs/mt7981_openwrt-one-nor_defconfig b/configs/mt7981_openwrt-one-nor_defconfig
+new file mode 100644
+index 00000000000..c83d6f2a516
--- /dev/null
+++ b/configs/mt7981_openwrt-one-nor_defconfig
@@ -0,0 +1,125 @@
@@ -332,6 +342,9 @@
+CONFIG_USB_STORAGE=y
+CONFIG_UBIFS_SILENCE_MSG=y
+CONFIG_HEXDUMP=y
+diff --git a/configs/mt7981_openwrt-one-spi-nand_defconfig b/configs/mt7981_openwrt-one-spi-nand_defconfig
+new file mode 100644
+index 00000000000..ccca0a0c9dc
--- /dev/null
+++ b/configs/mt7981_openwrt-one-spi-nand_defconfig
@@ -0,0 +1,126 @@
@@ -461,6 +474,9 @@
+CONFIG_USB_XHCI_MTK=y
+CONFIG_USB_STORAGE=y
+CONFIG_HEXDUMP=y
+diff --git a/defenvs/openwrt-one-nor_env b/defenvs/openwrt-one-nor_env
+new file mode 100644
+index 00000000000..f3ffa599f5d
--- /dev/null
+++ b/defenvs/openwrt-one-nor_env
@@ -0,0 +1,48 @@
@@ -512,6 +528,9 @@
+_init_env=setenv _init_env ; echo Initialize Env ; run ubi_create_env ; saveenv
+_switch_to_menu=setenv _switch_to_menu ; setenv bootdelay 3 ; setenv bootmenu_delay 3 ; setenv bootmenu_0 $bootmenu_0d ; setenv bootmenu_0d ; run _bootmenu_update_title
+_bootmenu_update_title=setenv _bootmenu_update_title ; setenv bootmenu_title "$bootmenu_title $ver"
+diff --git a/defenvs/openwrt-one-spi-nand_env b/defenvs/openwrt-one-spi-nand_env
+new file mode 100644
+index 00000000000..8d59dd3dd6d
--- /dev/null
+++ b/defenvs/openwrt-one-spi-nand_env
@@ -0,0 +1,62 @@