This commit is contained in:
4DBug
2026-02-04 16:43:43 -06:00
parent 37ff9e91ff
commit 186ca3cfbf
31 changed files with 824 additions and 1279 deletions

344
modules/packages.nix Normal file
View File

@@ -0,0 +1,344 @@
{ lib, config, inputs, pkgs, options, device, ... }:
let
nix-gaming = import (builtins.fetchTarball "https://github.com/fufexan/nix-gaming/archive/master.tar.gz");
nix-alien = import (
builtins.fetchTarball "https://github.com/thiagokokada/nix-alien/tarball/master"
) {};
in
{
imports = [
nix-gaming.nixosModules.platformOptimizations
nix-gaming.nixosModules.pipewireLowLatency
];
nixpkgs = {
config = {
allowUnfree = true;
cudaSupport = (device == "desktop");
nvidia.acceptLicense = (device == "desktop");
};
overlays = [
];
};
environment.sessionVariables = {
BROWSER = "firefox";
NIXPKGS_ALLOW_UNFREE = 1;
};
users.users.bug.packages = with pkgs; [
vscode
(luajit.withPackages (ps: with ps; [
luasocket
bit32
]))
go
(python3.withPackages (ps: with ps; [
unidecode
discordpy
setuptools
pip
pynput
python-uinput
mido
pyautogui
pygobject3
pycairo
tkinter
numpy
scipy
imageio
evdev
]))
nodejs
(blender.withPackages (ps: with ps; [
libGLU
gcc
zlib
xorg.libX11
fontconfig
pcre2
xorg.libXext
xorg.libxcb
glib
]))
plasticity
obsidian
vesktop
nicotine-plus
fastfetch
tree
gh
scanmem
samrewritten
impression
mission-center
authenticator
steamtinkerlaunch
obs-studio
#prismlauncher
euphonica
kooha
loupe
arduino-ide
geary
];
environment.systemPackages = with pkgs; [
home-manager
comma
nix-index
git
wget
gcc
gnumake
nmap
inetutils
nix-prefetch
nix-output-monitor
nvd
nixfmt
nixd
nil
nh
gnome-boxes
openjdk
zlib
glfw
glew
wine64
wineWow64Packages.full
lug-helper
appimage-run
vulkan-tools
vulkan-validation-layers
vulkan-loader
pulseaudioFull
gamemode
winetricks
steam-run
firmware-updater
cosmic-applets
cosmic-edit
cosmic-ext-calculator
cosmic-ext-tweaks
cosmic-screenshot
quick-webapps
nix-alien.nix-alien
file-roller
unzip
xdg-desktop-portal-gtk
xdg-desktop-portal-cosmic
mangohud
mesa-demos
lutris
gnome-software
neovim
micro
inputs.hytale-launcher.packages.${pkgs.system}.default
baobab
] ++ (if (device == "desktop") then [
(nix-gaming.packages.${pkgs.stdenv.hostPlatform.system}.star-citizen.override {
tricks = [ "arial" "vcrun2019" "win10" "sound=alsa" ];
})
libxshmfence
(appimage-run.override {
extraPkgs = pkgs: [ pkgs.xorg.libxshmfence pkgs.linuxPackages.nvidia_x11 ];
})
] else [
bambu-studio
]);
services = {
flatpak = {
enable = true;
remotes = lib.mkOptionDefault [{
name = "flathub-beta";
location = "https://flathub.org/beta-repo/flathub-beta.flatpakrepo";
}];
update.auto.enable = true;
uninstallUnmanaged = true;
packages = [
"org.vinegarhq.Sober"
"org.vinegarhq.Vinegar"
"org.gnome.Decibels"
"org.pipewire.Helvum"
"community.pathofbuilding.PathOfBuilding"
{
appId = "com.hytale.Launcher";
sha256 = "sha256-SUxfyovC2umZmsOj5bOTZ8WfGCpnWcz7svOESwNekV0=";
bundle = "${pkgs.fetchurl {
url = "https://launcher.hytale.com/builds/release/linux/amd64/hytale-launcher-latest.flatpak";
sha256 = "sha256-SUxfyovC2umZmsOj5bOTZ8WfGCpnWcz7svOESwNekV0=";
}}";
}
# add Polytoria client
# https://cdn.polytoria.com/releases/installer/linux/Polytoria%20Setup%204.12.0.flatpak
{
appId = "com.polytoria.launcher";
sha256 = "sha256-VjhNiJfSdCtlH2SuP3Mn8jjOrx5xcOqhtDKaWYIwxYg=";
bundle = "${pkgs.fetchurl {
url = "https://github.com/4DBug/poly/releases/download/poly/poly.flatpak";
sha256 = "sha256-VjhNiJfSdCtlH2SuP3Mn8jjOrx5xcOqhtDKaWYIwxYg=";
}}";
}
];
overrides = {
global = {
Context.sockets = ["wayland" "!x11" "!fallback-x11"];
};
};
};
ollama = {
enable = false;
loadModels = [ "llama3.2:3b" "deepseek-r1:1.5b" "deepseek-r1:8b"];
};
};
fonts = {
fontDir.enable = true;
enableDefaultPackages = true;
packages = with pkgs; [
twitter-color-emoji
nerd-fonts.fira-code
nerd-fonts.droid-sans-mono
];
fontconfig = {
enable = true;
useEmbeddedBitmaps = true;
defaultFonts = {
emoji = [ "Twitter Color Emoji" ];
};
};
};
programs = {
appimage = {
enable = true;
binfmt = true;
};
firefox = {
enable = true;
package = pkgs.firefox-bin;
};
steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = false;
localNetworkGameTransfers.openFirewall = true;
gamescopeSession.enable = true;
extraCompatPackages = with pkgs; [
proton-ge-bin
];
platformOptimizations.enable = true;
};
ydotool.enable = true;
gamescope = {
enable = true;
capSysNice = true;
args = [
"--rt"
"--expose-wayland"
];
};
virt-manager.enable = true;
nix-ld = {
enable = true;
libraries = options.programs.nix-ld.libraries.default ++ (with pkgs; [
libxml2
udev
gcc
egl-wayland
mesa
libglvnd
wayland
xorg.libX11
xorg.libXcursor
xorg.libXrandr
xorg.libXi
]);
};
};
}