My home-manager zsh config
Find a file
github-actions[bot] 70e452d674
Some checks failed
Perform checks / nix_flake_check (push) Failing after 9m37s
Perform checks / formatting (push) Failing after 10m5s
Perform checks / nix_flake_check (pull_request) Failing after 9m42s
Perform checks / formatting (pull_request) Failing after 10m2s
automated: Update flake.lock
- The following Nix Flake inputs were updated:

```
• Updated input 'home-manager':
    'github:nix-community/home-manager/f3d3b4592a73fb64b5423234c01985ea73976596?narHash=sha256-LOrOfPWpJU/ADWDyVwPv9XNuYPq5KJtmAmSzplpccmE%3D' (2025-09-02)
  → 'github:nix-community/home-manager/a3fcc92180c7462082cd849498369591dfb20855?narHash=sha256-UqHHGydF/q3jfYXCpvYLA0TWtvByOp1NwOKCUjhYmPs%3D' (2025-09-12)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d7600c775f877cd87b4f5a831c28aa94137377aa?narHash=sha256-tlOn88coG5fzdyqz6R93SQL5Gpq%2Bm/DsWpekNFhqPQk%3D' (2025-08-30)
  → 'github:NixOS/nixpkgs/ab0f3607a6c7486ea22229b92ed2d355f1482ee0?narHash=sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/%2BG0lKfv4kk/5Izdg%3D' (2025-09-10)
```

Auto-generated by [update.yml][1] with the help of
[create-pull-request][2].

[1]: https://forgejo.stefka.eu/jiriks74/nix.nvim/src/branch/main/.github/workflows/update.yml
[2]: https://forgejo.stefka.eu/jiriks74/create-pull-request
2025-09-13 00:10:53 +00:00
.forgejo/workflows fix: Drop nixpkgs input 2025-03-13 22:25:46 +01:00
modules feat(kubernetes): Add helm package, kubectl-aliases plugin 2025-09-05 12:50:49 +02:00
.gitignore Initial commit 2024-03-04 12:11:09 +01:00
flake.lock automated: Update flake.lock 2025-09-13 00:10:53 +00:00
flake.nix feat: Convert to module options 2025-04-19 23:58:05 +02:00
LICENSE Initial commit 2024-03-04 12:11:09 +01:00
README.md fix: Remove obsolete inputs, use more standard naming 2024-10-18 14:53:01 +02:00

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 to zsh-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-generation ls command with improved features.
  • bat: A cat clone with syntax highlighting and Git integration.
  • eza: A modern, maintained replacement for ls.
  • 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.