diff --git a/flake.lock b/flake.lock index 1e8b299..2b9d3f8 100644 --- a/flake.lock +++ b/flake.lock @@ -99,11 +99,11 @@ ] }, "locked": { - "lastModified": 1736711425, - "narHash": "sha256-8hKhPQuMtXfJi+4lPvw3FBk/zSJVHeb726Zo0uF1PP8=", + "lastModified": 1737038063, + "narHash": "sha256-rMEuiK69MDhjz1JgbaeQ9mBDXMJ2/P8vmOYRbFndXsk=", "owner": "nix-community", "repo": "disko", - "rev": "f720e64ec37fa16ebba6354eadf310f81555cc07", + "rev": "bf0abfde48f469c256f2b0f481c6281ff04a5db2", "type": "github" }, "original": { @@ -143,11 +143,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1736913802, - "narHash": "sha256-72be03HWS5Q8I1W9hlWRVicZxL5MJURVKbnJGIcbjIE=", + "lastModified": 1737518603, + "narHash": "sha256-SchRB1+PzZnmrTMg1g+5XviuixWqyRjK//o2HJThIjo=", "owner": "rycee", "repo": "nur-expressions", - "rev": "79a77a7d0b22e82d52a90055cc8206447ab85285", + "rev": "5d123317b5c26b6404034bcaf85ca32a058e251f", "type": "gitlab" }, "original": { @@ -336,11 +336,11 @@ ] }, "locked": { - "lastModified": 1735882644, - "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", + "lastModified": 1737043064, + "narHash": "sha256-I/OuxGwXwRi5gnFPsyCvVR+IfFstA+QXEpHu1hvsgD8=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", + "rev": "94ee657f6032d913fe0ef49adaa743804635b0bb", "type": "github" }, "original": { @@ -378,11 +378,11 @@ ] }, "locked": { - "lastModified": 1736785676, - "narHash": "sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m+Yq++C9AyE=", + "lastModified": 1737480538, + "narHash": "sha256-rk/cmrvq3In0TegW9qaAxw+5YpJhRWt2p74/6JStrw0=", "owner": "nix-community", "repo": "home-manager", - "rev": "fc52a210b60f2f52c74eac41a8647c1573d2071d", + "rev": "4481a16d1ac5bff4a77c608cefe08c9b9efe840d", "type": "github" }, "original": { @@ -492,11 +492,11 @@ ] }, "locked": { - "lastModified": 1736370755, - "narHash": "sha256-iWcjToBpx4PUd74uqvIGAfqqVfyrvRLRauC/SxEKIF0=", + "lastModified": 1736819234, + "narHash": "sha256-deQVtIH4UJueELJqluAICUtX7OosD9paTP+5FgbiSwI=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "57733bd1dc81900e13438e5b4439239f1b29db0e", + "rev": "bd921223ba7cdac346477d7ea5204d6f4736fcc6", "type": "github" }, "original": { @@ -586,11 +586,11 @@ ] }, "locked": { - "lastModified": 1736730523, - "narHash": "sha256-mvTZ7fLKA6ggGnA8GZwcXV57EvVReRTCfi26xc08Q3g=", + "lastModified": 1737057290, + "narHash": "sha256-3Pe0yKlCc7EOeq1X/aJVDH0CtNL+tIBm49vpepwL1MQ=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "74b8e31dd709760c86eed16b6c1d0b88d7360937", + "rev": "d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453", "type": "github" }, "original": { @@ -601,11 +601,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1736441705, - "narHash": "sha256-OL7leZ6KBhcDF3nEKe4aZVfIm6xQpb1Kb+mxySIP93o=", + "lastModified": 1737359802, + "narHash": "sha256-utplyRM6pqnN940gfaLFBb9oUCSzkan86IvmkhsVlN8=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "8870dcaff63dfc6647fb10648b827e9d40b0a337", + "rev": "61c79181e77ef774ab0468b28a24bc2647d498d6", "type": "github" }, "original": { @@ -657,11 +657,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1736798957, - "narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=", + "lastModified": 1737469691, + "narHash": "sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3", + "rev": "9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab", "type": "github" }, "original": { @@ -703,11 +703,11 @@ "treefmt-nix": "treefmt-nix_4" }, "locked": { - "lastModified": 1736961674, - "narHash": "sha256-nuOFHtSUHYsb6PHueFF9KPLS8v+Wi+wGCXZCI+J54QI=", + "lastModified": 1737547260, + "narHash": "sha256-BWJPFgLq0/3jxhkRXhiCAj8irjSkpgL1w8dUZcTy9M8=", "owner": "nix-community", "repo": "nixvim", - "rev": "54e6dbd8c83586d9553f61c21fa639b500e51f93", + "rev": "e60ea678ac9a4154b641fdaacf03c600d1c661d8", "type": "github" }, "original": { @@ -725,11 +725,11 @@ ] }, "locked": { - "lastModified": 1735854821, - "narHash": "sha256-Iv59gMDZajNfezTO0Fw6LHE7uKAShxbvMidmZREit7c=", + "lastModified": 1737372689, + "narHash": "sha256-nH3zK2ki0fd5o5qvbGHxukE4qnOLJa1uCzoDObG5vrE=", "owner": "NuschtOS", "repo": "search", - "rev": "836908e3bddd837ae0f13e215dd48767aee355f0", + "rev": "570cc17bbc25650eb7d69e4fcda8cfd2f1656922", "type": "github" }, "original": { @@ -837,11 +837,11 @@ ] }, "locked": { - "lastModified": 1736808430, - "narHash": "sha256-wlgdf/n7bJMLBheqt1jmPoxJFrUP6FByKQFXuM9YvIk=", + "lastModified": 1737411508, + "narHash": "sha256-j9IdflJwRtqo9WpM0OfAZml47eBblUHGNQTe62OUqTw=", "owner": "Mic92", "repo": "sops-nix", - "rev": "553c7cb22fed19fd60eb310423fdc93045c51ba8", + "rev": "015d461c16678fc02a2f405eb453abb509d4e1d4", "type": "github" }, "original": { @@ -857,11 +857,11 @@ ] }, "locked": { - "lastModified": 1736810122, - "narHash": "sha256-29Mp0xa3jXF33Qu92hd/uPz1HZWBestpEKmgG4RyzCo=", + "lastModified": 1737456758, + "narHash": "sha256-zrGEsyZBZOMO1Zq6Z8BPBttZTW27XQLnZYKbIHRu1mk=", "owner": "nix-community", "repo": "srvos", - "rev": "61cc2047ad1a4c52ef18d117ac8e6ccfc0e38ea5", + "rev": "a3bf377bade7672aba632b69c3da2b5cefbb42a7", "type": "github" }, "original": { @@ -987,11 +987,11 @@ ] }, "locked": { - "lastModified": 1736154270, - "narHash": "sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw=", + "lastModified": 1737054102, + "narHash": "sha256-saLiCRQ5RtdTnznT/fja7GxcYRAzeY3k8S+IF/2s/2A=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "13c913f5deb3a5c08bb810efd89dc8cb24dd968b", + "rev": "97871d416166803134ba64597a1006f3f670fbde", "type": "github" }, "original": { @@ -1007,11 +1007,11 @@ ] }, "locked": { - "lastModified": 1736154270, - "narHash": "sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw=", + "lastModified": 1737483750, + "narHash": "sha256-5An1wq5U8sNycOBBg3nsDDgpwBmR9liOpDGlhliA6Xo=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "13c913f5deb3a5c08bb810efd89dc8cb24dd968b", + "rev": "f2cc121df15418d028a59c9737d38e3a90fbaf8f", "type": "github" }, "original": { diff --git a/nixos-modules/audio/default.nix b/nixos-modules/audio/default.nix index 13c0e7e..60042cb 100644 --- a/nixos-modules/audio/default.nix +++ b/nixos-modules/audio/default.nix @@ -29,41 +29,128 @@ in wireplumber.enable = true; - extraConfig.pipewire."30-noise-filter" = { - "context.modules" = [ - { - name = "libpipewire-module-filter-chain"; - args = { - "node.description" = "Noise Canceling source"; - "media.name" = "Noise Canceling source"; - "filter.graph" = { - nodes = [ + extraConfig.pipewire = { + "30-noise-filter" = { + "context.modules" = [ + { + name = "libpipewire-module-filter-chain"; + args = { + "node.description" = "Noise Canceling source"; + "media.name" = "Noise Canceling source"; + "filter.graph" = { + nodes = [ + { + type = "ladspa"; + name = "rnnoise"; + plugin = "${pkgs.rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so"; + label = "noise_suppressor_mono"; + control = { + "VAD Threshold (%)" = 50.0; + #"VAD Grace Period (ms)" = 0; + "Retroactive VAD Grace (ms)" = 50; + }; + } + ]; + }; + "capture.props" = { + "node.name" = "capture.rnnoise_source"; + "node.passive" = true; + "audio.rate" = 48000; + }; + "playback.props" = { + "node.name" = "rnnoise_source"; + "media.class" = "Audio/Source"; + "audio.rate" = 48000; + }; + }; + } + ]; + }; + "30-echo-cancel" = { + "context.modules" = [ + { + name = "libpipewire-module-echo-cancel"; + args = { + "capture.props" = { + "node.name" = "Echo Cancellation Capture"; + }; + "source.props" = { + "node.name" = "Echo Cancellation Source"; + }; + "sink.props" = { + "node.name" = "Echo Cancellation Sink"; + }; + "playback.props" = { + "node.name" = "Echo Cancellation Playback"; + }; + }; + } + ]; + }; + "10-raop-discover" = { + "context.modules" = [ + { + name = "libpipewire-module-raop-discover"; + args = { + "stream.rules" = [ { - type = "ladspa"; - name = "rnnoise"; - plugin = "${pkgs.rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so"; - label = "noise_suppressor_mono"; - control = { - "VAD Threshold (%)" = 50.0; - #"VAD Grace Period (ms)" = 0; - "Retroactive VAD Grace (ms)" = 50; + matches = [ + { + "raop.ip" = "~.*"; + } + ]; + actions = { + create-stream = { + "stream.props" = { + }; + }; }; } ]; }; - "capture.props" = { - "node.name" = "capture.rnnoise_source"; - "node.passive" = true; - "audio.rate" = 48000; + } + ]; + }; + "10-snapcast-discover" = { + "context.modules" = [ + { + name = "libpipewire-module-snapcast-discover"; + args = { + "stream.rules" = [ + { + matches = [ + { + "snapcast.ip" = "~.*"; + } + ]; + actions = { + create-stream = { + }; + }; + } + ]; }; - "playback.props" = { - "node.name" = "rnnoise_source"; - "media.class" = "Audio/Source"; - "audio.rate" = 48000; + } + ]; + }; + "10-pulse-discover" = { + "context.modules" = [ + { + name = "libpipewire-module-zeroconf-discover"; + args = { }; - }; - } - ]; + } + ]; + }; + "10-x11=bell" = { + "context.modules" = [ + { + name = "libpipewire-module-x11-bell"; + args = { + }; + } + ]; + }; }; }; }; diff --git a/systems/hetzner/default.nix b/systems/hetzner/default.nix index f04fd6b..9011764 100644 --- a/systems/hetzner/default.nix +++ b/systems/hetzner/default.nix @@ -98,12 +98,13 @@ in services.akkoma = { enable = true; package = pkgs.akkoma.overrideAttrs (finalAttrs: previousAttrs: { - patches = [ - (pkgs.fetchpatch2 { - url = "https://akkoma.dev/AkkomaGang/akkoma/pulls/846.patch"; - hash = "sha256-KTv7YKzSAzLqBnG22EIbIiX4B5D4WUYT9FzZCb4CYrU="; - }) - ]; + src = pkgs.fetchFromGitea { + domain = "akkoma.dev"; + owner = "AkkomaGang"; + repo = "akkoma"; + rev = "92e9ca0fafc94b84c618647d646efa11d29d9cfc"; + hash = "sha256-Bi+ooGMxbPIZErTILckgwYcgmN8LMlX43MF39x+KKvs="; + }; }); nginx = { enableACME = true; diff --git a/systems/omoikane/default.nix b/systems/omoikane/default.nix index 1bd54d1..6b25ad0 100644 --- a/systems/omoikane/default.nix +++ b/systems/omoikane/default.nix @@ -11,7 +11,7 @@ imports = [ ./hardware.nix ./disk.nix - nixos-hardware.nixosModules.framework-16-7040-amd + #nixos-hardware.nixosModules.framework-16-7040-amd self.inputs.srvos.nixosModules.desktop ];