Okay, that’s good to know. I just wanted to make sure that if I had something like MariaDB or Postgres get installed with nix-shell
that I wouldn’t lose everything thus having to set everything back up next time I start the shell again.
Okay, that’s good to know. I just wanted to make sure that if I had something like MariaDB or Postgres get installed with nix-shell
that I wouldn’t lose everything thus having to set everything back up next time I start the shell again.
On my Laptop, Arch Linux On my desktop, FreeBSD
I would imagine it also due to a flaw in how Google works. From my understanding, Google incentivizes adding new features, not supporting things. So, unless you’re on a team that is working on a core product, you won’t get far just maintaining and fixing bugs in a product that is “feature complete”.
The selection of TLDs Cloudflare supports is weird. I checked them out earlier, and they list .dev as “coming soon” even though it was made publicly available in 2019. This makes Cloudflare a non-option for me as I have a handful of .dev domains I would need to transfer somewhere.
Does Namecheap still charge for WHOIS Guard and DNSSEC? That was one of the things I liked about Google Domains, they were free.
Okay, hopefully someone here can point out where I am going wrong with setting up my dev shell the way I want. I am currently using
direnv
andnix-direnv
to manage the dev shell, and I found this blog post which shows a way to start and stop MySQL/Mariadb but I am having some weird issues with it.Currently my flake looks like this:
{ description = "A basic flake with a shell"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; inputs.flake-utils.url = "github:numtide/flake-utils"; outputs = { nixpkgs, flake-utils, ... }@inputs: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; in { devShells.default = pkgs.mkShell { packages = with pkgs; [ bashInteractive php ]; buildInputs = [ pkgs.mariadb ]; shellHook = '' export MYSQL_BASEDIR=${pkgs.mariadb} export MYSQL_HOME=$PWD/.direnv/mysql export MYSQL_DATADIR=$MYSQL_HOME/data export MYSQL_UNIX_PORT=$MYSQL_HOME/mysql.sock export MYSQL_PID_FILE=$MYSQL_HOME/mysql.pid alias mysql='mysql -u root' if [[ ! -d $MYSQL_HOME ]]; then mariadb-install-db --auth-root-authentication-method=normal \ --datadir="$MYSQL_DATADIR" --basedir="$MYSQL_BASEDIR" \ --pid-file="$MYSQL_PID_FILE" fi mariadbd --datadir=$MYSQL_DATADIR --pid-file=$MYSQL_PID_FILE \ --socket=$MYSQL_UNIX_PORT --tmpdir='/tmp' 2>/dev/null & MYSQL_PID=$! ''; }; }); }
When I run it like this
mariadbd
starts just fine, but doesn’t get backgrounded dispite the&
making that shell session useless which is not what I want as I have to spawn a second shell just to do anything.Even weirder is when I add the
finish()
function and the call totrap
like in the blog post thenmariadbd
doesn’t start (or starts and immedently gets killed).