From ad17b67774df041636c34b57920344cea2644791 Mon Sep 17 00:00:00 2001 From: Andreas Schaafsma Date: Tue, 20 Oct 2026 22:25:24 +0200 Subject: [PATCH] add better wallpaper engine gui --- flake.lock | 202 +++++++++++++++++- flake.nix | 1 + .../andreas@drivebystation-nix/default.nix | 13 ++ 3 files changed, 205 insertions(+), 11 deletions(-) diff --git a/flake.lock b/flake.lock index 914f37b..427a7da 100644 --- a/flake.lock +++ b/flake.lock @@ -91,6 +91,31 @@ "type": "github" } }, + "bun2nix": { + "inputs": { + "flake-parts": "flake-parts", + "import-tree": "import-tree", + "nixpkgs": [ + "linux-wallpaper-engine", + "nixpkgs" + ], + "systems": "systems_2", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1770895533, + "narHash": "sha256-v3QaK9ugy9bN9RXDnjw0i2OifKmz2NnKM82agtqm/UY=", + "owner": "nix-community", + "repo": "bun2nix", + "rev": "c843f477b15f51151f8c6bcc886954699440a6e1", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "bun2nix", + "type": "github" + } + }, "codex-desktop": { "inputs": { "flake-utils": "flake-utils", @@ -175,6 +200,24 @@ "type": "github" } }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1769996383, + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -195,7 +238,7 @@ }, "flake-utils-plus": { "inputs": { - "flake-utils": "flake-utils_2" + "flake-utils": "flake-utils_3" }, "locked": { "lastModified": 1715533576, @@ -216,6 +259,24 @@ "inputs": { "systems": "systems_3" }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_5" + }, "locked": { "lastModified": 1694529238, "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", @@ -311,6 +372,21 @@ "type": "github" } }, + "import-tree": { + "locked": { + "lastModified": 1763762820, + "narHash": "sha256-ZvYKbFib3AEwiNMLsejb/CWs/OL/srFQ8AogkebEPF0=", + "owner": "vic", + "repo": "import-tree", + "rev": "3c23749d8013ec6daa1d7255057590e9ca726646", + "type": "github" + }, + "original": { + "owner": "vic", + "repo": "import-tree", + "type": "github" + } + }, "json": { "flake": false, "locked": { @@ -369,6 +445,26 @@ "type": "github" } }, + "linux-wallpaper-engine": { + "inputs": { + "bun2nix": "bun2nix", + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1792046320, + "narHash": "sha256-AM22WLmtSfXw/AKKTEVBpSTZ+ksc8aWTwLyu/xyTRSs=", + "owner": "jagrat7", + "repo": "linux-wallpaper-engine", + "rev": "f52102134ea4205a422eb93cc5550e8568a8d769", + "type": "github" + }, + "original": { + "owner": "jagrat7", + "repo": "linux-wallpaper-engine", + "type": "github" + } + }, "millennium": { "inputs": { "millennium-src": "millennium-src", @@ -412,16 +508,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1791883866, - "narHash": "sha256-yvkDdToRZ4IgPc9tSBzzCYJvTLf8n5eE3rgUkpCuD5A=", + "lastModified": 1772624091, + "narHash": "sha256-QKyJ0QGWBn6r0invrMAK8dmJoBYWoOWy7lN+UHzW1jc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a033e66ab94a6bedf2c3d58d93a36319d3cbbbaf", + "rev": "80bdc1e5ce51f56b19791b52b2901187931f5353", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-26.05", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } @@ -442,6 +538,21 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1769909678, + "narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "72716169fe93074c333e8d0173151350670b824c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, "nixpkgs-unstable": { "locked": { "lastModified": 1791956154, @@ -459,6 +570,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1791883866, + "narHash": "sha256-yvkDdToRZ4IgPc9tSBzzCYJvTLf8n5eE3rgUkpCuD5A=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a033e66ab94a6bedf2c3d58d93a36319d3cbbbaf", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-26.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1789286504, "narHash": "sha256-eiEK7cKZORNEvX0GeF3RtNEF/JXhgf2RqSp3230q13E=", @@ -520,8 +647,9 @@ "codex-desktop": "codex-desktop", "home-manager": "home-manager", "lanzaboote": "lanzaboote", + "linux-wallpaper-engine": "linux-wallpaper-engine", "millennium": "millennium", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "nixpkgs-unstable": "nixpkgs-unstable", "simple-wallpaper-engine": "simple-wallpaper-engine", "snowfall-lib": "snowfall-lib", @@ -697,9 +825,61 @@ "type": "github" } }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "linux-wallpaper-engine", + "bun2nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1770228511, + "narHash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "337a4fe074be1042a35086f15481d763b8ddc0e7", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "utils": { "inputs": { - "systems": "systems_2" + "systems": "systems_4" }, "locked": { "lastModified": 1731533236, @@ -724,16 +904,16 @@ "glslang-WallpaperEngine": "glslang-WallpaperEngine", "json": "json", "kissfft": "kissfft", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "quickjs": "quickjs", "stb": "stb" }, "locked": { - "lastModified": 1792229611, - "narHash": "sha256-J1u0frnBkW9PnxuhGrG1RoHnepDDfWH++AVgIiQY9/k=", + "lastModified": 1792233763, + "narHash": "sha256-jT37HuSiRnYEJlmZwsu2+WqcaUIaLJXTkpZuXXCLX54=", "owner": "Hion-V", "repo": "linux-wallpaperengine", - "rev": "4e509d8970f3b8d8599db0de2bf7bf276f8da539", + "rev": "482ecf2b08a8111eed993dfcd44b6126b6e43c91", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index f49ffd7..7aeec50 100644 --- a/flake.nix +++ b/flake.nix @@ -53,6 +53,7 @@ url = "github:Maxnights/simple-linux-wallpaperengine-gui"; inputs.nixpkgs.follows = "nixpkgs"; }; + linux-wallpaper-engine.url = "github:jagrat7/linux-wallpaper-engine"; millennium = { url = "github:SteamClientHomebrew/Millennium?dir=packages/nix"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/homes/x86_64-linux/andreas@drivebystation-nix/default.nix b/homes/x86_64-linux/andreas@drivebystation-nix/default.nix index 0ea8779..7be8408 100644 --- a/homes/x86_64-linux/andreas@drivebystation-nix/default.nix +++ b/homes/x86_64-linux/andreas@drivebystation-nix/default.nix @@ -7,6 +7,17 @@ let inherit (lib.my-namespace) enabled; system = pkgs.stdenv.hostPlatform.system; + jagratWallpaperEngine = + (inputs.linux-wallpaper-engine.packages.${system}.default.override { + linux-wallpaperengine = inputs.wallpaperengine.packages.${system}.default; + }).overrideAttrs (old: { + # Forge 7 expects a default export, but the bundled Vite exposes named exports. + preBuild = (old.preBuild or "") + '' + substituteInPlace node_modules/@electron-forge/plugin-vite/dist/VitePlugin.js \ + --replace-fail 'const vite_1 = __importDefault(require("vite"));' \ + 'const vite_1 = { default: require("vite") };' + ''; + }); simpleWallpaperEngine = inputs.simple-wallpaper-engine.packages.${system}.default.override { # The upstream GUI package otherwise puts nixpkgs' unmodified @@ -39,6 +50,8 @@ in pkgs.libreoffice pkgs.localsend simpleWallpaperEngine + # Separate GUI for manual testing; keep the existing GUI's autostart. + jagratWallpaperEngine # pkgs.vesktop pkgs.obsidian inputs.zen-browser.packages.x86_64-linux.default