This commit is contained in:
chayleaf 2024-03-19 15:30:38 +07:00
parent 9780a25072
commit 425b1ef1b6
Signed by: chayleaf
GPG key ID: 78171AD46227E68E
19 changed files with 992 additions and 7092 deletions

View file

@ -94,11 +94,11 @@
"flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1668681692,
"narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=",
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "009399224d5e398d03b22badca40a37ac85412a1",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
@ -112,11 +112,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1704982712,
"narHash": "sha256-2Ptt+9h8dczgle2Oo6z5ni5rt/uLMG47UFTR1ry/wgg=",
"lastModified": 1709336216,
"narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "07f6395285469419cf9d078f59b5b49993198c00",
"rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2",
"type": "github"
},
"original": {
@ -127,14 +127,14 @@
},
"flake-utils": {
"inputs": {
"systems": "systems"
"systems": "systems_2"
},
"locked": {
"lastModified": 1681202837,
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
@ -150,11 +150,11 @@
]
},
"locked": {
"lastModified": 1707204789,
"narHash": "sha256-S3QVfyUPa7zzeyk0TAqr9i9FLwnaO/6zPx4DVCNEeqA=",
"lastModified": 1707205587,
"narHash": "sha256-WzAIbYbflluERLdPC/5epdodjQbR5WiduYS3BjIiGis=",
"owner": "chayleaf",
"repo": "home-manager",
"rev": "8abb90abf382972e8cd2f3c3b3cdc93c1502b067",
"rev": "acc7c52f80f1aa33239272d786a6e9ba2ffef9f5",
"type": "github"
},
"original": {
@ -166,11 +166,11 @@
},
"impermanence": {
"locked": {
"lastModified": 1703656108,
"narHash": "sha256-hCSUqdFJKHHbER8Cenf5JRzjMlBjIdwdftGQsO0xoJs=",
"lastModified": 1708968331,
"narHash": "sha256-VUXLaPusCBvwM3zhGbRIJVeYluh2uWuqtj4WirQ1L9Y=",
"owner": "nix-community",
"repo": "impermanence",
"rev": "033643a45a4a920660ef91caa391fbffb14da466",
"rev": "a33ef102a02ce77d3e39c25197664b7a636f9c30",
"type": "github"
},
"original": {
@ -204,11 +204,11 @@
]
},
"locked": {
"lastModified": 1706482802,
"narHash": "sha256-KXwKTfqFkoPpV8QqaVlpmO8w8rD/jHZL2315RL5QQ8w=",
"lastModified": 1711242788,
"narHash": "sha256-6m6hw6uoIIvoAMR5RLhw7kGfNu3Govof9vnPAzveUgI=",
"owner": "fufexan",
"repo": "nix-gaming",
"rev": "8f354ef64cd18898b8980ecf7fe90118808b514b",
"rev": "04028200841ec3b4ce163de4d136296d03123001",
"type": "github"
},
"original": {
@ -224,11 +224,11 @@
]
},
"locked": {
"lastModified": 1706411424,
"narHash": "sha256-BzziJYucEZvdCE985vjPoo3ztWcmUiSQ1wJ2CoT6jCc=",
"lastModified": 1711249705,
"narHash": "sha256-h/NQECj6mIzF4XR6AQoSpkCnwqAM+ol4+qOdYi2ykmQ=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "c782f2a4f6fc94311ab5ef31df2f1149a1856181",
"rev": "34519f3bb678a5abbddf7b200ac5347263ee781b",
"type": "github"
},
"original": {
@ -239,11 +239,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1706182238,
"narHash": "sha256-Ti7CerGydU7xyrP/ow85lHsOpf+XMx98kQnPoQCSi1g=",
"lastModified": 1711352745,
"narHash": "sha256-luvqik+i3HTvCbXQZgB6uggvEcxI9uae0nmrgtXJ17U=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "f84eaffc35d1a655e84749228cde19922fcf55f1",
"rev": "9a763a7acc4cfbb8603bb0231fec3eda864f81c0",
"type": "github"
},
"original": {
@ -259,20 +259,14 @@
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-23_05": [
"nixpkgs"
],
"nixpkgs-23_11": [
"nixpkgs"
],
"utils": "utils"
},
"locked": {
"lastModified": 1706219574,
"narHash": "sha256-qO+8UErk+bXCq2ybHU4GzXG4Ejk4Tk0rnnTPNyypW4g=",
"lastModified": 1710449465,
"narHash": "sha256-2orO8nfplp6uQJBFqKkj1iyNMC6TysmwbWwbb4osTag=",
"owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver",
"rev": "e47f3719f1db3e0961a4358d4cb234a0acaa7baf",
"rev": "79c8cfcd5873a85559da6201b116fb38b490d030",
"type": "gitlab"
},
"original": {
@ -288,11 +282,11 @@
]
},
"locked": {
"lastModified": 1706386221,
"narHash": "sha256-fMBhmJqm6yihdweMmi+NPV4SFj2WXOQSpAwfKoLGyRE=",
"lastModified": 1710972558,
"narHash": "sha256-fA72ql4T4/KgSNxZwZJ1EoEHXjmwt7I/OukHC8NVVF0=",
"owner": "chayleaf",
"repo": "nixos-router",
"rev": "af7d975e755702b649a386c57b44665d56c80d7a",
"rev": "061cf097417ed363b1e23d11daa7192e4b5f1994",
"type": "github"
},
"original": {
@ -303,15 +297,16 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1706628962,
"narHash": "sha256-BBbgY5OsYMxithcHtoulfAJHTmNxQ41Gr99cHZo4yOM=",
"lastModified": 1711373529,
"narHash": "sha256-KUdy2aBIXFN/EUv9wNJzXhzMNaZ2N4msaoEIBZD5Q1g=",
"owner": "chayleaf",
"repo": "nixpkgs",
"rev": "8a98311cb973d73718e004461d57635b23f632af",
"rev": "5dd661fc6cd8572fde2e591a6c08f524a1433823",
"type": "github"
},
"original": {
"owner": "chayleaf",
"ref": "ci",
"repo": "nixpkgs",
"type": "github"
}
@ -319,11 +314,11 @@
"nixpkgs-lib": {
"locked": {
"dir": "lib",
"lastModified": 1703961334,
"narHash": "sha256-M1mV/Cq+pgjk0rt6VxoyyD+O8cOUiai8t9Q6Yyq4noY=",
"lastModified": 1709237383,
"narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9",
"rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8",
"type": "github"
},
"original": {
@ -376,11 +371,11 @@
},
"nur": {
"locked": {
"lastModified": 1706607970,
"narHash": "sha256-q5W32qx3HhozhAT75AerVqOnhgvNrSyFrjAlu4qNYCU=",
"lastModified": 1711373381,
"narHash": "sha256-yE4C7yqY07FPS0k48+fVUUn7hVuZNtH9RYifwWiZtP4=",
"owner": "nix-community",
"repo": "NUR",
"rev": "d7e286c21530da5d6da54424d64e15de14f7c07a",
"rev": "906301be75ee865f17cb6fc52720df9dcb49b93f",
"type": "github"
},
"original": {
@ -416,11 +411,11 @@
]
},
"locked": {
"lastModified": 1706580650,
"narHash": "sha256-e6q4Pn1dp3NoQJdMYdyNdDHU5IRBW9i3bHSJ3jThEL0=",
"lastModified": 1711332768,
"narHash": "sha256-SFnlIwnrwJxEawLcrH7+zGb8spePcYyai5asMZnm0BM=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "39e20b3c02caa91c9970beef325a04975d83d77f",
"rev": "8a8e3ea9a9a4b2225cb5e33e07c3a337f820168c",
"type": "github"
},
"original": {
@ -444,13 +439,31 @@
"type": "github"
}
},
"utils": {
"systems_2": {
"locked": {
"lastModified": 1605370193,
"narHash": "sha256-YyMTf3URDL/otKdKgtoMChu4vfVL3vCMkRqpGifhUn0=",
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1709126324,
"narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5021eac20303a61fafe17224c087f5519baed54d",
"rev": "d465f4819400de7c8d874d50b982301f28a84605",
"type": "github"
},
"original": {

View file

@ -4,7 +4,7 @@
inputs = {
#nixpkgs.url = "github:NixOS/nixpkgs/3dc2b4f8166f744c3b3e9ff8224e7c5d74a5424f";
# nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs.url = "github:chayleaf/nixpkgs";
nixpkgs.url = "github:chayleaf/nixpkgs/ci";
nixos-hardware.url = "github:NixOS/nixos-hardware";
nix-index-database = {
url = "github:nix-community/nix-index-database";
@ -48,10 +48,6 @@
nixos-mailserver = {
url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
inputs.nixpkgs.follows = "nixpkgs";
# prevent extra input from being in flake.lock
# (this doesn't affect any behavior)
inputs.nixpkgs-23_05.follows = "nixpkgs";
inputs.nixpkgs-23_11.follows = "nixpkgs";
};
flake-compat = {
url = "github:edolstra/flake-compat";

View file

@ -185,17 +185,10 @@
input-default-bindings = false;
};
# profiles = { };
package = pkgs.wrapMpv ((pkgs.mpv-unwrapped.override {
# webp support
package = pkgs.wrapMpv (pkgs.mpv-unwrapped.override {
# many features aren't supported by normal ffmpeg
ffmpeg = pkgs.ffmpeg-full;
}).overrideAttrs (old: {
patches = old.patches or [] ++ [
(pkgs.fetchpatch {
url = "https://github.com/mpv-player/mpv/pull/11648.patch";
hash = "sha256-rp5VxVD74dY3w5rKct1BwFbruxpHsGk8zwtkkhdJovM=";
})
];
})) {
}) {
scripts = with pkgs.mpvScripts; [
thumbnail
mpris

View file

@ -1,5 +1,5 @@
diff --git a/include/sway/config.h b/include/sway/config.h
index aa58da53..223efae0 100644
index f9da1967..fa2d8858 100644
--- a/include/sway/config.h
+++ b/include/sway/config.h
@@ -50,6 +50,7 @@ enum binding_flags {
@ -24,10 +24,10 @@ index 979e178f..d17458ea 100644
break;
}
diff --git a/sway/input/keyboard.c b/sway/input/keyboard.c
index c3bf4fbb..78ef8e61 100644
index 8927287f..3faff953 100644
--- a/sway/input/keyboard.c
+++ b/sway/input/keyboard.c
@@ -162,8 +162,9 @@ static void get_active_binding(const struct sway_shortcut_state *state,
@@ -161,8 +161,9 @@ static void get_active_binding(const struct sway_shortcut_state *state,
bool binding_locked = (binding->flags & BINDING_LOCKED) != 0;
bool binding_inhibited = (binding->flags & BINDING_INHIBITED) != 0;
bool binding_release = binding->flags & BINDING_RELEASE;
@ -38,7 +38,7 @@ index c3bf4fbb..78ef8e61 100644
release != binding_release ||
locked > binding_locked ||
inhibited > binding_inhibited ||
@@ -175,7 +176,42 @@ static void get_active_binding(const struct sway_shortcut_state *state,
@@ -174,7 +175,42 @@ static void get_active_binding(const struct sway_shortcut_state *state,
}
bool match = false;
@ -83,21 +83,18 @@ index c3bf4fbb..78ef8e61 100644
for (size_t j = 0; j < state->npressed; j++) {
uint32_t key = *(uint32_t *)binding->keys->items[j];
diff --git a/sway/sway.5.scd b/sway/sway.5.scd
index 25082c41..268e0526 100644
index 7e58b528..794965b9 100644
--- a/sway/sway.5.scd
+++ b/sway/sway.5.scd
@@ -389,8 +389,8 @@ runtime.
for_window <criteria> move container to output <output>
@@ -390,6 +390,7 @@ runtime.
*bindsym* [--whole-window] [--border] [--exclude-titlebar] [--release] [--locked] \
-[--to-code] [--input-device=<device>] [--no-warn] [--no-repeat] [Group<1-4>+]<key combo> \
-<command>
+[--to-code] [--input-device=<device>] [--no-warn] [--no-repeat] [--allow-other] \
+[Group<1-4>+]<key combo> <command>
[--to-code] [--input-device=<device>] [--no-warn] [--no-repeat] [--inhibited] \
+[--allow-other] \
[Group<1-4>+]<key combo> <command>
Binds _key combo_ to execute the sway command _command_ when pressed. You
may use XKB key names here (*wev*(1) is a good tool for discovering these).
With the flag _--release_, the command is executed when the key combo is
@@ -419,6 +419,11 @@ runtime.
@@ -419,6 +420,11 @@ runtime.
repeatedly when the key is held, according to the repeat
settings specified in the input configuration.

View file

@ -22,24 +22,24 @@
"pinned": false,
"src": {
"name": null,
"sha256": "sha256-5fEYhazqXcMENjp+37IcF5U81vZ9bPDkS0siUVi9mdg=",
"sha256": "sha256-wCIffeayOy3kEwmIKB7e+NrliuSpKXoVYC334fxVB3U=",
"type": "url",
"url": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton8-27/GE-Proton8-27.tar.gz"
"url": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-1/GE-Proton9-1.tar.gz"
},
"version": "GE-Proton8-27"
"version": "GE-Proton9-1"
},
"searxng": {
"cargoLocks": null,
"date": "2024-01-25",
"date": "2024-03-15",
"extract": null,
"name": "searxng",
"passthru": null,
"pinned": false,
"src": {
"sha256": "sha256-QW1xC6RsHpn5P/QHjyc3O24tSmLvRCVIJwNqPyp1DV0=",
"sha256": "sha256-BqVnp/lByAMr/LOCGkuXCYsomu9hRBGXK3DbBQX10TA=",
"type": "tarball",
"url": "https://github.com/searxng/searxng/archive/8c73aa772b7d4446f77be82d8f9d9eef1e348deb.tar.gz"
"url": "https://github.com/searxng/searxng/archive/e2af3e49702f6fb40e1614f826544dc3b03bca2f.tar.gz"
},
"version": "8c73aa772b7d4446f77be82d8f9d9eef1e348deb"
"version": "e2af3e49702f6fb40e1614f826544dc3b03bca2f"
}
}

View file

@ -12,19 +12,19 @@
};
proton-ge = {
pname = "proton-ge";
version = "GE-Proton8-27";
version = "GE-Proton9-1";
src = fetchurl {
url = "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton8-27/GE-Proton8-27.tar.gz";
sha256 = "sha256-5fEYhazqXcMENjp+37IcF5U81vZ9bPDkS0siUVi9mdg=";
url = "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-1/GE-Proton9-1.tar.gz";
sha256 = "sha256-wCIffeayOy3kEwmIKB7e+NrliuSpKXoVYC334fxVB3U=";
};
};
searxng = {
pname = "searxng";
version = "8c73aa772b7d4446f77be82d8f9d9eef1e348deb";
version = "e2af3e49702f6fb40e1614f826544dc3b03bca2f";
src = fetchTarball {
url = "https://github.com/searxng/searxng/archive/8c73aa772b7d4446f77be82d8f9d9eef1e348deb.tar.gz";
sha256 = "sha256-QW1xC6RsHpn5P/QHjyc3O24tSmLvRCVIJwNqPyp1DV0=";
url = "https://github.com/searxng/searxng/archive/e2af3e49702f6fb40e1614f826544dc3b03bca2f.tar.gz";
sha256 = "sha256-BqVnp/lByAMr/LOCGkuXCYsomu9hRBGXK3DbBQX10TA=";
};
date = "2024-01-25";
date = "2024-03-15";
};
}

View file

@ -17,16 +17,16 @@
"tabs"
"declarativeNetRequestWithHostAccess"
"<all_urls>"
];
];
platforms = platforms.all;
};
};
};
"rikaitan" = buildFirefoxXpiAddon {
pname = "rikaitan";
version = "24.1.22.0";
version = "24.3.7.1";
addonId = "tatsu@autistici.org";
url = "https://addons.mozilla.org/firefox/downloads/file/4224979/rikaitan-24.1.22.0.xpi";
sha256 = "7df217a68077d45b9f41fe0170193c9224abc2a543c121429ebef4e7e857b0df";
url = "https://addons.mozilla.org/firefox/downloads/file/4246908/rikaitan-24.3.7.1.xpi";
sha256 = "db849343b029b2f1b510cc66032157502e3fe9e6168072d27e8aad9867b6ec17";
meta = with lib;
{
homepage = "https://github.com/Ajatt-Tools/rikaitan";
@ -41,10 +41,10 @@
"http://*/*"
"https://*/*"
"file://*/*"
];
];
platforms = platforms.all;
};
};
};
"youtube-nonstop" = buildFirefoxXpiAddon {
pname = "youtube-nonstop";
version = "0.9.2";
@ -59,8 +59,8 @@
mozPermissions = [
"https://www.youtube.com/*"
"https://music.youtube.com/*"
];
];
platforms = platforms.all;
};
};
}
};
}

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
[package]
name = "home-daemon"
version = "0.1.0"
version = "0.2.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@ -9,6 +9,7 @@ edition = "2021"
zbus = { version = "3", features = ["tokio"] }
futures-util = "0.3"
swayipc-async = "2"
cpal = "0.15"
[dependencies.tokio]
version = "1"

View file

@ -1,9 +1,18 @@
{ lib, rustPlatform, nix-gitignore }:
{ lib
, rustPlatform
, nix-gitignore
, pkg-config
, alsa-lib
}:
rustPlatform.buildRustPackage {
pname = "home-daemon";
version = "0.1";
version = "0.2.0";
src = nix-gitignore.gitignoreSource ["/target" "default.nix"] (lib.cleanSource ./.);
nativeBuildInputs = [ pkg-config ];
buildInputs = [ alsa-lib ];
src = nix-gitignore.gitignoreSource [ "/target" "default.nix" ] ./.;
cargoLock.lockFile = ./Cargo.lock;

View file

@ -1,8 +1,8 @@
{ pkgs ? import <nixpkgs> {} }:
{ pkgs ? import <nixpkgs> {}, lib ? pkgs.lib }:
pkgs.mkShell {
pkgs.mkShell rec {
name = "shell-rust";
buildInputs = [
pkgs.rustc pkgs.cargo
];
nativeBuildInputs = with pkgs; [ pkg-config rustc cargo ];
buildInputs = with pkgs; [ alsa-lib ];
LD_LIBRARY_PATH = "${lib.makeLibraryPath buildInputs}";
}

View file

@ -1,3 +1,4 @@
use cpal::{traits::{DeviceTrait, HostTrait, StreamTrait}, SampleFormat};
use futures_util::stream::StreamExt;
use std::collections::HashSet;
use swayipc_async::{Connection, Event, EventType, WindowChange};
@ -8,14 +9,26 @@ async fn main() {
let _ses_dbus = Box::leak(Box::new(zbus::Connection::session().await.unwrap()));
let mut handlers = Vec::<Box<dyn SwayIpcHandler>>::new();
let mut panic = true;
for args in std::env::args().skip(1) {
handlers.push(match args.as_str() {
"system76-scheduler" => Box::new(System76::new(sys_dbus).await),
"empty-sound" => {
panic = false;
tokio::spawn(async {
play_empty_sound().await;
});
continue;
}
_ => panic!("handler not supported"),
})
}
if handlers.is_empty() {
panic!("no handlers set up");
if panic {
panic!("no handlers set up");
} else {
futures_util::future::pending::<()>().await;
}
}
let mut subs = HashSet::new();
@ -29,11 +42,11 @@ async fn main() {
}
}
async fn start(subs: &[EventType], handlers: &mut [Box<dyn SwayIpcHandler>]) -> Result<(), swayipc_async::Error> {
let mut events = Connection::new()
.await?
.subscribe(&subs)
.await?;
async fn start(
subs: &[EventType],
handlers: &mut [Box<dyn SwayIpcHandler>],
) -> Result<(), swayipc_async::Error> {
let mut events = Connection::new().await?.subscribe(&subs).await?;
while let Some(event) = events.next().await {
match event {
Ok(event) => {
@ -42,17 +55,50 @@ async fn start(subs: &[EventType], handlers: &mut [Box<dyn SwayIpcHandler>]) ->
}
}
Err(err) => match err {
swayipc_async::Error::Io(_)
swayipc_async::Error::Io(_)
| swayipc_async::Error::InvalidMagic(_)
| swayipc_async::Error::SubscriptionFailed(_)
=> return Err(err),
| swayipc_async::Error::SubscriptionFailed(_) => return Err(err),
_ => {}
}
},
}
}
Ok(())
}
async fn play_empty_sound() {
let device = cpal::default_host()
.default_output_device()
.expect("no output device available");
let supported_config = device
.supported_output_configs()
.unwrap()
.find(|config| {
config.sample_format() == SampleFormat::F32
&& (config.min_sample_rate()..=config.max_sample_rate())
.contains(&cpal::SampleRate(44100))
&& config.channels() == 1
})
.unwrap()
.with_sample_rate(cpal::SampleRate(44100));
let config = supported_config.into();
let stream = Box::leak(Box::new(
device
.build_output_stream(
&config,
|data: &mut [f32], _: &cpal::OutputCallbackInfo| {
for sample in data.iter_mut() {
*sample = 1.0 / 1985.0;
}
},
|err| eprintln!("an error occurred on the output audio stream: {}", err),
None,
)
.unwrap(),
));
stream.play().unwrap();
futures_util::future::pending::<()>().await;
}
trait SwayIpcHandler {
fn register(&mut self, subs: &mut HashSet<EventType>);
fn handle(&mut self, event: &Event);
@ -97,4 +143,3 @@ impl SwayIpcHandler for System76<'static> {
}
}
}

View file

@ -1,10 +1,10 @@
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index b60aa1f8934..0e3191950d5 100644
index e6cf3e5d63c..54d5d7c10e4 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -1317,8 +1317,9 @@ CONFIG_QCOM_AOSS_QMP=y
@@ -1351,8 +1351,9 @@ CONFIG_MTK_SVS=m
CONFIG_QCOM_AOSS_QMP=y
CONFIG_QCOM_COMMAND_DB=y
CONFIG_QCOM_CPR=y
CONFIG_QCOM_GENI_SE=y
-CONFIG_QCOM_LLCC=m
-CONFIG_QCOM_OCMEM=m

View file

@ -38,7 +38,10 @@ in
requires = [ "dbus.socket" ];
serviceConfig.ExecStart = "${pkgs.q6voiced}/bin/q6voiced hw:0,6";
};
systemd.user.services.wireplumber.environment.WIREPLUMBER_CONFIG_DIR = pkgs.runCommand "wireplumber-config" {} ''
# TODO when testing PipeWire instead of PulseAudio, the following is needed:
# https://gitlab.freedesktop.org/pipewire/wireplumber/-/blob/master/docs/rst/daemon/configuration/migration.rst
# https://gitlab.com/postmarketOS/pmaports/-/tree/master/device/community/soc-qcom-sdm845/
/*systemd.user.services.wireplumber.environment.WIREPLUMBER_CONFIG_DIR = pkgs.runCommand "wireplumber-config" {} ''
cp -a "${pkgs.wireplumber}/share/wireplumber" "$out"
chmod +w "$out" "$out/main.lua.d"
ln -s ${pkgs.fetchurl {
@ -46,7 +49,7 @@ in
hash = "sha256-56oNJJyuZZe1Iig1xskDuyazw3PbRZtmU/YRFUTqjwk=";
}} "$out/main.lua.d/51-qcom-sdm845.lua"
'';
systemd.services.wireplumber.environment.WIREPLUMBER_CONFIG_DIR = config.systemd.user.services.wireplumber.environment.WIREPLUMBER_CONFIG_DIR;
systemd.services.wireplumber.environment.WIREPLUMBER_CONFIG_DIR = config.systemd.user.services.wireplumber.environment.WIREPLUMBER_CONFIG_DIR;*/
networking.modemmanager.enable = !config.networking.networkmanager.enable;
services.udev.extraRules = ''
SUBSYSTEM=="input", KERNEL=="event*", ENV{ID_INPUT}=="1", SUBSYSTEMS=="input", ATTRS{name}=="spmi_haptics", TAG+="uaccess", ENV{FEEDBACKD_TYPE}="vibra"

View file

@ -124,8 +124,8 @@ in {
# ignoreConfigErrors = false;
kernelPatches = [
{
name = "linux_6_7";
patch = ./linux_6_7.patch;
name = "linux_6_8";
patch = ./linux_6_8.patch;
}
{
name = "config_fixes";
@ -582,6 +582,9 @@ in {
# keys that are unused in this case
# (builtin aarch64-linux config is unused too, but i cant disable it)
ACPI_HOTPLUG_CPU.optional = lib.mkForce true; CEPH_FSCACHE.optional = lib.mkForce true;
CIFS_FSCACHE.optional = lib.mkForce true; DRM_NOUVEAU_GSP_DEFAULT.optional = lib.mkForce true; FSCACHE_STATS.optional = lib.mkForce true;
SND_AC97_POWER_SAVE_DEFAULT.optional = lib.mkForce true; SND_HDA_POWER_SAVE_DEFAULT.optional = lib.mkForce true;
ACPI_HOTPLUG_MEMORY.tristate = lib.mkForce null; BCM2835_MBOX.tristate = lib.mkForce null; BCM2835_WDT.tristate = lib.mkForce null;
CHROMEOS_TBMC.tristate = lib.mkForce null; CROS_EC.tristate = lib.mkForce null; CROS_EC_I2C.tristate = lib.mkForce null;
CROS_EC_SPI.tristate = lib.mkForce null; CROS_KBD_LED_BACKLIGHT.tristate = lib.mkForce null;

View file

@ -948,6 +948,6 @@ in {
{ directory = /secrets; mode = "0000"; }
# my custom impermanence module doesnt detect it
{ directory = /var/db/dhcpcd; mode = "0755"; }
{ directory = /var/lib/private/kea; mode = "0750"; parentDirectory.mode = "0700"; }
{ directory = /var/lib/private/kea; mode = "0750"; defaultPerms.mode = "0700"; }
];
}

View file

@ -114,7 +114,7 @@ in {
"https://api.github.com/repos/FAForever/"
"https://github.com/nix-community/nix-index-database/releases/download/"
# required for server (I suppose since nvfetcher uses fetchTarball here...)
"https://github.com/searxng/searxng/releases/download/"
"https://github.com/searxng/searxng/"
# for nginx CF-Connecting-IP config generation
"https://www.cloudflare.com/ips-v4"
"https://www.cloudflare.com/ips-v6"

View file

@ -70,14 +70,14 @@ in {
] ++ lib.optionals config.services.akkoma.enable [
{ directory = /var/lib/akkoma; user = "akkoma"; group = "akkoma"; mode = "0700"; }
] ++ lib.optionals config.services.botamusique.enable [
{ directory = /var/lib/private/botamusique; user = "root"; group = "root"; mode = "0750"; parentDirectory.mode = "0700"; }
{ directory = /var/lib/private/botamusique; user = "root"; group = "root"; mode = "0750"; defaultPerms.mode = "0700"; }
] ++ lib.optionals config.programs.ccache.enable [
{ directory = config.programs.ccache.cacheDir; user = "root"; group = "nixbld"; mode = "0770"; }
{ directory = /var/cache/sccache; user = "root"; group = "nixbld"; mode = "0770"; }
] ++ lib.optionals config.services.certspotter.enable [
{ directory = /var/lib/certspotter; user = "certspotter"; group = "certspotter"; mode = "0755"; }
] ++ lib.optionals (config.services.coop-ofd.enable or false) [
{ directory = /var/lib/private/coop-ofd; mode = "0750"; parentDirectory.mode = "0700"; }
{ directory = /var/lib/private/coop-ofd; mode = "0750"; defaultPerms.mode = "0700"; }
] ++ lib.optionals config.services.dovecot2.enable [
{ directory = /var/lib/dhparams; user = "root"; group = "root"; mode = "0755"; }
{ directory = /var/lib/dovecot; user = "root"; group = "root"; mode = "0755"; }