Compare commits
No commits in common. "bda6871fc73ca79d89fd20ad3a6da2c784be9ba3" and "22a531adbc11c7a800cd1a941ff04bda96b9e9e0" have entirely different histories.
bda6871fc7
...
22a531adbc
|
@ -35,7 +35,6 @@
|
||||||
config.cudaSupport = true;
|
config.cudaSupport = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
python-overlay = import ./overlays/python.nix;
|
|
||||||
applyOverlays = overlays: ({...}:{ nixpkgs.overlays = overlays; });
|
applyOverlays = overlays: ({...}:{ nixpkgs.overlays = overlays; });
|
||||||
flakes = {...}: {nix.settings.experimental-features = [ "nix-command" "flakes" ];};
|
flakes = {...}: {nix.settings.experimental-features = [ "nix-command" "flakes" ];};
|
||||||
in {
|
in {
|
||||||
|
@ -44,7 +43,7 @@
|
||||||
specialArgs = attrs;
|
specialArgs = attrs;
|
||||||
modules = [
|
modules = [
|
||||||
flakes
|
flakes
|
||||||
(applyOverlays [ unfree-overlay unstable-overlay python-overlay ])
|
(applyOverlays [ unfree-overlay unstable-overlay ])
|
||||||
./machines/kcnhub/configuration.nix
|
./machines/kcnhub/configuration.nix
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
];
|
];
|
||||||
|
|
|
@ -2,14 +2,8 @@
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
podman = {
|
podman = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
dockerCompat = true;
|
||||||
};
|
};
|
||||||
docker.rootless = {
|
|
||||||
enable = true;
|
|
||||||
setSocketVariable = true;
|
|
||||||
};
|
|
||||||
# For compatability, and for some reason this isn't able to be per
|
|
||||||
# container?
|
|
||||||
oci-containers.backend = "docker";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
|
@ -59,9 +59,7 @@
|
||||||
# matlab's installers)
|
# matlab's installers)
|
||||||
matlab-env = pkgs.buildFHSUserEnv {
|
matlab-env = pkgs.buildFHSUserEnv {
|
||||||
name = "matlab-env";
|
name = "matlab-env";
|
||||||
targetPkgs = (ps: (nix-matlab.targetPkgs ps) ++ (with ps; [
|
targetPkgs = (ps: nix-matlab.targetPkgs ps);
|
||||||
linux-pam
|
|
||||||
]));
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Script used to get the most up to date version of the desired MATLAB
|
# Script used to get the most up to date version of the desired MATLAB
|
||||||
|
@ -128,7 +126,7 @@
|
||||||
'';
|
'';
|
||||||
runScript = pkgs.writeScript "matlab-run-${f}-script" ''
|
runScript = pkgs.writeScript "matlab-run-${f}-script" ''
|
||||||
export QT_QPA_PLATFORM=xcb
|
export QT_QPA_PLATFORM=xcb
|
||||||
"$MATLAB_INSTALL_DIR/bin/${f}" "$@"
|
${MATLAB_INSTALL_DIR}/bin/${f} "$@"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -146,7 +144,6 @@ in {
|
||||||
environment.systemPackages =(with pkgs; [
|
environment.systemPackages =(with pkgs; [
|
||||||
matlab-update-script
|
matlab-update-script
|
||||||
matlab
|
matlab
|
||||||
matlab-env
|
|
||||||
matlab-mex
|
matlab-mex
|
||||||
octaveFull
|
octaveFull
|
||||||
]);
|
]);
|
||||||
|
|
|
@ -1,62 +1,12 @@
|
||||||
{config, lib, pkgs, ...}: {
|
{config, lib, pkgs, ...}: {
|
||||||
options = {
|
|
||||||
pythonPackages = lib.mkOption {
|
|
||||||
type = lib.types.anything;
|
|
||||||
default = p: with p; [];
|
|
||||||
example = p: with p; [ numpy scipy ];
|
|
||||||
description = "List of Python Packages installed";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
config = {
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
((pkgs.python3.withPackages config.pythonPackages).override (args: { ignoreCollisions = true; }))
|
(pkgs.python3.withPackages (p: with p; [
|
||||||
];
|
|
||||||
pythonPackages = (p: with p; [
|
|
||||||
# Common Python Libraries
|
|
||||||
numpy
|
numpy
|
||||||
scipy
|
scipy
|
||||||
scikit-learn
|
|
||||||
pandas
|
pandas
|
||||||
openpyxl
|
|
||||||
matplotlib
|
matplotlib
|
||||||
ipympl
|
tqdm
|
||||||
matplotlib-inline
|
|
||||||
seaborn
|
seaborn
|
||||||
|
]))
|
||||||
# Neural Data Processing Libraries
|
];
|
||||||
# Temporarily broken?: https://github.com/NixOS/nixpkgs/issues/259812
|
|
||||||
mne-python
|
|
||||||
edfio
|
|
||||||
nibabel
|
|
||||||
# View niftis!
|
|
||||||
ipyniivue
|
|
||||||
neo
|
|
||||||
|
|
||||||
# Neurosimulators
|
|
||||||
neuronpy
|
|
||||||
# nest with MPI is incompatible with Jupyter:
|
|
||||||
# https://www.nest-simulator.org/pynest-api/_modules/nest.html
|
|
||||||
# see pynestkernel comments about their workaround
|
|
||||||
(nest.override {
|
|
||||||
withMpi = false;
|
|
||||||
})
|
|
||||||
brian2
|
|
||||||
|
|
||||||
# Machine learning toolkits:
|
|
||||||
tensorflow
|
|
||||||
tensorboard
|
|
||||||
keras
|
|
||||||
edward
|
|
||||||
transformers
|
|
||||||
tflearn
|
|
||||||
torch
|
|
||||||
torchvision
|
|
||||||
torchsde
|
|
||||||
torchmetrics
|
|
||||||
torchio
|
|
||||||
torchdiffeq
|
|
||||||
botorch
|
|
||||||
lion-pytorch
|
|
||||||
]);
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -133,7 +133,7 @@
|
||||||
# Configuration options defined ^
|
# Configuration options defined ^
|
||||||
# mem_limit must be higher to allow for MATLAB
|
# mem_limit must be higher to allow for MATLAB
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
c.SystemdSpawner.mem_limit = '32G'
|
c.SystemdSpawner.mem_limit = '8G'
|
||||||
c.SystemdSpawner.cpu_limit = 2.0
|
c.SystemdSpawner.cpu_limit = 2.0
|
||||||
c.SystemdSpawner.isolate_devices = False
|
c.SystemdSpawner.isolate_devices = False
|
||||||
c.SystemdSpawner.extra_paths = [
|
c.SystemdSpawner.extra_paths = [
|
||||||
|
@ -164,7 +164,7 @@
|
||||||
jupyterhub
|
jupyterhub
|
||||||
jupyterlab
|
jupyterlab
|
||||||
# Extensions:
|
# Extensions:
|
||||||
# jupyter-collaboration
|
jupyter-collaboration
|
||||||
jupyter-server-mathjax
|
jupyter-server-mathjax
|
||||||
jupyter-console
|
jupyter-console
|
||||||
jupyterlab-lsp
|
jupyterlab-lsp
|
||||||
|
@ -175,8 +175,7 @@
|
||||||
|
|
||||||
kernels = {
|
kernels = {
|
||||||
python3 = let
|
python3 = let
|
||||||
env = (pkgs.python3.withPackages (pythonPackages: with pythonPackages;
|
env = (pkgs.python3.withPackages (pythonPackages: with pythonPackages; [
|
||||||
(config.pythonPackages pythonPackages) ++ [
|
|
||||||
# Necessary for use as a kernel
|
# Necessary for use as a kernel
|
||||||
ipykernel
|
ipykernel
|
||||||
ipdb
|
ipdb
|
||||||
|
@ -186,8 +185,52 @@
|
||||||
mediapy
|
mediapy
|
||||||
# Progress bars etc. for in Jupyter/IPython
|
# Progress bars etc. for in Jupyter/IPython
|
||||||
halo
|
halo
|
||||||
|
|
||||||
|
# Common Python Libraries
|
||||||
|
numpy
|
||||||
|
scipy
|
||||||
|
scikit-learn
|
||||||
|
pandas
|
||||||
# Tables displayed in Jupyter: like Pandas Dataframes
|
# Tables displayed in Jupyter: like Pandas Dataframes
|
||||||
ipytablewidgets
|
ipytablewidgets
|
||||||
|
matplotlib
|
||||||
|
ipympl
|
||||||
|
matplotlib-inline
|
||||||
|
seaborn
|
||||||
|
|
||||||
|
# Neural Data Processing Libraries
|
||||||
|
# Temporarily broken?: https://github.com/NixOS/nixpkgs/issues/259812
|
||||||
|
# mne-python
|
||||||
|
nibabel
|
||||||
|
# View niftis!
|
||||||
|
ipyniivue
|
||||||
|
neo
|
||||||
|
|
||||||
|
# Neurosimulators
|
||||||
|
neuronpy
|
||||||
|
# nest with MPI is incompatible with Jupyter:
|
||||||
|
# https://www.nest-simulator.org/pynest-api/_modules/nest.html
|
||||||
|
# see pynestkernel comments about their workaround
|
||||||
|
(nest.override {
|
||||||
|
withMpi = false;
|
||||||
|
})
|
||||||
|
brian2
|
||||||
|
|
||||||
|
# Machine learning toolkits:
|
||||||
|
tensorflow
|
||||||
|
tensorboard
|
||||||
|
keras
|
||||||
|
edward
|
||||||
|
transformers
|
||||||
|
tflearn
|
||||||
|
torch
|
||||||
|
torchvision
|
||||||
|
torchsde
|
||||||
|
torchmetrics
|
||||||
|
torchio
|
||||||
|
torchdiffeq
|
||||||
|
botorch
|
||||||
|
lion-pytorch
|
||||||
])).override (args: { ignoreCollisions = true; });
|
])).override (args: { ignoreCollisions = true; });
|
||||||
# Odd collision between tensorboard of torch & tensorflow
|
# Odd collision between tensorboard of torch & tensorflow
|
||||||
# need to resolve later
|
# need to resolve later
|
||||||
|
|
|
@ -9,7 +9,6 @@ in {
|
||||||
# "Normal" User: for Podman Usage
|
# "Normal" User: for Podman Usage
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
home = stateDir;
|
home = stateDir;
|
||||||
linger = true;
|
|
||||||
};
|
};
|
||||||
groups.overleaf = {};
|
groups.overleaf = {};
|
||||||
};
|
};
|
||||||
|
|
|
@ -11,12 +11,6 @@
|
||||||
./users/ngilab.nix
|
./users/ngilab.nix
|
||||||
./users/milad.nix
|
./users/milad.nix
|
||||||
./users/nooshin.nix
|
./users/nooshin.nix
|
||||||
./users/zoe.nix
|
|
||||||
./users/yupeng.nix
|
|
||||||
./users/reza.nix
|
|
||||||
./users/michael.nix
|
|
||||||
./users/ryan.nix
|
|
||||||
./users/josh.nix
|
|
||||||
|
|
||||||
# Groups
|
# Groups
|
||||||
./users/groups/admin.nix
|
./users/groups/admin.nix
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
members = [
|
members = [
|
||||||
"spandan"
|
"spandan"
|
||||||
"frances"
|
"frances"
|
||||||
"nooshin"
|
|
||||||
"josh"
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
{ pkgs, ... }: {
|
|
||||||
users.users.josh = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [ ];
|
|
||||||
homeSize = "50g";
|
|
||||||
homeProjectId = 117;
|
|
||||||
packages = with pkgs; [
|
|
||||||
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{ pkgs, ... }: {
|
|
||||||
users.users.michael = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [ ];
|
|
||||||
homeSize = "50g";
|
|
||||||
homeProjectId = 114;
|
|
||||||
initialHashedPassword = "$y$j9T$i8NenYjqKmfJvKvmx2UmY0$5lqRmnrq2PDjELQj4F7xr/MS2Dd0iEOXDWp9kJwXYZ7";
|
|
||||||
packages = with pkgs; [
|
|
||||||
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{ pkgs, ... }: {
|
|
||||||
users.users.reza = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [ ];
|
|
||||||
homeSize = "50g";
|
|
||||||
homeProjectId = 115;
|
|
||||||
initialHashedPassword = "$y$j9T$i8NenYjqKmfJvKvmx2UmY0$5lqRmnrq2PDjELQj4F7xr/MS2Dd0iEOXDWp9kJwXYZ7";
|
|
||||||
packages = with pkgs; [
|
|
||||||
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{ pkgs, ... }: {
|
|
||||||
users.users.ryan = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [ ];
|
|
||||||
homeSize = "50g";
|
|
||||||
homeProjectId = 116;
|
|
||||||
initialHashedPassword = "$y$j9T$i8NenYjqKmfJvKvmx2UmY0$5lqRmnrq2PDjELQj4F7xr/MS2Dd0iEOXDWp9kJwXYZ7";
|
|
||||||
packages = with pkgs; [
|
|
||||||
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{ pkgs, ... }: {
|
|
||||||
users.users.yupeng = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [ ];
|
|
||||||
homeSize = "50g";
|
|
||||||
homeProjectId = 113;
|
|
||||||
initialHashedPassword = "$y$j9T$i8NenYjqKmfJvKvmx2UmY0$5lqRmnrq2PDjELQj4F7xr/MS2Dd0iEOXDWp9kJwXYZ7";
|
|
||||||
packages = with pkgs; [
|
|
||||||
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{ pkgs, ... }: {
|
|
||||||
users.users.zoe = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [ ];
|
|
||||||
homeSize = "50g";
|
|
||||||
homeProjectId = 112;
|
|
||||||
initialHashedPassword = "$y$j9T$i8NenYjqKmfJvKvmx2UmY0$5lqRmnrq2PDjELQj4F7xr/MS2Dd0iEOXDWp9kJwXYZ7";
|
|
||||||
packages = with pkgs; [
|
|
||||||
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,33 +0,0 @@
|
||||||
final: final-py: prev-py: {
|
|
||||||
mne-python = prev-py.mne-python.overridePythonAttrs (old: {
|
|
||||||
pyproject = true;
|
|
||||||
format = null;
|
|
||||||
propagatedBuildInputs = old.propagatedBuildInputs ++ [
|
|
||||||
final-py.setuptools-scm
|
|
||||||
];
|
|
||||||
});
|
|
||||||
|
|
||||||
edfio = let
|
|
||||||
version = "0.4.1";
|
|
||||||
pname = "edfio";
|
|
||||||
in final-py.buildPythonPackage {
|
|
||||||
inherit pname version;
|
|
||||||
format = "pyproject";
|
|
||||||
|
|
||||||
src = final.fetchFromGitHub {
|
|
||||||
owner = "the-siesta-group";
|
|
||||||
repo = pname;
|
|
||||||
rev = "v${version}";
|
|
||||||
hash = "sha256-+yb3Q/JximkVS6SOTFnjMYghbOi+UBbqW2Bs29eSonA=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = with final-py; [
|
|
||||||
poetry-core
|
|
||||||
poetry-dynamic-versioning
|
|
||||||
];
|
|
||||||
|
|
||||||
propagatedBuildInputs = with final-py; [
|
|
||||||
numpy
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
final: prev: {
|
|
||||||
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [(
|
|
||||||
(import ./python-packages.nix final)
|
|
||||||
)];
|
|
||||||
}
|
|
Loading…
Reference in New Issue