82 lines
1.8 KiB
Nix
82 lines
1.8 KiB
Nix
{ pkgs
|
|
, inputs
|
|
, const
|
|
, style
|
|
, util
|
|
, key
|
|
, secret
|
|
, ... } @args: let
|
|
# Path where Termux stores user data.
|
|
homePath = "/data/data/com.termux.nix/files/home";
|
|
|
|
# Android modules.
|
|
environment = import ./Environment.nix args;
|
|
git = import ./Git.nix args;
|
|
package = import ./Package.nix args;
|
|
termux = import ./Termux.nix args;
|
|
|
|
# External modules.
|
|
bash = import ../module/common/bash args;
|
|
nvim = import ../module/common/nvim args;
|
|
ssh = import ../module/common/ssh args;
|
|
tmux = import ../module/common/tmux args;
|
|
yazi = import ../user/common/yazi args;
|
|
in {
|
|
# Configure system.
|
|
time.timeZone = const.timeZone;
|
|
nix.extraOptions = "experimental-features = nix-command flakes";
|
|
|
|
# Install packages.
|
|
environment.packages = package.list;
|
|
|
|
home-manager.config = {
|
|
home = {
|
|
# Release version.
|
|
stateVersion = const.droidStateVersion;
|
|
|
|
# Environment variables.
|
|
sessionVariables = environment.variables;
|
|
|
|
# Where to put config files.
|
|
file = {
|
|
".dotfiles".source = inputs.self;
|
|
".ssh/config".text = ssh.config;
|
|
".termux/_font.ttf".source = termux.font;
|
|
".termux/_colors.properties".text = termux.colors;
|
|
".config/yazi/init.lua".source = yazi.init;
|
|
".config/yazi/keymap.toml".source = yazi.keymap;
|
|
".config/yazi/theme.toml".source = yazi.theme;
|
|
".config/yazi/yazi.toml".source = yazi.yazi;
|
|
};
|
|
};
|
|
|
|
# Special app configuration.
|
|
programs = {
|
|
bash = {
|
|
enable = true;
|
|
bashrcExtra = bash.config + termux.initScript;
|
|
};
|
|
|
|
tmux = {
|
|
enable = true;
|
|
extraConfig = tmux.config;
|
|
};
|
|
|
|
git = {
|
|
enable = true;
|
|
extraConfig = git.config;
|
|
};
|
|
|
|
neovim = {
|
|
enable = true;
|
|
extraConfig = nvim.config;
|
|
};
|
|
|
|
gpg = {
|
|
enable = true;
|
|
inherit (secret.crypto) publicKeys;
|
|
};
|
|
};
|
|
};
|
|
}
|