- 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
41 lines
1.1 KiB
Nix
41 lines
1.1 KiB
Nix
# 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 ];
|
|
};
|
|
};
|
|
}
|