NixOS_Config/packages.nix

225 lines
5.3 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;
# });
patchedVSCodium = (pkgs.vscode-with-extensions.override {
vscode = pkgs.vscodium;
vscodeExtensions = with pkgs.vscode-extensions; [
mads-hartmann.bash-ide-vscode
twxs.cmake
bierner.color-info
ecmel.vscode-html-css
shd101wyy.markdown-preview-enhanced
jnoortheen.nix-ide
arrterian.nix-env-selector
christian-kohler.path-intellisense
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "minimal-green";
publisher = "moldaz";
version = "0.0.7";
hash = "sha256-rihLJzq5Zng2Z76qEKHZrYKpSzsQrk5EZzxxjZ8074A=";
}
{
name = "ccls";
publisher = "ccls-project";
version = "0.1.32";
hash = "sha256-sCsRwS2z/jJpHeSuSdcitk39WEzKBiaZgt0gYRpViYU=";
}
{
name = "LiveServer";
publisher = "ritwickdey";
version = "5.7.10";
hash = "sha256-D474GdTCAH8b+zuO+1M+cnluKfBv7mAMdtH7F777W5U=";
}
{
name = "debug";
publisher = "webfreak";
version = "0.27.0";
hash = "sha256-p/k5UcXldXKFKbPbnW603Jsut53n01azeDhWMDSd4nw=";
}
{
name = "teleplot";
publisher = "alexnesnes";
version = "1.0.2";
hash = "sha256-vIPCB17KR35yYJybaSuTn85WNIb32NhXbEptmYn0QuY=";
}
{
name = "toggle-hidden";
publisher = "adrianwilczynski";
version = "1.0.2";
hash = "sha256-ET8qBNtQHyOXB7oJOndkvW5ZqrZjFGZkkAv1CirpWuE=";
}
{
name = "vscode-pdf";
publisher = "mathematic";
version = "0.1.11";
hash = "sha256-h0liigU+oyHkZM9Kn3P8J/9IV8sgYI+fcpHV37WfNjk=";
}
];
});
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
patchedVSCodium
nixfmt
nixd
nil
ccls
scrcpy
android-tools
# patchedPicoSdk
picotool
gnumake
cmake
gcc
gdb
gcc-arm-embedded
arduino-ide
(python3.withPackages (myPythonPackages))
# patchedQuarto
# (rWrapper.override {packages = myRPackages; })
unityhub
godot
man-pages
# Electronics
digital
kicad
# Communication
patchedElementDesktop
patchedDiscord
# Art
reaper
reaper-reapack-extension
yabridge
yabridgectl
winePackages.yabridge
krita
aseprite
tiled
amberol
];
# Install other packages.
programs.firefox.enable = true;
programs.steam.enable = true;
programs.git.enable = true;
programs.htop.enable = true;
programs.dconf.enable = true;
documentation.dev.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";
}];
# 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
];
# Gsettings
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}"
];
}