mirror of
https://git.pvv.ntnu.no/Drift/pvv-nixos-config.git
synced 2025-12-15 06:37:14 +01:00
Compare commits
3 Commits
f1f4da9ff6
...
grg-ip
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dc5fdb97c7 | ||
|
|
d3d705baeb | ||
|
|
6e78a28bec |
@@ -50,18 +50,6 @@
|
||||
kitty.terminfo
|
||||
];
|
||||
|
||||
# .bash_profile already works, but lets also use .bashrc like literally every other distro
|
||||
# https://man.archlinux.org/man/core/bash/bash.1.en#INVOCATION
|
||||
# home-manager usually handles this for you: https://github.com/nix-community/home-manager/blob/22a36aa709de7dd42b562a433b9cefecf104a6ee/modules/programs/bash.nix#L203-L209
|
||||
# btw, programs.bash.shellInit just goes into environment.shellInit which in turn goes into /etc/profile, spooky shit
|
||||
programs.bash.shellInit = ''
|
||||
if [ -n "''${BASH_VERSION:-}" ]; then
|
||||
if [[ ! -f ~/.bash_profile && ! -f ~/.bash_login ]]; then
|
||||
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
||||
fi
|
||||
fi
|
||||
'';
|
||||
|
||||
programs.zsh.enable = true;
|
||||
|
||||
security.lockKernelModules = true;
|
||||
|
||||
15
flake.nix
15
flake.nix
@@ -71,11 +71,6 @@
|
||||
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg)
|
||||
[
|
||||
"nvidia-x11"
|
||||
"nvidia-settings"
|
||||
];
|
||||
overlays = [
|
||||
# Global overlays go here
|
||||
] ++ config.overlays or [ ];
|
||||
@@ -119,7 +114,6 @@
|
||||
ildkule = stableNixosConfig "ildkule" { };
|
||||
#ildkule-unstable = unstableNixosConfig "ildkule" { };
|
||||
shark = stableNixosConfig "shark" { };
|
||||
wenche = stableNixosConfig "wenche" { };
|
||||
|
||||
kommode = stableNixosConfig "kommode" {
|
||||
overlays = [
|
||||
@@ -168,15 +162,6 @@
|
||||
|
||||
devShells = forAllSystems (system: {
|
||||
default = nixpkgs.legacyPackages.${system}.callPackage ./shell.nix { };
|
||||
cuda = let
|
||||
cuda-pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
cudaSupport = true;
|
||||
};
|
||||
};
|
||||
in cuda-pkgs.callPackage ./shells/cuda.nix { };
|
||||
});
|
||||
|
||||
packages = {
|
||||
|
||||
@@ -67,12 +67,7 @@ in {
|
||||
ADMIN_NAME = "PVV Drift";
|
||||
ADMIN_EMAIL = "drift@pvv.ntnu.no";
|
||||
ADMIN_PASSWORD = includeFromSops "simplesamlphp/admin_password";
|
||||
TRUSTED_DOMAINS = [
|
||||
"www.pvv.ntnu.no"
|
||||
"pvv.ntnu.no"
|
||||
"www.pvv.org"
|
||||
"pvv.org"
|
||||
];
|
||||
TRUSTED_DOMAINS = [ cfg.domainName ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -49,10 +49,6 @@ in {
|
||||
START_LFS_SERVER = true;
|
||||
LANDING_PAGE = "explore";
|
||||
};
|
||||
"git.timeout" = {
|
||||
MIGRATE = 3600;
|
||||
MIRROR = 1800;
|
||||
};
|
||||
mailer = {
|
||||
ENABLED = true;
|
||||
FROM = "gitea@pvv.ntnu.no";
|
||||
@@ -140,7 +136,6 @@ in {
|
||||
|
||||
dump = {
|
||||
enable = true;
|
||||
interval = "weekly";
|
||||
type = "tar.gz";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
{ config, fp, pkgs, values, lib, ... }:
|
||||
{
|
||||
imports = [
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
(fp /base)
|
||||
(fp /misc/metrics-exporters.nix)
|
||||
|
||||
(fp /misc/builder.nix)
|
||||
];
|
||||
|
||||
sops.defaultSopsFile = fp /secrets/wenche/wenche.yaml;
|
||||
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
sops.age.keyFile = "/var/lib/sops-nix/key.txt";
|
||||
sops.age.generateKey = true;
|
||||
|
||||
boot.loader.grub.device = "/dev/sda";
|
||||
|
||||
networking.hostName = "wenche"; # Define your hostname.
|
||||
|
||||
systemd.network.networks."30-ens18" = values.defaultNetworkConfig // {
|
||||
matchConfig.Name = "ens18";
|
||||
address = with values.hosts.wenche; [ (ipv4 + "/25") (ipv6 + "/64") ];
|
||||
};
|
||||
|
||||
hardware.graphics.enable = true;
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
open = false;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.production;
|
||||
};
|
||||
|
||||
# List packages installed in system profile
|
||||
environment.systemPackages = with pkgs; [
|
||||
];
|
||||
|
||||
system.stateVersion = "24.11"; # Did you read the comment?
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/profiles/qemu-guest.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "nvidia" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/4e8ecdd2-d453-4fff-b952-f06da00f3b85";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
swapDevices = [ {
|
||||
device = "/var/lib/swapfile";
|
||||
size = 16*1024;
|
||||
} ];
|
||||
|
||||
networking.useDHCP = lib.mkDefault false;
|
||||
# networking.interfaces.ens18.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
{config, lib, pkgs, ...}:
|
||||
{config, lib, pkgs, values, ...}:
|
||||
let
|
||||
grg = config.services.greg-ng;
|
||||
grgw = config.services.grzegorz-webui;
|
||||
@@ -37,8 +37,12 @@ in {
|
||||
"${machine}.pvv.org"
|
||||
];
|
||||
extraConfig = ''
|
||||
allow 129.241.210.128/25;
|
||||
allow 2001:700:300:1900::/64;
|
||||
# pvv
|
||||
allow ${values.ipv4-space}
|
||||
allow ${values.ipv6-space}
|
||||
# ntnu
|
||||
allow ${values.ntnu.ipv4-space}
|
||||
allow ${values.ntnu.ipv6-space}
|
||||
deny all;
|
||||
'';
|
||||
};
|
||||
@@ -51,8 +55,12 @@ in {
|
||||
"${machine}-backend.pvv.org"
|
||||
];
|
||||
extraConfig = ''
|
||||
allow 129.241.210.128/25;
|
||||
allow 2001:700:300:1900::/64;
|
||||
# pvv
|
||||
allow ${values.ipv4-space}
|
||||
allow ${values.ipv6-space}
|
||||
# ntnu
|
||||
allow ${values.ntnu.ipv4-space}
|
||||
allow ${values.ntnu.ipv6-space}
|
||||
deny all;
|
||||
'';
|
||||
|
||||
@@ -70,8 +78,12 @@ in {
|
||||
"${machine}-old.pvv.org"
|
||||
];
|
||||
extraConfig = ''
|
||||
allow 129.241.210.128/25;
|
||||
allow 2001:700:300:1900::/64;
|
||||
# pvv
|
||||
allow ${values.ipv4-space}
|
||||
allow ${values.ipv6-space}
|
||||
# ntnu
|
||||
allow ${values.ntnu.ipv4-space}
|
||||
allow ${values.ntnu.ipv6-space}
|
||||
deny all;
|
||||
'';
|
||||
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
# nix develop .#cuda
|
||||
# Copied from https://nixos.wiki/wiki/CUDA
|
||||
{ pkgs }:
|
||||
|
||||
pkgs.mkShell {
|
||||
name = "cuda-env-shell";
|
||||
buildInputs = with pkgs; [
|
||||
autoconf
|
||||
binutils
|
||||
curl
|
||||
freeglut
|
||||
git
|
||||
gitRepo
|
||||
gnumake
|
||||
gnupg
|
||||
gperf
|
||||
libGL
|
||||
libGLU
|
||||
m4
|
||||
ncurses5
|
||||
procps
|
||||
stdenv.cc
|
||||
unzip
|
||||
util-linux
|
||||
xorg.libX11
|
||||
xorg.libXext
|
||||
xorg.libXi
|
||||
xorg.libXmu
|
||||
xorg.libXrandr
|
||||
xorg.libXv
|
||||
zlib
|
||||
|
||||
cudatoolkit
|
||||
linuxPackages.nvidia_x11
|
||||
|
||||
# Other applications, like
|
||||
hashcat
|
||||
];
|
||||
|
||||
env = {
|
||||
CUDA_PATH = pkgs.cudatoolkit;
|
||||
EXTRA_LDFLAGS = "-L/lib -L${pkgs.linuxPackages.nvidia_x11}/lib";
|
||||
EXTRA_CCFLAGS = "-I/usr/include";
|
||||
};
|
||||
}
|
||||
13
values.nix
13
values.nix
@@ -1,8 +1,13 @@
|
||||
# Feel free to change the structure of this file
|
||||
let
|
||||
pvv-ipv4 = suffix: "129.241.210.${toString suffix}";
|
||||
pvv-ipv6 = suffix: "2001:700:300:1900::${toString suffix}";
|
||||
ntnu-ipv4 = suffix: "129.241.${toString suffix}";
|
||||
ntnu-ipv6 = suffix: "2001:700:300:${toString suffix}";
|
||||
pvv-ipv4 = suffix: ntnu-ipv4 "210.${toString suffix}";
|
||||
pvv-ipv6 = suffix: ntnu-ipv6 "1900::${toString suffix}";
|
||||
in rec {
|
||||
ntnu.ipv4-space = ntnu-ipv4 "0.0/16"; # https://ipinfo.io/ips/129.241.0.0/16
|
||||
ntnu.ipv6-space = ntnu-ipv6 ":/48"; # https://ipinfo.io/2001:700:300::
|
||||
|
||||
ipv4-space = pvv-ipv4 "128/25";
|
||||
ipv6-space = pvv-ipv6 "/64";
|
||||
|
||||
@@ -68,10 +73,6 @@ in rec {
|
||||
ipv4 = pvv-ipv4 234;
|
||||
ipv6 = pvv-ipv6 234;
|
||||
};
|
||||
wenche = {
|
||||
ipv4 = pvv-ipv4 240;
|
||||
ipv6 = pvv-ipv6 240;
|
||||
};
|
||||
};
|
||||
|
||||
defaultNetworkConfig = {
|
||||
|
||||
Reference in New Issue
Block a user