215 lines
5.1 KiB
Nix
215 lines
5.1 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 = "vscode-pdf";
|
|
publisher = "mathematic";
|
|
version = "0.1.11";
|
|
hash = "sha256-h0liigU+oyHkZM9Kn3P8J/9IV8sgYI+fcpHV37WfNjk=";
|
|
}
|
|
{
|
|
name = "toggle-hidden";
|
|
publisher = "adrianwilczynski";
|
|
version = "1.0.2";
|
|
hash = "sha256-ET8qBNtQHyOXB7oJOndkvW5ZqrZjFGZkkAv1CirpWuE=";
|
|
}
|
|
{
|
|
name = "teleplot";
|
|
publisher = "alexnesnes";
|
|
version = "1.0.2";
|
|
hash = "sha256-vIPCB17KR35yYJybaSuTn85WNIb32NhXbEptmYn0QuY=";
|
|
}
|
|
];
|
|
});
|
|
|
|
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
|
|
gcc-arm-embedded
|
|
arduino-ide
|
|
(python3.withPackages (myPythonPackages))
|
|
# patchedQuarto
|
|
# (rWrapper.override {packages = myRPackages; })
|
|
unityhub
|
|
godot
|
|
|
|
# Electronics
|
|
digital
|
|
kicad
|
|
|
|
# Communication
|
|
patchedElementDesktop
|
|
patchedDiscord
|
|
|
|
# Art
|
|
reaper
|
|
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";
|
|
}];
|
|
|
|
# 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}"
|
|
];
|
|
}
|