nixos/system/programs.nix
2024-11-06 16:10:54 +01:00

139 lines
3.0 KiB
Nix

{ config, pkgs, inputs, ... }: {
services.flatpak.enable = true;
programs.nix-ld.enable = true;
programs.nix-ld.libraries = [
# put here missing libraries
pkgs.glibc
];
programs.steam = {
enable = true;
extraCompatPackages = [
pkgs.proton-ge-bin
];
};
programs.thunar.enable = true;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
programs.gamemode.enable = true;
boot.binfmt.registrations.appimage = {
wrapInterpreterInShell = false;
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
recognitionType = "magic";
offset = 0;
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
magicOrExtension = ''\x7fELF....AI\x02'';
};
environment.systemPackages = with pkgs; [
(inputs.umu.packages.${pkgs.system}.umu.override { version = "${inputs.umu.shortRev}"; })
gfxreconstruct
glslang
spirv-cross
spirv-headers
spirv-tools
vulkan-extension-layer
vulkan-headers
vulkan-loader
vulkan-tools
vulkan-tools-lunarg
vulkan-utility-libraries
vulkan-validation-layers
vkdisplayinfo
vkd3d
bottles
vkd3d-proton
vk-bootstrap
(lutris.override {
steamSupport = true;
extraLibraries = pkgs: [
liboggz
libgudev
speex
libogg
flac
graphene
libvpx
];
extraPkgs = pkgs: [
libvpx
libogg
liboggz
flac
graphene
gst_all_1.gstreamer
# Common plugins like "filesrc" to combine within e.g. gst-launch
gst_all_1.gst-plugins-base
# Specialized plugins separated by quality
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-ugly
# Plugins to reuse ffmpeg to play almost every video format
gst_all_1.gst-libav
# Support the Video Audio (Hardware) Acceleration API
gst_all_1.gst-vaapi
openssl
nghttp2
libidn2
rtmpdump
libpsl
curl
krb5
keyutils
# List library dependencies here
];
})
sipcalc
xdg-utils
pass
xdg-desktop-portal
pkg-config
xclip
nvd
xdg-desktop-portal-gtk
google-chrome
zoom-us
# icu
# icu.dev
neovim
git
gnupg
pinentry-rofi
pinentry
rofi-rbw-x11
rbw
nil
nixpkgs-fmt
curl
git
libnotify
usbutils
vim
wget
v4l-utils
nmap
wineWowPackages.stable
rustc
cargo
];
systemd = {
user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ];
wants = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
};
}