This commit is contained in:
Joshua Elmasri
2025-10-15 21:46:24 -05:00
parent ceff2a381f
commit e8b8791267
4 changed files with 362 additions and 108 deletions

View File

@@ -41,7 +41,13 @@ boot = {
# Enable "Silent Boot"
consoleLogLevel = 0;
initrd.verbose = false;
kernelPackages = pkgs.linuxPackages_latest;
kernelPackages = pkgs.linuxPackages_zen;
/*kernelPatches = [
{
name = "dsc";
patch = ../../patches/vesa-dsc-fixed-bpp.patch;
}
];*/
kernelParams = [
"quiet"
"splash"
@@ -58,6 +64,10 @@ boot = {
};
services.udev.extraRules = ''
ACTION=="add", KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="35bd", ATTRS{idProduct}=="0101", TAG+="uaccess", MODE="0660"
'';
boot.extraModulePackages = with config.boot.kernelPackages; [ hid-tmff2 ];
networking.hostName = "nixos"; # Define your hostname.
@@ -76,6 +86,7 @@ boot = {
nixpkgs.config.permittedInsecurePackages = [
"electron-31.7.7"
"mbedtls-2.28.10"
];
environment.variables.AMD_VULKAN_ICD = "RADV";
@@ -83,6 +94,7 @@ boot = {
# Set your time zone.
time.timeZone = "America/Chicago";
environment.sessionVariables.NIXOS_OZONE_WL = "1";
environment.sessionVariables.SDL_GAMECONTROLLERCONFIG = "03002f67c4100000c082000011010000,Shifter,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,platform:Linux";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
@@ -171,6 +183,42 @@ boot = {
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
wireplumber.configPackages = [
(pkgs.writeTextDir "share/wireplumber/wireplumber.conf.d/alsa.conf" ''
monitor.alsa.rules = [
{
matches = [
{
device.name = "~alsa_card.*"
}
]
actions = {
update-props = {
# Device settings
api.alsa.use-acp = true
}
}
}
{
matches = [
{
node.name = "~alsa_input.*"
}
{
node.name = "~alsa_output.*"
}
]
actions = {
# Node settings
update-props = {
session.suspend-timeout-seconds = 0
}
}
}
]
'')
];
};
services.pulseaudio.configFile = pkgs.runCommand "default.pa" {} ''
sed 's/module-udev-detect$/module-udev-detect tsched=0/' \
@@ -243,8 +291,8 @@ hardware.pulseaudio.extraConfig = ''
};
fileSystems."/mnt/More-Games" = {
device = "/dev/disk/by-uuid/fdbbe9a8-da6e-4ef2-b4e5-5154f181ee66";
/*fileSystems."/mnt/More-Games" = {
device = "/dev/sdb1";
fsType = "btrfs";
options = [
"users"
@@ -252,7 +300,7 @@ hardware.pulseaudio.extraConfig = ''
"x-gvfs-show"
"exec"
];
};
};*/
@@ -268,33 +316,7 @@ hardware.pulseaudio.extraConfig = ''
nerd-fonts.jetbrains-mono
];
services.open-webui = {
enable = true;
port = 3246;
host = "0.0.0.0";
environment = {
ANONYMIZED_TELEMETRY = "False";
DO_NOT_TRACK = "True";
SCARF_NO_ANALYTICS = "True";
OLLAMA_API_BASE_URL = "http://127.0.0.1:11434/api";
OLLAMA_BASE_URL = "http://127.0.0.1:11434";
ENABLE_RAG_WEB_SEARCH = "True";
RAG_WEB_SEARCH_ENGINE = "kagi";
};
};
services.ollama = {
# package = pkgs.unstable.ollama; # If you want to use the unstable channel package for example
enable = true;
host = "0.0.0.0";
acceleration = "rocm"; # Or "rocm"
environmentVariables = { # I haven't been able to get this to work, but please see the serviceConfig workaround below
# HOME = "/home/ollama";
# OLLAMA_MODELS = "/home/ollama/models";
OLLAMA_HOST = "0.0.0.0:11434"; # Make Ollama accesible outside of localhost
# OLLAMA_ORIGINS = "http://localhost:8080,http://192.168.0.10:*"; # Allow access, otherwise Ollama returns 403 forbidden due to CORS
};
};
# List packages installed in system profile. To search, run:
# $ nix search wget
@@ -316,12 +338,12 @@ hardware.pulseaudio.extraConfig = ''
git
bibata-cursors
killall
usbutils
mangohud
aonsoku
cemu
teamspeak6-client
# cemu broken with latest update
oterm
unetbootin
wget
wlx-overlay-s
labymod-launcher
unzip
winetricks
@@ -333,33 +355,16 @@ hardware.pulseaudio.extraConfig = ''
python3
pavucontrol
bluebubbles
gnomeExtensions.tray-icons-reloaded
cider
xfce.thunar
gnomeExtensions.open-bar
parallel-launcher
wallust
termsonic
steamtinkerlaunch
grub2
vivaldi
cargo
#inputs.zen-browser.packages."${system}".default
kdePackages.kdenlive
wineWowPackages.wayland
blueman
fuse
linux-wallpaperengine
ntfs3g
lapce
prismlauncher
librewolf
protonup-qt
mlt
nspr
nss_latest
nssTools
dconf
openjdk23
heroic
protontricks
@@ -367,22 +372,15 @@ hardware.pulseaudio.extraConfig = ''
playerctl
wine
#alvr
bottles
cava
pop-icon-theme
gnome-tweaks
libnotify
libreoffice
hunspell
hunspellDicts.en_US
neovide
flatpak
gradience
];
# VirtualBox
virtualisation.virtualbox.host.enable = true;
virtualisation.virtualbox.host.enable = false;
users.extraGroups.vboxusers.members = [ "user-with-access-to-virtualbox" ];
services.flatpak.enable = true;
@@ -401,6 +399,17 @@ hardware.pulseaudio.extraConfig = ''
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
};
hardware.steam-hardware.enable=true;
services.monado = {
enable = true;
defaultRuntime = true; # Register as default OpenXR runtime
};
systemd.user.services.monado.environment = {
STEAMVR_LH_ENABLE = "1";
XRT_COMPOSITOR_COMPUTE = "1";
WMR_HANDTRACKING = "0";
};
nixpkgs.config.packageOverrides = pkgs: {
steam = pkgs.steam.override {