diff --git a/flake.lock b/flake.lock
index 2fa2828..253a952 100644
--- a/flake.lock
+++ b/flake.lock
@@ -135,11 +135,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
- "lastModified": 1738721195,
- "narHash": "sha256-fg7RyZh7lIXIemVIXNWqoBAXb2Ro5h6P9HJWDMuYi4U=",
+ "lastModified": 1738747026,
+ "narHash": "sha256-ohbCR94xorgPky/czzNGca2Lxe2RxmB+E85pOInGp54=",
"owner": "nix-community",
"repo": "emacs-overlay",
- "rev": "9af406ea66edc730a2c64cf82b74a03513b94f5e",
+ "rev": "abfa104fff496f9eb7a091728af73067ccf8802d",
"type": "github"
},
"original": {
@@ -508,11 +508,11 @@
]
},
"locked": {
- "lastModified": 1738709900,
- "narHash": "sha256-8Bo5xFlCH5q72ExvAnH7TzStMlLZldKOSLMClRSfmTc=",
+ "lastModified": 1738753876,
+ "narHash": "sha256-yXT82kERWL4R81hfun9BuT478Q6ut0dJzdQjAxjRS38=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "f2d32e46fac9d51da6912948ae1156044c71774b",
+ "rev": "f20b7a8ab527a2482f13754dc00b2deaddc34599",
"type": "github"
},
"original": {
@@ -670,11 +670,11 @@
"systems": "systems_2"
},
"locked": {
- "lastModified": 1738665072,
- "narHash": "sha256-iy2uwDPV1W7E9qvCi18hHE43UMTqwsma5pMCL8kUvgs=",
+ "lastModified": 1738748191,
+ "narHash": "sha256-pFviZDdMHOgctZKqoCrzWTy8PgwuRWVbE6PRGqSYxLA=",
"owner": "hyprwm",
"repo": "hyprlock",
- "rev": "ec82da71084b391a540f75e3548458258abda9cc",
+ "rev": "ce750456f9863d9d821fd0a2dc28d0b8ac0b5e26",
"type": "github"
},
"original": {
@@ -878,11 +878,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
- "lastModified": 1738654964,
- "narHash": "sha256-30l3hOfTW1kJXcTRQsJ9f0/wE1aaTTACKb4ch6ZlLNU=",
+ "lastModified": 1738768006,
+ "narHash": "sha256-56jDYr/vqX4fobMJO2nWLjih03i6UV5bKtxI0nR4ZZA=",
"owner": "YaLTeR",
"repo": "niri",
- "rev": "7d24ad23c2bc690b22b1f13ad4598dc8323d128b",
+ "rev": "690d6355057ebeba03cbd8ce4905145b834c72f8",
"type": "github"
},
"original": {
@@ -989,11 +989,11 @@
},
"nixpkgs-stable": {
"locked": {
- "lastModified": 1738574474,
- "narHash": "sha256-rvyfF49e/k6vkrRTV4ILrWd92W+nmBDfRYZgctOyolQ=",
+ "lastModified": 1738702386,
+ "narHash": "sha256-nJj8f78AYAxl/zqLiFGXn5Im1qjFKU8yBPKoWEeZN5M=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "fecfeb86328381268e29e998ddd3ebc70bbd7f7c",
+ "rev": "030ba1976b7c0e1a67d9716b17308ccdab5b381e",
"type": "github"
},
"original": {
@@ -1608,11 +1608,11 @@
"rust-overlay": "rust-overlay_3"
},
"locked": {
- "lastModified": 1738657731,
- "narHash": "sha256-TfqSe8oywhZEIBs//PI7WXy+PtfkJTEbmFJ5tfXHvcM=",
+ "lastModified": 1738762515,
+ "narHash": "sha256-0LIVLou8bMYf4guwRy6YTNhMwwKWC4Ty1pg0bHm4588=",
"owner": "sxyazi",
"repo": "yazi",
- "rev": "4e96341f512522d948977f5dc97a32c0c88f447b",
+ "rev": "e9fcab3b375afef4b0083687388b90e060a55a37",
"type": "github"
},
"original": {
diff --git a/homes/emenel/default.nix b/homes/emenel/default.nix
index 413885a..34ea820 100644
--- a/homes/emenel/default.nix
+++ b/homes/emenel/default.nix
@@ -12,6 +12,8 @@
mako
mpv
yazi
+ hyprlock
+ hypridle
];
home = {
@@ -36,6 +38,7 @@
the-usual-suspects.xenia
the-usual-suspects.ostirus
the-usual-suspects.osirus
+ # bitwig-studio-beta
])
(with pkgs; [
@@ -170,6 +173,7 @@
procs
rpi-imager
caligula
+ flatpak
prusa-slicer
@@ -288,6 +292,7 @@
onlyoffice-desktopeditors
libreoffice
hyphenDicts.en_US
+ plex-mpv-shim
plexamp
rmpc
resources
@@ -642,8 +647,6 @@
enable = true;
package = pkgs.playerctl;
};
-
- flatpak.enable = true;
syncthing = {
enable = true;
# tray.enable = true;
@@ -702,11 +705,15 @@
"/home/emenel/.nix-profile/share/applications"
];
- services.flatpak.packages = [
- "com.github.tchx84.Flatseal"
- "nl.hjdskes.gcolor3"
- "dev.qwery.AddWater"
- ];
+ services.flatpak = {
+ enable = true;
+ packages = [
+ "com.github.tchx84.Flatseal"
+ "nl.hjdskes.gcolor3"
+ "dev.qwery.AddWater"
+ "tv.plex.PlexDesktop"
+ ];
+ };
systemd.user = {
enable = true;
diff --git a/homes/emenel/dotfiles/dot_config/wezterm/wezterm.lua b/homes/emenel/dotfiles/dot_config/wezterm/wezterm.lua
index 41f5ba3..dfbda15 100644
--- a/homes/emenel/dotfiles/dot_config/wezterm/wezterm.lua
+++ b/homes/emenel/dotfiles/dot_config/wezterm/wezterm.lua
@@ -165,30 +165,30 @@ tabline.setup({
inactive_hover = { fg = '#cccccc', bg = '#111111' },
},
normal_mode = {
- a = { bg = "#333333", fg = "#eeeeee" },
+ a = { bg = "#111111", fg = "#eeeeee" },
b = { bg = "#111111", fg = "#eeeeee" },
c = { bg = "#111111", fg = "#eeeeee" },
x = { bg = "#111111", fg = "#eeeeee" },
y = { bg = "#111111", fg = "#eeeeee" },
- z = { bg = "#333333", fg = "#eeeeee" },
+ z = { bg = "#111111", fg = "#eeeeee" },
},
copy_mode = {
b = { bg = "#222222", fg = "#eeeeee" }
}
},
- -- section_separators = {
- -- left = wezterm.nerdfonts.ple_right_half_circle_thick,
- -- right = wezterm.nerdfonts.ple_left_half_circle_thick,
- -- },
- -- component_separators = {
- -- left = wezterm.nerdfonts.ple_right_half_circle_thin,
- -- right = wezterm.nerdfonts.ple_left_half_circle_thin,
- -- },
- -- tab_separators = {
- -- left = wezterm.nerdfonts.ple_right_half_circle_thick,
- -- right = wezterm.nerdfonts.ple_left_half_circle_thick,
- -- },
- -- icons_enabled = true,
+ section_separators = {
+ left = " ",
+ right = " ",
+ },
+ component_separators = {
+ left = " ",
+ right = " ",
+ },
+ tab_separators = {
+ left = " ",
+ right = " ",
+ },
+ icons_enabled = true,
tabs_enabled = true,
},
sections = {
diff --git a/hosts/eddie/configuration.nix b/hosts/eddie/configuration.nix
index b10c3b2..1a1de47 100644
--- a/hosts/eddie/configuration.nix
+++ b/hosts/eddie/configuration.nix
@@ -310,6 +310,7 @@
xdg.portal = {
enable = true;
+ xdgOpenUsePortal = true;
extraPortals = [
pkgs.xdg-desktop-portal-gnome
pkgs.xdg-desktop-portal-gtk
diff --git a/modules/home/hyprlock.nix b/modules/home/hyprlock.nix
index fff4323..0c323d9 100644
--- a/modules/home/hyprlock.nix
+++ b/modules/home/hyprlock.nix
@@ -24,7 +24,7 @@
font_color = "rgb(0,0,0)";
fade_on_empty = false;
check_color = "rgb(204, 136, 34)";
- placeholder_text = "hm ...";
+ placeholder_text = "hm ...";
hide_input = false;
position = "0, 0";
halign = "center";
@@ -51,8 +51,8 @@
font_size = 32;
font_family = "JetBrains Mono";
position = "0, 200";
- halign = center;
- valign = center;
+ halign = "center";
+ valign = "center";
}
];
diff --git a/overlays/bitwig-studio.nix b/overlays/bitwig-studio.nix
index 561c55a..0cb2a13 100644
--- a/overlays/bitwig-studio.nix
+++ b/overlays/bitwig-studio.nix
@@ -1,5 +1,5 @@
final: prev: {
- bitwig-studio-unwrapped = prev.bitwig-studio-unwrapped.overrideAttrs (old: {
+ bitwig-studio = prev.bitwig-studio.overrideAttrs (old: {
src = prev.fetchurl {
name = "bitwig-studio-5.3-beta-7.deb";
url = "https://downloads-secure.bitwig.com/5.3%20Beta%207/bitwig-studio-5.3-beta-7.deb?__token__=st=1738511951.0~exp=1738512551.0~hmac=06d510d143491f9bf2444aec8b2876ea606d9208e2753dcf15710fb3c2ceb0d3&source_url=/dl/Bitwig%20Studio/5.3%20Beta%207/installer_linux/";
diff --git a/packages/bitwig-studio-beta/bitwig-studio-unwrapped.nix b/packages/bitwig-studio-beta/bitwig-studio-unwrapped.nix
new file mode 100644
index 0000000..cfd53c2
--- /dev/null
+++ b/packages/bitwig-studio-beta/bitwig-studio-unwrapped.nix
@@ -0,0 +1,146 @@
+{
+ stdenv,
+ fetchurl,
+ alsa-lib,
+ atk,
+ cairo,
+ dpkg,
+ ffmpeg,
+ freetype,
+ gdk-pixbuf,
+ glib,
+ gtk3,
+ harfbuzz,
+ lib,
+ libglvnd,
+ libjack2,
+ libjpeg,
+ libnghttp2,
+ libxkbcommon,
+ makeWrapper,
+ pango,
+ pipewire,
+ wireplumber,
+ pulseaudio,
+ vulkan-loader,
+ wrapGAppsHook3,
+ xcb-imdkit,
+ xdg-utils,
+ xorg,
+ zlib,
+}:
+
+stdenv.mkDerivation rec {
+ pname = "bitwig-studio-unwrapped";
+ version = "5.3-beta-6";
+
+ src = fetchurl {
+ name = "bitwig-studio-${version}.deb";
+ url = "https://downloads-secure.bitwig.com/5.3%20Beta%206/bitwig-studio-5.3-beta-6.deb?__token__=st=1737819113.0~exp=1737819713.0~hmac=4f89ac2fb395e08a914fe57eb46d2313b2d5288f981d0f7e2da9089325c4c099&source_url=/dl/Bitwig%20Studio/5.3%20Beta%206/installer_linux/";
+ sha256 = "sha256-DE5qWSAcOJHThAXdQouOVRkFNhuzZD9j8gphByaQEis=";
+
+ };
+
+ nativeBuildInputs = [
+ dpkg
+ makeWrapper
+ wrapGAppsHook3
+ ];
+
+ dontBuild = true;
+ dontWrapGApps = true; # we only want $gappsWrapperArgs here
+
+ buildInputs = with xorg; [
+ alsa-lib
+ atk
+ cairo
+ freetype
+ gdk-pixbuf
+ glib
+ gtk3
+ harfbuzz
+ libglvnd
+ libjack2
+ # libjpeg8 is required for converting jpeg's to colour palettes
+ libjpeg
+ libnghttp2
+ libxcb
+ libXcursor
+ libX11
+ libXtst
+ libxkbcommon
+ pango
+ pipewire
+ wireplumber
+ pulseaudio
+ (lib.getLib stdenv.cc.cc)
+ vulkan-loader
+ xcb-imdkit
+ xcbutil
+ xcbutilwm
+ zlib
+ ];
+
+ installPhase = ''
+ runHook preInstall
+
+ mkdir -p $out/bin
+ cp -r opt/bitwig-studio $out/libexec
+ ln -s $out/libexec/bitwig-studio $out/bin/bitwig-studio
+ cp -r usr/share $out/share
+
+ # Bitwig includes a copy of libxcb-imdkit.
+ # Removing it will force it to use our version.
+ rm $out/libexec/lib/bitwig-studio/libxcb-imdkit.so.1
+
+ substitute usr/share/applications/com.bitwig.BitwigStudio.desktop \
+ $out/share/applications/com.bitwig.BitwigStudio.desktop \
+ --replace /usr/bin/bitwig-studio $out/bin/bitwig-studio
+
+ runHook postInstall
+ '';
+
+ postFixup = ''
+ # patchelf fails to set rpath on BitwigStudioEngine, so we use
+ # the LD_LIBRARY_PATH way
+
+ find $out -type f -executable \
+ -not -name '*.so.*' \
+ -not -name '*.so' \
+ -not -name '*.jar' \
+ -not -name 'jspawnhelper' \
+ -not -path '*/resources/*' | \
+ while IFS= read -r f ; do
+ patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $f
+ # make xdg-open overrideable at runtime
+ wrapProgram $f \
+ "''${gappsWrapperArgs[@]}" \
+ --prefix PATH : "${lib.makeBinPath [ ffmpeg ]}" \
+ --suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" \
+ --suffix LD_LIBRARY_PATH : "${lib.strings.makeLibraryPath buildInputs}"
+ done
+
+ find $out -type f -executable -name 'jspawnhelper' | \
+ while IFS= read -r f ; do
+ patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $f
+ done
+ '';
+
+ meta = with lib; {
+ description = "Digital audio workstation";
+ longDescription = ''
+ Bitwig Studio is a multi-platform music-creation system for
+ production, performance and DJing, with a focus on flexible
+ editing tools and a super-fast workflow.
+ '';
+ homepage = "https://www.bitwig.com/";
+ license = licenses.unfree;
+ platforms = [ "x86_64-linux" ];
+ maintainers = with maintainers; [
+ bfortz
+ michalrus
+ mrVanDalo
+ ];
+ sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
+ };
+}
diff --git a/packages/bitwig-studio-beta/package.nix b/packages/bitwig-studio-beta/package.nix
new file mode 100644
index 0000000..0bda040
--- /dev/null
+++ b/packages/bitwig-studio-beta/package.nix
@@ -0,0 +1,49 @@
+{
+ stdenv,
+ bubblewrap,
+ mktemp,
+ writeShellScript,
+ bitwig-studio-unwrapped,
+}:
+stdenv.mkDerivation {
+ inherit (bitwig-studio-unwrapped) version;
+
+ pname = "bitwig-studio";
+
+ dontUnpack = true;
+ dontConfigure = true;
+ dontBuild = true;
+ dontPatchELF = true;
+ dontStrip = true;
+
+ installPhase =
+ let
+ wrapper = writeShellScript "bitwig-studio" ''
+ set -e
+
+ echo "Creating temporary directory"
+ TMPDIR=$(${mktemp}/bin/mktemp --directory)
+ echo "Temporary directory: $TMPDIR"
+ echo "Copying default Vamp Plugin settings"
+ cp -r ${bitwig-studio-unwrapped}/libexec/resources/VampTransforms $TMPDIR
+ echo "Changing permissions to be writable"
+ chmod -R u+w $TMPDIR/VampTransforms
+
+ echo "Starting Bitwig Studio in Bubblewrap Environment"
+ ${bubblewrap}/bin/bwrap \
+ --bind / / \
+ --bind $TMPDIR/VampTransforms ${bitwig-studio-unwrapped}/libexec/resources/VampTransforms \
+ --dev-bind /dev /dev \
+ ${bitwig-studio-unwrapped}/bin/bitwig-studio \
+ || true
+
+ echo "Bitwig exited, removing temporary directory"
+ rm -rf $TMPDIR
+ '';
+ in
+ ''
+ mkdir -p $out/bin
+ cp ${wrapper} $out/bin/bitwig-studio
+ cp -r ${bitwig-studio-unwrapped}/share $out
+ '';
+}