hosts/modules/gui: refactor package sets

This commit is contained in:
Colin 2023-11-18 22:20:38 +00:00
parent 91c2f6fc95
commit 3c7ebb5385

View File

@ -1,4 +1,10 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let
declPackageSet = pkgs: {
package = null;
suggestedPrograms = pkgs;
};
in
{ {
imports = [ imports = [
./gnome.nix ./gnome.nix
@ -10,44 +16,37 @@
./theme ./theme
]; ];
sane.programs.gameApps = { sane.programs.gameApps = declPackageSet [
package = null; "animatch"
suggestedPrograms = [ "gnome-2048"
"animatch" "superTux" # keyboard-only controls
"gnome-2048" "superTuxKart" # poor FPS on pinephone
"superTux" # keyboard-only controls ];
"superTuxKart" # poor FPS on pinephone sane.programs.desktopGameApps = declPackageSet [
]; # "andyetitmoves" # TODO: fix build!
}; # "armagetronad" # tron/lightcycles; WAN and LAN multiplayer
sane.programs.desktopGameApps = { # "cutemaze" # meh: trivial maze game; qt6 and keyboard-only
package = null; # "cuyo" # trivial puyo-puyo clone
suggestedPrograms = [ "endless-sky" # space merchantilism/exploration
# "andyetitmoves" # TODO: fix build! # "factorio"
# "armagetronad" # tron/lightcycles; WAN and LAN multiplayer "frozen-bubble" # WAN + LAN + 1P/2P bubble bobble
# "cutemaze" # meh: trivial maze game; qt6 and keyboard-only # "hedgewars" # WAN + LAN worms game (5~10 people online at any moment; <https://hedgewars.org>)
# "cuyo" # trivial puyo-puyo clone # "libremines" # meh: trivial minesweeper; qt6
"endless-sky" # space merchantilism/exploration # "mario0" # SMB + portal
# "factorio" # "mindustry"
"frozen-bubble" # WAN + LAN + 1P/2P bubble bobble # "minesweep-rs" # CLI minesweeper
# "hedgewars" # WAN + LAN worms game (5~10 people online at any moment; <https://hedgewars.org>) # "nethack"
# "libremines" # meh: trivial minesweeper; qt6 # "osu-lazer"
# "mario0" # SMB + portal # "pinball" # 3d pinball; kb/mouse. old sourceforge project
# "mindustry" # "powermanga" # STYLISH space invaders derivative (keyboard-only)
# "minesweep-rs" # CLI minesweeper "shattered-pixel-dungeon" # doesn't cross compile
# "nethack" "space-cadet-pinball" # LMB/RMB controls (bindable though. volume buttons?)
# "osu-lazer" "tumiki-fighters" # keyboard-only
# "pinball" # 3d pinball; kb/mouse. old sourceforge project "vvvvvv" # keyboard-only controls
# "powermanga" # STYLISH space invaders derivative (keyboard-only) ];
"shattered-pixel-dungeon" # doesn't cross compile
"space-cadet-pinball" # LMB/RMB controls (bindable though. volume buttons?)
"tumiki-fighters" # keyboard-only
"vvvvvv" # keyboard-only controls
];
};
sane.programs.guiApps = { sane.programs.guiApps = declPackageSet (
package = null; lib.optionals (pkgs.system == "x86_64-linux") [
suggestedPrograms = lib.optionals (pkgs.system == "x86_64-linux") [
"x86GuiApps" "x86GuiApps"
] ++ [ ] ++ [
# package sets # package sets
@ -109,12 +108,11 @@
"wike" # Wikipedia Reader "wike" # Wikipedia Reader
"xdg-terminal-exec" "xdg-terminal-exec"
"xterm" # broken on phosh "xterm" # broken on phosh
]; ]
}; );
sane.programs.desktopGuiApps = { sane.programs.desktopGuiApps = declPackageSet (
package = null; [
suggestedPrograms = [
# package sets # package sets
"desktopGameApps" "desktopGameApps"
] ++ [ ] ++ [
@ -149,35 +147,30 @@
"steam" "steam"
"vlc" "vlc"
"wireshark" # could maybe ship the cli as sysadmin pkg "wireshark" # could maybe ship the cli as sysadmin pkg
]; ]
}; );
sane.programs.handheldGuiApps = { sane.programs.handheldGuiApps = declPackageSet [
package = null; "megapixels" # camera app
suggestedPrograms = [ "portfolio-filemanager"
"megapixels" # camera app "xarchiver"
"portfolio-filemanager" ];
"xarchiver"
]; sane.programs.x86GuiApps = declPackageSet [
}; "discord"
# "gnome.zenity" # for kaiteki (it will use qarma, kdialog, or zenity)
# "gpt2tc" # XXX: unreliable mirror
# "kaiteki" # Pleroma client
# "logseq" # Personal Knowledge Management
"losslesscut-bin"
"makemkv"
"monero-gui"
# "signal-desktop"
"spotify"
"tor-browser-bundle-bin"
"zecwallet-lite"
];
sane.programs.x86GuiApps = {
package = null;
suggestedPrograms = [
"discord"
# "gnome.zenity" # for kaiteki (it will use qarma, kdialog, or zenity)
# "gpt2tc" # XXX: unreliable mirror
# "kaiteki" # Pleroma client
# "logseq" # Personal Knowledge Management
"losslesscut-bin"
"makemkv"
"monero-gui"
# "signal-desktop"
"spotify"
"tor-browser-bundle-bin"
"zecwallet-lite"
];
};
sane.persist.sys.byStore.plaintext = lib.mkIf config.sane.programs.guiApps.enabled [ sane.persist.sys.byStore.plaintext = lib.mkIf config.sane.programs.guiApps.enabled [
"/var/lib/alsa" # preserve output levels, default devices "/var/lib/alsa" # preserve output levels, default devices