diff --git a/flake.lock b/flake.lock index 4f43b55..d1d5e72 100644 --- a/flake.lock +++ b/flake.lock @@ -25,23 +25,19 @@ }, "chaotic": { "inputs": { - "compare-to": "compare-to", - "fenix": "fenix", "flake-schemas": "flake-schemas", "home-manager": "home-manager_2", "jovian": "jovian", "nixpkgs": [ "nixpkgs" - ], - "systems": "systems_2", - "yafas": "yafas" + ] }, "locked": { - "lastModified": 1724716970, - "narHash": "sha256-KDO9xo6ms8olCi05qN8roMMJtU2MxIabyt4H3tPWues=", + "lastModified": 1732047192, + "narHash": "sha256-QVvcbiOgQIMLM5+NrpKxpB3IRKH4ZbP7+WKBISKO1zM=", "owner": "chaotic-cx", "repo": "nyx", - "rev": "7e8577142a5a73469996a156919c744db29467ba", + "rev": "d3ec352824dbec68aa0c17851f7424fdc735ecc4", "type": "github" }, "original": { @@ -51,20 +47,6 @@ "type": "github" } }, - "compare-to": { - "locked": { - "lastModified": 1695341185, - "narHash": "sha256-htO6DSbWyCgaDkxi7foPjXwJFPzGjVt3RRUbPSpNtZY=", - "rev": "98b8e330823a3570d328720f87a1153f8a7f2224", - "revCount": 2, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/chaotic-cx/nix-empty-flake/0.1.2%2Brev-98b8e330823a3570d328720f87a1153f8a7f2224/018aba35-d228-7fa9-b205-7616c89ef4e0/source.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://flakehub.com/f/chaotic-cx/nix-empty-flake/%3D0.1.2.tar.gz" - } - }, "darwin": { "inputs": { "nixpkgs": [ @@ -115,11 +97,11 @@ ] }, "locked": { - "lastModified": 1729281548, - "narHash": "sha256-MuojlSnwAJAwfhgmW8ZtZrwm2Sko4fqubCvReqbUzYw=", + "lastModified": 1732030699, + "narHash": "sha256-SBosboLvLqDv+7mNgRTIYDQbHE61rDDkXTJWiRX3PPo=", "owner": "nix-community", "repo": "disko", - "rev": "a6a3179ddf396dfc28a078e2f169354d0c137125", + "rev": "da52cf40206d7d1a419d07640eb47b2fb9ac2c21", "type": "github" }, "original": { @@ -128,28 +110,6 @@ "type": "github" } }, - "fenix": { - "inputs": { - "nixpkgs": [ - "chaotic", - "nixpkgs" - ], - "rust-analyzer-src": "rust-analyzer-src" - }, - "locked": { - "lastModified": 1724653830, - "narHash": "sha256-88f0KK8h6tGIP4Na5RJDKs0S+7WsGGaCGNkLj/bPV3g=", - "owner": "nix-community", - "repo": "fenix", - "rev": "9ecf5e7d800ace001320da8acadd4a3deb872a83", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "fenix", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -182,45 +142,23 @@ "type": "github" } }, - "flake-parts": { - "inputs": { - "nixpkgs-lib": [ - "nixos-cosmic", - "nix-update", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1719994518, - "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, "flake-schemas": { "locked": { - "lastModified": 1693491534, - "narHash": "sha256-ifw8Td8kD08J8DxFbYjeIx5naHcDLz7s2IFP3X42I/U=", - "rev": "c702cbb663d6d70bbb716584a2ee3aeb35017279", - "revCount": 21, + "lastModified": 1721999734, + "narHash": "sha256-G5CxYeJVm4lcEtaO87LKzOsVnWeTcHGKbKxNamNWgOw=", + "rev": "0a5c42297d870156d9c57d8f99e476b738dcd982", + "revCount": 75, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.1/018a4c59-80e1-708a-bb4d-854930c20f72/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.5/0190ef2f-61e0-794b-ba14-e82f225e55e6/source.tar.gz" }, "original": { "type": "tarball", - "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.1.tar.gz" + "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.5.tar.gz" } }, "flake-utils": { "inputs": { - "systems": "systems_4" + "systems": "systems_3" }, "locked": { "lastModified": 1681202837, @@ -265,11 +203,11 @@ ] }, "locked": { - "lastModified": 1724435763, - "narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=", + "lastModified": 1732025103, + "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", "owner": "nix-community", "repo": "home-manager", - "rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be", + "rev": "a46e702093a5c46e192243edbd977d5749e7f294", "type": "github" }, "original": { @@ -285,11 +223,11 @@ ] }, "locked": { - "lastModified": 1726036828, - "narHash": "sha256-ZQHbpyti0jcAKnwQY1lwmooecLmSG6wX1JakQ/eZNeM=", + "lastModified": 1732025103, + "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", "owner": "nix-community", "repo": "home-manager", - "rev": "8a1671642826633586d12ac3158e463c7a50a112", + "rev": "a46e702093a5c46e192243edbd977d5749e7f294", "type": "github" }, "original": { @@ -307,11 +245,11 @@ ] }, "locked": { - "lastModified": 1724304322, - "narHash": "sha256-/nrlMDubg9oG2VNANRBxsas5RbcJtB6IIDPZC3yHLW8=", + "lastModified": 1732032028, + "narHash": "sha256-NjyfJQQxs/a2a/KwTmXM44K7XjeJwGsf4YFtebueQzo=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "924a18ea8df89a39166dd202f3e73cd022825768", + "rev": "65dc04371cf914c9af4f073638821e4787303005", "type": "github" }, "original": { @@ -327,11 +265,11 @@ ] }, "locked": { - "lastModified": 1724561770, - "narHash": "sha256-zv8C9RNa86CIpyHwPIVO/k+5TfM8ZbjGwOOpTe1grls=", + "lastModified": 1732016537, + "narHash": "sha256-XwXUK+meYnlhdQz2TVE4Wv+tsx1CkdGbDPt1tRzCNH4=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "ac5694a0b855a981e81b4d9f14052e3ff46ca39e", + "rev": "61cee20168a3ebb71a9efd70a55adebaadfbe4d4", "type": "github" }, "original": { @@ -349,11 +287,11 @@ "nmt": "nmt" }, "locked": { - "lastModified": 1715807870, - "narHash": "sha256-lutvG1LFGSpXsGA7U4TWfdfq6p71WdSlhw3vM4W/Opk=", + "lastModified": 1729445390, + "narHash": "sha256-TxJ7RZLlBkKWZos1ai3eWIH0fBq1G6SVE+q3dW+0qRU=", "owner": "Gerschtli", "repo": "nix-formatter-pack", - "rev": "ab5feb867e5d074918852de6134500a82a09dc48", + "rev": "9f4bcf647cad2edafda7e1143071e0daf37cbc41", "type": "github" }, "original": { @@ -371,11 +309,11 @@ ] }, "locked": { - "lastModified": 1690328911, - "narHash": "sha256-fxtExYk+aGf2YbjeWQ8JY9/n9dwuEt+ma1eUFzF8Jeo=", + "lastModified": 1729697500, + "narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=", "owner": "zhaofengli", "repo": "nix-github-actions", - "rev": "96df4a39c52f53cb7098b923224d8ce941b64747", + "rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf", "type": "github" }, "original": { @@ -385,29 +323,6 @@ "type": "github" } }, - "nix-update": { - "inputs": { - "flake-parts": "flake-parts", - "nixpkgs": [ - "nixos-cosmic", - "nixpkgs" - ], - "treefmt-nix": "treefmt-nix" - }, - "locked": { - "lastModified": 1724271552, - "narHash": "sha256-xn0dC4M3mfItxP+s3/v3Hz/CSKp74VH/gMfufKxl9/4=", - "owner": "Mic92", - "repo": "nix-update", - "rev": "737121eccb67542e8c004c64da833fede2e80c64", - "type": "github" - }, - "original": { - "owner": "Mic92", - "repo": "nix-update", - "type": "github" - } - }, "nixlib": { "locked": { "lastModified": 1693701915, @@ -426,7 +341,6 @@ "nixos-cosmic": { "inputs": { "flake-compat": "flake-compat_2", - "nix-update": "nix-update", "nixpkgs": [ "nixpkgs" ], @@ -434,11 +348,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1725063792, - "narHash": "sha256-S+/wHk0DoC+O+b8AYDrZpZuwijY/l/9aCfKAX5XAKc8=", + "lastModified": 1732066585, + "narHash": "sha256-KBk7POsgspsoZG2EMOUjexwdEN75FvCfEzKx0DGYZI8=", "owner": "lilyinstarlight", "repo": "nixos-cosmic", - "rev": "b08474dd5c08e4ab10fdc36bd90c4d6c69b66cca", + "rev": "7dc8180bce46f1ed1446371369faf237e3a3eb15", "type": "github" }, "original": { @@ -470,11 +384,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1724575805, - "narHash": "sha256-OB/kEL3GAhUZmUfkbPfsPhKs0pRqJKs0EEBiLfyKZw8=", + "lastModified": 1731797098, + "narHash": "sha256-UhWmEZhwJZmVZ1jfHZFzCg+ZLO9Tb/v3Y6LC0UNyeTo=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "9fc19be21f0807d6be092d70bf0b1de0c00ac895", + "rev": "672ac2ac86f7dff2f6f3406405bddecf960e0db6", "type": "github" }, "original": { @@ -522,11 +436,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1724727824, - "narHash": "sha256-0XH9MJk54imJm+RHOLTUJ7e+ponLW00tw5ke4MTVa1Y=", + "lastModified": 1731797254, + "narHash": "sha256-df3dJApLPhd11AlueuoN0Q4fHo/hagP75LlM5K1sz9g=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "36bae45077667aff5720e5b3f1a5458f51cf0776", + "rev": "e8c38b73aeb218e27163376a2d617e61a2ad9b59", "type": "github" }, "original": { @@ -538,11 +452,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1724316499, - "narHash": "sha256-Qb9MhKBUTCfWg/wqqaxt89Xfi6qTD3XpTzQ9eXi3JmE=", + "lastModified": 1731797254, + "narHash": "sha256-df3dJApLPhd11AlueuoN0Q4fHo/hagP75LlM5K1sz9g=", "owner": "nixos", "repo": "nixpkgs", - "rev": "797f7dc49e0bc7fab4b57c021cdf68f595e47841", + "rev": "e8c38b73aeb218e27163376a2d617e61a2ad9b59", "type": "github" }, "original": { @@ -554,11 +468,11 @@ }, "nixpkgs-trunk": { "locked": { - "lastModified": 1724726034, - "narHash": "sha256-ZEo7/rQEczL8xump2oTJZ7o46+iA0Tx95wvy7qWcgc0=", + "lastModified": 1732070850, + "narHash": "sha256-TJ9PRuDfk7MPGwg7OnfkLn4+5MevNoUIqNNchCysXRg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0e732792f325ae660cdb93ab2a44a3cb85dc7026", + "rev": "ef58249afdb9a4e99d95540383ccac064b5168f1", "type": "github" }, "original": { @@ -570,11 +484,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1730785428, - "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", + "lastModified": 1731676054, + "narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", + "rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add", "type": "github" }, "original": { @@ -635,23 +549,6 @@ "zen-browser": "zen-browser" } }, - "rust-analyzer-src": { - "flake": false, - "locked": { - "lastModified": 1724586512, - "narHash": "sha256-mrfwk6nO8N2WtCq3sB2zhd2QN1HMKzeSESzOA6lSsQg=", - "owner": "rust-lang", - "repo": "rust-analyzer", - "rev": "7106cd3be50b2a43c1d9f2787bf22d4369c2b25b", - "type": "github" - }, - "original": { - "owner": "rust-lang", - "ref": "nightly", - "repo": "rust-analyzer", - "type": "github" - } - }, "rust-overlay": { "inputs": { "nixpkgs": [ @@ -660,11 +557,11 @@ ] }, "locked": { - "lastModified": 1724898214, - "narHash": "sha256-4yMO9+Lsr3zqTf4clAGGag/bfNTmc/ITOXbJQcOEok4=", + "lastModified": 1731983527, + "narHash": "sha256-JECaBgC0pQ91Hq3W4unH6K9to8s2Zl2sPNu7bLOv4ek=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "0bc2c784e3a6ce30a2ab1b9f47325ccbed13039f", + "rev": "71287228d96e9568e1e70c6bbfa3f992d145947b", "type": "github" }, "original": { @@ -689,21 +586,6 @@ } }, "systems_2": { - "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - }, - "systems_3": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -718,7 +600,7 @@ "type": "github" } }, - "systems_4": { + "systems_3": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -733,31 +615,9 @@ "type": "github" } }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nixos-cosmic", - "nix-update", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1719887753, - "narHash": "sha256-p0B2r98UtZzRDM5miGRafL4h7TwGRC4DII+XXHDHqek=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "bdb6355009562d8f9313d9460c0d3860f525bc6c", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, "utils": { "inputs": { - "systems": "systems_3" + "systems": "systems_2" }, "locked": { "lastModified": 1694529238, @@ -781,11 +641,11 @@ ] }, "locked": { - "lastModified": 1713958148, - "narHash": "sha256-8PDNi/dgoI2kyM7uSiU4eoLBqUKoA+3TXuz+VWmuCOc=", + "lastModified": 1729422940, + "narHash": "sha256-DlvJv33ml5UTKgu4b0HauOfFIoDx6QXtbqUF3vWeRCY=", "owner": "msteen", "repo": "nixos-vscode-server", - "rev": "fc900c16efc6a5ed972fb6be87df018bcf3035bc", + "rev": "8b6db451de46ecf9b4ab3d01ef76e59957ff549f", "type": "github" }, "original": { @@ -794,31 +654,6 @@ "type": "github" } }, - "yafas": { - "inputs": { - "flake-schemas": [ - "chaotic", - "flake-schemas" - ], - "systems": [ - "chaotic", - "systems" - ] - }, - "locked": { - "lastModified": 1695926485, - "narHash": "sha256-wNFFnItckgSs8XeYhhv8vlJs2WF09fSQaWgw4xkDqHQ=", - "owner": "UbiqueLambda", - "repo": "yafas", - "rev": "7772afd6686458ca0ddbc599a52cf5d337367653", - "type": "github" - }, - "original": { - "owner": "UbiqueLambda", - "repo": "yafas", - "type": "github" - } - }, "zen-browser": { "inputs": { "nixpkgs": [ diff --git a/nixos/modules/desktop/obs-studio.nix b/nixos/modules/desktop/obs-studio.nix index 85a59da..e93ca73 100644 --- a/nixos/modules/desktop/obs-studio.nix +++ b/nixos/modules/desktop/obs-studio.nix @@ -1,4 +1,8 @@ -{ lib, config, pkgs, ... }: { +{ lib, config, pkgs, ... }: +let + cfg = config.oxc.desktop.obs-studio; +in +{ options.oxc.desktop.obs-studio = { enable = lib.mkOption { type = lib.types.bool; @@ -24,10 +28,10 @@ }; }; - config = lib.mkIf config.oxc.desktop.obs-studio.enable { + config = lib.mkIf cfg.enable { # https://nixos.wiki/wiki/OBS_Studio boot = - if config.oxc.desktop.obs-studio.virtualCamera.enable + if cfg.virtualCamera.enable then { extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; extraModprobeConfig = '' @@ -40,7 +44,7 @@ pkgs.google-fonts pkgs.libnotify (pkgs.wrapOBS { - plugins = with pkgs.obs-studio-plugins; if config.oxc.desktop.obs-studio.bellsAndWhistles.all then [ + plugins = with pkgs.obs-studio-plugins; if cfg.bellsAndWhistles.all then [ obs-3d-effect obs-command-source obs-gradient-source @@ -57,7 +61,7 @@ obs-source-clone obs-source-record obs-source-switcher - obs-transition-table + # obs-transition-table obs-vaapi obs-vintage-filter obs-websocket diff --git a/nixos/modules/services/default.nix b/nixos/modules/services/default.nix index 234f554..df70a8a 100644 --- a/nixos/modules/services/default.nix +++ b/nixos/modules/services/default.nix @@ -3,6 +3,7 @@ _: { ./acme.nix ./flatpak.nix ./nextdns.nix + ./noisetorch.nix ./remote-builder.nix ./tailscale.nix ./tailscale-autoconnect.nix diff --git a/nixos/modules/services/noisetorch.nix b/nixos/modules/services/noisetorch.nix new file mode 100644 index 0000000..674e4db --- /dev/null +++ b/nixos/modules/services/noisetorch.nix @@ -0,0 +1,36 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.oxc.services.noisetorch; +in +{ + options.oxc.services.noisetorch = with lib; { + enable = mkEnableOption "noisetorch"; + }; + + config = lib.mkIf cfg.enable { + security.wrappers.noisetorch = { + owner = "root"; + group = "root"; + # Upstream doc: sudo setcap 'CAP_SYS_RESOURCE=+ep' ~/.local/bin/noisetorch + capabilities = "cap_sys_resource+ep"; + source = "${pkgs.noisetorch}/bin/noisetorch"; + }; + environment.systemPackages = [ + (pkgs.writeShellScriptBin "noisetorch" '' + #!/bin/bash + exec ${config.security.wrapperDir}/noisetorch "$@" + '') + ]; + # systemd.user.services.noisetorch = { + # description = "noisetorch"; + # startLimitBurst = 5; + # startLimitIntervalSec = 500; + # serviceConfig = { + # ExecStart = "${config.security.wrapperDir}/noisetorch"; + # Restart = "on-failure"; + # RestartSec = "5s"; + # }; + # }; + }; +} \ No newline at end of file diff --git a/nixos/workstation/glass/default.nix b/nixos/workstation/glass/default.nix index 069dfa3..340b45a 100644 --- a/nixos/workstation/glass/default.nix +++ b/nixos/workstation/glass/default.nix @@ -30,6 +30,7 @@ daw.enable = true; ente.enable = true; logseq.enable = true; + obs-studio.enable = true; steam = { enable = true; audioSupport.jack = true; @@ -56,6 +57,7 @@ }; services = { nextdns.enable = true; + noisetorch.enable = true; wait-online.enable = false; tailscale.enable = true; tailscale.autoconnect = false;