Compare commits

...

2 Commits

Author SHA1 Message Date
Antoine Fauroux 1355df8ae5 kcnhub: packages: python: nestml 2026-06-09 16:21:23 -04:00
Antoine Fauroux ead922e434 kcnhub: package: add qemu/virtualization package 2025-11-28 09:33:18 -05:00
7 changed files with 138 additions and 3 deletions

View File

@ -43,6 +43,7 @@
};
};
python-overlay = import ./overlays/python.nix attrs;
package-overlays = import ./overlays/packages.nix attrs;
applyOverlays = overlays: ({...}:{ nixpkgs.overlays = overlays; });
flakes = {...}: {nix.settings.experimental-features = [ "nix-command" "flakes" ];};
in {
@ -51,7 +52,7 @@
specialArgs = attrs;
modules = [
flakes
(applyOverlays [ unfree-overlay unstable-overlay python-overlay ])
(applyOverlays [ unfree-overlay unstable-overlay python-overlay package-overlays ])
vscode-server.nixosModules.default
./machines/kcnhub/configuration.nix
sops-nix.nixosModules.sops
@ -59,7 +60,7 @@
};
overlays = {
default = applyOverlays [ unfree-overlay unstable-overlay python-overlay ];
default = applyOverlays [ unfree-overlay unstable-overlay python-overlay package-overlays ];
unstable = unstable-overlay;
};
};

View File

@ -18,12 +18,14 @@
./users.nix
# Disable sleep (so SSH remains accessible)
./nosleep.nix
# <nix-ld/modules/nix-ld.nix>
];
sops.age.keyFile = "/root/.config/sops/age/keys.txt";
sops.defaultSopsFile = ./secrets/system.yaml;
networking.networkmanager.enable = true;
# networking.networkmanager.enable = true;
# Support NTFS(3g)
boot.supportedFilesystems = ["ntfs"];
@ -44,6 +46,32 @@
# Enable the X11 forwarding over ssh
programs.ssh.forwardX11 = true;
programs.ssh.setXAuthLocation = true;
environment.etc."vnc/xstartup-minimal".mode = "0755";
environment.etc."vnc/xstartup-plasma".mode = "0755";
environment.etc."vnc/xstartup-xfce".mode = "0755";
# trying to install matlab runtime
#systemd.services.vnc-scripts.enable = false;
#programs.nix-ld.enable = true;
#programs.nix-ld.package = pkgs.nix-ld;
#programs.nix-ld.dev.enable = true;
programs.nix-ld = {
enable = true;
package = pkgs.nix-ld;
libraries = with pkgs; [
glibc
gcc.cc.lib
zlib
pam
libuuid
libxcrypt
openssl
xorg.libX11
xorg.libXext
xorg.libXrender
xorg.libXtst
];
};
# Enable KDE Plasma
services.xserver.displayManager.sddm.enable = true;

View File

@ -8,5 +8,6 @@
./packages/containers.nix
./packages/deeplabcut.nix
./packages/vnc.nix
./packages/virtualization.nix
];
}

View File

@ -9,6 +9,9 @@
};
config = {
environment.systemPackages = with pkgs; [
# For nestml
cmake
gnumake
((pkgs.python3.withPackages config.pythonPackages).override (args: { ignoreCollisions = true; }))
];
pythonPackages = (p: with p; [
@ -40,6 +43,7 @@
(nest.override {
withMpi = false;
})
nestml
brian2
# SpiNNaker simulator
spynnaker

View File

@ -0,0 +1,5 @@
{ config, pkgs, lib, ... }: {
environment.systemPackages = with pkgs; [
qemu
];
}

12
overlays/packages.nix Normal file
View File

@ -0,0 +1,12 @@
inputs: final: prev: {
nest = prev.nest.overrideAttrs (old: {
postPatch = old.postPatch + ''
sed -e 's#-L$prefix/#-L#g' -i bin/nest-config.in
'';
});
nest-mpi = prev.nest-mpi.overrideAttrs (old: {
postPatch = old.postPatch + ''
sed -e 's#-L$prefix/#-L#g' -i bin/nest-config.in
'';
});
}

View File

@ -1,4 +1,88 @@
final: final-py: prev-py: {
nestml = let
pname = "nestml";
# Newer versions require newer antlr4
version = "7.0.2";
in final-py.buildPythonPackage {
inherit pname version;
src = final.fetchFromGitHub {
owner = "nest";
repo = pname;
rev = "v${version}";
hash = "sha256-BQzwIh2Gdq+rLwIwe7dyltDfEzpaIWGlXF0AfZGBUDw=";
};
doCheck = false;
dontUseCmakeConfigure = true;
propagatedBuildInputs = with final-py; [
numpy
scipy
sympy
antlr4-python3-runtime
#setuptools
jinja2
astropy
semver
odetoolbox
];
};
odetoolbox = let
pname = "ode-toolbox";
version = "2.5.8";
in final-py.buildPythonPackage {
inherit pname version;
src = final.fetchFromGitHub {
owner = "nest";
repo = pname;
rev = "v${version}";
hash = "sha256-do/R9tNXVdeoqQO5ofetP7jdq9VUq4UotO6LH3LL6jI=";
};
buildInputs = with final-py; [
pytest
pytest-runner
];
doCheck = false;
propagatedBuildInputs = with final-py; [
matplotlib
graphviz
sympy
scipy
numpy
cython
];
};
pytest-runner = let
pname = "pytest-runner";
version = "6.0.0";
in final-py.buildPythonPackage {
inherit pname version;
pyproject = true;
src = final.fetchFromGitHub {
owner = "pytest-dev";
repo = pname;
rev = "v${version}";
leaveDotGit = true;
hash = "sha256-cfUqEu3vN2i8jKZcTxId8Q/T/ld25qBeXY63g0eJnPs=";
};
nativeBuildInputs = [
final.git
];
propagatedBuildInputs = with final-py; [
setuptools-scm
];
};
mne-python = prev-py.mne-python.overridePythonAttrs (old: {
pyproject = true;
format = null;