summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMel <mel@rnrd.eu>2025-07-12 04:02:28 +0200
committerMel <mel@rnrd.eu>2025-07-12 04:02:28 +0200
commit1e8f1a29b02a4425169940df5d4bd7c764ecfdc8 (patch)
treefc5826240aa1681c3bdc7954e9df6abec6ccad38
parent4fd56f73360372665dd072adac2a78156d4caf2d (diff)
downloadminerals-1e8f1a29b02a4425169940df5d4bd7c764ecfdc8.tar.zst
minerals-1e8f1a29b02a4425169940df5d4bd7c764ecfdc8.zip
Auto-filter and comment out currently non-compatible w/ ARM packages
Signed-off-by: Mel <mel@rnrd.eu>
-rw-r--r--modules/common.nix36
-rw-r--r--modules/electronics.nix6
-rw-r--r--modules/user.nix9
3 files changed, 38 insertions, 13 deletions
diff --git a/modules/common.nix b/modules/common.nix
index fcaf896..d72502d 100644
--- a/modules/common.nix
+++ b/modules/common.nix
@@ -1,5 +1,16 @@
-{ me, pkgs, auxiliaryPkgs, ... }:
+{
+ me,
+ pkgs,
+ auxiliaryPkgs,
+ ...
+}:
+
+let
+ inherit (builtins) filter elem;
+ filterUnsupportedPackages =
+ packages: filter (p: elem me.system (p.meta.platforms or [ me.system ])) packages;
+in
{
imports = [
./nix.nix
@@ -58,10 +69,12 @@
};
programs = {
- steam = {
- enable = true;
- remotePlay.openFirewall = true;
- };
+ # steam requires the i386 package set, which obviously does not work on ARM.
+ # TODO: pull out gaming related configuration (like steam) into a seperate module.
+ # steam = {
+ # enable = true;
+ # remotePlay.openFirewall = true;
+ # };
virt-manager.enable = true;
fish.enable = true;
git.enable = true;
@@ -81,7 +94,10 @@
};
};
- environment.systemPackages = (with pkgs; [
+ # TODO: the filter already does some good work, but we need some way to
+ # pick out x86-only packages, so it is not as opaque as it currently is.
+ # (who knows if muse-sounds-manager is actually installed, for example?)
+ environment.systemPackages = (with pkgs; filterUnsupportedPackages [
file unzip jq dig htop wget screen
gnupg pinentry-gnome3 age agenix minisign openssl cryptsetup pamtester
bitwarden-desktop bitwarden-cli
@@ -94,7 +110,9 @@
blender inkscape obs-studio darktable davinci-resolve
orca-slicer
renderdoc
- audacity musescore muse-sounds-manager reaper bitwig-studio
+ audacity musescore muse-sounds-manager reaper
+ # bitwigs bubblewrap configuration requires some non-ARM package sets.
+ # bitwig-studio
ungoogled-chromium librewolf lagrange
senpai signal-desktop alpaca newsflash
qemu_full virtiofsd
@@ -129,7 +147,9 @@
]) ++ (with auxiliaryPkgs; [
# TODO: need fixes for 25.05
# retroarch wine
- ngfx
+
+ # TODO: ngfx (obviously) does not work on ARM, put it somewhere else
+ # ngfx
]);
environment.etc.openvpn.source = "${pkgs.update-resolv-conf}/libexec/openvpn";
diff --git a/modules/electronics.nix b/modules/electronics.nix
index 9b154b1..08fef6a 100644
--- a/modules/electronics.nix
+++ b/modules/electronics.nix
@@ -30,6 +30,8 @@ in
openocd
];
+ # TODO: currently disabled packages are not available on ARM.
+ # filter them out automatically.
environment.systemPackages = [
# hardware tool support
hantek
@@ -37,7 +39,7 @@ in
# the spice of life!
qucs-s
ngspice
- simulide
+ # simulide
librepcb
# mostly bearable non-commercial cad software
@@ -51,7 +53,7 @@ in
# platform development tools and frameworks
arduino-cli
- arduino-ide
+ # arduino-ide
platformio
esp-idf-full
avrdude
diff --git a/modules/user.nix b/modules/user.nix
index e8f658e..55985b6 100644
--- a/modules/user.nix
+++ b/modules/user.nix
@@ -8,16 +8,19 @@
shell = pkgs.fish;
extraGroups = [ "wheel" "dialout" "kvm" "networkmanager" "adbusers" ];
hashedPassword = "$y$j9T$4wGl.YJizIpcfFv0LyvLU0$7LLEkjIFWBOV.XXynReCOczBYNX0EZfMPIDB/bmmhhC";
-
+
+ # TODO: commented out pacckages are currently not available on ARM, and thus not on the
+ # moissanite machine. filter them out in a better way.
packages = (with pkgs; [
firefox
thunderbird
- tor-browser
+ # tor-browser
jetbrains-toolbox
]) ++ (with unstablePkgs; [
godot_4
]) ++ (with auxiliaryPkgs; [
- discord
+ # TODO: get discord (or maybe an alternative client?) to work!
+ # discord
element-desktop
obsidian
]);