There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

demesisx ,
@demesisx@infosec.pub avatar

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:


<span style="color:#323232;">
</span><span style="color:#323232;">{
</span><span style="color:#323232;">  description = "Interactive Web Scraper";
</span><span style="color:#323232;">
</span><span style="color:#323232;">  inputs = {
</span><span style="color:#323232;">    nixpkgs.url = "github:NixOS/nixpkgs?ref=nixpkgs-unstable";
</span><span style="color:#323232;">    utils.url = "github:numtide/flake-utils";
</span><span style="color:#323232;">  };
</span><span style="color:#323232;">
</span><span style="color:#323232;">  outputs = { self, nixpkgs, utils }: utils.lib.eachSystem ["x86_64-linux"] (system: let
</span><span style="color:#323232;">    pkgs = import nixpkgs { system = system; };
</span><span style="color:#323232;">  in rec {
</span><span style="color:#323232;">    packages = {
</span><span style="color:#323232;">      pyinputplus = pkgs.python3Packages.buildPythonPackage rec {
</span><span style="color:#323232;">        pname = "pyinputplus";
</span><span style="color:#323232;">        version = "0.2.12";
</span><span style="color:#323232;">        src = pkgs.fetchPypi {
</span><span style="color:#323232;">          inherit pname version;
</span><span style="color:#323232;">          sha256 = "sha256-YOUR_SHA256_HASH_HERE";
</span><span style="color:#323232;">        };
</span><span style="color:#323232;">      };
</span><span style="color:#323232;">
</span><span style="color:#323232;">      pythonEnv =
</span><span style="color:#323232;">        pkgs.python3.withPackages (ps: with ps; [ webdriver-manager openpyxl pandas requests beautifulsoup4 websocket-client selenium packages.pyinputplus ]);
</span><span style="color:#323232;">    };
</span><span style="color:#323232;">
</span><span style="color:#323232;">    devShell = pkgs.mkShell {
</span><span style="color:#323232;">      buildInputs = [
</span><span style="color:#323232;">        pkgs.chromium
</span><span style="color:#323232;">        pkgs.undetected-chromedriver
</span><span style="color:#323232;">        packages.pythonEnv
</span><span style="color:#323232;">      ];
</span><span style="color:#323232;">
</span><span style="color:#323232;">      shellHook = ''
</span><span style="color:#323232;">        export PATH=${pkgs.chromium}/bin:${pkgs.undetected-chromedriver}/bin:$PATH
</span><span style="color:#323232;">      '';
</span><span style="color:#323232;">    };
</span><span style="color:#323232;">  });
</span><span style="color:#323232;">}
</span><span style="color:#323232;">
</span>
  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines