fix network reset service
This commit is contained in:
@@ -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
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user