156 lines
3.6 KiB
Nix
156 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.dev
|
|
|
|
# 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}"
|
|
];
|
|
}
|