NixOS_Config/packages.nix

157 lines
3.6 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"; })
];
}));
in with pkgs; [
# System
gsettings-desktop-schemas
vulkan-tools
pciutils
dmidecode
alsa-utils
lshw
# Utilities
gparted
hardinfo2
fastfetch
cava
dconf-editor
winetricks
libreoffice-qt
# Games
eden
mgba
prismlauncher
# Developement
vscode # extensions configured by users
nixfmt
nixd
nil
scrcpy
android-tools
kicad
patchedPicoSdk
picotool
gnumake
cmake
gcc
gcc-arm-embedded
arduino-ide
#### next generation of Rmarkdown for Python, Julia, R, and JS:
patchedQuarto
#### Your command-line Python:
(python3.withPackages (myPythonPackages))
#### R and RStudio:
(rWrapper.override {packages = myRPackages; })
(rstudioWrapper.override { packages = myRPackages; })
SDL2
SDL2_image
# Communication
patchedElementDesktop
discord
# 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"
# "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}"
];
}