{"id":15988552,"url":"https://github.com/woile/npt","last_synced_at":"2025-03-18T01:30:37.886Z","repository":{"id":150147904,"uuid":"586588927","full_name":"woile/npt","owner":"woile","description":"Nix Package Tool. A (humble) successor to linux's apt, which makes life easier when using nix as a package manager.","archived":false,"fork":false,"pushed_at":"2023-05-12T17:53:57.000Z","size":54,"stargazers_count":27,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-16T16:11:44.157Z","etag":null,"topics":["apt","brew","flake","nix","package-manager","pacman"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/woile.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2023-01-08T17:03:30.000Z","updated_at":"2024-09-25T09:13:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"7e921b6d-0c5b-4545-8c9a-16f372c2e24f","html_url":"https://github.com/woile/npt","commit_stats":{"total_commits":31,"total_committers":1,"mean_commits":31.0,"dds":0.0,"last_synced_commit":"cd8641d349cd9450f2ee3c171c03ead54dd7418d"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woile%2Fnpt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woile%2Fnpt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woile%2Fnpt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woile%2Fnpt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/woile","download_url":"https://codeload.github.com/woile/npt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244139050,"owners_count":20404444,"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":["apt","brew","flake","nix","package-manager","pacman"],"created_at":"2024-10-08T04:05:25.066Z","updated_at":"2025-03-18T01:30:37.881Z","avatar_url":"https://github.com/woile.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NPT\n\n\u003e Nix Package Tool\n\nA (humble) successor to linux's `apt`, which makes life easier when using [nix](https://nixos.org/) as a package manager.\n\nThis is a tool I'm using in my nix journey, it's supposed to ease the transition from other\npackage managers to nix.\n\nThe idea is to use [nix profiles](https://nixos.org/manual/nix/stable/package-management/profiles.html) in the way you'd use `apt` or `brew`.\n\nIt is a work in progress, but feel free to play with it.\n\n## Requirements\n\n- Install [nix the package manager](https://nixos.org/download.html)\n- [Enable flakes](https://nixos.wiki/wiki/Flakes#Enable_flakes)\n\nOr just use the [nix installer](https://github.com/DeterminateSystems/nix-installer)\n\n```sh\ncurl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install\n```\n\n## Goals\n\n- Help the transition from traditional package managers (`apt`, `brew`, `pacman`, etc) to nix\n- Good and intuitive UX\n- Learn nix while using, this can display the commands executed `npt --teacher install \u003cpackage\u003e`\n\n## Installation\n\n```sh\nnix profile install 'github:woile/npt#npt'\n```\n\n## Usage\n\n```$ npt --help\nNix Package Tool\n\nUsage: npt [OPTIONS] \u003cCOMMAND\u003e\n\nCommands:\n  install  Install packages for the profile, if no repository provided, it defaults to nixpkgs [aliases: i]\n  list     List installed packages [aliases: ls]\n  upgrade  Update all or specific packages [aliases: u]\n  search   Find a package in the registry, if no repository provided, it defaults to nixpkgs [aliases: s]\n  remove   Remove one or more packages [aliases: rm]\n  help     Print this message or the help of the given subcommand(s)\n\nOptions:\n  -t, --teacher\n  -h, --help     Print help information\n  -V, --version  Print version information\n```\n\n## TODO\n\n- [ ] How to make search accept a repo only?\n- [ ] How to make search accept a regex?\n- [ ] Accept a package or expression in the List command\n- [ ] Implement `update` command\n- [ ] provide compiled tar's to speed up flakes\n\n## Contributing\n\n1. Make changes\n2. Create a git commit\n3. Run\n\n```sh\nnix flake update\n```\n\n4. Create a git commit","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwoile%2Fnpt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwoile%2Fnpt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwoile%2Fnpt/lists"}