From ac69cd54d30f85a6e568880d30138aea65dc670c Mon Sep 17 00:00:00 2001 From: Gregory Bednov Date: Wed, 2 Sep 2026 20:20:21 +0300 Subject: [PATCH 1/3] enhanced stm32 support --- configuration.nix | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/configuration.nix b/configuration.nix index 3b55094..ed75da7 100644 --- a/configuration.nix +++ b/configuration.nix @@ -31,6 +31,15 @@ in hash = "sha256-1zxrT7phXeQYNbWHWMyPuHiUglrPSMPP0bfAcfvt8dM="; }; }); + stm32cubemx = prev.stm32cubemx.override { + fetchzip = args: prev.fetchzip (args // { + url = "http://${serverIP}/stm32cube_mx_v6111-lin.zip"; + hash = "sha256-By9T43GLM1J63TkRi3kl05h1RflBorU1QHgYOrXQ9N0="; + }); + buildFHSEnv = args: prev.buildFHSEnv ( args // { + unshareNet = true; + }); + }; }) ]; users.users.student = { @@ -115,7 +124,8 @@ in inputs.kompas3d.packages.${pkgs.system}.default # KOMPAS-3D freecad elmerfem gmsh # FEM calculation - inputs.stm32cubemx.packages.x86_64-linux.stm32cubemx + #inputs.stm32cubemx.packages.x86_64-linux.stm32cubemx + stm32cubemx pandoc onlyoffice-desktopeditors # к сожалению, пока у OnlyOffice баг со шрифтами. Ждём фикс @@ -190,6 +200,7 @@ in # актуально для разработчиков ПО (встраивание диаграмм в код) # поддерживается нашей поставкой IJ IDEA CE plantuml + graphviz archi # поддержка archimate @@ -200,6 +211,7 @@ in stlink stlink-gui stm32loader + openocd ##### СЕТЕВЫЕ УТИЛИТЫ ###### # установлен Cisco Packet Tracer, обернут в firejail чтобы не стучался на Netacad.com @@ -510,7 +522,6 @@ in with vscode-extensions; [ ms-vscode.cpptools-extension-pack - zainchen.json ms-dotnettools.csharp formulahendry.code-runner tomoki1207.pdf @@ -529,12 +540,6 @@ in timonwong.shellcheck ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ - { - name = "better-cpp-syntax"; - publisher = "jeff-hykin"; - version = "1.27.1"; - sha256 = "sha256-GO/ooq50KLFsiEuimqTbD/mauQYcD/p2keHYo/6L9gw="; - } { name = "vscode-cppcheck"; publisher = "brobeson"; @@ -835,6 +840,8 @@ in open = false; nvidiaSettings = false; }; + + services.udev.packages = [ pkgs.stlink pkgs.openocd ]; services.udev.extraRules = if isAdata then '' ACTION=="add|change",KERNEL=="nvme[0-9]", ATTR{queue/scheduler}="none" '' else ""; From d4fb99ce55f1a7936148fecb107df7bcb4047a3a Mon Sep 17 00:00:00 2001 From: Gregory Bednov Date: Wed, 2 Sep 2026 20:25:57 +0300 Subject: [PATCH 2/3] disabled network-manager when the node is build-node (bc it is virtual and special sometimes) --- configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configuration.nix b/configuration.nix index ed75da7..9d84160 100644 --- a/configuration.nix +++ b/configuration.nix @@ -897,7 +897,7 @@ in }; # каждый компьютер имеет выход в интернет - networking.networkmanager.enable = true; + networking.networkmanager.enable = ! config.services.harmonia.enable; networking.hostName = "nixos"; networking.firewall.allowedTCPPorts = [ 22 ] ++ lib.optionals config.services.harmonia.enable [ 80 ]; From 0d727d7074a1f065ada7d26268953449b55fbe9c Mon Sep 17 00:00:00 2001 From: Gregory Bednov Date: Wed, 2 Sep 2026 21:25:47 +0300 Subject: [PATCH 3/3] making stm32cube repo installed by default --- configuration.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/configuration.nix b/configuration.nix index 9d84160..b0e8ab8 100644 --- a/configuration.nix +++ b/configuration.nix @@ -676,6 +676,25 @@ in PGUSER = "postgres"; }; }; + + + + systemd.user.services.stm32cubemx-repo = + let + stm32f1-v180 = builtins.fetchTarball { url = "http://${serverIP}/STM32Cube.tar.gz"; sha256 = "sha256:1zlcp82xq16anx02ghiv9xa5bi2fsz78h945miqmi26bwcjxdagn"; }; + + in { + description = "STM32CubeMX firmware repository setup"; + wantedBy = [ "default.target" ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = pkgs.writeShellScript "stm32cubemx-repo-setup" '' + cp -r ${stm32f1-v180}/. "$HOME/STM32Cube" + chmod -R u+w "$HOME/STM32Cube" + ''; + }; + }; services.grdcontrol.enable = true; imports = [