{ 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 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}" ]; }