dot

vizie's NixOS desktop: Hyprland, CachyOS kernel and gaming tweaks

b7c0f64

Signal 8.31.0 from nixpkgs master

By Gustaf Granström

Signal quit at start with "Database Error": CachyOS ran 8.31.0, which
moved the database to a schema 8.29.0 (nixos-unstable's) can't open.
Take signal-desktop from a pinned master commit (cached on
cache.nixos.org) until nixos-unstable has 8.31.0; the overlay now gets
the flake's inputs for that.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

4 files changed +35 −5

modifiedflake.lock
@@ -147,6 +147,22 @@
147147 "type": "github"
148148 }
149149 },
150+ "nixpkgs-signal": {
151+ "locked": {
152+ "lastModified": 1792454791,
153+ "narHash": "sha256-tywmWhMyFMJWzIraNZfLsJly8LiIoertQ18xIfqCcmE=",
154+ "owner": "NixOS",
155+ "repo": "nixpkgs",
156+ "rev": "70ae5c224b56eaeadf74327811fd59b1470defbe",
157+ "type": "github"
158+ },
159+ "original": {
160+ "owner": "NixOS",
161+ "repo": "nixpkgs",
162+ "rev": "70ae5c224b56eaeadf74327811fd59b1470defbe",
163+ "type": "github"
164+ }
165+ },
150166 "nixpkgs_2": {
151167 "locked": {
152168 "lastModified": 1792094642,
@@ -191,6 +207,7 @@
191207 "imsh-clients": "imsh-clients",
192208 "nix-cachyos-kernel": "nix-cachyos-kernel",
193209 "nixpkgs": "nixpkgs_2",
210+ "nixpkgs-signal": "nixpkgs-signal",
194211 "philly": "philly"
195212 }
196213 }
modifiedflake.nix
@@ -4,6 +4,11 @@
44 inputs = {
55 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
66
7+ # Signal 8.31.0, from a master commit (already in cache.nixos.org). CachyOS
8+ # ran 8.31.0, and Signal won't open a database a newer version has written.
9+ # Only used while nixos-unstable's Signal is older (pkgs/default.nix).
10+ nixpkgs-signal.url = "github:NixOS/nixpkgs/70ae5c224b56eaeadf74327811fd59b1470defbe";
11+
712 home-manager = {
813 url = "github:nix-community/home-manager";
914 inputs.nixpkgs.follows = "nixpkgs";
@@ -43,7 +48,7 @@
4348 };
4449 in
4550 {
46- overlays.default = import ./pkgs;
51+ overlays.default = import ./pkgs inputs;
4752
4853 # The packages this repo adds or patches, so each can be built on its own:
4954 # nix build .#waybar
@@ -7,7 +7,7 @@
77 {
88 nixpkgs = {
99 config.allowUnfree = true;
10- overlays = [ (import ../../pkgs) ];
10+ overlays = [ (import ../../pkgs inputs) ];
1111 };
1212
1313 nix = {
@@ -1,6 +1,6 @@
11 # Packages this config adds to nixpkgs or patches. Used as an overlay, so the
2-# patched waybar replaces the stock one everywhere.
3-final: prev: {
2+# patched waybar replaces the stock one everywhere. Takes the flake's inputs first.
3+inputs: final: prev: {
44 # Same three patches as the Arch PKGBUILD in the old dotfiles repo; see the
55 # comments at the top of each patch.
66 waybar = prev.waybar.overrideAttrs (old: {
@@ -12,7 +12,15 @@
1212 });
1313
1414 xembedsniproxy = final.callPackage ./xembedsniproxy { };
15- signal-desktop-themed = final.callPackage ./signal-desktop-themed { };
15+ # Signal from the nixpkgs-signal input until nixos-unstable has 8.31.0 too;
16+ # then the input and this choice can go.
17+ signal-desktop-themed = final.callPackage ./signal-desktop-themed {
18+ signal-desktop =
19+ if final.lib.versionAtLeast prev.signal-desktop.version "8.31.0" then
20+ prev.signal-desktop
21+ else
22+ inputs.nixpkgs-signal.legacyPackages.${final.stdenv.hostPlatform.system}.signal-desktop;
23+ };
1624 claude-desktop = final.callPackage ./claude-desktop { };
1725 opendeck = final.callPackage ./opendeck { };
1826 breezex-cursor = final.callPackage ./breezex-cursor { };