Compare commits
3 Commits
project-ma
...
fox-regres
| Author | SHA1 | Date | |
|---|---|---|---|
| b9f2e936de | |||
| 52caa714d4 | |||
| 9e8c610d8c |
@@ -4,13 +4,6 @@
|
|||||||
# Use the GRUB 2 boot loader.
|
# Use the GRUB 2 boot loader.
|
||||||
boot.loader.grub.enable = true;
|
boot.loader.grub.enable = true;
|
||||||
|
|
||||||
# Enable GRUB2 serial console
|
|
||||||
boot.loader.grub.extraConfig = ''
|
|
||||||
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
|
|
||||||
terminal_input --append serial
|
|
||||||
terminal_output --append serial
|
|
||||||
'';
|
|
||||||
|
|
||||||
boot.kernel.sysctl = {
|
boot.kernel.sysctl = {
|
||||||
"kernel.perf_event_paranoid" = lib.mkDefault "-1";
|
"kernel.perf_event_paranoid" = lib.mkDefault "-1";
|
||||||
|
|
||||||
|
|||||||
@@ -2,36 +2,11 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
cmake
|
vim wget git htop tmux pciutils tcpdump ripgrep nix-index nixos-option
|
||||||
ethtool
|
nix-diff ipmitool freeipmi ethtool lm_sensors cmake gnumake file tree
|
||||||
file
|
ncdu perf ldns pv
|
||||||
freeipmi
|
|
||||||
git
|
|
||||||
gnumake
|
|
||||||
home-manager
|
|
||||||
htop
|
|
||||||
ipmitool
|
|
||||||
ldns
|
|
||||||
lm_sensors
|
|
||||||
ncdu
|
|
||||||
nix-diff
|
|
||||||
nix-index
|
|
||||||
nix-output-monitor
|
|
||||||
nixfmt-tree
|
|
||||||
nixos-option
|
|
||||||
pciutils
|
|
||||||
perf
|
|
||||||
pv
|
|
||||||
ripgrep
|
|
||||||
tcpdump
|
|
||||||
tmux
|
|
||||||
tree
|
|
||||||
vim
|
|
||||||
wget
|
|
||||||
|
|
||||||
# From jungle overlay
|
# From jungle overlay
|
||||||
nixgen
|
osumb nixgen
|
||||||
osumb
|
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.direnv.enable = true;
|
programs.direnv.enable = true;
|
||||||
|
|||||||
@@ -194,19 +194,6 @@
|
|||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOlRX7ZCnqtUJYCxKgWmgSrFCYuA2LHY96rVwqxXPl86 aaguirre@BSC-8488184117"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOlRX7ZCnqtUJYCxKgWmgSrFCYuA2LHY96rVwqxXPl86 aaguirre@BSC-8488184117"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
emonteir = {
|
|
||||||
uid = 9656;
|
|
||||||
isNormalUser = true;
|
|
||||||
home = "/home/Computational/emonteir";
|
|
||||||
description = "Erwin Royson Monteiro";
|
|
||||||
group = "Computational";
|
|
||||||
hosts = [ "apex" "fox" ];
|
|
||||||
hashedPassword = "$6$0mU88zd3ZuK5NiJQ$DFWL5RMLH6esQM5UyhBCiiNryw4lDDmvJp7Usz3tmevnsiSJr6u0RsUKAnR/K8GRBFrV1.GocrgNjKjik5GY//";
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOKZKot/Y3F5Wq9pQIXlCbyvQuVVeWMCsAC96Nd+LTcG erwin@Oreo"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
groups = {
|
groups = {
|
||||||
|
|||||||
@@ -11,4 +11,11 @@
|
|||||||
"console=tty1"
|
"console=tty1"
|
||||||
"console=ttyS0,115200"
|
"console=ttyS0,115200"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Enable GRUB2 serial console
|
||||||
|
boot.loader.grub.extraConfig = ''
|
||||||
|
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
|
||||||
|
terminal_input --append serial
|
||||||
|
terminal_output --append serial
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,13 +3,13 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../common/base.nix
|
../common/base.nix
|
||||||
../common/xeon/console.nix
|
|
||||||
../module/amd-uprof.nix
|
../module/amd-uprof.nix
|
||||||
../module/emulation.nix
|
../module/emulation.nix
|
||||||
../module/nvidia.nix
|
../module/nvidia.nix
|
||||||
../module/slurm-client.nix
|
../module/slurm-client.nix
|
||||||
../module/hut-substituter.nix
|
../module/hut-substituter.nix
|
||||||
./wireguard.nix
|
./wireguard.nix
|
||||||
|
./serial-console.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Don't turn off on August as UPC has different dates.
|
# Don't turn off on August as UPC has different dates.
|
||||||
@@ -19,6 +19,9 @@
|
|||||||
# Select the this using the ID to avoid mismatches
|
# Select the this using the ID to avoid mismatches
|
||||||
boot.loader.grub.device = "/dev/disk/by-id/wwn-0x500a07514b0c1103";
|
boot.loader.grub.device = "/dev/disk/by-id/wwn-0x500a07514b0c1103";
|
||||||
|
|
||||||
|
# Increase time so we can boot other entries
|
||||||
|
boot.loader.timeout = 60;
|
||||||
|
|
||||||
# No swap, there is plenty of RAM
|
# No swap, there is plenty of RAM
|
||||||
swapDevices = lib.mkForce [];
|
swapDevices = lib.mkForce [];
|
||||||
|
|
||||||
@@ -31,7 +34,10 @@
|
|||||||
# Use performance for benchmarks
|
# Use performance for benchmarks
|
||||||
powerManagement.cpuFreqGovernor = "performance";
|
powerManagement.cpuFreqGovernor = "performance";
|
||||||
|
|
||||||
services.amd-uprof.enable = true;
|
# Enable amd-uprof in >= 6.15 kernels only
|
||||||
|
services.amd-uprof.enable =
|
||||||
|
let ver = config.boot.kernelPackages.kernel.version;
|
||||||
|
in (lib.strings.compareVersions ver "6.15") >= 0;
|
||||||
|
|
||||||
# Disable NUMA balancing
|
# Disable NUMA balancing
|
||||||
boot.kernel.sysctl."kernel.numa_balancing" = 0;
|
boot.kernel.sysctl."kernel.numa_balancing" = 0;
|
||||||
@@ -42,6 +48,11 @@
|
|||||||
# Disable NMI watchdog to save one hw counter (for AMD uProf)
|
# Disable NMI watchdog to save one hw counter (for AMD uProf)
|
||||||
boot.kernel.sysctl."kernel.nmi_watchdog" = 0;
|
boot.kernel.sysctl."kernel.nmi_watchdog" = 0;
|
||||||
|
|
||||||
|
specialisation.oldKernel.configuration = {
|
||||||
|
system.nixos.tags = [ "old-kernel" ];
|
||||||
|
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_6_12;
|
||||||
|
};
|
||||||
|
|
||||||
services.openssh.settings.X11Forwarding = true;
|
services.openssh.settings.X11Forwarding = true;
|
||||||
|
|
||||||
services.fail2ban.enable = true;
|
services.fail2ban.enable = true;
|
||||||
|
|||||||
21
m/fox/serial-console.nix
Normal file
21
m/fox/serial-console.nix
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
# Restart the serial console
|
||||||
|
systemd.services."serial-getty@ttyS1" = {
|
||||||
|
enable = true;
|
||||||
|
wantedBy = [ "getty.target" ];
|
||||||
|
serviceConfig.Restart = "always";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable serial console
|
||||||
|
boot.kernelParams = [
|
||||||
|
"console=tty1"
|
||||||
|
"console=ttyS1,115200"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enable GRUB2 serial console
|
||||||
|
boot.loader.grub.extraConfig = ''
|
||||||
|
serial --unit=1 --speed=115200 --word=8 --parity=no --stop=1
|
||||||
|
terminal_input --append serial
|
||||||
|
terminal_output --append serial
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -4,8 +4,8 @@ let
|
|||||||
name = "jungle-web";
|
name = "jungle-web";
|
||||||
src = pkgs.fetchgit {
|
src = pkgs.fetchgit {
|
||||||
url = "https://jungle.bsc.es/git/rarias/jungle-website.git";
|
url = "https://jungle.bsc.es/git/rarias/jungle-website.git";
|
||||||
rev = "5f18335d14126d2fef134c0cd441771436f7dfa1";
|
rev = "52abaf4d71652a9ef77a0b098db14ca33bffff4c";
|
||||||
hash = "sha256-s9VBF91sQ7hg9+lrwNFPYgoXTTyXaQcAulCiGJgWERo=";
|
hash = "sha256-/ul9GazbOrOkmlvSgDz/+2W+V+ir5725Y7mVLc3rb0M=";
|
||||||
};
|
};
|
||||||
buildInputs = [ pkgs.hugo ];
|
buildInputs = [ pkgs.hugo ];
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
{ lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Allow user access to FTDI USB device
|
|
||||||
services.udev.packages = lib.singleton (pkgs.writeTextFile {
|
|
||||||
# Needs to be < 73
|
|
||||||
name = "60-ftdi-tc1.rules";
|
|
||||||
text = ''
|
|
||||||
# Bus 003 Device 003: ID 0403:6011 Future Technology Devices International, Ltd FT4232H Quad HS USB-UART/FIFO IC
|
|
||||||
# Use := to make sure it doesn't get changed later
|
|
||||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", MODE:="0666"
|
|
||||||
'';
|
|
||||||
destination = "/etc/udev/rules.d/60-ftdi-tc1.rules";
|
|
||||||
});
|
|
||||||
|
|
||||||
# Allow access to USB for docker in GitLab runner
|
|
||||||
services.gitlab-runner = {
|
|
||||||
services.gitlab-bsc-docker = {
|
|
||||||
registrationFlags = [
|
|
||||||
# We need raw access to the USB port to reboot the board
|
|
||||||
"--docker-devices /dev/bus/usb/003/003"
|
|
||||||
# And TTY access for the serial port
|
|
||||||
"--docker-devices /dev/ttyUSB2"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -4,6 +4,7 @@
|
|||||||
imports = [
|
imports = [
|
||||||
../common/base.nix
|
../common/base.nix
|
||||||
../common/ssf/hosts.nix
|
../common/ssf/hosts.nix
|
||||||
|
../common/xeon/console.nix
|
||||||
../module/emulation.nix
|
../module/emulation.nix
|
||||||
../module/debuginfod.nix
|
../module/debuginfod.nix
|
||||||
../module/nvidia.nix
|
../module/nvidia.nix
|
||||||
|
|||||||
@@ -11,15 +11,11 @@
|
|||||||
./nix-serve.nix
|
./nix-serve.nix
|
||||||
./gitlab-runner.nix
|
./gitlab-runner.nix
|
||||||
./gitea.nix
|
./gitea.nix
|
||||||
./openproject.nix
|
|
||||||
./redmine.nix
|
|
||||||
./vikunja.nix
|
|
||||||
../hut/public-inbox.nix
|
../hut/public-inbox.nix
|
||||||
../hut/msmtp.nix
|
../hut/msmtp.nix
|
||||||
../module/p.nix
|
../module/p.nix
|
||||||
../module/vpn-dac.nix
|
../module/vpn-dac.nix
|
||||||
../module/hut-substituter.nix
|
../module/hut-substituter.nix
|
||||||
../module/tc1-board.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Select the this using the ID to avoid mismatches
|
# Select the this using the ID to avoid mismatches
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ let
|
|||||||
name = "jungle-web";
|
name = "jungle-web";
|
||||||
src = pkgs.fetchgit {
|
src = pkgs.fetchgit {
|
||||||
url = "https://jungle.bsc.es/git/rarias/jungle-website.git";
|
url = "https://jungle.bsc.es/git/rarias/jungle-website.git";
|
||||||
rev = "5f18335d14126d2fef134c0cd441771436f7dfa1";
|
rev = "52abaf4d71652a9ef77a0b098db14ca33bffff4c";
|
||||||
hash = "sha256-s9VBF91sQ7hg9+lrwNFPYgoXTTyXaQcAulCiGJgWERo=";
|
hash = "sha256-/ul9GazbOrOkmlvSgDz/+2W+V+ir5725Y7mVLc3rb0M=";
|
||||||
};
|
};
|
||||||
buildInputs = [ pkgs.hugo ];
|
buildInputs = [ pkgs.hugo ];
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
@@ -52,16 +52,6 @@ in
|
|||||||
proxy_pass http://127.0.0.1:8081;
|
proxy_pass http://127.0.0.1:8081;
|
||||||
proxy_redirect http:// $scheme://;
|
proxy_redirect http:// $scheme://;
|
||||||
}
|
}
|
||||||
location /op {
|
|
||||||
proxy_pass http://127.0.0.1:8080;
|
|
||||||
proxy_pass_header Server;
|
|
||||||
proxy_redirect off;
|
|
||||||
proxy_set_header X-Forwarded-Proto https;
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Scheme $scheme;
|
|
||||||
proxy_pass_request_headers on;
|
|
||||||
}
|
|
||||||
location /grafana {
|
location /grafana {
|
||||||
proxy_pass http://127.0.0.1:2342;
|
proxy_pass http://127.0.0.1:2342;
|
||||||
proxy_redirect http:// $scheme://;
|
proxy_redirect http:// $scheme://;
|
||||||
|
|||||||
@@ -1,51 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
dataDir = "/var/lib/openproject/assets";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
# TODO: Create a new user and group to run openproject
|
|
||||||
|
|
||||||
# Ensure directory exists
|
|
||||||
systemd.tmpfiles.rules = [
|
|
||||||
"d ${dataDir} 777 root root"
|
|
||||||
];
|
|
||||||
|
|
||||||
systemd.services.openproject = let
|
|
||||||
openprojectSrc = pkgs.fetchFromGitHub {
|
|
||||||
owner = "opf";
|
|
||||||
repo = "openproject-docker-compose";
|
|
||||||
rev = "b66694f26020a205fbefd697530fee287d1ddea2"; # branch stable/17
|
|
||||||
sha256 = "sha256-m23vM0NyaTA54sjAHlFJ8mOhOjqp9CAciLx4UxzFfHI=";
|
|
||||||
};
|
|
||||||
envFile = pkgs.writeText ".env" ''
|
|
||||||
# https://www.openproject.org/docs/installation-and-operations/configuration/environment/
|
|
||||||
TAG=17-slim
|
|
||||||
OPENPROJECT_HTTPS=true
|
|
||||||
SECRET_KEY_BASE=OVERWRITE_ME
|
|
||||||
OPENPROJECT_HOST__NAME=jungle.bsc.es
|
|
||||||
PORT=127.0.0.1:8080
|
|
||||||
OPENPROJECT_RAILS__RELATIVE__URL__ROOT=/op
|
|
||||||
IMAP_ENABLED=false
|
|
||||||
DATABASE_URL=postgres://postgres:p4ssw0rd@db/openproject?pool=20&encoding=unicode&reconnect=true
|
|
||||||
RAILS_MIN_THREADS=4
|
|
||||||
RAILS_MAX_THREADS=16
|
|
||||||
PGDATA="/var/lib/postgresql/data"
|
|
||||||
OPDATA="${dataDir}"
|
|
||||||
COLLABORATIVE_SERVER_URL=ws://localhost:8080/hocuspocus
|
|
||||||
COLLABORATIVE_SERVER_SECRET=secret12345
|
|
||||||
'';
|
|
||||||
in {
|
|
||||||
# Needs docker-compose package
|
|
||||||
path = with pkgs; [ docker-compose ];
|
|
||||||
script = ''
|
|
||||||
docker-compose \
|
|
||||||
-p openproject \
|
|
||||||
-f ${openprojectSrc}/docker-compose.yml \
|
|
||||||
--env-file ${envFile} \
|
|
||||||
up --build --pull always
|
|
||||||
'';
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
after = [ "docker.service" "docker.socket" ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
services.redmine = {
|
|
||||||
enable = true;
|
|
||||||
port = 3003;
|
|
||||||
database.type = "sqlite3";
|
|
||||||
# Redmine::Utils::relative_url_root = "/redmine"
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
services.vikunja.enable = true;
|
|
||||||
services.vikunja.frontendScheme = "http";
|
|
||||||
services.vikunja.frontendHostname = "localhost";
|
|
||||||
|
|
||||||
# To run vikunja from a subdirectory we need to *sigh* rebuild it with the
|
|
||||||
# variable "VIKUNJA_FRONTEND_BASE" set to the subpath.
|
|
||||||
# See https://vikunja.io/docs/running-vikunja-in-a-subdirectory/
|
|
||||||
# services.vikunja.package = pkgs.vikunja.overrideAttrs (old: {
|
|
||||||
# });
|
|
||||||
#services.nginx.virtualHosts."jungle.bsc.es".locations."/vikunja".extraConfig
|
|
||||||
}
|
|
||||||
@@ -9,13 +9,15 @@
|
|||||||
, nanos6
|
, nanos6
|
||||||
, nodes
|
, nodes
|
||||||
, nosv
|
, nosv
|
||||||
|
, mkl
|
||||||
, mpi
|
, mpi
|
||||||
, tampi
|
, tampi
|
||||||
, openblas
|
, openblas
|
||||||
, ovni
|
, ovni
|
||||||
, gitBranch ? "master"
|
, gitBranch ? "master"
|
||||||
, gitURL ? "ssh://git@bscpm04.bsc.es/rarias/bench6.git"
|
, gitURL ? "ssh://git@bscpm04.bsc.es/rarias/bench6.git"
|
||||||
, gitCommit ? "bf29a53113737c3aa74d2fe3d55f59868faea7b4"
|
, gitCommit ? "fe30c2cfe36b535ef26a0054e010bc005e88ba04"
|
||||||
|
, useMkl ? true
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@@ -42,10 +44,13 @@ stdenv.mkDerivation rec {
|
|||||||
nosv
|
nosv
|
||||||
mpi
|
mpi
|
||||||
tampi
|
tampi
|
||||||
|
ovni
|
||||||
|
] ++ (if (useMkl) then [
|
||||||
|
mkl
|
||||||
|
] else [
|
||||||
openblas
|
openblas
|
||||||
openblas.dev
|
openblas.dev
|
||||||
ovni
|
]);
|
||||||
];
|
|
||||||
|
|
||||||
env = {
|
env = {
|
||||||
NANOS6_HOME = nanos6;
|
NANOS6_HOME = nanos6;
|
||||||
|
|||||||
Reference in New Issue
Block a user