74 lines
2.1 KiB
Nix
74 lines
2.1 KiB
Nix
{ config, lib, ... }:
|
|
{
|
|
options.sane.roles.handheld = with lib; mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = ''
|
|
services/programs which you probably only want on a handheld device.
|
|
'';
|
|
};
|
|
|
|
config = lib.mkIf config.sane.roles.handheld {
|
|
sane.programs.guiApps.suggestedPrograms = [
|
|
"consoleMediaUtils" # overbroad, but handy on very rare occasion
|
|
"handheldGuiApps"
|
|
];
|
|
sane.programs.sway.suggestedPrograms = [
|
|
"sane-input-handler"
|
|
];
|
|
|
|
sane.programs.alacritty.config.fontSize = 9;
|
|
|
|
sane.programs.firefox.config = {
|
|
# compromise impermanence for the sake of usability
|
|
persistCache = "private";
|
|
persistData = "private";
|
|
|
|
# i don't do crypto stuff on moby
|
|
addons.ether-metamask.enable = false;
|
|
# sidebery UX doesn't make sense on small screen
|
|
addons.sidebery.enable = false;
|
|
};
|
|
sane.programs.firefox.mime.priority = 300; # prefer other browsers when possible
|
|
# HACK/TODO: make `programs.P.env.VAR` behave according to `mime.priority`
|
|
sane.programs.firefox.env = lib.mkForce {};
|
|
sane.programs.epiphany.env.BROWSER = "epiphany";
|
|
|
|
sane.programs.sway.config = {
|
|
font = "pango:monospace 10";
|
|
locker = "schlock";
|
|
mod = "Mod1"; # prefer Alt
|
|
workspace_layout = "tabbed";
|
|
};
|
|
|
|
sane.programs.swayidle.config = {
|
|
actions.screenoff.delay = 300;
|
|
actions.screenoff.enable = true;
|
|
};
|
|
|
|
sane.programs.waybar.config = {
|
|
fontSize = 14;
|
|
height = 26;
|
|
persistWorkspaces = [ "1" "2" "3" "4" "5" ];
|
|
modules.media = false;
|
|
modules.network = false;
|
|
modules.perf = false;
|
|
modules.windowTitle = false;
|
|
# TODO: show modem state
|
|
};
|
|
sane.programs.nwg-panel.config = {
|
|
fontSize = 14;
|
|
height = 26;
|
|
windowIcon = false;
|
|
windowTitle = false;
|
|
mediaPrevNext = false;
|
|
mediaTitle = false;
|
|
workspaceNumbers = [ "1" "2" "3" "4" "5" ];
|
|
workspaceHideEmpty = false;
|
|
};
|
|
|
|
sane.programs.zsh.config.showDeadlines = false; # unlikely to act on them when in shell
|
|
};
|
|
}
|
|
|