mirror of
https://github.com/anotherhadi/nixy.git
synced 2026-05-20 13:22:34 +02:00
Refactor flakes
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# Groups
|
||||
|
||||
Groups are curated sets of packages exposed as flake outputs. Each group has two forms:
|
||||
|
||||
- **`homeManagerModules.<group>`** — full home-manager module (packages + files + systemd units)
|
||||
- **`packages.<group>`** — standalone environment for `nix shell` (packages only)
|
||||
|
||||
## Available groups
|
||||
|
||||
- dev (go, bun, air, ...)
|
||||
- cybersecurity (nmap, john, dirb, ffuf, ...)
|
||||
|
||||
For the Cybersecurity group, the home-manager module also sets up:
|
||||
|
||||
- `~/Cyber/wordlists/` with SecLists, fuzz4bounty, and hashcat rules
|
||||
- `~/Cyber/tmp/` as a temporary workspace
|
||||
|
||||
## Use in another flake
|
||||
|
||||
Add this repo as an input:
|
||||
|
||||
```nix
|
||||
inputs.nixy.url = "github:anotherhadi/nixy";
|
||||
```
|
||||
|
||||
Import the home-manager module in your home configuration:
|
||||
|
||||
```nix
|
||||
{ inputs, ... }: {
|
||||
imports = [
|
||||
inputs.nixy.homeManagerModules.cybersecurity
|
||||
# inputs.nixy.homeManagerModules.dev
|
||||
];
|
||||
}
|
||||
```
|
||||
|
||||
## Quick shell without installing
|
||||
|
||||
```sh
|
||||
nix shell github:anotherhadi/nixy#cybersecurity
|
||||
nix shell github:anotherhadi/nixy#dev
|
||||
```
|
||||
|
||||
This drops you into a shell with all tools in `PATH`. No home-manager required, no wordlists or systemd units.
|
||||
@@ -0,0 +1,46 @@
|
||||
# Neovim
|
||||
|
||||
The Neovim configuration is built with [nvf](https://github.com/notashelf/nvf) and exposed as a standalone flake output.
|
||||
It can be used in three ways: run it directly, import it into another flake's home-manager setup, or use it as part of this config.
|
||||
|
||||
## Run directly
|
||||
|
||||
No installation needed:
|
||||
|
||||
```sh
|
||||
nix run github:anotherhadi/nixy#nvim
|
||||
```
|
||||
|
||||
## Use in another flake
|
||||
|
||||
Add this repo as an input:
|
||||
|
||||
```nix
|
||||
inputs.nixy.url = "github:anotherhadi/nixy";
|
||||
```
|
||||
|
||||
Then import the home-manager module in your home configuration:
|
||||
|
||||
```nix
|
||||
{ inputs, ... }: {
|
||||
imports = [
|
||||
inputs.nixy.inputs.nvf.homeManagerModules.default
|
||||
inputs.nixy.homeManagerModules.nvim
|
||||
];
|
||||
}
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> The `nvf` home-manager module is required. It is re-exported via `inputs.nixy.inputs.nvf` so you don't need to declare it separately in your own flake.
|
||||
|
||||
## What's included
|
||||
|
||||
| File | Description |
|
||||
| --------------- | ---------------------------------------------------------------------- |
|
||||
| `options.nix` | Core settings: theme (catppuccin mocha), clipboard, indentation, folds |
|
||||
| `languages.nix` | LSP, treesitter, formatters, diagnostics, and per-language config |
|
||||
| `keymaps.nix` | All key mappings (leader: `space`) |
|
||||
| `picker.nix` | Snacks picker + oil.nvim |
|
||||
| `snacks.nix` | Snacks extras: image preview, zen mode, git signs, statuscolumn |
|
||||
| `utils.nix` | Bufferline, lualine, copilot, lazygit, toggleterm, autocomplete |
|
||||
| `mini.nix` | Mini.nvim suite: pairs, comment, icons, indentscope, diff, git |
|
||||
Reference in New Issue
Block a user