vendion

joined 4 years ago
[–] vendion@lemmy.ml 1 points 8 months ago (1 children)

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 and nix-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 to trap like in the blog post then mariadbd doesn't start (or starts and immedently gets killed).

[–] vendion@lemmy.ml 2 points 8 months ago (1 children)

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.

 

I just switched one of my systems over to NixOS from Arch and so far it seems interesting. One question I had is regarding the nix-shell. So I get the basic concept of it and that it allows creating a shell that has packages installed with that shell making ideal for dev environments. I've even seen talks where the suggest nix-shells over docker/podman, my question is how is persistent data (like databases) handled?

[–] vendion@lemmy.ml 1 points 1 year ago

On my Laptop, Arch Linux On my desktop, FreeBSD

[–] vendion@lemmy.ml 1 points 1 year ago

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”.

 

When running KDE on a Linux system there is a plasma-vault tool to allow easily creating encrypted directories using various encryption backends. Sadly it seems that plasma-vault is missing from the FreeBSD repos, including the latest repos.

Has anyone tried to build this for FreeBSD?

 

With preformance gains of ~2x faster than FreeBSD-12.2-RELEASE and OpenZFS 2.0 it is shaping up to be a great release.

 
 

Hello all,

Glad to see that there is already a FreeBSD, and greater BSD, community already created on Lemmy. Although with 40 subscribers and the last post here being almost a month old let's try and get this community rolling. To that end I pose the following question: What is your FreeBSD setup like?

For me I have a few FreeBSD boxes that I use. I have a general use desktop with herbstluftwm running where I do most non-work related things. I also have a small server that I use mainly for building a few ports that I maintain, and trying to get more into maintaining/contributing to other ports. I also have a Bhyve VM here running a dev version of PacBSD (kind of a defunct project sadly, but do intend to try and kick it off again). I also have a FreeBSD VM running on DigitalOcean which hosts my personal website and runs ZNC (toying with the idea of replacing this with a Matrix <-> IRC bridge as I experiment more with Matrix). I also have a FreeNAS box where I store most of my media (Music, TV shows, Movies, etc) that I access either with NFS to play locally on another box or through Emby.