update inputs

This commit is contained in:
chayleaf 2024-03-19 15:30:38 +07:00
parent 95fbc86d37
commit dfae8db559
Signed by: chayleaf
GPG key ID: 78171AD46227E68E
32 changed files with 1152 additions and 7125 deletions

View file

@ -25,11 +25,11 @@
]
},
"locked": {
"lastModified": 1703252072,
"narHash": "sha256-IY/0CeFhaKMBcNUmGXwsPazeKu2rGqCa4IHXSmHy5u0=",
"lastModified": 1712785740,
"narHash": "sha256-5r88elsHgFXDdr/NOwK+2oKMfrFqcXV4tQPhVXTLI0E=",
"owner": "chayleaf",
"repo": "coop-ofd",
"rev": "c18e676934884181ad8687e069d28db3c7d1cdfb",
"rev": "348dbe813090de3c3b694695699439893df8ad62",
"type": "github"
},
"original": {
@ -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": 1712014858,
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "07f6395285469419cf9d078f59b5b49993198c00",
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
"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": 1714645000,
"narHash": "sha256-RelIgcYWJnUdE96Hjh8gR6wmsNgLc1LHDZY5VtdR6Eo=",
"owner": "chayleaf",
"repo": "home-manager",
"rev": "8abb90abf382972e8cd2f3c3b3cdc93c1502b067",
"rev": "2a477b78f5e95a0b8ed741786524ca0fbfe0c230",
"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": 1712452624,
"narHash": "sha256-R35K+4krhK5B2fcV6W2HFe/uhXmP8YGTb35uZ+nDAxw=",
"owner": "fufexan",
"repo": "nix-gaming",
"rev": "8f354ef64cd18898b8980ecf7fe90118808b514b",
"rev": "06314bbf8fedd83c7253442994a2f0c81d47988e",
"type": "github"
},
"original": {
@ -224,11 +224,11 @@
]
},
"locked": {
"lastModified": 1706411424,
"narHash": "sha256-BzziJYucEZvdCE985vjPoo3ztWcmUiSQ1wJ2CoT6jCc=",
"lastModified": 1712459390,
"narHash": "sha256-e12bNDottaGoBgd0AdH/bQvk854xunlWAdZwr/oHO1c=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "c782f2a4f6fc94311ab5ef31df2f1149a1856181",
"rev": "4676d72d872459e1e3a248d049609f110c570e9a",
"type": "github"
},
"original": {
@ -239,11 +239,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1706182238,
"narHash": "sha256-Ti7CerGydU7xyrP/ow85lHsOpf+XMx98kQnPoQCSi1g=",
"lastModified": 1712760404,
"narHash": "sha256-4zhaEW1nB+nGbCNMjOggWeY5nXs/H0Y71q0+h+jdxoU=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "f84eaffc35d1a655e84749228cde19922fcf55f1",
"rev": "e1c4bac14beb8c409d0534382cf967171706b9d9",
"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": 1712769857,
"narHash": "sha256-YUyh+yfB15+2gvvvTvWBQbAUrD1x391QF1PRZUSt87k=",
"owner": "chayleaf",
"repo": "nixpkgs",
"rev": "8a98311cb973d73718e004461d57635b23f632af",
"rev": "058c6a3724a1cc5ef010ce6f2163d959666e8a86",
"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": 1711703276,
"narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9",
"rev": "d8fe5e6c92d0d190646fb9f1056741a229980089",
"type": "github"
},
"original": {
@ -376,11 +371,11 @@
},
"nur": {
"locked": {
"lastModified": 1706607970,
"narHash": "sha256-q5W32qx3HhozhAT75AerVqOnhgvNrSyFrjAlu4qNYCU=",
"lastModified": 1712785619,
"narHash": "sha256-1RCStMZUGqus3DAl7jivw7XM5jpbecfqWtA1r45Ts90=",
"owner": "nix-community",
"repo": "NUR",
"rev": "d7e286c21530da5d6da54424d64e15de14f7c07a",
"rev": "a0471f14e0499a66898fc1c7d5aff259a9fa58b9",
"type": "github"
},
"original": {
@ -416,11 +411,11 @@
]
},
"locked": {
"lastModified": 1706580650,
"narHash": "sha256-e6q4Pn1dp3NoQJdMYdyNdDHU5IRBW9i3bHSJ3jThEL0=",
"lastModified": 1712715149,
"narHash": "sha256-uOx7GaLV+5hekAYtm/CBr627Pi7+d1Yh70hwKmVjYYo=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "39e20b3c02caa91c9970beef325a04975d83d77f",
"rev": "9ef1eca23bee5fb8080863909af3802130b2ee57",
"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

@ -11,7 +11,7 @@
../modules/i3-sway.nix
../modules/nvim.nix
../modules/helix.nix
../modules/kakoune.nix
# ../modules/kakoune.nix
inputs.nur.nixosModules.nur
];

View file

@ -17,7 +17,7 @@
enableSshSupport = true;
maxCacheTtl = 72000;
maxCacheTtlSsh = 72000;
pinentryFlavor = "tty";
pinentryPackage = pkgs.pinentry.tty;
};
home.shellAliases = {
s = "sudo -A";

View file

@ -0,0 +1,131 @@
/* ==========================================================================
File: gruvbox-common.rasi
Desc: Shared rules between all gruvbox themes
Author: bardisty <b@bah.im>
Source: https://github.com/bardisty/gruvbox-rofi
Modified: Mon Feb 12 2018 06:06:47 PST -0800
========================================================================== */
window {
background-color: @background;
border: 2;
padding: 2;
}
mainbox {
border: 0;
padding: 0;
}
message {
border: 2px 0 0;
border-color: @separatorcolor;
padding: 1px;
}
textbox {
highlight: @highlight;
text-color: @foreground;
}
listview {
border: 2px solid 0 0;
padding: 2px 0 0;
border-color: @separatorcolor;
spacing: 2px;
scrollbar: @scrollbar;
}
element {
border: 0;
padding: 2px;
}
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
scrollbar {
width: 4px;
border: 0;
handle-color: @scrollbar-handle;
handle-width: 8px;
padding: 0;
}
mode-switcher {
border: 2px 0 0;
border-color: @separatorcolor;
}
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 2px;
children: [ prompt, textbox-prompt-sep, entry, case-indicator ];
}
case-indicator,
entry,
prompt,
button {
spacing: 0;
text-color: @normal-foreground;
}
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
textbox-prompt-sep {
expand: false;
str: ":";
text-color: @normal-foreground;
margin: 0 0.3em 0 0;
}
element-text, element-icon {
background-color: inherit;
text-color: inherit;
}

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

@ -111,7 +111,7 @@ commonConfig = {
/run/current-system/sw/bin/busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true
''}
${pkgs.procps}/bin/pkill -x home-daemon
${pkgs.home-daemon}/bin/home-daemon system76-scheduler&
${pkgs.home-daemon}/bin/home-daemon system76-scheduler ${lib.optionalString (!config.phone.enable) "empty-sound"}&
${pkgs.procps}/bin/pkill -x keepassxc
${pkgs.gnome.zenity}/bin/zenity --password | (${pkgs.keepassxc}/bin/keepassxc --pw-stdin ~/var/local.kdbx &)
# sleep to give keepassxc time to take the input
@ -271,6 +271,7 @@ in
extraConfig = ''
title_align center
'';
checkConfig = false;
config = commonConfig // {
bars = [
{
@ -516,7 +517,7 @@ in
selected-urgent-background = mkLiteral "#394893";
selected-urgent-foreground = mkLiteral "#${config.colors.yellow}";
};
"@import" = "gruvbox-common.rasi";
"@import" = "${./gruvbox-common.rasi}";
};
terminal = config.terminalBin;
extraConfig = {

View file

@ -1,3 +1,4 @@
# broken
{ pkgs, lib, ... }:
let
wrapKakoune = { extraPackages ? [ ], withPython3 ? true, extraPython3Packages ? (_: [ ]) }:

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

@ -3,7 +3,7 @@
programs.zsh = {
enable = true;
# zsh-autosuggestions
enableAutosuggestions = true;
autosuggestion.enable = true;
# zsh-syntax-highlighting
syntaxHighlighting.enable = true;
defaultKeymap = "viins";

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

@ -37,7 +37,7 @@ in
})
];
});*/
harmonia = (pkgs.harmonia.override { nixVersions.nix_2_19 = nixForNixPlugins; }).overrideAttrs (old: rec {
harmonia = (pkgs.harmonia.override { nixVersions.nix_2_21 = nixForNixPlugins; }).overrideAttrs (old: rec {
version = "0.7.3";
src = old.src.override {
rev = "refs/tags/${old.pname}-v${version}";

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,3 +1,3 @@
#!/usr/bin/env bash
git push
git push github master
git push "$@"
git push github master "$@"

View file

@ -131,6 +131,7 @@ in rec {
CPU_FREQ_GOV_ONDEMAND = yes;
CPU_FREQ_DEFAULT_GOV_ONDEMAND = yes;
CPU_FREQ_DEFAULT_GOV_SCHEDUTIL = lib.mkForce no;
CPU_FREQ_DEFAULT_GOV_PERFORMANCE = lib.mkForce no;
CPU_FREQ_GOV_CONSERVATIVE = yes;
# disable virtualisation stuff
@ -243,7 +244,7 @@ in rec {
# hardware specific stuff
FB = lib.mkForce no;
DRM = no;
DRM = lib.mkForce no;
SOUND = no;
INFINIBAND = lib.mkForce no;
CFG80211 = module;
@ -306,6 +307,13 @@ in rec {
# keys that are unused in this case
# used because i got bitten by config keys changing once
SND_AC97_POWER_SAVE_DEFAULT.optional = lib.mkForce true; SND_HDA_POWER_SAVE_DEFAULT.optional = lib.mkForce true;
SND_USB_AUDIO_MIDI_V2.tristate = lib.mkForce null;
DRM_ACCEL.tristate = lib.mkForce null; DRM_AMD_ACP.tristate = lib.mkForce null; DRM_AMD_SECURE_DISPLAY.tristate = lib.mkForce null;
DRM_DP_CEC.tristate = lib.mkForce null; DRM_NOUVEAU_SVM.tristate = lib.mkForce null; MEM_SOFT_DIRTY.tristate = lib.mkForce null;
PM_TRACE.tristate = lib.mkForce null; RAS_CEC.tristate = lib.mkForce null; SND_AC97_POWER_SAVE_DEFAULT.tristate = lib.mkForce null;
AGP.tristate = lib.mkForce null; ACPI_HOTPLUG_CPU.tristate = lib.mkForce null; CEPH_FSCACHE.tristate = lib.mkForce null;
CIFS_FSCACHE.tristate = lib.mkForce null; DRM_NOUVEAU_GSP_DEFAULT.tristate = lib.mkForce null; FSCACHE_STATS.tristate = lib.mkForce null;
"9P_FSCACHE".tristate = lib.mkForce null; CROS_EC_ISHTP.tristate = lib.mkForce null; CROS_EC_LPC.tristate = lib.mkForce null;
DRM_AMDGPU_CIK.tristate = lib.mkForce null; DRM_AMDGPU_SI.tristate = lib.mkForce null; DRM_AMDGPU_USERPTR.tristate = lib.mkForce null;
DRM_AMD_DC_FP.tristate = lib.mkForce null; DRM_AMD_DC_SI.tristate = lib.mkForce null; DRM_DP_AUX_CHARDEV.tristate = lib.mkForce null;

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";

View file

@ -8,7 +8,7 @@
"phy-rockchip-naneng-combphy"
];
boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux_6_7;
boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux_latest;
boot.kernelParams = [ "dtb=/${config.hardware.deviceTree.name}" ];
hardware.deviceTree.enable = true;

View file

@ -171,7 +171,7 @@
pkgs.android-udev-rules
];
services.avahi.enable = true;
services.avahi.nssmdns = true;
services.avahi.nssmdns4 = true;
environment.systemPackages = with pkgs; [
comma
neovim

View file

@ -582,11 +582,11 @@ in {
[(is.eq ip.saddr "@force_unvpn4") (mangle meta.mark wan_table)]
[(is.eq ip6.saddr "@force_unvpn6") (mangle meta.mark wan_table)]
# ...force vpn to/from force_vpn4/force_vpn6
# (temporarily disable this because it breaks codeforces.org)
# [(is.eq ip.daddr "@force_vpn4") (mangle meta.mark vpn_table)]
# [(is.eq ip6.daddr "@force_vpn6") (mangle meta.mark vpn_table)]
# [(is.eq ip.saddr "@force_vpn4") (mangle meta.mark vpn_table)]
# [(is.eq ip6.saddr "@force_vpn6") (mangle meta.mark vpn_table)]
# (disable this if it breaks some sites)
[(is.eq ip.daddr "@force_vpn4") (mangle meta.mark vpn_table)]
[(is.eq ip6.daddr "@force_vpn6") (mangle meta.mark vpn_table)]
[(is.eq ip.saddr "@force_vpn4") (mangle meta.mark vpn_table)]
[(is.eq ip6.saddr "@force_vpn6") (mangle meta.mark vpn_table)]
# block requests to port 25 from hosts other than the server so they can't send mail pretending to originate from my domain
# only do this for lans since traffic from other interfaces isn't forwarded to wan
[(is.eq meta.iifname lanSet) (is.ne ether.saddr cfg.serverMac) (is.eq meta.l4proto (f: f.tcp)) (is.eq tcp.dport 25) (log "smtp ") drop]
@ -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

@ -82,7 +82,7 @@ in {
dbtype = "pgsql";
dbhost = "/run/postgresql";
};
extraOptions.overwriteprotocol = "https";
settings.overwriteprotocol = "https";
hostName = "cloud.${cfg.domainName}";
https = true;
};

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

@ -31,7 +31,7 @@ in {
};
systemd.services.gitea.after = [ "keycloak.service" ];
services.nextcloud.extraOptions.allow_local_remote_servers = true;
services.nextcloud.settings.allow_local_remote_servers = true;
systemd.services.nextcloud.after = [ "keycloak.service" ];
# a crude way to make some python packages available for synapse

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"; }