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": {
"lastModified": 1743550720,
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"lastModified": 1751413152,
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
"type": "github"
},
"original": {
@@ -79,11 +79,11 @@
]
},
"locked": {
"lastModified": 1749479111,
"narHash": "sha256-0cn4NGnYR3n0m8FPrt+pW817Cedi4vwOw3SgJaTcdcg=",
"lastModified": 1753181343,
"narHash": "sha256-CLQfNtUqirNVSYoW/kYbvL4PeeNasmZonaPnjO3+1YQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "35e1f5a7c29f2b05e8f53177f6b5c71108c5f4c3",
"rev": "0cdfcdbb525b77b951c889b6131047bc374f48fe",
"type": "github"
},
"original": {
@@ -123,15 +123,15 @@
"lix": {
"flake": false,
"locked": {
"lastModified": 1746827285,
"narHash": "sha256-hsFe4Tsqqg4l+FfQWphDtjC79WzNCZbEFhHI8j2KJzw=",
"rev": "47aad376c87e2e65967f17099277428e4b3f8e5a",
"lastModified": 1753223229,
"narHash": "sha256-tkT4aCZZE6IEmjYotOzKKa2rV3pGpH3ZREeQn7ACgdU=",
"rev": "7ac20fc47cf2f1b7469c7a2f379e5a3a51a6789a",
"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": {
"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": {
@@ -144,15 +144,15 @@
]
},
"locked": {
"lastModified": 1746838955,
"narHash": "sha256-11R4K3iAx4tLXjUs+hQ5K90JwDABD/XHhsM9nkeS5N8=",
"rev": "cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc",
"lastModified": 1753282722,
"narHash": "sha256-KYMUrTV7H/RR5/HRnjV5R3rRIuBXMemyJzTLi50NFTs=",
"rev": "46a9e8fcfe4be72b4c7c8082ee11d2c42da1e873",
"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": {
"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": {
@@ -195,11 +195,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1749285348,
"narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=",
"lastModified": 1752950548,
"narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "3e3afe5174c561dee0df6f2c2b2236990146329f",
"rev": "c87b95e25065c028d31a94f06a62927d18763fdf",
"type": "github"
},
"original": {
@@ -219,11 +219,11 @@
"systems": "systems_4"
},
"locked": {
"lastModified": 1749420898,
"narHash": "sha256-QiB3xDyHuj2VzS6AaALTeikLt6EsZyMjDRmzb4y2vFM=",
"lastModified": 1752976861,
"narHash": "sha256-59HcrqHfbSJUdmpzrAa9x8fW1PoS+ZGhCjL5k5HbyV8=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "2b6f694b48f43bbd89dcc21e8aa7aa676eb18eb8",
"rev": "0c50ed9349199219583cb1ed1a972d71e06039ec",
"type": "github"
},
"original": {
@@ -242,11 +242,11 @@
]
},
"locked": {
"lastModified": 1748298102,
"narHash": "sha256-PP11GVwUt7F4ZZi5A5+99isuq39C59CKc5u5yVisU/U=",
"lastModified": 1749730855,
"narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=",
"owner": "NuschtOS",
"repo": "search",
"rev": "f8a1c221afb8b4c642ed11ac5ee6746b0fe1d32f",
"rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742",
"type": "github"
},
"original": {

View File

@@ -2,7 +2,7 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
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";
};
home-manager = {
@@ -50,6 +50,14 @@
lpc21isp = prev.callPackage ./overlays/lpc21isp { };
rquickshare = prev.callPackage ./overlays/rquickshare { };
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 (
final: prev: {
patches = prev.patches ++ [ ./overlays/plymouth/drm-close-fb.patch ];

View File

@@ -44,9 +44,8 @@
};
shell.components = {
#dunst.enable = true;
firefox-pip.enable = true;
flameshot.enable = true;
grimblast.enable = true;
gnome-keyring.enable = true;
hyprpicker.enable = true;
kde-connect.enable = true;
@@ -79,7 +78,10 @@
airprint.enable = true;
udev.packages = with pkgs; [ android-udev-rules ];
udev.packages = with pkgs; [
android-udev-rules
usb-sniffer
];
};
hardware = {
@@ -87,6 +89,7 @@
audio.preset.pipewire.enable = true;
cc1.enable = true;
fv43u.enable = true;
astro-a50.enable = true;
# virtual-camera.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 = {
fira-code = {
enable = true;
@@ -107,6 +135,7 @@
enable = true;
default = true;
};
open-dyslexic.enable = true;
nerd-fonts.enable = true;
};
@@ -145,6 +174,7 @@
usbutils
usbimager
uhubctl
usb-sniffer
pciutils
htop
unar
@@ -167,7 +197,13 @@
];
networking = {
firewall.allowedUDPPorts = [ 50765 ];
firewall = {
allowedTCPPorts = [ 25565 ];
allowedUDPPorts = [
25565
50765
];
};
networkmanager = {
enable = true;

View File

@@ -55,8 +55,8 @@
shell.components = {
firefox-pip.enable = true;
flameshot.enable = true;
gnome-keyring.enable = true;
grimblast.enable = true;
hyprpicker.enable = true;
kde-connect.enable = true;
kitty.enable = true;
@@ -86,31 +86,13 @@
cc1.enable = true;
nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
open = true;
nvidiaSettings = false;
nvidiaPersistenced = false;
preset.proprietary.enable = true;
prime = {
/*
offload = {
enable = true;
enableOffloadCmd = true;
};
*/
sync.enable = true;
reverseSync.enable = true;
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
};
graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
libvdpau-va-gl
nvidia-vaapi-driver
];
};
enableAllFirmware = true;
bluetooth = {
@@ -120,11 +102,9 @@
};
fonts = {
fira-code = {
enable = true;
default = true;
};
noto-sans = {
fira-code.enable = true;
noto-sans.enable = true;
open-dyslexic = {
enable = true;
default = true;
};

View File

@@ -10,7 +10,10 @@
};
programs.zoxide.enable = true;
home = {
packages = with pkgs; [ blueman ];
packages = with pkgs; [
blueman
kdePackages.okular
];
};
wayland.windowManager.hyprland.settings.monitor = [
"eDP-1,3840x2160@60,0x0,2"

View File

@@ -76,7 +76,6 @@ in
# qt/kde packages
qt6.qtwayland
qt5.qtwayland
kdePackages.breeze-icons
# gnome packages
evince
baobab
@@ -90,7 +89,10 @@ in
xorg.xrandr
];
gtk.enable = true;
gtk = {
enable = true;
font.name = builtins.elemAt osConfig.fonts.fontconfig.defaultFonts.sansSerif 0;
};
qt.enable = true;
home.pointerCursor = {

View File

@@ -8,8 +8,10 @@
./fonts/fira-code.nix
./fonts/noto-sans.nix
./fonts/nerd-fonts.nix
./fonts/open-dyslexic.nix
./hardware/hid-fanatecff.nix
./hardware/astro-a50.nix
./hardware/audio.nix
./hardware/gbmonctl.nix
./hardware/nvidia-proprietary.nix
@@ -33,6 +35,7 @@
./shell/firefox-pip.nix
./shell/flameshot.nix
./shell/gnome-keyring.nix
./shell/grimblast.nix
./shell/hyprpicker.nix
./shell/kde-connect.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,
lib,
config,
username,
...
}:
with lib;
@@ -27,10 +28,6 @@ in
services.xserver.videoDrivers = [ "nvidia" ];
boot = {
kernelParams = [
"fbdev=1"
"nvidia_drm.fbdev=1"
];
kernelModules = [
"nvidia"
"nvidia_modeset"
@@ -55,6 +52,10 @@ in
nvidiaPersistenced = false;
};
home-manager.users.${username}.wayland.windowManager.hyprland.settings = {
cursor.no_hardware_cursors = true;
};
environment = {
variables = {
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; [
libgudev
libvdpau
libsoup_2_4
];
})
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
'';
}