NixOS_Config/packages.nix

162 lines
3.7 KiB
Nix

{ pkgs, lib, ... }:
{
imports = [
./modules/nix-flatpak.nix
];
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# List packages installed in system profile.
environment.systemPackages = let
myPythonPackages = ps: with ps; [
pandas
statsmodels
scikit-learn
sympy
jupyter-core
matplotlib
];
# myRPackages = with pkgs.rPackages; [
# reticulate # wanted by quarto to execute Python when using R.
# # any other RPackages - you can reuse this list for R and RStudio
# ];
# patchedQuarto = (pkgs.quarto.override {
# extraPythonPackages = myPythonPackages;
# extraRPackages = myRPackages;
# }).overrideAttrs (oldAttrs: { # Remove this overrideAttrs patch when fixed. See https://github.com/NixOS/nixpkgs/issues/519484#issuecomment-4667477454
# postPatch = (oldAttrs.postPatch or "") + ''
# substituteInPlace bin/quarto.js \
# --replace-fail "syntax-highlighting" "highlight-style"
# '';
# });
patchedPicoSdk = (pkgs.pico-sdk.override {
withSubmodules = true;
});
patchedElementDesktop = (pkgs.element-desktop.overrideAttrs (oldAttrs: {
desktopItems = [
((builtins.elemAt oldAttrs.desktopItems 0).override { startupWMClass = "element"; })
];
}));
patchedDiscord = (pkgs.discord.override {
withVencord = true;
});
in with pkgs; [
# System
gsettings-desktop-schemas
vulkan-tools
pciutils
dmidecode
alsa-utils
lshw
# Utilities
gparted
hardinfo2
fastfetch
cava
dconf-editor
winetricks
libreoffice-qt
unzip
# Games
eden
mgba
prismlauncher
# Developement
vscode # extensions configured by users
nixfmt
nixd
nil
scrcpy
android-tools
patchedPicoSdk
picotool
gnumake
cmake
gcc
gcc-arm-embedded
arduino-ide
(python3.withPackages (myPythonPackages))
# patchedQuarto
# (rWrapper.override {packages = myRPackages; })
SDL2.dev
unityhub
godot
# Electronics
digital
kicad
# Communication
patchedElementDesktop
patchedDiscord
# Art
reaper
reaper-sws-extension
reaper-reapack-extension
yabridge
yabridgectl
winePackages.yabridge
amberol
krita
aseprite
];
# Install other packages.
programs.firefox.enable = true;
programs.steam.enable = true;
programs.git.enable = true;
programs.htop.enable = true;
programs.dconf.enable = true;
# services.tailscale.enable = true;
# Install flatpak.
services.flatpak.enable = true;
# Add a new remote. Keep the default one (flathub)
services.flatpak.remotes = lib.mkOptionDefault [{
name = "flathub";
location = "https://dl.flathub.org/repo/flathub.flatpakrepo";
}];
# Nix-Flatpak configuration.
services.flatpak.update.auto.enable = false;
services.flatpak.uninstallUnmanaged = true;
# Flatpaks to install
services.flatpak.packages = [
"com.github.tchx84.Flatseal"
"com.jetpackduba.Gitnuro"
"moe.launcher.the-honkers-railway-launcher"
"com.obsproject.Studio"
"com.obsproject.Studio.Plugin.PipeWireAudioCapture"
# "dev.deedles.Trayscale"
];
# Remove unwanted packages.
services.xserver.excludePackages = [
pkgs.xterm
];
# Remove some Gnome packages.
environment.gnome.excludePackages = with pkgs; [
epiphany
cheese
snapshot
gnome-software
gnome-music
gnome-tour
yelp
];
environment.sessionVariables.XDG_DATA_DIRS = [
"${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}"
"${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}"
];
}