Skip to content

Releases: Naxdy/nix-bwrapper

v1.1.0

16 Apr 11:06
610097b

Choose a tag to compare

What's Changed

  • feat(fhsenv): try to mount systemd resolvconf by default by @Naxdy in #34
  • feat(mounts): allow specifying different mount target and destination by @HigherOrderLogic in #37
  • feat: make wrapped package overridable by @skystar-p in #36
  • chore: bump version by @Naxdy in #39

New Contributors

Full Changelog: v1.0.1...v1.1.0

v1.0.1

29 Mar 11:46
v1.0.1
5241151

Choose a tag to compare

The first stable release of Nix-Bwrapper!

Below you'll find a list of changes compared to the last unstable version.

Breaking

  • fhsenv.skipExtraInstallCmds has been replaced by fhsenv.performDesktopPostInstall which has a more descriptive name. The value is now also interpreted inversely compared to before.
  • No permissions are enabled by default anymore, instead there are now "presets" that contain sensible defaults for different use cases. The desktop preset now applies the options that were the default previously.

Non-Breaking

  • Nix-Bwrapper now publishes releases to FlakeHub, in accordance with semver. It is recommended to switch your flake input to https://flakehub.com/f/Naxdy/nix-bwrapper/1.* to avoid sudden unexpected breaking changes. However, you can of course continue to use the github input as before.
  • The ever growing readme has been migrated to a proper documentation page available at https://naxdy.github.io/nix-bwrapper - including autogenerated documentation for all of Nix-Bwrapper's presets!
  • The examples have been moved from the main flake into a separate one under examples/flake.nix
  • A new preset devshell has been added, intended to be used to confine an application to the current working directory, e.g. to sandbox AI agents, or to limit the impact of software dependency / supply chain attacks.

Usage example:

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";

    nix-bwrapper.url = "https://flakehub.com/f/Naxdy/nix-bwrapper/1.*";
  };

  outputs = { self, nixpkgs, nix-bwrapper }:
  let
    pkgs = import nixpkgs {
      system = "x86_64-linux";
      config.allowUnfree = true; # discord is unfree
      overlays = [
        nix-bwrapper.overlays.default # provides `mkBwrapper`
      ];
    };
  in {
    packages.x86_64-linux.discord-wrapped = pkgs.mkBwrapper {
      imports = [
        # Enables common desktop functionality (bind sockets for audio, display, dbus, mount
        # directories for fonts, theming, etc.).
        pkgs.bwrapperPresets.desktop
      ];
      app = {
        package = pkgs.discord;
        runScript = "discord";
      };
      # ...
    };
  };
}