My home-manager zsh config
jiriks74
6e1b319b72
It takes 11 minutes to cache everything on a otherwise 2 minute job. Nix doesn't even pull from it most of the time. |
||
---|---|---|
.forgejo/workflows | ||
.gitignore | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
packages.nix | ||
README.md | ||
zsh.nix |
zsh-nix
A home-manager
flake containing my zsh
config.
Usage
{
# Add this flake to your inputs
inputs = {
zsh-config.url = "/home/jirka/Projects/zsh-nix/";
...
}
...
outputs = {
self,
nixpkgs,
home-manager,
zsh-config, # Don't forget to import it
...
}
...
# Then add it to your homeConfigurations
homeConfigurations = {
"user@hostname" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
extraSpecialArgs = {inherit inputs outputs;};
modules = [
...
inputs.zsh-config.homeManagerModules.default
...
];
};
ZSH Configuration Flake
This flake provides a ZSH configuration with various plugins, syntax highlighting, enhanced file handling, etc.
Overview
Notable plugins
zsh-autosuggestions
: Provides suggestions as you type based on your command history.zsh-you-should-use
: Reminds you to use aliases for commands you frequently type. It helps you streamline your workflow.ssh-connect
: A utility for managing SSH connections and quickly switching between them.enhancd
: Improves directory navigation with fuzzy search, similar tozsh-z
.zsh-completions
: Adds missing completions for various tools.powerlevel10k
: A highly customizable ZSH theme that gives you a clean and modern look with useful information in your prompt.git
plugin: Provides consistent, intuitive aliases and extra functions for common Git commands, improving workflow efficiency.
Packages
This flake includes some useful packages:
nix-zsh-completions
: ZSH completions for Nix, NixOS, and NixOps.asciinema
: Terminal recording tool.libnotify
: Provides notifications for terminal events.websocat
: Used for streaming asciinema recordings in v2 format.
tldr
: Community-driven simplified man pages for faster reference.lsd
: A next-generationls
command with improved features.bat
: Acat
clone with syntax highlighting and Git integration.eza
: A modern, maintained replacement forls
.trash-cli
: Command line interface to the Freedesktop.org trashcan.
Other
ex
: A shell function to extract various archive formats.- Supported formats include
.tar.bz2
,.zip
,.rar
,.gz
, and more.
- Supported formats include