This commit is contained in:
2025-05-23 18:07:26 +02:00
parent fd229ecd76
commit 371b1b1432
13 changed files with 740 additions and 460 deletions
+34 -8
View File
@@ -1,6 +1,6 @@
{ pkgs, lib, ... }:
{
#REGION test
#sound.enable = true;
security.rtkit.enable = true;
services.pipewire = {
@@ -9,20 +9,20 @@
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
systemWide = false;
systemWide = true;
jack.enable = true;
};
hardware.pulseaudio.enable = false;
environment.sessionVariables =
let
makePluginPath = format:
(lib.makeSearchPath format [
makePluginPath =
format:
"$HOME/.${format}:"
+ (lib.makeSearchPath format [
"$HOME/.nix-profile/lib"
"/run/current-system/sw/lib"
"/etc/profiles/per-user/$USER/lib"
])
+ ":$HOME/.${format}";
]);
in
{
ALSOFT_DRIVERS = "pulse";
@@ -36,11 +36,37 @@
};
services.udev = {
services.udev = let
script = pkgs.writeShellScript "arch-mknod" ''
ACTION=$1
KERNEL=$(basename $2)
MAJOR=$3
MINOR=$4
if (systemctl is-active --quiet systemd-nspawn@archlinux); then
if [[ $ACTION == "add" || "$ACTION" == "change" ]]; then
machinectl shell root@archlinux /bin/bash -c "
if ! [ -f /dev/$KERNEL ]; then
mknod /dev/$KERNEL c $MAJOR $MINOR
chmod 660 /dev/$KERNEL
chown root:input /dev/$KERNEL
fi
"
elif [[ $ACTION == "remove" ]]; then
machinectl shell root@archlinux /bin/rm /dev/$KERNEL
fi
fi
'';
in {
extraRules = ''
KERNEL=="rtc0", GROUP="audio"
KERNEL=="hpet", GROUP="audio"
DEVPATH=="/devices/virtual/misc/cpu_dma_latency", OWNER="root", GROUP="audio", MODE="0660"
SUBSYSTEM=="hidraw", KERNEL=="hidraw*", RUN+="${script} ''$env{ACTION} ''$env{DEVNAME} ''$env{MAJOR} ''$env{MINOR}"
'';
};
environment.systemPackages = with pkgs; [
@@ -102,10 +102,15 @@ in
"/:/run/host-root"
"/run/udev"
"/run/pipewire"
"/sys/class"
"/sys/devices"
"/dev/fuse"
"/dev/snd"
"/dev/input"
"/dev/uinput"
"/dev/shm"
"/dev/kfd"
"/dev/dri"
@@ -131,9 +136,10 @@ in
overrideStrategy = "asDropin";
serviceConfig = {
DeviceAllow = [
"char-tty rwm"
"char-input rwm"
"char-drm rwm"
"char-* rwm"
"block-* rwm"
"/dev/shm rwm"
];
};
};
@@ -24,7 +24,8 @@ in
"rcu_nocbs=${materusArg.materusPC.vmCores}"
"nohz_full=${materusArg.materusPC.vmCores}"
"vfio_iommu_type1.allow_unsafe_interrupts=1"
"pcie_acs_override=downstream,multifunction" /*"pci-stub.ids=1002:744c"*/
"pcie_acs_override=downstream,multifunction"
#''vfio-pci.ids="1002:744c"''
"nox2apic"
"nvme_core.default_ps_max_latency_us=0"
"nvme_core.io_timeout=255"
@@ -32,10 +33,13 @@ in
"nvme_core.shutdown_timeout=10"
"amd_iommu=on"
"amdgpu.ppfeaturemask=0xffffffff"
"amdgpu.runpm=0"
"iommu=pt"
"psi=1"
"i915.force_probe=!56a6"
"xe.force_probe=56a6"
] ++ video;
boot.kernelModules = [ "pci-stub" "amdgpu" "i2c_dev" "kvm_amd" "vfio" "vfio_iommu_type1" "vfio-pci" "kvmfr" ];
boot.kernelModules = [ "pci-stub" "amdgpu" "i2c_dev" "kvm_amd" "vfio" "vfio_iommu_type1" "vfio-pci" "kvmfr" "xe" ];
boot.extraModprobeConfig = ''
options kvm_amd nested=1 avic=1 npt=1 sev=0
options vfio_iommu_type1 allow_unsafe_interrupts=1
@@ -49,8 +53,8 @@ in
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ "amdgpu" ];
boot.initrd.kernelModules = [ "vfio-pci" "amdgpu" ];
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback kvmfr ];
@@ -31,6 +31,8 @@
hardware.opengl.driSupport32Bit = true;
hardware.opengl.extraPackages = with pkgs; [
vaapiVdpau
vpl-gpu-rt
intel-media-driver
libvdpau-va-gl
amdvlk
vkbasalt
@@ -1,16 +1,21 @@
{ pkgs, materusArg, lib, ... }:
{
pkgs,
materusArg,
lib,
...
}:
{
imports = [
./plasma.nix
];
home.stateVersion = "23.05";
home.homeDirectory = "/home/materus";
programs.git.signing.signByDefault = true;
xdg.userDirs.enable = true;
materus.profile = {
fonts.enable = lib.mkDefault true;
nixpkgs.enable = lib.mkDefault false;
enableDesktop = lib.mkDefault true;
@@ -19,78 +24,86 @@
enableNixDevel = lib.mkDefault true;
editor.emacs.enable = true;
editor.code.fhs.enable = true;
editor.code.fhs.packages = (ps: with ps; let llvmpkgs = llvmPackages_18; in [
llvmpkgs.clang
llvmpkgs.llvm
llvmpkgs.bintools
llvmpkgs.lld
llvmpkgs.lldb
llvmpkgs.libllvm
llvmpkgs.mlir
llvmpkgs.libllvm.dev
editor.code.fhs.packages = (
ps:
with ps;
let
llvmpkgs = llvmPackages_18;
in
[
llvmpkgs.clang
llvmpkgs.llvm
llvmpkgs.bintools
llvmpkgs.lld
llvmpkgs.lldb
llvmpkgs.libllvm
llvmpkgs.mlir
llvmpkgs.libllvm.dev
fpc
xmake
raylib
gcc
gdb
materusArg.unstable.nixd
nixfmt-rfc-style
nixpkgs-fmt
cmake
gnumake
ninja
binutils
coreutils
util-linux
openssl
openssl.dev
pkg-config
dotnet-sdk_8
mono
mold
python3
lua
gtk4.dev
gtk4
glib
glib.dev
miniaudio
SDL2.dev
SDL2
freeglut.dev
freeglut
boost.dev
boost
glew.dev
libGL.dev
libGLU.dev
vulkan-loader.dev
vulkan-headers
xorg.xorgproto
xorg.libX11.dev
xorg.libXrandr.dev
xorg.libXrender.dev
rustup
freetype.dev
fpc
xmake
raylib
gcc
gdb
materusArg.unstable.nixd
nixfmt-rfc-style
nixpkgs-fmt
cmake
gnumake
ninja
binutils
coreutils
util-linux
openssl
openssl.dev
pkg-config
dotnet-sdk_8
mono
mold
python3
lua
gtk4.dev
gtk4
glib
glib.dev
miniaudio
SDL2.dev
SDL2
freeglut.dev
freeglut
boost.dev
boost
glew.dev
libGL.dev
libGLU.dev
vulkan-loader.dev
vulkan-headers
xorg.xorgproto
xorg.libX11.dev
xorg.libXrandr.dev
xorg.libXrender.dev
rustup
freetype.dev
fpc
gradle
bison
flex
fpc
gradle
bison
flex
ldc
dmd
dub
]);
ldc
dmd
dub
]
);
};
home.packages = [
materusArg.pkgs.ffmpeg_7-amf-full
(materusArg.pkgs.polymc-qt5.wrap { extraJDKs = [ pkgs.graalvm-ce ]; extraLibs = [ ]; })
(materusArg.pkgs.polymc.wrap {
extraJDKs = [ pkgs.graalvm-ce ];
extraLibs = [ ];
})
pkgs.git-crypt
pkgs.obsidian
];
@@ -133,7 +146,11 @@
exec = "${script} %U";
icon = "brave-browser";
terminal = false;
categories = [ "Application" "Network" "WebBrowser" ];
categories = [
"Application"
"Network"
"WebBrowser"
];
mimeType = [
"application/pdf"
"application/rdf+xml"
@@ -1,6 +1,5 @@
{ config, pkgs, lib, ... }:
{
services.displayManager.defaultSession = "plasma";
xdg.portal.enable = true;
xdg.portal.wlr.enable = true;
@@ -1,5 +1,10 @@
{ config, pkgs, lib, ... }:
let
plasma-materus = pkgs.writeScript "plasma-materus" ''
export KWIN_DRM_DEVICES="/dev/dri/by-path/pci-0000\:53\:00.0-card"
${pkgs.kdePackages.plasma-workspace}/libexec/plasma-dbus-run-session-if-needed ${pkgs.kdePackages.plasma-workspace}/bin/startplasma-wayland
'';
westonSddm = let xcfg = config.services.xserver; in pkgs.writeText "weston.ini"
''
[core]
@@ -21,7 +26,7 @@ let
mode=1920x1080@240
[output]
name=DP-2
name=DP-4
mode=off
[output]
@@ -31,6 +36,8 @@ let
'';
in
{
services.displayManager.defaultSession = "plasma-materus";
services.displayManager.sddm.enable = true;
services.displayManager.sddm.wayland.enable = true;
services.displayManager.sddm.wayland.compositor = lib.mkForce "weston";
@@ -39,6 +46,17 @@ in
"--shell=kiosk"
"-c ${westonSddm}"
];
services.displayManager.sessionPackages = [
((pkgs.writeTextDir "share/wayland-sessions/plasma-materus.desktop" ''
[Desktop Entry]
Name=Plasma (Wayland Materus)
Comment=Plasma Desktop with KWIN_DRM_DEVICES env
Exec=${plasma-materus}
DesktopNames=KDE
Type=Application
'')
.overrideAttrs (_: {passthru.providedSessions = ["plasma-materus"];}))
];
services.displayManager.sddm.settings = {
General = {
@@ -49,4 +67,4 @@ in
CursorSize = "24";
};
};
}
}
+18 -5
View File
@@ -6,7 +6,7 @@
}:
{
programs.gamemode.enable = true;
programs.corectrl.enable = true;
@@ -14,13 +14,29 @@
systemd.tmpfiles.rules = [ "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" ];
# Gamepad
services.udev = {
packages = with pkgs; [
game-devices-udev-rules
];
};
hardware.uinput.enable = true;
hardware.steam-hardware.enable = true;
nix.package = pkgs.nixVersions.nix_2_28;
programs.steam = {
enable = false;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
};
services.flatpak.enable = true;
services.gvfs.enable = true;
services.xserver.xkb.layout = "pl";
services.xserver.enable = true;
services.xserver.videoDrivers = [ "amdgpu" ];
#services.xserver.videoDrivers = [ "amdgpu" "intel" ];
services.dbus.enable = true;
services.dbus.packages = [ pkgs.gcr ];
@@ -128,9 +144,6 @@
autoStart = false;
};
hardware.sane.enable = true;
hardware.sane.extraBackends = [ pkgs.hplipWithPlugin ];
environment.enableAllTerminfo = true;
environment.pathsToLink = [
"/share/zsh"