Android : Fix options.

This commit is contained in:
Dmitry Voronin 2024-06-29 18:05:39 +03:00
parent 127a2a6e33
commit c2d8d62bec
Signed by: voronind
SSH key fingerprint: SHA256:3kBb4iV2ahufEBNq+vFbUe4QYfHt98DHQjN7QaptY9k
27 changed files with 172 additions and 159 deletions

View file

@ -4,8 +4,8 @@
'';
colors = util.trimTabs ''
background=#${config.module.style.color.bg.dark}
foreground=#${config.module.style.color.fg.light}
background=#${config.style.color.bg.dark}
foreground=#${config.style.color.fg.light}
'';
initScript = util.trimTabs ''

View file

@ -1,9 +1,7 @@
{ pkgs
, inputs
, const
, style
, util
, key
, secret
, ... } @args: let
# Path where Termux stores user data.

View file

@ -1,68 +1,81 @@
{ ... }: {
lib.stylix.colors = {
base0A = "b8bb26";
base01 = "3c3836";
base00 = "1d2021";
base07 = "504945";
base05 = "ebdbb2";
base04 = "a89984";
base06 = "fbf1c7";
base0D = "d5c4a1";
base03 = "98971a";
base0E = "98971a";
base09 = "076678";
base0F = "808080";
base08 = "cc241d";
base0C = "458588";
base0B = "87af87";
base02 = "87af87";
base0A-rgb-b = "38";
base0A-rgb-g = "187";
base0A-rgb-r = "184";
base08-rgb-b = "29";
base08-rgb-g = "36";
base08-rgb-r = "204";
base0C-rgb-b = "136";
base0C-rgb-g = "133";
base0C-rgb-r = "69";
base0B-rgb-b = "135";
base0B-rgb-g = "175";
base0B-rgb-r = "135";
base00-rgb-b = "33";
base00-rgb-g = "32";
base00-rgb-r = "29";
base01-rgb-b = "54";
base01-rgb-g = "56";
base01-rgb-r = "60";
base06-rgb-b = "199";
base06-rgb-g = "241";
base06-rgb-r = "251";
{ lib, ... }: with lib; let
mkTypeOption = default: type: mkOption { inherit default type; };
mkStrOption = default: mkTypeOption default types.str;
mkIntOption = default: mkTypeOption default types.int;
mkFloatOption = default: mkTypeOption default types.float;
in {
options.style = {
color = {
bg = {
dark = mkStrOption "1d2021";
light = mkStrOption "504945";
regular = mkStrOption "3c3836";
};
stylix = {
fg = {
dark = mkStrOption "a89984";
light = mkStrOption "fbf1c7";
regular = mkStrOption "ebdbb2";
};
accent = mkStrOption "b8bb26";
heading = mkStrOption "d5c4a1";
hl = mkStrOption "98971a";
keyword = mkStrOption "98971a";
link = mkStrOption "076678";
misc = mkStrOption "808080";
negative = mkStrOption "cc241d";
neutral = mkStrOption "458588";
positive = mkStrOption "87af87";
selection = mkStrOption "87af87";
transparent = mkStrOption "ffffff00";
accent-b = mkStrOption "38";
accent-g = mkStrOption "187";
accent-r = mkStrOption "184";
negative-b = mkStrOption "29";
negative-g = mkStrOption "36";
negative-r = mkStrOption "204";
neutral-b = mkStrOption "136";
neutral-g = mkStrOption "133";
neutral-r = mkStrOption "69";
positive-b = mkStrOption "135";
positive-g = mkStrOption "175";
positive-r = mkStrOption "135";
bg-b = mkStrOption "33";
bg-g = mkStrOption "32";
bg-r = mkStrOption "29";
fg-b = mkStrOption "199";
fg-g = mkStrOption "241";
fg-r = mkStrOption "251";
border = mkStrOption "3c3836";
border-b = mkStrOption "54";
border-g = mkStrOption "56";
border-r = mkStrOption "60";
};
fonts = {
monospace.name = "Terminess Nerd Font Mono";
emoji.name = "Noto Color Emoji";
serif.name = "SF Pro Display";
sansSerif.name = "SF Pro Display";
monospace.name = mkStrOption "Terminess Nerd Font Mono";
emoji.name = mkStrOption "Noto Color Emoji";
serif.name = mkStrOption "SF Pro Display";
sansSerif.name = mkStrOption "SF Pro Display";
sizes = {
applications = 12;
terminal = 12;
popups = 12;
desktop = 12;
applications = mkIntOption 12;
terminal = mkIntOption 12;
popups = mkIntOption 12;
desktop = mkIntOption 12;
};
};
opacity = {
application = 1.0;
desktop = 1.0;
popup = 1.0;
terminal = 1.0;
application = mkFloatOption 1.0;
desktop = mkFloatOption 1.0;
popup = mkFloatOption 1.0;
terminal = mkFloatOption 1.0;
};
};
}

View file

@ -193,8 +193,6 @@
container = import ./lib/Container.nix { inherit lib pkgs config; inherit (self) const; }; # Container utils.
util = import ./lib/Util.nix { inherit lib; }; # Util functions.
in {
flake = self;
inherit secret container util inputs;
inherit (self) const;
@ -255,6 +253,14 @@
# I put all my Android configuration there.
./android
./android/style/Gruvbox.nix
# Some common modules.
./module/common/Setting.nix
# ./module/common/Style.nix
# Stylix.
# inputs.stylix.homeManagerModules.stylix
];
# SpecialArgs allows you to pass objects down to other configuration.
@ -263,10 +269,10 @@
pkgs = nixpkgs.legacyPackages."aarch64-linux".pkgs;
lib = nixpkgs.lib;
in {
const = self.const; # Constant values.
flake = self; # This Flake itself.
inputs = inputs; # Our dependencies.
secret = import ./lib/Secret.nix {}; # Secrets (public keys).
inherit inputs;
inherit (self) const;
secret = import ./secret {}; # Secrets (public keys).
util = import ./lib/Util.nix { inherit lib; }; # Util functions.
};
};

View file

@ -1,9 +1,6 @@
# Global settings.
# Just like I can configure each package, here I configure my config! :O)
{ pkgs
, config
,lib
, ... }: {
{ lib, ... }: {
options.setting = with lib; {
# Ollama settings.
# I use the best light model by default.

View file

@ -1,13 +1,12 @@
{ pkgs, lib, config, ... }: with lib; let
cfg = config.module.style;
in {
options = let
{ lib, config, ... }: with lib; let
cfg = config.style;
mkTypeOption = default: type: mkOption { inherit default type; };
mkStrOption = default: mkTypeOption default types.str;
mkIntOption = default: mkTypeOption default types.int;
mkFloatOption = default: mkTypeOption default types.float;
in {
module.style = {
options.style = {
color = {
bg = {
dark = mkStrOption config.lib.stylix.colors.base00;

View file

@ -1,4 +1,4 @@
{ pkgs, key, util, ... } @args: let
{ pkgs, util, ... } @args: let
tmux = import ./tmux args;
in {
programs.tmux = {

View file

@ -1,8 +1,8 @@
{ config, ... }: let
accent = "${config.module.style.color.accent-r};${config.module.style.color.accent-g};${config.module.style.color.accent-b}";
negative = "${config.module.style.color.negative-r};${config.module.style.color.negative-g};${config.module.style.color.negative-b}";
neutral = "${config.module.style.color.neutral-r};${config.module.style.color.neutral-g};${config.module.style.color.neutral-b}";
positive = "${config.module.style.color.positive-r};${config.module.style.color.positive-g};${config.module.style.color.positive-b}";
accent = "${config.style.color.accent-r};${config.style.color.accent-g};${config.style.color.accent-b}";
negative = "${config.style.color.negative-r};${config.style.color.negative-g};${config.style.color.negative-b}";
neutral = "${config.style.color.neutral-r};${config.style.color.neutral-g};${config.style.color.neutral-b}";
positive = "${config.style.color.positive-r};${config.style.color.positive-g};${config.style.color.positive-b}";
in {
text = ''
export PROMPT_COMMAND=(__prompt_command "''${PROMPT_COMMAND[@]}")

View file

@ -1,4 +1,4 @@
{ inputs, pkgs, util, key, ... } @args: let
{ inputs, pkgs, util, ... } @args: let
# Create Neovim configuration.
nvimRc = { runtimes, configs }: let
# Plugin paths to install.

View file

@ -1,3 +1,3 @@
{ key, util, config, ... } @args: {
{ util, config, ... } @args: {
config = util.catText (util.ls ./module) args;
}

View file

@ -1,8 +1,8 @@
{ config, ... }: let
mod = "M";
fg = config.module.style.color.bg.dark;
selection = config.module.style.color.selection;
fg = config.style.color.bg.dark;
selection = config.style.color.selection;
in {
text = ''
setw -g mode-keys vi

View file

@ -1,8 +1,8 @@
{ config, ... }: let
mod = "M";
accent = config.module.style.color.accent;
bg = config.module.style.color.bg.regular;
accent = config.style.color.accent;
bg = config.style.color.bg.regular;
# fg = style.color.fg.light;
stepVertical = 1;

View file

@ -1,9 +1,9 @@
{ config, ... }: let
mod = "M";
accent = config.module.style.color.accent;
accent = config.style.color.accent;
# bg = style.color.bg.dark;
fg = config.module.style.color.fg.light;
fg = config.style.color.fg.light;
in {
text = ''
bind-key -n ${mod}-f set-option -g status;

View file

@ -7,18 +7,18 @@
// Fonts.
pref("browser.display.use_document_fonts", 0);
lockPref("font.minimum-size.x-cyrillic", ${toString config.module.style.font.size.application});
lockPref("font.minimum-size.x-unicode", ${toString config.module.style.font.size.application});
lockPref("font.minimum-size.x-western", ${toString config.module.style.font.size.application});
lockPref("font.name.monospace.x-cyrillic", "${config.module.style.font.monospace.name}");
lockPref("font.name.monospace.x-unicode", "${config.module.style.font.monospace.name}");
lockPref("font.name.monospace.x-western", "${config.module.style.font.monospace.name}");
lockPref("font.name.sans-serif.x-cyrillic", "${config.module.style.font.sansSerif.name}");
lockPref("font.name.sans-serif.x-unicode", "${config.module.style.font.sansSerif.name}");
lockPref("font.name.sans-serif.x-western", "${config.module.style.font.sansSerif.name}");
lockPref("font.name.serif.x-cyrillic", "${config.module.style.font.serif.name}");
lockPref("font.name.serif.x-unicode", "${config.module.style.font.serif.name}");
lockPref("font.name.serif.x-western", "${config.module.style.font.serif.name}");
lockPref("font.minimum-size.x-cyrillic", ${toString config.style.font.size.application});
lockPref("font.minimum-size.x-unicode", ${toString config.style.font.size.application});
lockPref("font.minimum-size.x-western", ${toString config.style.font.size.application});
lockPref("font.name.monospace.x-cyrillic", "${config.style.font.monospace.name}");
lockPref("font.name.monospace.x-unicode", "${config.style.font.monospace.name}");
lockPref("font.name.monospace.x-western", "${config.style.font.monospace.name}");
lockPref("font.name.sans-serif.x-cyrillic", "${config.style.font.sansSerif.name}");
lockPref("font.name.sans-serif.x-unicode", "${config.style.font.sansSerif.name}");
lockPref("font.name.sans-serif.x-western", "${config.style.font.sansSerif.name}");
lockPref("font.name.serif.x-cyrillic", "${config.style.font.serif.name}");
lockPref("font.name.serif.x-unicode", "${config.style.font.serif.name}");
lockPref("font.name.serif.x-western", "${config.style.font.serif.name}");
// Animations.
lockPref("browser.fullscreen.animateUp", 0);

View file

@ -1,10 +1,10 @@
{ config, ... }: let
fontName = config.module.style.font.serif.name;
fontSize = toString config.module.style.font.size.desktop;
fontName = config.style.font.serif.name;
fontSize = toString config.style.font.size.desktop;
accent = config.module.style.color.accent;
bg = config.module.style.color.bg.dark;
fg = config.module.style.color.fg.light;
accent = config.style.color.accent;
bg = config.style.color.bg.dark;
fg = config.style.color.fg.light;
in {
text = ''
# Application launcher.

View file

@ -1,5 +1,5 @@
{ config, ... }: let
lock = "swaylock -f -F -c 000000 -k --font \"${config.module.style.font.serif.name}\" --font-size ${toString config.module.style.font.size.desktop}";
lock = "swaylock -f -F -c 000000 -k --font \"${config.style.font.serif.name}\" --font-size ${toString config.style.font.size.desktop}";
in {
text = ''
bindsym $mod+z exec '_twice 1 ${lock}'

View file

@ -1,9 +1,9 @@
{ config, ... }: let
alpha = config.module.style.opacity.hex;
accent = config.module.style.color.accent + alpha;
bg = config.module.style.color.bg.dark + alpha;
border = config.module.style.color.border + alpha;
fg = config.module.style.color.fg.light;
alpha = config.style.opacity.hex;
accent = config.style.color.accent + alpha;
bg = config.style.color.bg.dark + alpha;
border = config.style.color.border + alpha;
fg = config.style.color.fg.light;
in {
text = ''
output * bg ${config.module.common.wallpaper.path} fill

View file

@ -30,7 +30,7 @@
bindsym $mod+x kill
# Add gaps.
gaps inner ${toString config.module.style.window.gap}
gaps inner ${toString config.style.window.gap}
# Launch everything tiled.
# for_window [all] floating disable

View file

@ -1,5 +1,5 @@
{ config, ... }: let
borderSize = toString config.module.style.window.border;
borderSize = toString config.style.window.border;
in {
text = ''
# Disable title bar.

View file

@ -4,9 +4,9 @@ in {
file = (pkgs.formats.json {}).generate "WaybarConfig" {
height = 34;
layer = "top";
margin-left = config.module.style.window.gap;
margin-right = config.module.style.window.gap;
margin-top = config.module.style.window.gap;
margin-left = config.style.window.gap;
margin-right = config.style.window.gap;
margin-top = config.style.window.gap;
mode = "dock";
position = "top";
spacing = 4;

View file

@ -1,9 +1,9 @@
{ config, ... }: {
text = ''
* {
font-family: "${config.module.style.font.serif.name}", "Terminess Nerd Font Propo";
font-size: ${toString config.module.style.font.size.desktop}px;
color: #${config.module.style.color.fg.light};
font-family: "${config.style.font.serif.name}", "Terminess Nerd Font Propo";
font-size: ${toString config.style.font.size.desktop}px;
color: #${config.style.color.fg.light};
}
'';
}

View file

@ -17,8 +17,8 @@ in {
#scratchpad,
#language {
padding: ${paddingV} ${paddingH};
border-top: ${toString config.module.style.window.border}px solid transparent;
border-bottom: ${toString config.module.style.window.border}px solid transparent;
border-top: ${toString config.style.window.border}px solid transparent;
border-bottom: ${toString config.style.window.border}px solid transparent;
}
#cpu {
@ -58,24 +58,24 @@ in {
#tray:hover,
#scratchpad:hover,
#workspaces button:hover {
background-color: rgba(${config.module.style.color.border-r},${config.module.style.color.border-g},${config.module.style.color.border-b},${toString config.module.style.opacity.desktop});
background-color: rgba(${config.style.color.border-r},${config.style.color.border-g},${config.style.color.border-b},${toString config.style.opacity.desktop});
}
#pulseaudio.muted,
#battery.critical,
#tray.needs-attention,
#custom-display.modified {
border-top: ${toString config.module.style.window.border}px solid #${config.module.style.color.accent};
border-top: ${toString config.style.window.border}px solid #${config.style.color.accent};
}
#workspaces button {
padding: ${paddingV} 4px;
border-top: ${toString config.module.style.window.border}px solid transparent;
border-top: ${toString config.style.window.border}px solid transparent;
border-radius: 0;
}
#workspaces button.focused {
border-top: ${toString config.module.style.window.border}px solid #${config.module.style.color.accent};
border-top: ${toString config.style.window.border}px solid #${config.style.color.accent};
}
'';
}

View file

@ -1,16 +1,16 @@
{ config, ... }: {
text = ''
window#waybar {
background-color: rgba(${config.module.style.color.bg-r},${config.module.style.color.bg-g},${config.module.style.color.bg-b},${toString config.module.style.opacity.desktop});
border: ${toString config.module.style.window.border}px solid rgba(${config.module.style.color.border-r},${config.module.style.color.border-g},${config.module.style.color.border-b},${toString config.module.style.opacity.desktop});
background-color: rgba(${config.style.color.bg-r},${config.style.color.bg-g},${config.style.color.bg-b},${toString config.style.opacity.desktop});
border: ${toString config.style.window.border}px solid rgba(${config.style.color.border-r},${config.style.color.border-g},${config.style.color.border-b},${toString config.style.opacity.desktop});
}
.modules-left > widget:first-child > #workspaces {
margin-left: ${toString config.module.style.window.border}px;
margin-left: ${toString config.style.window.border}px;
}
.modules-right > widget:last-child > #workspaces {
margin-right: ${toString config.module.style.window.border}px;
margin-right: ${toString config.style.window.border}px;
}
'';
}

View file

@ -4,19 +4,19 @@
in {
file = (pkgs.formats.iniWithGlobalSection {}).generate "FootConfig" {
globalSection = {
font = "${config.module.style.font.monospace.name}:size=${toString config.module.style.font.size.terminal}";
# font-bold = "${style.font.monospace.name}:size=${toString style.font.size.terminal}";
font-italic = "${config.module.style.font.monospace.name}:size=${toString config.module.style.font.size.terminal}";
font-bold-italic = "${config.module.style.font.monospace.name}:size=${toString config.module.style.font.size.terminal}";
font = "${config.style.font.monospace.name}:size=${toString config.style.font.size.terminal}";
# font-bold = "${config.style.font.monospace.name}:size=${toString config.style.font.size.terminal}";
font-italic = "${config.style.font.monospace.name}:size=${toString config.style.font.size.terminal}";
font-bold-italic = "${config.style.font.monospace.name}:size=${toString config.style.font.size.terminal}";
dpi-aware = dpiAware;
font-size-adjustment = fontStep;
};
sections = {
colors = {
alpha = config.module.style.opacity.terminal;
background = config.module.style.color.bg.dark;
foreground = config.module.style.color.fg.light;
alpha = config.style.opacity.terminal;
background = config.style.color.bg.dark;
foreground = config.style.color.fg.light;
};
};
};

View file

@ -5,7 +5,7 @@ in {
main = {
dpi-aware = dpiAware;
# font = "${style.font.serif.name}:size=${toString style.font.size.popup}";
font = "Minecraftia:size=${toString config.module.style.font.size.popup}";
font = "Minecraftia:size=${toString config.style.font.size.popup}";
lines = 20;
prompt = "\"\"";
show-actions = "yes";
@ -20,13 +20,13 @@ in {
colors = let
defaultOpacity = "ff";
in {
background = config.module.style.color.bg.dark + config.module.style.opacity.hex;
border = config.module.style.color.border + config.module.style.opacity.hex;
match = config.module.style.color.fg.light + defaultOpacity;
selection = config.module.style.color.bg.regular + defaultOpacity;
selection-match = config.module.style.color.accent + defaultOpacity;
selection-text = config.module.style.color.fg.light + defaultOpacity;
text = config.module.style.color.fg.light + defaultOpacity;
background = config.style.color.bg.dark + config.style.opacity.hex;
border = config.style.color.border + config.style.opacity.hex;
match = config.style.color.fg.light + defaultOpacity;
selection = config.style.color.bg.regular + defaultOpacity;
selection-match = config.style.color.accent + defaultOpacity;
selection-text = config.style.color.fg.light + defaultOpacity;
text = config.style.color.fg.light + defaultOpacity;
};
};
}

View file

@ -1,17 +1,17 @@
{ pkgs, config, ... }: let
alpha = config.module.style.opacity.hex;
alpha = config.style.opacity.hex;
in {
file = (pkgs.formats.iniWithGlobalSection {}).generate "MakoConfig" {
globalSection = {
anchor = "top-center";
background-color = "#${config.module.style.color.bg.dark}${alpha}";
border-color = "#${config.module.style.color.border}${alpha}";
background-color = "#${config.style.color.bg.dark}${alpha}";
border-color = "#${config.style.color.border}${alpha}";
default-timeout = config.setting.timeout.popup;
font = "${config.module.style.font.serif.name} ${toString config.module.style.font.size.popup}";
font = "${config.style.font.serif.name} ${toString config.style.font.size.popup}";
height = 120;
icons = 0;
margin = 32;
text-color = "#${config.module.style.color.fg.light}";
text-color = "#${config.style.color.fg.light}";
width = 480;
};
};

View file

@ -1,28 +1,28 @@
{ pkgs, config, ... }: let
border = {
fg = "#${config.module.style.color.border}";
fg = "#${config.style.color.border}";
};
borderLight = {
fg = "#${config.module.style.color.accent}";
fg = "#${config.style.color.accent}";
};
in {
file = (pkgs.formats.toml {}).generate "YaziThemeConfig" {
manager = {
cwd = {
fg = "#${config.module.style.color.fg.light}";
fg = "#${config.style.color.fg.light}";
# bg = "#${style.color.bg.regular}";
};
hovered = {
fg = "#${config.module.style.color.fg.light}";
bg = "#${config.module.style.color.bg.regular}";
fg = "#${config.style.color.fg.light}";
bg = "#${config.style.color.bg.regular}";
};
preview_hovered = {
fg = "#${config.module.style.color.fg.light}";
bg = "#${config.module.style.color.bg.regular}";
fg = "#${config.style.color.fg.light}";
bg = "#${config.style.color.bg.regular}";
};
border_style = border;
tab_active = {
bg = "#${config.module.style.color.accent}";
bg = "#${config.style.color.accent}";
};
};
select = { inherit borderLight; };