It feels like magic. I think of it as the glue that makes almost all of my software work together seamlessly. I can’t wait to use it for one-click deployments of my software on a server or high-availability cluster.
This is why I decided to learn Nix. I built dev environment flakes that provision the devshell for any language I intend to use. I actually won’t even bother unless I can get something working reliably with Nix. ;)
For example, here’s a flake that I use for my Python dev environment to provide all needed wiring and setup for an interactive Python web scraper I built:
{
description = "Interactive Web Scraper";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs?ref=nixpkgs-unstable";
utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, utils }: utils.lib.eachSystem ["x86_64-linux"] (system: let
pkgs = import nixpkgs { system = system; };
in rec {
packages = {
pyinputplus = pkgs.python3Packages.buildPythonPackage rec {
pname = "pyinputplus";
version = "0.2.12";
src = pkgs.fetchPypi {
inherit pname version;
sha256 = "sha256-YOUR_SHA256_HASH_HERE";
};
};
pythonEnv =
pkgs.python3.withPackages (ps: with ps; [ webdriver-manager openpyxl pandas requests beautifulsoup4 websocket-client selenium packages.pyinputplus ]);
};
devShell = pkgs.mkShell {
buildInputs = [
pkgs.chromium
pkgs.undetected-chromedriver
packages.pythonEnv
];
shellHook = ''
export PATH=${pkgs.chromium}/bin:${pkgs.undetected-chromedriver}/bin:$PATH
'';
};
});
}
Y Tu Mama Tambien with my sister and her new boyfriend.
Threads used to bewilder me until I started using Haskell. Holy shit that felt like magic, turning an app parallel with two lines of code.
Now, I just have to worry about memory limits….
At least in the cannabis industry here, they have a piece of software that they use to submit their inventories to the state. My current plan is to look into incorporating my system into that so I get accurate reports that are required by law to be done anyway.
I’d love to discuss further the pitfalls of my idea and any special considerations I might need to make.
I’m not sure yet TBH, but you’re welcome to help or build your own.
I intend to make it an entirely free and open source platform that allows retailers to broadcast their inventory to aggregators. No ads just like Lemmy, though I suppose that the feed itself serves as kind of an ad.
It was intended for the cannabis industry. Then the plan was to roll it out to the rest of the retail world when it has evolved enough.
There’s also veilid.
I even started a community here: https://infosec.pub/c/lemventory