2023-07-15 01:02:41 +00:00
|
|
|
{ config, lib, pkgs, ... }:
|
2023-01-29 08:10:53 +00:00
|
|
|
{
|
|
|
|
imports = [
|
2023-01-30 01:42:12 +00:00
|
|
|
./gnome.nix
|
2023-09-01 23:59:21 +00:00
|
|
|
./greetd.nix
|
2023-07-02 09:37:07 +00:00
|
|
|
./gtk.nix
|
2023-01-30 01:39:20 +00:00
|
|
|
./phosh.nix
|
2023-05-15 02:22:09 +00:00
|
|
|
./sway
|
2023-07-12 09:42:23 +00:00
|
|
|
./sxmo
|
2023-09-05 16:13:23 +00:00
|
|
|
./theme
|
2023-01-29 08:10:53 +00:00
|
|
|
];
|
2023-07-15 01:02:41 +00:00
|
|
|
|
|
|
|
sane.programs.guiApps = {
|
|
|
|
package = null;
|
2023-08-02 08:35:36 +00:00
|
|
|
suggestedPrograms = lib.optionals (pkgs.system == "x86_64-linux") [
|
|
|
|
"x86GuiApps"
|
|
|
|
] ++ [
|
|
|
|
# package sets
|
2023-07-15 01:02:41 +00:00
|
|
|
"tuiApps"
|
2023-08-02 08:35:36 +00:00
|
|
|
] ++ [
|
2023-08-15 01:46:57 +00:00
|
|
|
"alacritty" # terminal emulator
|
2023-07-15 01:02:41 +00:00
|
|
|
# "celluloid" # mpv frontend
|
2023-08-03 06:04:06 +00:00
|
|
|
"chatty" # matrix/xmpp/irc client
|
2023-07-15 01:02:41 +00:00
|
|
|
"cozy" # audiobook player
|
2023-09-02 05:13:01 +00:00
|
|
|
"dino" # XMPP client
|
2023-07-15 01:02:41 +00:00
|
|
|
# "emote"
|
|
|
|
"epiphany" # gnome's web browser
|
|
|
|
"evince" # works on phosh
|
2023-08-02 08:35:36 +00:00
|
|
|
"firefox"
|
2023-07-15 01:02:41 +00:00
|
|
|
# "foliate" # e-book reader
|
2023-07-30 01:44:49 +00:00
|
|
|
# "fractal" # matrix client
|
2023-08-14 06:17:22 +00:00
|
|
|
"g4music" # local music player
|
2023-07-15 01:02:41 +00:00
|
|
|
# "gnome.cheese"
|
|
|
|
# "gnome-feeds" # RSS reader (with claimed mobile support)
|
2023-07-31 09:59:15 +00:00
|
|
|
# "gnome.file-roller"
|
2023-07-15 01:02:41 +00:00
|
|
|
# "gnome.gnome-maps" # works on phosh
|
|
|
|
# "gnome-podcasts"
|
|
|
|
# "gnome.gnome-system-monitor"
|
|
|
|
# "gnome.gnome-terminal" # works on phosh
|
2023-08-24 11:00:38 +00:00
|
|
|
"gnome.gnome-weather"
|
2023-07-15 01:02:41 +00:00
|
|
|
"gpodder"
|
|
|
|
"gthumb"
|
|
|
|
"komikku"
|
|
|
|
"koreader"
|
|
|
|
"lemoa" # lemmy app
|
|
|
|
# "lollypop"
|
2023-08-07 03:43:37 +00:00
|
|
|
"mate.engrampa" # archive manager
|
2023-07-15 01:02:41 +00:00
|
|
|
"mepo" # maps viewer
|
2023-07-26 09:56:26 +00:00
|
|
|
"mpv"
|
2023-07-15 01:02:41 +00:00
|
|
|
# "networkmanagerapplet"
|
|
|
|
# "newsflash"
|
|
|
|
"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
|
2023-08-12 09:05:27 +00:00
|
|
|
"cantata" # music player (mpd frontend)
|
2023-07-31 00:02:09 +00:00
|
|
|
# "chromium" # chromium takes hours to build. brave is chromium-based, distributed in binary form, so prefer it.
|
2023-07-15 01:02:41 +00:00
|
|
|
"electrum"
|
|
|
|
"element-desktop"
|
|
|
|
# "font-manager" #< depends on webkitgtk4_0 (expensive to build)
|
2023-09-02 07:21:16 +00:00
|
|
|
"gajim" # XMPP client. cross build tries to import host gobject-introspection types (2023/09/01)
|
2023-07-15 01:02:41 +00:00
|
|
|
"gimp" # broken on phosh
|
|
|
|
"gnome.dconf-editor"
|
2023-08-07 03:43:37 +00:00
|
|
|
# "gnome.file-roller"
|
2023-07-15 01:02:41 +00:00
|
|
|
"gnome.gnome-disk-utility"
|
2023-07-30 01:44:49 +00:00
|
|
|
"gnome.nautilus" # file browser
|
2023-07-15 01:02:41 +00:00
|
|
|
# "gnome.totem" # video player, supposedly supports UPnP
|
|
|
|
"handbrake"
|
|
|
|
"hase"
|
|
|
|
"inkscape"
|
2023-08-14 10:27:02 +00:00
|
|
|
# "jellyfin-media-player"
|
2023-07-15 01:02:41 +00:00
|
|
|
"kdenlive"
|
|
|
|
"kid3" # audio tagging
|
|
|
|
"krita"
|
2023-07-31 02:03:19 +00:00
|
|
|
"libreoffice" # TODO: replace with an office suite that uses saner packaging?
|
2023-07-15 01:02:41 +00:00
|
|
|
"mumble"
|
2023-08-06 08:15:05 +00:00
|
|
|
"nheko"
|
2023-07-15 01:02:41 +00:00
|
|
|
"obsidian"
|
2023-08-13 09:27:01 +00:00
|
|
|
"rhythmbox" # local music player
|
2023-07-15 01:02:41 +00:00
|
|
|
"slic3r"
|
|
|
|
"steam"
|
2023-07-26 09:56:26 +00:00
|
|
|
"vlc"
|
2023-07-15 01:02:41 +00:00
|
|
|
"wireshark" # could maybe ship the cli as sysadmin pkg
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
sane.programs.handheldGuiApps = {
|
|
|
|
package = null;
|
|
|
|
suggestedPrograms = [
|
|
|
|
"megapixels" # camera app
|
2023-07-30 01:44:49 +00:00
|
|
|
"portfolio-filemanager"
|
2023-07-31 09:59:15 +00:00
|
|
|
"xarchiver"
|
2023-07-15 01:02:41 +00:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
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
|
|
|
|
];
|
2023-09-07 10:24:20 +00:00
|
|
|
|
|
|
|
hardware.opengl = lib.mkIf config.sane.programs.guiApps.enabled ({
|
2023-09-07 10:47:17 +00:00
|
|
|
enable = true;
|
2023-09-07 10:24:20 +00:00
|
|
|
driSupport = lib.mkDefault true;
|
|
|
|
} // (lib.optionalAttrs pkgs.stdenv.isx86_64 {
|
|
|
|
# for 32 bit applications
|
|
|
|
# upstream nixpkgs forbids setting driSupport32Bit unless specifically x86_64 (so aarch64 isn't allowed)
|
|
|
|
driSupport32Bit = lib.mkDefault true;
|
|
|
|
}));
|
2023-01-29 08:10:53 +00:00
|
|
|
}
|