fix
This commit is contained in:
parent
b6c1bdd2a0
commit
4a5acfcea4
15
flake.nix
15
flake.nix
|
@ -33,6 +33,7 @@
|
||||||
|
|
||||||
# https://github.com/NixOS/nixos-hardware
|
# https://github.com/NixOS/nixos-hardware
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
||||||
|
nixos-hardware-2311.url = "github:NixOS/nixos-hardware/ae5c8dcc4d0182d07d75df2dc97112de822cb9d6"; # pre https://github.com/NixOS/nixos-hardware/pull/977
|
||||||
|
|
||||||
# https://github.com/tfc/nspawn-nixos
|
# https://github.com/tfc/nspawn-nixos
|
||||||
nixos-nspawn.url = "github:tfc/nspawn-nixos";
|
nixos-nspawn.url = "github:tfc/nspawn-nixos";
|
||||||
|
@ -49,9 +50,10 @@
|
||||||
# https://github.com/Mic92/sops-nix
|
# https://github.com/Mic92/sops-nix
|
||||||
sops-nix-edge.url = "github:Mic92/sops-nix";
|
sops-nix-edge.url = "github:Mic92/sops-nix";
|
||||||
sops-nix-edge.inputs.nixpkgs.follows = "nixpkgs-edge";
|
sops-nix-edge.inputs.nixpkgs.follows = "nixpkgs-edge";
|
||||||
sops-nix-edge.inputs.nixpkgs-stable.follows = "nixpkgs-2311";
|
sops-nix-edge.inputs.nixpkgs-stable.follows = "nixpkgs-2405";
|
||||||
sops-nix-2405.url = "github:Mic92/sops-nix";
|
sops-nix-2405.url = "github:Mic92/sops-nix";
|
||||||
sops-nix-2405.inputs.nixpkgs.follows = "nixpkgs-2405";
|
sops-nix-2405.inputs.nixpkgs.follows = "nixpkgs-2405";
|
||||||
|
sops-nix-2405.inputs.nixpkgs-stable.follows = "nixpkgs-2405";
|
||||||
sops-nix-2311.url = "github:Mic92/sops-nix";
|
sops-nix-2311.url = "github:Mic92/sops-nix";
|
||||||
sops-nix-2311.inputs.nixpkgs.follows = "nixpkgs-2311";
|
sops-nix-2311.inputs.nixpkgs.follows = "nixpkgs-2311";
|
||||||
sops-nix-2311.inputs.nixpkgs-stable.follows = "nixpkgs-2311";
|
sops-nix-2311.inputs.nixpkgs-stable.follows = "nixpkgs-2311";
|
||||||
|
@ -100,6 +102,7 @@
|
||||||
outputs = {
|
outputs = {
|
||||||
self,
|
self,
|
||||||
nixos-hardware,
|
nixos-hardware,
|
||||||
|
nixos-hardware-2311,
|
||||||
nixos-nspawn,
|
nixos-nspawn,
|
||||||
nixos-generators-2311,
|
nixos-generators-2311,
|
||||||
...
|
...
|
||||||
|
@ -168,14 +171,15 @@
|
||||||
|
|
||||||
imports = let ifExists = p: if builtins.pathExists p then p else {}; in [
|
imports = let ifExists = p: if builtins.pathExists p then p else {}; in [
|
||||||
./base.nix
|
./base.nix
|
||||||
(ifExists "${self}/hosts/${hostname}")
|
"${self}/hosts/${hostname}" # (ifExists "${self}/hosts/${hostname}")
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
inputs.home-manager.nixosModule
|
inputs.home-manager.nixosModule
|
||||||
#inputs.nix-index-database.nixosModules.nix-index
|
#inputs.nix-index-database.nixosModules.nix-index # TODO: fix?
|
||||||
] ++ modules ++ extra-modules;
|
] ++ modules ++ extra-modules;
|
||||||
#++ inputs.flake-programs-sqlite.nixosModules.programs-sqlite; # TODO: make work
|
#++ inputs.flake-programs-sqlite.nixosModules.programs-sqlite; # TODO: make work
|
||||||
|
|
||||||
sops.defaultSopsFile = lib.mkIf (builtins.pathExists ./secrets/${hostname}.yaml) ./secrets/${hostname}.yaml;
|
sops.defaultSopsFile = ./secrets/default.yaml;
|
||||||
|
#sops.defaultSopsFile = lib.mkIf (builtins.pathExists ./secrets/${hostname}.yaml) ./secrets/${hostname}.yaml;
|
||||||
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||||
sops.age.keyFile = "/var/lib/sops-nix/key.txt";
|
sops.age.keyFile = "/var/lib/sops-nix/key.txt";
|
||||||
sops.age.generateKey = true;
|
sops.age.generateKey = true;
|
||||||
|
@ -257,13 +261,14 @@
|
||||||
mkHosts = mk: let
|
mkHosts = mk: let
|
||||||
ls = imports: { inherit imports; };
|
ls = imports: { inherit imports; };
|
||||||
hw = nixos-hardware.nixosModules;
|
hw = nixos-hardware.nixosModules;
|
||||||
|
hw_ = nixos-hardware-2311.nixosModules;
|
||||||
#vf = nixos-vf2.nixosModules;
|
#vf = nixos-vf2.nixosModules;
|
||||||
amd = ls [ hw.common-pc hw.common-pc-ssd hw.common-cpu-amd ];
|
amd = ls [ hw.common-pc hw.common-pc-ssd hw.common-cpu-amd ];
|
||||||
intel = ls [ hw.common-pc hw.common-pc-ssd hw.common-cpu-intel ./hardware/gpu/intel.nix ];
|
intel = ls [ hw.common-pc hw.common-pc-ssd hw.common-cpu-intel ./hardware/gpu/intel.nix ];
|
||||||
intel-novga = ls [ hw.common-pc hw.common-pc-ssd hw.common-cpu-intel-cpu-only ];
|
intel-novga = ls [ hw.common-pc hw.common-pc-ssd hw.common-cpu-intel-cpu-only ];
|
||||||
cuda = ls [ ./hardware/gpu/cuda.nix hw.common-gpu-nvidia-nonprime ];
|
cuda = ls [ ./hardware/gpu/cuda.nix hw.common-gpu-nvidia-nonprime ];
|
||||||
cuda-prime = ls [ ./hardware/gpu/cuda.nix hw.common-gpu-nvidia ];
|
cuda-prime = ls [ ./hardware/gpu/cuda.nix hw.common-gpu-nvidia ];
|
||||||
rocm = ls [ ./hardware/gpu/rocm.nix hw.common-gpu-amd ];
|
rocm = ls [ ./hardware/gpu/rocm.nix hw_.common-gpu-amd ];
|
||||||
nspawn = ls [ "${nixos-nspawn}/nspawn-image.nix" { boot.isContainer = true; } ];
|
nspawn = ls [ "${nixos-nspawn}/nspawn-image.nix" { boot.isContainer = true; } ];
|
||||||
hidpi = hw.common-hidpi;
|
hidpi = hw.common-hidpi;
|
||||||
p1005 = ./hardware/printer/hp-laserjet-p1005.nix;
|
p1005 = ./hardware/printer/hp-laserjet-p1005.nix;
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
#};
|
#};
|
||||||
|
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
pkgs.nvtop-nvidia
|
(pkgs.nvtopPackages.nvidia or pkgs.nvtop-nvidia)
|
||||||
] ++ lib.optionals config.hardware.nvidia.prime.offload.enable [
|
] ++ lib.optionals config.hardware.nvidia.prime.offload.enable [
|
||||||
(pkgs.writeShellScriptBin "prime-run" ''
|
(pkgs.writeShellScriptBin "prime-run" ''
|
||||||
export __NV_PRIME_RENDER_OFFLOAD=1
|
export __NV_PRIME_RENDER_OFFLOAD=1
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, options, ... }: lib.mkMerge [
|
||||||
{
|
{
|
||||||
# assumes common-gpu-amd from nixos-hardware is also added
|
# assumes common-gpu-amd from nixos-hardware is also added
|
||||||
# TODO: should we move it from flake.nix to here?
|
# TODO: should we move it from flake.nix to here?
|
||||||
|
@ -10,28 +10,56 @@
|
||||||
|
|
||||||
nixpkgs.config.openglSupport = true; # why is this not set by hardware.opengl.enable ?
|
nixpkgs.config.openglSupport = true; # why is this not set by hardware.opengl.enable ?
|
||||||
nixpkgs.config.rocmSupport = true;
|
nixpkgs.config.rocmSupport = true;
|
||||||
nixpkgs.config.vdpauSupport = true;
|
nixpkgs.config.vdpauSupport = true;
|
||||||
nixpkgs.config.vaapiSupport = true;
|
nixpkgs.config.vaapiSupport = true;
|
||||||
|
|
||||||
# nixos-hardware common-amd options
|
}
|
||||||
# https://github.com/NixOS/nixos-hardware/blob/master/common/gpu/amd/default.nix
|
# nixos-hardware common-amd options
|
||||||
|
# https://github.com/NixOS/nixos-hardware/blob/master/common/gpu/amd/default.nix
|
||||||
|
(lib.mkIf (options ? hardware.amdgpu.opencl.enable) {
|
||||||
|
hardware.amdgpu.opencl.enable = lib.mkDefault true;
|
||||||
|
})
|
||||||
|
(lib.mkIf (!options ? hardware.amdgpu.opencl.enable) {
|
||||||
hardware.amdgpu.opencl = lib.mkDefault true;
|
hardware.amdgpu.opencl = lib.mkDefault true;
|
||||||
hardware.amdgpu.amdvlk = lib.mkDefault false;
|
})
|
||||||
|
(lib.mkIf (options ? hardware.amdgpu.amdvlk.enable) {
|
||||||
|
#hardware.amdgpu.amdvlk.enable = lib.mkDefault true;
|
||||||
|
#hardware.amdgpu.amdvlk.support32Bit.enable = lib.mkDefault true;
|
||||||
|
})
|
||||||
|
{
|
||||||
# https://libreddit.noximilien.pbsds.net/r/archlinux/comments/nih9c9/amdgpu_vs_modesetting_in_current_510_kernels_xorg/
|
# https://libreddit.noximilien.pbsds.net/r/archlinux/comments/nih9c9/amdgpu_vs_modesetting_in_current_510_kernels_xorg/
|
||||||
services.xserver.videoDrivers = [ "amdgpu" ]; # use gpu, adaptive sync and and hardware page flipping
|
services.xserver.videoDrivers = [ "amdgpu" ]; # use gpu, adaptive sync and and hardware page flipping
|
||||||
#services.xserver.videoDrivers = [ "modesetting" ]; # integrated (non-accelerated) framebuffer, KMS (default in nixos-hardware)
|
#services.xserver.videoDrivers = [ "modesetting" ]; # integrated (non-accelerated) framebuffer, KMS (default in nixos-hardware)
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/AMD_GPU#HIP
|
# https://wiki.nixos.org/wiki/AMD_GPU#HIP
|
||||||
systemd.tmpfiles.rules = let
|
systemd.tmpfiles.rules = let
|
||||||
hip = if (lib.versionOlder (lib.versions.majorMinor lib.version) "23.11")
|
rocmEnv = pkgs.symlinkJoin {
|
||||||
then pkgs.hip
|
name = "rocm-combined";
|
||||||
else pkgs.rocmPackages.clr;
|
paths = with pkgs.rocmPackages; [
|
||||||
in [
|
rocblas
|
||||||
"L+ /opt/rocm/hip - - - - ${hip}"
|
hipblas
|
||||||
|
clr
|
||||||
|
];
|
||||||
|
};
|
||||||
|
in [ "L+ /opt/rocm - - - - ${rocmEnv}" ];
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(prev: final: {
|
||||||
|
blender = prev.blender-hip;
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
# enable opencl on polaris, (rx580)
|
||||||
nvtop-amd
|
environment.variables.ROC_ENABLE_PRE_VEGA = "1";
|
||||||
|
|
||||||
|
environment.systemPackages = [
|
||||||
|
(pkgs.nvtopPackages.amd or pkgs.nvtop-amd)
|
||||||
|
pkgs.lact
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# lact - amdgpu GUI tool
|
||||||
|
systemd.packages = [ pkgs.lact ];
|
||||||
|
systemd.services.lactd.enable = true;
|
||||||
|
systemd.services.lactd.wantedBy = [ "multi-user.target" ]; # add this if you want the unit to auto start at boot time
|
||||||
}
|
}
|
||||||
|
]
|
||||||
|
|
|
@ -103,6 +103,8 @@
|
||||||
|
|
||||||
#networking.wireguard.interfaces."wg0".ips = [ "172.22.48.3/24" ]; # fyrkat
|
#networking.wireguard.interfaces."wg0".ips = [ "172.22.48.3/24" ]; # fyrkat
|
||||||
|
|
||||||
|
sops.secrets.flexget.sopsFile = ../../secrets/${config.networking.hostName}.yaml;
|
||||||
|
|
||||||
# TODO: remove? Move to where relevant?
|
# TODO: remove? Move to where relevant?
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
/** /
|
/** /
|
||||||
|
|
|
@ -6,15 +6,15 @@
|
||||||
services.nginx.virtualHosts.${mkDomain "cinny"} = {
|
services.nginx.virtualHosts.${mkDomain "cinny"} = {
|
||||||
forceSSL = true; # addSSL = true;
|
forceSSL = true; # addSSL = true;
|
||||||
enableACME = true; #useACMEHost = acmeDomain;
|
enableACME = true; #useACMEHost = acmeDomain;
|
||||||
|
# TODO: the override causes a rebuild which fails on low-RAM systems
|
||||||
root = pkgs.unstable.cinny.override {
|
root = pkgs.unstable.cinny.override {
|
||||||
conf = {
|
#conf = {
|
||||||
defaultHomeserver = 0;
|
# defaultHomeserver = 0;
|
||||||
homeserverList = [
|
# homeserverList = [
|
||||||
"pvv.ntnu.no"
|
# "pvv.ntnu.no"
|
||||||
"matrix.org"
|
# "matrix.org"
|
||||||
"dodsorf.as"
|
# ];
|
||||||
];
|
#};
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue