{"id":27153534,"url":"https://github.com/jojo4gh/nav","last_synced_at":"2025-04-08T16:17:31.129Z","repository":{"id":250518355,"uuid":"833423037","full_name":"Jojo4GH/nav","owner":"Jojo4GH","description":"The interactive and intuitive replacement for ls \u0026 cd!","archived":false,"fork":false,"pushed_at":"2025-03-30T20:19:46.000Z","size":233,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-30T20:23:57.293Z","etag":null,"topics":["cd","color","command-line","files","interactive","kotlin-native","ls","terminal","tools"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jojo4GH.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-25T03:01:33.000Z","updated_at":"2025-03-30T20:19:49.000Z","dependencies_parsed_at":"2025-03-30T20:31:25.352Z","dependency_job_id":null,"html_url":"https://github.com/Jojo4GH/nav","commit_stats":null,"previous_names":["jojo4gh/nav"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jojo4GH%2Fnav","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jojo4GH%2Fnav/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jojo4GH%2Fnav/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jojo4GH%2Fnav/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jojo4GH","download_url":"https://codeload.github.com/Jojo4GH/nav/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247878004,"owners_count":21011158,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cd","color","command-line","files","interactive","kotlin-native","ls","terminal","tools"],"created_at":"2025-04-08T16:17:30.667Z","updated_at":"2025-04-08T16:17:31.123Z","avatar_url":"https://github.com/Jojo4GH.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 📂 nav 📂\n\nThe interactive and stylish replacement for ls \u0026 cd!\n\n![nav demo](media/screenshot2.png)\n\n![nav demo filter](media/screenshot3.png)\n\n\u003c/div\u003e\n\n---\n\nEver tried to find that one config file hidden deep in your directory tree?\nOr maybe you just want to quickly jump to a directory and inspect some files on the way?  \n✨ **nav** is here to help! ✨  \nWritten in Kotlin/Native, nav provides a modern and intuitive terminal UI to navigate your filesystem.\n\n- ➡️ Use arrow keys to navigate everywhere\n- ⌨️ Type to filter entries, press `Tab` to autocomplete\n- ✏️ Instantly edit files with your favorite editor on the fly\n- 📈 Create files and directories or run commands everywhere\n- ✅ Press `Enter` to move your shell to the current directory\n\n## 🚀 Installation\n\n### 1. Install **nav**\n\nSelect your operating system\n\n\u003cdetails\u003e\n\u003csummary\u003eLinux\u003c/summary\u003e\n\nInstall (or update) nav with the [installer script](install/install.sh):\n```sh\ncurl -sS https://raw.githubusercontent.com/Jojo4GH/nav/master/install/install.sh | sh\n```\nOr install with any of the following package managers:\n| Distribution | Repository | Instructions                               |\n| ------------ | ---------- | ------------------------------------------ |\n| Arch Linux   | [AUR]      | `pacman -S nav-cli` \u003cbr/\u003e `yay -S nav-cli` |\n\n[AUR]: https://aur.archlinux.org/packages/nav-cli\n\nOr on NixOS, add the following to your configuration:\n```nix\n{ config, pkgs, ... }:\nlet # nav derivation as it is not yet available in nixpkgs\n    repo = builtins.fetchGit {\n        url = \"https://github.com/Jojo4GH/nav\";\n        ref = \"master\";\n    };\nin\n{ # Install nav:\n    environment.systemPackages = [ (pkgs.callPackage \"${repo}/install\" { }) ];\n}\n```\n\nOr manually download the [latest release](https://github.com/Jojo4GH/nav/releases/latest).\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eWindows\u003c/summary\u003e\n\nOn Windows, you can use [scoop](https://scoop.sh) to install nav:\n\n```powershell\nscoop bucket add JojoIV \"https://github.com/Jojo4GH/scoop-JojoIV\"\nscoop install nav\n```\n\nOr without adding the bucket:\n\n```powershell\nscoop install \"https://raw.githubusercontent.com/Jojo4GH/scoop-JojoIV/master/bucket/nav.json\"\n```\n\n\u003c/details\u003e\n\n### 2. Set up your shell\n\nConfigure your shell to initialize nav. This is required for the *cd* part of nav's functionality.\n\n\u003cdetails\u003e\n\u003csummary\u003eBash\u003c/summary\u003e\n\nAdd the following to the end of `~/.bashrc`:\n\n```sh\neval \"$(nav --init bash)\"\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eZsh\u003c/summary\u003e\n\nAdd the following to the end of `~/.zshrc`:\n\n```sh\neval \"$(nav --init zsh)\"\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003ePowershell\u003c/summary\u003e\n\nAdd one of the following to the end of your PowerShell configuration (find it by running `$PROFILE`):\n\n```powershell\nInvoke-Expression (\u0026 nav --init powershell | Out-String)\n```\n\n```powershell\nInvoke-Expression (\u0026 nav --init pwsh | Out-String)\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eNixOS\u003c/summary\u003e\n\nBash:\n\n```nix\nprograms.bash.shellInit = \"eval \\\"$(nav --init bash)\\\"\";\n```\n\nZsh:\n\n```nix\nprograms.zsh.shellInit = \"eval \\\"$(nav --init zsh)\\\"\";\n```\n\nOr with `home-manager`:\n\n```nix\nhome-manager.users.user.programs = {\n    bash = {\n        enable = true;\n        bashrcExtra = \"eval \\\"$(nav --init bash)\\\"\";\n    };\n    zsh = {\n        inherit (config.programs.zsh) enable;\n        initExtra = \"eval \\\"$(nav --init zsh)\\\"\";\n    };\n};\n```\n\n\u003c/details\u003e\n\n## 🔧 Configuration\n\nThe default location for the configuration file is `~/.config/nav.toml`.\nYou can change this by setting the `NAV_CONFIG` environment variable:\n\n\u003cdetails\u003e\n\u003csummary\u003eLinux\u003c/summary\u003e\n\n```sh\nexport NAV_CONFIG=~/some/other/path/nav.toml\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003ePowershell\u003c/summary\u003e\n\n```powershell\n$ENV:NAV_CONFIG = \"$HOME\\some\\other\\path\\nav.toml\"\n```\n\n\u003c/details\u003e\n\nThe default configuration looks as follows:\n\n```toml\neditor = \"nano\"\nhideHints = false\nclearOnExit = true\n\nlimitToTerminalHeight = true\nmaxVisibleEntries = 20 # Set to 0 for unlimited entries\nmaxVisiblePathElements = 6\n# Used to distinguish escape sequences on Linux terminals\ninputTimeoutMillis = 4 # Set to 0 for no timeout\nsuppressInitCheck = false\n\n[keys]\n\nsubmit = \"Enter\"\ncancel = \"Escape\"\n\ncursor.up = \"ArrowUp\"\ncursor.down = \"ArrowDown\"\ncursor.home = \"Home\"\ncursor.end = \"End\"\n\nnav.up = \"ArrowLeft\"\nnav.into = \"ArrowRight\"\nnav.open = \"ArrowRight\"\n\nmenu.up = \"PageUp\"\nmenu.down = \"PageDown\"\n\nfilter.autocomplete = \"Tab\"\nfilter.clear = \"Escape\"\n\n[colors]\n\npath = \"00DBB7\"\nfilter = \"00DBB7\"\nfilterMarker = \"00DBB7\"\nkeyHints = \"FFFFFF\"\n\npermissionRead = \"F71674\"\npermissionWrite = \"F5741D\"\npermissionExecute = \"009FFD\"\nentrySize = \"F5741D\"\nmodificationTime = \"009FFD\"\n\ndirectory = \"F71674\"\nfile = \"F5741D\"\nlink = \"009FFD\"\n\n[autocomplete]\n\n# Controls the behavior of the auto complete feature\n# - \"CommonPrefixCycle\": Auto completes the largest common prefix and cycles through all entries\n# - \"CommonPrefixStop\": Auto completes the largest common prefix and stops\nstyle = \"CommonPrefixCycle\"\n# Controls auto navigation on completion\n# - \"None\": Do not auto navigate\n# - \"OnSingleAfterCompletion\": Auto completes the entry and on second action navigates\n# - \"OnSingle\": Auto completes the entry and navigates immediately (not recommended)\nautoNavigation = \"OnSingleAfterCompletion\"\n\n[modificationTime]\n\nminimumBrightness = 0.4\nhalfBrightnessAtHours = 12.0\n```\n\nFor valid key names see [web keyboard event values](https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_key_values).\n\n## Known Issues\n\n- Symbolic link destinations are not shown and handled weirdly.\n\n## ❤️ Powered by\n\n- UI: [Mordant](https://github.com/ajalt/mordant)\n- CLI: [Clikt](https://github.com/ajalt/clikt)\n- Commands: [Kommand](https://github.com/kgit2/kommand)\n- Config file: [ktoml](https://github.com/orchestr7/ktoml)\n- Kotlin/Native\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjojo4gh%2Fnav","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjojo4gh%2Fnav","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjojo4gh%2Fnav/lists"}