nix-files/hosts/modules/gui/default.nix

124 lines
3.3 KiB
Nix

{ config, lib, pkgs, ... }:
{
imports = [
./gnome.nix
./gtk.nix
./phosh.nix
./sway
./sxmo
];
sane.programs.guiApps = {
package = null;
suggestedPrograms = [
"firefox"
"tuiApps"
] ++ lib.optional (pkgs.system == "x86_64-linux") "x86GuiApps"
++ [
# "celluloid" # mpv frontend
"cozy" # audiobook player
# "emote"
"epiphany" # gnome's web browser
"evince" # works on phosh
# "foliate" # e-book reader
# "fractal" # matrix client
# "gnome.cheese"
# "gnome-feeds" # RSS reader (with claimed mobile support)
"gnome.file-roller"
# "gnome.gnome-maps" # works on phosh
# "gnome-podcasts"
# "gnome.gnome-system-monitor"
# "gnome.gnome-terminal" # works on phosh
# "gnome.gnome-weather"
"gpodder"
"gthumb"
"komikku"
"koreader"
"lemoa" # lemmy app
# "lollypop"
"mepo" # maps viewer
"mpv"
# "networkmanagerapplet"
# "newsflash"
"nheko"
"pavucontrol"
# "picard" # music tagging
# "libsForQt5.plasmatube" # Youtube player
"soundconverter"
# "sublime-music"
"tangram" # web browser
# "tdesktop" # broken on phosh
# "tokodon"
"tuba" # mastodon/pleroma client (stores pw in keyring)
# "whalebird" # pleroma client (Electron). input is broken on phosh.
"xterm" # broken on phosh
];
};
sane.programs.desktopGuiApps = {
package = null;
suggestedPrograms = [
"audacity"
"blanket" # ambient noise generator
"brave" # for the integrated wallet -- as a backup
# "chromium" # chromium takes hours to build. brave is chromium-based, distributed in binary form, so prefer it.
"dino"
"electrum"
"element-desktop"
# "font-manager" #< depends on webkitgtk4_0 (expensive to build)
"gajim" # XMPP client
"gimp" # broken on phosh
"gnome.dconf-editor"
"gnome.gnome-disk-utility"
"gnome.nautilus" # file browser
# "gnome.totem" # video player, supposedly supports UPnP
"handbrake"
"hase"
"inkscape"
"jellyfin-media-player"
"kdenlive"
"kid3" # audio tagging
"krita"
"libreoffice" # TODO: replace with an office suite that uses saner packaging?
"mumble"
"obsidian"
"slic3r"
"steam"
"vlc"
"wireshark" # could maybe ship the cli as sysadmin pkg
];
};
sane.programs.handheldGuiApps = {
package = null;
suggestedPrograms = [
"megapixels" # camera app
"portfolio-filemanager"
];
};
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.plaintext = lib.mkIf config.sane.programs.guiApps.enabled [
"/var/lib/alsa" # preserve output levels, default devices
"/var/lib/colord" # preserve color calibrations (?)
"/var/lib/systemd/backlight" # backlight brightness
];
}