fix network reset service

This commit is contained in:
mjallen18
2024-06-10 19:35:13 -05:00
parent f42575eb38
commit 6a561c0def
3 changed files with 58 additions and 46 deletions

View File

@@ -104,6 +104,11 @@
home-manager.useUserPackages = true;
home-manager.users.admin = import ./hosts/nas/home.nix;
}
nixos-hardware.nixosModules.common-pc
nixos-hardware.nixosModules.common-cpu-amd
nixos-hardware.nixosModules.common-hidpi
nixos-hardware.nixosModules.common-gpu-nvidia
];
};

View File

@@ -15,6 +15,19 @@ let
hostname = "matt-nixos";
gnome = false;
plasma = true;
resetNetworkScript = pkgs.writeScriptBin "reset-network" ''
#!/usr/bin/env bash
echo "checking network..."
if nmcli -t -f STATE general | grep -q "connected"; then
exit 0
else
echo "resetting network..."
echo 1 | tee /sys/bus/pci/devices/0000\:09\:00.0/reset
rmmod iwlwifi
modprobe iwlwifi
fi
'';
in
{
imports = [
@@ -61,7 +74,7 @@ in
default = "@saved";
console-mode = "max";
};
configurationLimit = 2;
configurationLimit = 5;
};
# Override kernel to latest
@@ -120,25 +133,15 @@ in
];
};
# systemd.services.fix-wifi = {
# path = [ pkgs.bash ];
# script = ''
# sleep 5
# if ping -q -c1 10.0.1.1 &>/dev/null; then
# echo "No need to fix wifi"
# else
# echo 1 | tee /sys/bus/pci/devices/0000\:09\:00.0/reset
# rmmod iwlwifi
# modprobe iwlwifi
# fi
# '';
# wantedBy = [ "multi-user.target" ];
# after = [ "NetworkManager.target" ];
# serviceConfig = {
# Type="oneshot";
# RemainAfterExit=true;
# };
# };
systemd.services.fix-wifi = {
path = [ pkgs.bash pkgs.networkmanager pkgs.kmod ];
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
Type="oneshot";
ExecStart = [ "${resetNetworkScript}/bin/reset-network" ];
};
};
# Networking configs
networking = {
@@ -173,6 +176,7 @@ in
fishPlugins.bass
fishPlugins.sponge
gparted
kmod
lact
nano
os-prober

View File

@@ -1,4 +1,7 @@
{ pkgs, ... }:
# let
# gnome = false;
# in
{
home.username = "matt";
@@ -62,30 +65,30 @@
vorta
];
# dconf = {
# enable = true;
# settings = {
# "org/gnome/desktop/interface".clock-format = "12h";
# "org/gnome/desktop/interface".color-scheme = "prefer-dark";
# "org/gnome/desktop/interface".enable-hot-corners = false;
# "org/gnome/desktop/interface".font-antialiasing = "grayscale";
# "org/gnome/desktop/interface".font-hinting = "slight";
# "org/gnome/desktop/interface".icon-theme = "Papirus-Dark";
# "org/gnome/desktop/peripherals/mouse".accel-profile = "flat";
# "org/gnome/desktop/peripherals/touchpad".two-finger-scrolling-enabled = true;
# "org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
# "org/gnome/mutter".experimental-features = [ "scale-monitor-framebuffer" "variable-refresh-rate" ];
# "org/gnome/tweaks".show-extensions-notice = false;
# "org/gnome/shell".enabled-extensions = [
# "appindicatorsupport@rgcjonas.gmail.com"
# "arcmenu@arcmenu.com"
# "user-theme@gnome-shell-extensions.gcampax.github.com"
# "dash-to-panel@jderose9.github.com"
# "tiling-assistant@leleat-on-github"
# ];
# "org/gnome/shell/extensions/dash-to-panel".primary-monitor = 1;
# "org/gnome/shell/extensions/dash-to-panel".multi-monitors = false;
# "org/gtk/settings/file-chooser".clock-format = "12h";
# };
# };
dconf = {
enable = false;
settings = {
"org/gnome/desktop/interface".clock-format = "12h";
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
"org/gnome/desktop/interface".enable-hot-corners = false;
"org/gnome/desktop/interface".font-antialiasing = "grayscale";
"org/gnome/desktop/interface".font-hinting = "slight";
"org/gnome/desktop/interface".icon-theme = "Papirus-Dark";
"org/gnome/desktop/peripherals/mouse".accel-profile = "flat";
"org/gnome/desktop/peripherals/touchpad".two-finger-scrolling-enabled = true;
"org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
"org/gnome/mutter".experimental-features = [ "scale-monitor-framebuffer" "variable-refresh-rate" ];
"org/gnome/tweaks".show-extensions-notice = false;
"org/gnome/shell".enabled-extensions = [
"appindicatorsupport@rgcjonas.gmail.com"
"arcmenu@arcmenu.com"
"user-theme@gnome-shell-extensions.gcampax.github.com"
"dash-to-panel@jderose9.github.com"
"tiling-assistant@leleat-on-github"
];
"org/gnome/shell/extensions/dash-to-panel".primary-monitor = 1;
"org/gnome/shell/extensions/dash-to-panel".multi-monitors = false;
"org/gtk/settings/file-chooser".clock-format = "12h";
};
};
}