Package pkgmgr with multi-format manifests
- Add pyproject.toml and setuptools config for pkgmgr packaging - Add Nix flake (devShell + pkgmgr package output) - Add Arch PKGBUILD for system packaging - Introduce pkgmgr.yml manifest for repo-level dependencies - Refactor CLI into pkgmgr/cli.py and make main.py a thin entrypoint - Extend install_repos to handle pkgmgr.yml, PKGBUILD, flake.nix, Ansible and Python manifests - Enhance status/update to show Nix/yay system status and upgrades - Improve .gitignore and document requirements.yml Created with AI (ChatGPT) – see conversation: https://chatgpt.com/share/6932f2ca-f560-800f-8bb0-52cb82f27e88
This commit is contained in:
40
flake.nix
Normal file
40
flake.nix
Normal file
@@ -0,0 +1,40 @@
|
||||
# flake.nix
|
||||
# This file defines a Nix flake providing a reproducible development environment
|
||||
# and optional installation package for the package-manager tool.
|
||||
|
||||
{
|
||||
description = "Nix flake for Kevin's package-manager tool";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs }:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||
in {
|
||||
|
||||
# Development environment used via: nix develop
|
||||
devShells.default = pkgs.mkShell {
|
||||
# System packages for development
|
||||
buildInputs = [
|
||||
pkgs.python311
|
||||
pkgs.python311Packages.pyyaml
|
||||
pkgs.git
|
||||
];
|
||||
|
||||
# Message shown on environment entry
|
||||
shellHook = ''
|
||||
echo "Entered pkgmgr development environment";
|
||||
'';
|
||||
};
|
||||
|
||||
# Optional installable package for "nix profile install"
|
||||
packages.pkgmgr = pkgs.python311Packages.buildPythonApplication {
|
||||
pname = "package-manager";
|
||||
version = "0.1.0";
|
||||
src = ./.;
|
||||
propagatedBuildInputs = [ pkgs.python311Packages.pyyaml ];
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user