mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-12 19:46:20 +00:00
Compare commits
7 Commits
37b65c6b7f
...
7f5076755c
| Author | SHA1 | Date | |
|---|---|---|---|
|
7f5076755c
|
|||
|
e414e3ac7b
|
|||
|
3fd867084a
|
|||
|
abace8ec55
|
|||
|
af6f381e49
|
|||
|
876650cf2e
|
|||
|
d570d170f0
|
50
flake.lock
generated
50
flake.lock
generated
@@ -8,11 +8,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743550720,
|
"lastModified": 1751413152,
|
||||||
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
|
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
|
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -79,11 +79,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749479111,
|
"lastModified": 1753181343,
|
||||||
"narHash": "sha256-0cn4NGnYR3n0m8FPrt+pW817Cedi4vwOw3SgJaTcdcg=",
|
"narHash": "sha256-CLQfNtUqirNVSYoW/kYbvL4PeeNasmZonaPnjO3+1YQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "35e1f5a7c29f2b05e8f53177f6b5c71108c5f4c3",
|
"rev": "0cdfcdbb525b77b951c889b6131047bc374f48fe",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -123,15 +123,15 @@
|
|||||||
"lix": {
|
"lix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746827285,
|
"lastModified": 1753223229,
|
||||||
"narHash": "sha256-hsFe4Tsqqg4l+FfQWphDtjC79WzNCZbEFhHI8j2KJzw=",
|
"narHash": "sha256-tkT4aCZZE6IEmjYotOzKKa2rV3pGpH3ZREeQn7ACgdU=",
|
||||||
"rev": "47aad376c87e2e65967f17099277428e4b3f8e5a",
|
"rev": "7ac20fc47cf2f1b7469c7a2f379e5a3a51a6789a",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/47aad376c87e2e65967f17099277428e4b3f8e5a.tar.gz?rev=47aad376c87e2e65967f17099277428e4b3f8e5a"
|
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/7ac20fc47cf2f1b7469c7a2f379e5a3a51a6789a.tar.gz?rev=7ac20fc47cf2f1b7469c7a2f379e5a3a51a6789a"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/lix-project/lix/archive/2.93.0.tar.gz"
|
"url": "https://git.lix.systems/lix-project/lix/archive/release-2.93.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lix-module": {
|
"lix-module": {
|
||||||
@@ -144,15 +144,15 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746838955,
|
"lastModified": 1753282722,
|
||||||
"narHash": "sha256-11R4K3iAx4tLXjUs+hQ5K90JwDABD/XHhsM9nkeS5N8=",
|
"narHash": "sha256-KYMUrTV7H/RR5/HRnjV5R3rRIuBXMemyJzTLi50NFTs=",
|
||||||
"rev": "cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc",
|
"rev": "46a9e8fcfe4be72b4c7c8082ee11d2c42da1e873",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc.tar.gz"
|
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/46a9e8fcfe4be72b4c7c8082ee11d2c42da1e873.tar.gz?rev=46a9e8fcfe4be72b4c7c8082ee11d2c42da1e873"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.93.0.tar.gz"
|
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.93.3-1.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"matugen": {
|
"matugen": {
|
||||||
@@ -195,11 +195,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749285348,
|
"lastModified": 1752950548,
|
||||||
"narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=",
|
"narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "3e3afe5174c561dee0df6f2c2b2236990146329f",
|
"rev": "c87b95e25065c028d31a94f06a62927d18763fdf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -219,11 +219,11 @@
|
|||||||
"systems": "systems_4"
|
"systems": "systems_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749420898,
|
"lastModified": 1752976861,
|
||||||
"narHash": "sha256-QiB3xDyHuj2VzS6AaALTeikLt6EsZyMjDRmzb4y2vFM=",
|
"narHash": "sha256-59HcrqHfbSJUdmpzrAa9x8fW1PoS+ZGhCjL5k5HbyV8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "2b6f694b48f43bbd89dcc21e8aa7aa676eb18eb8",
|
"rev": "0c50ed9349199219583cb1ed1a972d71e06039ec",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -242,11 +242,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748298102,
|
"lastModified": 1749730855,
|
||||||
"narHash": "sha256-PP11GVwUt7F4ZZi5A5+99isuq39C59CKc5u5yVisU/U=",
|
"narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=",
|
||||||
"owner": "NuschtOS",
|
"owner": "NuschtOS",
|
||||||
"repo": "search",
|
"repo": "search",
|
||||||
"rev": "f8a1c221afb8b4c642ed11ac5ee6746b0fe1d32f",
|
"rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
10
flake.nix
10
flake.nix
@@ -2,7 +2,7 @@
|
|||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
lix-module = {
|
lix-module = {
|
||||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.0.tar.gz";
|
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.3-1.tar.gz";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
home-manager = {
|
home-manager = {
|
||||||
@@ -50,6 +50,14 @@
|
|||||||
lpc21isp = prev.callPackage ./overlays/lpc21isp { };
|
lpc21isp = prev.callPackage ./overlays/lpc21isp { };
|
||||||
rquickshare = prev.callPackage ./overlays/rquickshare { };
|
rquickshare = prev.callPackage ./overlays/rquickshare { };
|
||||||
rastertokpsl-re = prev.callPackage ./overlays/rastertokpsl-re { };
|
rastertokpsl-re = prev.callPackage ./overlays/rastertokpsl-re { };
|
||||||
|
usb-sniffer = prev.callPackage ./overlays/usb-sniffer { };
|
||||||
|
wireshark = prev.wireshark.overrideAttrs (
|
||||||
|
finalAttrs: prevAttrs: {
|
||||||
|
postInstall = prevAttrs.postInstall + ''
|
||||||
|
ln -s ${final.usb-sniffer}/bin/usb_sniffer $out/lib/wireshark/extcap/usb_sniffer
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
);
|
||||||
plymouth = prev.plymouth.overrideAttrs (
|
plymouth = prev.plymouth.overrideAttrs (
|
||||||
final: prev: {
|
final: prev: {
|
||||||
patches = prev.patches ++ [ ./overlays/plymouth/drm-close-fb.patch ];
|
patches = prev.patches ++ [ ./overlays/plymouth/drm-close-fb.patch ];
|
||||||
|
|||||||
@@ -44,9 +44,8 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
shell.components = {
|
shell.components = {
|
||||||
#dunst.enable = true;
|
|
||||||
firefox-pip.enable = true;
|
firefox-pip.enable = true;
|
||||||
flameshot.enable = true;
|
grimblast.enable = true;
|
||||||
gnome-keyring.enable = true;
|
gnome-keyring.enable = true;
|
||||||
hyprpicker.enable = true;
|
hyprpicker.enable = true;
|
||||||
kde-connect.enable = true;
|
kde-connect.enable = true;
|
||||||
@@ -79,7 +78,10 @@
|
|||||||
|
|
||||||
airprint.enable = true;
|
airprint.enable = true;
|
||||||
|
|
||||||
udev.packages = with pkgs; [ android-udev-rules ];
|
udev.packages = with pkgs; [
|
||||||
|
android-udev-rules
|
||||||
|
usb-sniffer
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
@@ -87,6 +89,7 @@
|
|||||||
audio.preset.pipewire.enable = true;
|
audio.preset.pipewire.enable = true;
|
||||||
cc1.enable = true;
|
cc1.enable = true;
|
||||||
fv43u.enable = true;
|
fv43u.enable = true;
|
||||||
|
astro-a50.enable = true;
|
||||||
# virtual-camera.enable = true;
|
# virtual-camera.enable = true;
|
||||||
# hid-fanatecff.enable = true;
|
# hid-fanatecff.enable = true;
|
||||||
|
|
||||||
@@ -98,6 +101,31 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
virtualisation.oci-containers.containers = {
|
||||||
|
statech = {
|
||||||
|
image = "eclipse-temurin:21-jre";
|
||||||
|
volumes = [ "/home/theaninova/.config/statech:/statech" ];
|
||||||
|
environment = { };
|
||||||
|
ports = [ "25565:25565" ];
|
||||||
|
workdir = "/statech";
|
||||||
|
entrypoint = "/bin/bash";
|
||||||
|
cmd = [ "start.sh" ];
|
||||||
|
extraOptions = [ "--network=host" ];
|
||||||
|
};
|
||||||
|
/*
|
||||||
|
craftoria = {
|
||||||
|
image = "eclipse-temurin:21-jre";
|
||||||
|
volumes = [ "/home/theaninova/.config/craftoria:/craftoria" ];
|
||||||
|
environment = { };
|
||||||
|
ports = [ "25565:25565" ];
|
||||||
|
workdir = "/craftoria";
|
||||||
|
entrypoint = "/bin/bash";
|
||||||
|
cmd = [ "startserver.sh" ];
|
||||||
|
extraOptions = [ "--network=host" ];
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
fira-code = {
|
fira-code = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -107,6 +135,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
default = true;
|
default = true;
|
||||||
};
|
};
|
||||||
|
open-dyslexic.enable = true;
|
||||||
nerd-fonts.enable = true;
|
nerd-fonts.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -145,6 +174,7 @@
|
|||||||
usbutils
|
usbutils
|
||||||
usbimager
|
usbimager
|
||||||
uhubctl
|
uhubctl
|
||||||
|
usb-sniffer
|
||||||
pciutils
|
pciutils
|
||||||
htop
|
htop
|
||||||
unar
|
unar
|
||||||
@@ -167,7 +197,13 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
firewall.allowedUDPPorts = [ 50765 ];
|
firewall = {
|
||||||
|
allowedTCPPorts = [ 25565 ];
|
||||||
|
allowedUDPPorts = [
|
||||||
|
25565
|
||||||
|
50765
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
networkmanager = {
|
networkmanager = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -55,8 +55,8 @@
|
|||||||
|
|
||||||
shell.components = {
|
shell.components = {
|
||||||
firefox-pip.enable = true;
|
firefox-pip.enable = true;
|
||||||
flameshot.enable = true;
|
|
||||||
gnome-keyring.enable = true;
|
gnome-keyring.enable = true;
|
||||||
|
grimblast.enable = true;
|
||||||
hyprpicker.enable = true;
|
hyprpicker.enable = true;
|
||||||
kde-connect.enable = true;
|
kde-connect.enable = true;
|
||||||
kitty.enable = true;
|
kitty.enable = true;
|
||||||
@@ -86,31 +86,13 @@
|
|||||||
cc1.enable = true;
|
cc1.enable = true;
|
||||||
|
|
||||||
nvidia = {
|
nvidia = {
|
||||||
modesetting.enable = true;
|
preset.proprietary.enable = true;
|
||||||
powerManagement.enable = false;
|
|
||||||
open = true;
|
|
||||||
nvidiaSettings = false;
|
|
||||||
nvidiaPersistenced = false;
|
|
||||||
prime = {
|
prime = {
|
||||||
/*
|
reverseSync.enable = true;
|
||||||
offload = {
|
|
||||||
enable = true;
|
|
||||||
enableOffloadCmd = true;
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
sync.enable = true;
|
|
||||||
intelBusId = "PCI:0:2:0";
|
intelBusId = "PCI:0:2:0";
|
||||||
nvidiaBusId = "PCI:1:0:0";
|
nvidiaBusId = "PCI:1:0:0";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
graphics = {
|
|
||||||
enable = true;
|
|
||||||
enable32Bit = true;
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
libvdpau-va-gl
|
|
||||||
nvidia-vaapi-driver
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
enableAllFirmware = true;
|
enableAllFirmware = true;
|
||||||
bluetooth = {
|
bluetooth = {
|
||||||
@@ -120,11 +102,9 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
fira-code = {
|
fira-code.enable = true;
|
||||||
enable = true;
|
noto-sans.enable = true;
|
||||||
default = true;
|
open-dyslexic = {
|
||||||
};
|
|
||||||
noto-sans = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
default = true;
|
default = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -10,7 +10,10 @@
|
|||||||
};
|
};
|
||||||
programs.zoxide.enable = true;
|
programs.zoxide.enable = true;
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [ blueman ];
|
packages = with pkgs; [
|
||||||
|
blueman
|
||||||
|
kdePackages.okular
|
||||||
|
];
|
||||||
};
|
};
|
||||||
wayland.windowManager.hyprland.settings.monitor = [
|
wayland.windowManager.hyprland.settings.monitor = [
|
||||||
"eDP-1,3840x2160@60,0x0,2"
|
"eDP-1,3840x2160@60,0x0,2"
|
||||||
|
|||||||
@@ -76,7 +76,6 @@ in
|
|||||||
# qt/kde packages
|
# qt/kde packages
|
||||||
qt6.qtwayland
|
qt6.qtwayland
|
||||||
qt5.qtwayland
|
qt5.qtwayland
|
||||||
kdePackages.breeze-icons
|
|
||||||
# gnome packages
|
# gnome packages
|
||||||
evince
|
evince
|
||||||
baobab
|
baobab
|
||||||
@@ -90,7 +89,10 @@ in
|
|||||||
xorg.xrandr
|
xorg.xrandr
|
||||||
];
|
];
|
||||||
|
|
||||||
gtk.enable = true;
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
font.name = builtins.elemAt osConfig.fonts.fontconfig.defaultFonts.sansSerif 0;
|
||||||
|
};
|
||||||
qt.enable = true;
|
qt.enable = true;
|
||||||
|
|
||||||
home.pointerCursor = {
|
home.pointerCursor = {
|
||||||
|
|||||||
@@ -8,8 +8,10 @@
|
|||||||
./fonts/fira-code.nix
|
./fonts/fira-code.nix
|
||||||
./fonts/noto-sans.nix
|
./fonts/noto-sans.nix
|
||||||
./fonts/nerd-fonts.nix
|
./fonts/nerd-fonts.nix
|
||||||
|
./fonts/open-dyslexic.nix
|
||||||
|
|
||||||
./hardware/hid-fanatecff.nix
|
./hardware/hid-fanatecff.nix
|
||||||
|
./hardware/astro-a50.nix
|
||||||
./hardware/audio.nix
|
./hardware/audio.nix
|
||||||
./hardware/gbmonctl.nix
|
./hardware/gbmonctl.nix
|
||||||
./hardware/nvidia-proprietary.nix
|
./hardware/nvidia-proprietary.nix
|
||||||
@@ -33,6 +35,7 @@
|
|||||||
./shell/firefox-pip.nix
|
./shell/firefox-pip.nix
|
||||||
./shell/flameshot.nix
|
./shell/flameshot.nix
|
||||||
./shell/gnome-keyring.nix
|
./shell/gnome-keyring.nix
|
||||||
|
./shell/grimblast.nix
|
||||||
./shell/hyprpicker.nix
|
./shell/hyprpicker.nix
|
||||||
./shell/kde-connect.nix
|
./shell/kde-connect.nix
|
||||||
./shell/kitty.nix
|
./shell/kitty.nix
|
||||||
|
|||||||
40
modules/nixos/fonts/open-dyslexic.nix
Normal file
40
modules/nixos/fonts/open-dyslexic.nix
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.fonts.open-dyslexic;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.fonts.open-dyslexic = {
|
||||||
|
enable = mkEnableOption "Enable the OpenDyslexic font";
|
||||||
|
default = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
description = "Make Noto Sans the default sans-serif font";
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
fonts = {
|
||||||
|
packages =
|
||||||
|
with pkgs;
|
||||||
|
[
|
||||||
|
open-dyslexic
|
||||||
|
]
|
||||||
|
++ (if (config.fonts.nerd-fonts.enable) then [ nerd-fonts.open-dyslexic ] else [ ]);
|
||||||
|
fontconfig.defaultFonts = {
|
||||||
|
sansSerif = mkIf cfg.default [
|
||||||
|
(if (config.fonts.nerd-fonts.enable) then "OpenDyslexic Nerd Font" else "OpenDyslexic")
|
||||||
|
];
|
||||||
|
monospace = mkIf cfg.default [
|
||||||
|
(if (config.fonts.nerd-fonts.enable) then "OpenDyslexicM Nerd Font" else "OpenDyslexicM")
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
11
modules/nixos/hardware/astro-a50-harman.txt
Normal file
11
modules/nixos/hardware/astro-a50-harman.txt
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
Preamp: -4.08 dB
|
||||||
|
Filter 1: ON LSC Fc 105.0 Hz Gain 3.9 dB Q 0.70
|
||||||
|
Filter 2: ON PK Fc 51.8 Hz Gain -4.3 dB Q 0.81
|
||||||
|
Filter 3: ON PK Fc 1118.3 Hz Gain -2.5 dB Q 3.36
|
||||||
|
Filter 4: ON PK Fc 2620.0 Hz Gain -0.9 dB Q 3.24
|
||||||
|
Filter 5: ON PK Fc 3300.0 Hz Gain 0.9 dB Q 5.82
|
||||||
|
Filter 6: ON PK Fc 3859.3 Hz Gain 4.1 dB Q 3.08
|
||||||
|
Filter 7: ON PK Fc 5115.7 Hz Gain 0.8 dB Q 5.14
|
||||||
|
Filter 8: ON PK Fc 6116.7 Hz Gain -3.4 dB Q 3.42
|
||||||
|
Filter 9: ON PK Fc 7416.1 Hz Gain -0.8 dB Q 4.16
|
||||||
|
Filter 10: ON HSC Fc 10000.0 Hz Gain 0.3 dB Q 0.70
|
||||||
73
modules/nixos/hardware/astro-a50.nix
Normal file
73
modules/nixos/hardware/astro-a50.nix
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
username,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.hardware.astro-a50;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.hardware.astro-a50 = {
|
||||||
|
enable = mkEnableOption "Enable optimisations for the Logitech Astro A50 headset";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
home-manager.users.${username} =
|
||||||
|
let
|
||||||
|
name = "Astro A50";
|
||||||
|
nick = "A50";
|
||||||
|
filter = bitrate: {
|
||||||
|
"media.class" = "Audio/Sink";
|
||||||
|
"alsa.components" = "USB046d:0b1c";
|
||||||
|
"alsa.resolution_bits" = bitrate;
|
||||||
|
};
|
||||||
|
nodeNameIn = "astro-a50-eq-harman-in";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [ zam-plugins ];
|
||||||
|
xdg.configFile = {
|
||||||
|
"wireplumber/wireplumber.conf.d/51-astro-a50.conf".text = builtins.toJSON {
|
||||||
|
"monitor.alsa.rules" = [
|
||||||
|
{
|
||||||
|
matches = [ (filter 16) ];
|
||||||
|
actions.update-props = {
|
||||||
|
"node.description" = "${name} Chat";
|
||||||
|
"node.nick" = "${nick} Chat";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [ (filter 24) ];
|
||||||
|
actions.update-props = {
|
||||||
|
"node.description" = name;
|
||||||
|
"node.nick" = nick;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"pipewire/pipewire.conf.d/51-a50-eq.conf".text = builtins.toJSON {
|
||||||
|
"context.modules" = [
|
||||||
|
{
|
||||||
|
name = "libpipewire-module-parametric-equalizer";
|
||||||
|
args = {
|
||||||
|
"equalizer.filepath" = builtins.toString ./astro-a50-harman.txt;
|
||||||
|
"equalizer.description" = "${name} (Harman EQ)";
|
||||||
|
"capture.props" = {
|
||||||
|
"node.name" = nodeNameIn;
|
||||||
|
"filter.smart" = true;
|
||||||
|
"filter.smart.target" = filter 24;
|
||||||
|
};
|
||||||
|
"playback.props" = {
|
||||||
|
"node.name" = "EQ Output";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
|
username,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
@@ -27,10 +28,6 @@ in
|
|||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
kernelParams = [
|
|
||||||
"fbdev=1"
|
|
||||||
"nvidia_drm.fbdev=1"
|
|
||||||
];
|
|
||||||
kernelModules = [
|
kernelModules = [
|
||||||
"nvidia"
|
"nvidia"
|
||||||
"nvidia_modeset"
|
"nvidia_modeset"
|
||||||
@@ -55,6 +52,10 @@ in
|
|||||||
nvidiaPersistenced = false;
|
nvidiaPersistenced = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home-manager.users.${username}.wayland.windowManager.hyprland.settings = {
|
||||||
|
cursor.no_hardware_cursors = true;
|
||||||
|
};
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
variables = {
|
variables = {
|
||||||
VDPAU_DRIVER = "va_gl";
|
VDPAU_DRIVER = "va_gl";
|
||||||
|
|||||||
36
modules/nixos/shell/grimblast.nix
Normal file
36
modules/nixos/shell/grimblast.nix
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.shell.components.grimblast;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.shell.components.grimblast = {
|
||||||
|
enable = lib.mkEnableOption (lib.mdDoc "Enable pre-configured grimblast");
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
home-manager.users.${username} = {
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
settings = {
|
||||||
|
bind = [
|
||||||
|
"SUPER_SHIFT,V,exec,uwsm app -- ${lib.getExe pkgs.grimblast} --freeze copy area"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
home = {
|
||||||
|
# bugged, freezes
|
||||||
|
sessionVariables.GRIMBLAST_EDITOR = "${lib.getExe pkgs.annotator}";
|
||||||
|
packages = with pkgs; [
|
||||||
|
grimblast
|
||||||
|
annotator
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -35,7 +35,6 @@ in
|
|||||||
pkgs: with pkgs; [
|
pkgs: with pkgs; [
|
||||||
libgudev
|
libgudev
|
||||||
libvdpau
|
libvdpau
|
||||||
libsoup_2_4
|
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
rpcs3
|
rpcs3
|
||||||
|
|||||||
35
overlays/usb-sniffer/default.nix
Normal file
35
overlays/usb-sniffer/default.nix
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
pkg-config,
|
||||||
|
libusb1,
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "usb_sniffer";
|
||||||
|
version = "1d01a090";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ataradov";
|
||||||
|
repo = "usb-sniffer";
|
||||||
|
rev = "6eb214825a345c8caeb84bb8f3f2881948348d09";
|
||||||
|
hash = "sha256-RpIhNrZXNeUZdh3QHk1KI5Fk8S0MzlYQ4hf4ztnHUII=";
|
||||||
|
};
|
||||||
|
sourceRoot = "${src.name}/software";
|
||||||
|
buildInputs = [
|
||||||
|
pkg-config
|
||||||
|
libusb1
|
||||||
|
];
|
||||||
|
patchPhase = ''
|
||||||
|
substituteInPlace Makefile \
|
||||||
|
--replace-fail '~/.local/lib/wireshark/extcap' \
|
||||||
|
'${placeholder "out"}/bin/${pname}'
|
||||||
|
'';
|
||||||
|
preInstall = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
'';
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out/lib/wireshark/extcap
|
||||||
|
ln -s ${placeholder "out"}/bin/${pname} $out/lib/wireshark/extcap/usb_sniffer
|
||||||
|
mkdir -p $out/lib/udev/rules.d
|
||||||
|
cp ${src}/bin/90-usb-sniffer.rules $out/lib/udev/rules.d/90-usb-sniffer.rules
|
||||||
|
'';
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user