feat(nix): Convert to a flake
This commit is contained in:
parent
fc0e1e67d2
commit
8248b8c658
4 changed files with 382 additions and 203 deletions
73
README.md
73
README.md
|
@ -1,3 +1,74 @@
|
|||
# zsh-nix
|
||||
|
||||
My home-manager zsh config
|
||||
A [`home-manager`]() flake containing my [`zsh`]() config.
|
||||
|
||||
## Usage
|
||||
|
||||
```nix
|
||||
{
|
||||
# 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 = [
|
||||
...
|
||||
zsh-config.home-managerModule
|
||||
...
|
||||
];
|
||||
};
|
||||
```
|
||||
|
||||
# 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.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue