Compare commits

...

7 Commits

Author SHA1 Message Date
7f5076755c aero fixes 2025-07-28 20:43:11 +02:00
e414e3ac7b update system 2025-07-28 20:33:33 +02:00
3fd867084a update system 2025-07-28 13:32:19 +02:00
abace8ec55 update system 2025-07-23 12:05:59 +02:00
af6f381e49 update system 2025-07-14 17:10:26 +02:00
876650cf2e change minecraft server 2025-07-14 16:52:14 +02:00
d570d170f0 feat: add usb sniffer 2025-07-04 19:16:50 +02:00
14 changed files with 291 additions and 64 deletions

50
flake.lock generated
View File

@@ -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": {

View File

@@ -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 ];

View File

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

View File

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

View File

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

View File

@@ -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 = {

View File

@@ -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

View 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")
];
};
};
};
}

View 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

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

View File

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

View 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
];
};
};
};
}

View File

@@ -35,7 +35,6 @@ in
pkgs: with pkgs; [ pkgs: with pkgs; [
libgudev libgudev
libvdpau libvdpau
libsoup_2_4
]; ];
}) })
rpcs3 rpcs3

View 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
'';
}