diff --git a/flake.nix b/flake.nix index 14c7f46..2103f8f 100644 --- a/flake.nix +++ b/flake.nix @@ -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 ]; }; diff --git a/hosts/desktop/configuration.nix b/hosts/desktop/configuration.nix index 3160ae3..25d226b 100644 --- a/hosts/desktop/configuration.nix +++ b/hosts/desktop/configuration.nix @@ -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 diff --git a/hosts/desktop/home.nix b/hosts/desktop/home.nix index e065ada..7d6dfe4 100644 --- a/hosts/desktop/home.nix +++ b/hosts/desktop/home.nix @@ -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"; + }; + }; }