mirror of
https://github.com/materusPL/nixos-config
synced 2026-07-02 12:46:42 +00:00
update
This commit is contained in:
@@ -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";
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -7,9 +7,9 @@ in
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
package = materusArg.unstable.neovim-unwrapped;
|
||||
package = pkgs.neovim-unwrapped;
|
||||
coc.enable = true;
|
||||
coc.package = materusArg.unstable.vimPlugins.coc-nvim;
|
||||
coc.package = pkgs.vimPlugins.coc-nvim;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
vimdiffAlias = true;
|
||||
@@ -25,7 +25,7 @@ in
|
||||
extraPackages = with pkgs;[
|
||||
];
|
||||
|
||||
plugins = with materusArg.unstable.vimPlugins;[
|
||||
plugins = with pkgs.vimPlugins;[
|
||||
syntastic
|
||||
vim-fugitive
|
||||
vim-airline
|
||||
|
||||
Reference in New Issue
Block a user