{ 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 ]; 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 # Games eden 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; }) # 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}" ]; }