{ config, pkgs, ... }: { # Home Manager needs a bit of information about you and the paths it should # manage. home.username = "nix-on-droid"; home.homeDirectory = "/data/data/com.termux.nix/files/home"; # This value determines the Home Manager release that your configuration is # compatible with. This helps avoid breakage when a new Home Manager release # introduces backwards incompatible changes. # # You should not change this value, even if you update Home Manager. If you do # want to update the value, then make sure to first check the Home Manager # release notes. home.stateVersion = "24.05"; # Please read the comment before changing. # The home.packages option allows you to install Nix packages into your # environment. home.packages = with pkgs; [ zsh zsh-powerlevel10k oh-my-zsh thefuck fzf zsh-fzf-tab git eza hyfetch helix curl nil openssh perl gawk gnused clang_16 lldb_16 llvm_16 cmake openjdk ]; # Home Manager is pretty good at managing dotfiles. The primary way to manage # plain files is through 'home.file'. home.file = { }; home.sessionVariables = { EDITOR = "hx"; }; programs.home-manager.enable = true; programs.fzf = { enable = true; enableZshIntegration = true; }; programs.zsh = { enable = true; enableCompletion = true; syntaxHighlighting.enable = true; shellAliases = { ls = "eza"; ll = "eza --icons -l"; la = "eza --icons -al"; vi = "hx"; vim = "hx"; update = "nix-on-droid switch"; home-edit = "hx ~/.config/nixpkgs"; }; history = { size = 10000; path = "${config.xdg.dataHome}/zsh/history"; }; zplug = { enable = true; plugins = [{ name = "zsh-users/zsh-autosuggestions"; }]; }; plugins = [{ name = "powerlevel10k"; src = pkgs.zsh-powerlevel10k; file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme"; }]; oh-my-zsh = { enable = true; plugins = [ "git" "thefuck" ]; theme = "agnoster"; }; initExtra = '' [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh source ${pkgs.zsh-fzf-tab}/share/fzf-tab/fzf-tab.plugin.zsh [[ ! -f ~/.scripts/github.sh ]] || source ~/.scripts/github.sh ''; }; }