vendion

joined 4 years ago
[–] [email protected] 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).

[–] [email protected] 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?

[–] [email protected] 1 points 1 year ago

On my Laptop, Arch Linux On my desktop, FreeBSD

[–] [email protected] 2 points 1 year ago

I'm currently using Xmonad on my main Arch system, before that was Herbstluftwm. Occasionally I boot up KDE to check on how it's coming along or when i'm feeling nostalgic for what helped get me into Linux many years ago.

[–] [email protected] 1 points 1 year ago

It's nice to see that it's finally out of the closed beta, but for me it seems to be lacking in a lot of ways. I make use of identies in BitWarden, have CC data there, and use their CLI app. Hopefully Proton plans to build on Pass to help out compete with other password managers quickly.

Plus side another privacy focused security tool from someone who knows what they are doing is always welcome.

[–] [email protected] 1 points 1 year ago

I found out about Lemmy about 3 years ago in a random Reddit thread, and been mostly lurking since then.

[–] [email protected] 1 points 1 year ago

Thanks for the tip, I pinged them on Mastodon as well.

[–] [email protected] 2 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”.

[–] [email protected] 0 points 1 year ago (2 children)

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.

[–] [email protected] 1 points 1 year ago

Does Namecheap still charge for WHOIS Guard and DNSSEC? That was one of the things I liked about Google Domains, they were free.

 

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.