{"id":44662558,"url":"https://github.com/eureka-cpu/ns","last_synced_at":"2026-02-14T23:37:54.171Z","repository":{"id":331946630,"uuid":"1131311276","full_name":"eureka-cpu/ns","owner":"eureka-cpu","description":"A unified interface for nix shell.","archived":false,"fork":false,"pushed_at":"2026-02-07T07:36:51.000Z","size":26,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-07T17:37:39.776Z","etag":null,"topics":["devshell","flakes","nix","nix-command","nix-shell"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/eureka-cpu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-09T19:54:04.000Z","updated_at":"2026-02-07T07:36:53.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/eureka-cpu/ns","commit_stats":null,"previous_names":["eureka-cpu/ns"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eureka-cpu/ns","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eureka-cpu%2Fns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eureka-cpu%2Fns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eureka-cpu%2Fns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eureka-cpu%2Fns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eureka-cpu","download_url":"https://codeload.github.com/eureka-cpu/ns/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eureka-cpu%2Fns/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29460932,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T22:42:09.113Z","status":"ssl_error","status_checked_at":"2026-02-14T22:42:05.053Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["devshell","flakes","nix","nix-command","nix-shell"],"created_at":"2026-02-14T23:37:52.592Z","updated_at":"2026-02-14T23:37:54.163Z","avatar_url":"https://github.com/eureka-cpu.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ns\n\nAn intuitive nix shell interface that unifies the `nix shell`, `nix develop` and `nix-shell` commands.\n\nRather than exposing rigid per-command options, `ns` infers intent from the structure of the expression\nitself, selecting an appropriate strategy based on the system's capabilities and available entrypoints.\n\nThe entire interface can be summarized by the following excerpt of the manpage:\n\n```\nns [OPTION]… [SOURCE]… [TARGET_DIR]\n```\n\n\u003e \u003cpre\u003e\n\u003e Each SOURCE is positional and may be one of:\n\u003e \n\u003e   URI#ATTR            select a devshell or package from a flake\n\u003e   URI#{DRV1,DRV2}     compose multiple packages from a flake\n\u003e   DIR#ATTR            select from a local flake\n\u003e   DIR                 use the default devshell in a directory\n\u003e \n\u003e If the final argument is a plain directory path, ns will switch to that\n\u003e directory before entering the subshell.\n\u003e \n\u003e If a single SOURCE is provided and it is a directory, ns switches into\n\u003e it by default unless a TARGET_DIR is explicitly given.\n\u003e \u003c/pre\u003e\n\nTry it from anywhere:\n\n```sh\n# requires flakes and nix-command experimental features\nnix run github:eureka-cpu/ns -- \u003cURI\u003e#\u003cATTR\u003e\n```\n\nAdd or remove it from your user profile:\n\n```sh\nnix profile install github:eureka-cpu/ns\nnix profile remove ns\n```\n\n## Contributing\n\n\u003e [!Important]\n\u003e Additional options and flags are intentionally limited to avoid cluttering the interface.\n\u003e It is the opinion of the maintainers of this package that such options are better off as\n\u003e part of a `flake.nix` devshell, `shell.nix`, or system configuration, where such options\n\u003e are homogenous with the design of `ns.` Please take this into consideration and explore\n\u003e other options before opening issues or pull requests.\n\nFork the repository on GitHub, then:\n\n```sh\ngit clone git@github.com:USERNAME/ns.git\nnix profile install github:eureka-cpu/ns\nns ns\n```\n\nOpen an issue and submit a pull request with closing keywords.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feureka-cpu%2Fns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feureka-cpu%2Fns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feureka-cpu%2Fns/lists"}