Merge branch 'wpa_supplicant' into nix
This commit is contained in:
@@ -281,6 +281,7 @@ in
|
||||
(disableOptimizationsPython3 "zopfli") # /nix/store/idjhlmljrapzm3i1svl5x9mdwfxxj51v-pytest-check-hook/nix-support/setup-hook: line 23: 280 Segmentation fault (core dumped) /nix/store/87l6i0czch42nzv39ydwld5hnhcq0b65-python3-3.14.7/bin/python3.14 "${flagsArray[@]}"
|
||||
(disableOptimizations "zopfli")
|
||||
(disableOptimizations "nototools") # Needs to use the same version of python as the zopfli package
|
||||
(disableOptimizations "lib2geom") # Tests failing: ellipse-test, elliptical-arc-test, line-test, polynomial-test
|
||||
];
|
||||
|
||||
hardware.firmware =
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
me.lvfs.enable = true;
|
||||
me.memtest.enable = true;
|
||||
me.network.enable = true;
|
||||
me.network.flavor = "iwd";
|
||||
me.nvme.enable = true;
|
||||
me.sound.enable = true;
|
||||
me.ssh.enable = true;
|
||||
|
||||
@@ -121,6 +121,7 @@
|
||||
me.mitmproxy.enable = true;
|
||||
me.moonlight.enable = true;
|
||||
me.network.enable = true;
|
||||
me.network.flavor = "wpa_supplicant";
|
||||
me.nix_index.enable = true;
|
||||
me.nix_repl.enable = true;
|
||||
me.nixdev.enable = true;
|
||||
|
||||
@@ -118,6 +118,7 @@
|
||||
me.media.enable = true;
|
||||
me.memtest.enable = true;
|
||||
me.network.enable = true;
|
||||
me.network.flavor = "iwd";
|
||||
me.nix_index.enable = true;
|
||||
me.nix_repl.enable = true;
|
||||
me.nixdev.enable = true;
|
||||
|
||||
@@ -113,6 +113,7 @@
|
||||
me.memtest.enable = true;
|
||||
me.mitmproxy.enable = true;
|
||||
me.network.enable = true;
|
||||
me.network.flavor = "wpa_supplicant";
|
||||
me.nix_index.enable = true;
|
||||
me.nix_repl.enable = true;
|
||||
me.nix_worker.enable = true;
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
me.doas.enable = true;
|
||||
me.kernel.enable = true;
|
||||
me.network.enable = true;
|
||||
me.network.flavor = "iwd";
|
||||
me.nvme.enable = true;
|
||||
me.ssh.enable = true;
|
||||
me.sshd.enable = true;
|
||||
|
||||
@@ -32,18 +32,111 @@ in
|
||||
{
|
||||
imports = [ ];
|
||||
|
||||
options.me = {
|
||||
network.enable = lib.mkOption {
|
||||
options.me.network = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
example = true;
|
||||
description = "Whether we want to install network.";
|
||||
};
|
||||
flavor = lib.mkOption {
|
||||
type = lib.types.nullOr (
|
||||
lib.types.enum [
|
||||
"iwd"
|
||||
"wpa_supplicant"
|
||||
]
|
||||
);
|
||||
default = null;
|
||||
example = "wpa_supplicant";
|
||||
description = "What flavor of network to set up.";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.me.network.enable {
|
||||
config = lib.mkIf config.me.network.enable (
|
||||
lib.mkMerge [
|
||||
(lib.mkIf (config.me.network.flavor == "iwd") {
|
||||
networking.dhcpcd.enable = lib.mkDefault false;
|
||||
networking.useDHCP = lib.mkDefault false;
|
||||
|
||||
networking.wireless.iwd = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
General = {
|
||||
EnableNetworkConfiguration = true;
|
||||
AddressRandomization = "network";
|
||||
};
|
||||
# Rank = {
|
||||
# BandModifier2_4GHz = 1.0;
|
||||
# BandModifier5GHz = 1.0;
|
||||
# BandModifier6GHz = 1.0;
|
||||
# };
|
||||
DriverQuirks = {
|
||||
PowerSaveDisable = "*";
|
||||
# ath12k_pci
|
||||
};
|
||||
# Scan = {
|
||||
# DisablePeriodicScan = true;
|
||||
# DisableRoamingScan = true;
|
||||
# };
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
iwd
|
||||
];
|
||||
|
||||
environment.persistence."/persist" = lib.mkIf (config.me.mountPersistence) {
|
||||
hideMounts = true;
|
||||
directories = [
|
||||
"/var/lib/iwd" # Wifi settings
|
||||
];
|
||||
};
|
||||
})
|
||||
(lib.mkIf (config.me.network.flavor == "wpa_supplicant") {
|
||||
networking.wireless.enable = true;
|
||||
networking.wireless.userControlled = true;
|
||||
|
||||
networking.dhcpcd.enable = lib.mkDefault true;
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
|
||||
networking.wireless.fallbackToWPA2 = false;
|
||||
networking.wireless.allowAuxiliaryImperativeNetworks = true;
|
||||
|
||||
environment.persistence."/persist" = lib.mkIf (config.me.mountPersistence) {
|
||||
hideMounts = true;
|
||||
files = [
|
||||
{
|
||||
# Wifi settings
|
||||
file = "/etc/wpa_supplicant/imperative.conf";
|
||||
# mode = "0664";
|
||||
# user = "wpa_supplicant";
|
||||
# group = "wpa_supplicant";
|
||||
parentDirectory = {
|
||||
user = "wpa_supplicant";
|
||||
group = "wpa_supplicant";
|
||||
mode = "0755";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
# nixpkgs.overlays = [
|
||||
# (final: prev: {
|
||||
# wpa_supplicant = prev.wpa_supplicant.overrideAttrs (oldAttrs: rec {
|
||||
# extraConfig = oldAttrs.extraConfig + ''
|
||||
# CONFIG_WEP=y
|
||||
# '';
|
||||
# });
|
||||
# })
|
||||
# ];
|
||||
})
|
||||
(lib.mkIf (config.me.network.flavor == "wpa_supplicant" && config.me.graphical) {
|
||||
environment.systemPackages = with pkgs; [
|
||||
wpa_supplicant_gui
|
||||
];
|
||||
})
|
||||
{
|
||||
networking.nameservers = [
|
||||
"9.9.9.10#dns10.quad9.net"
|
||||
"149.112.112.10#dns10.quad9.net"
|
||||
@@ -88,32 +181,8 @@ in
|
||||
172.16.16.251 stream
|
||||
'';
|
||||
|
||||
networking.wireless.iwd = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
General = {
|
||||
EnableNetworkConfiguration = true;
|
||||
AddressRandomization = "network";
|
||||
};
|
||||
# Rank = {
|
||||
# BandModifier2_4GHz = 1.0;
|
||||
# BandModifier5GHz = 1.0;
|
||||
# BandModifier6GHz = 1.0;
|
||||
# };
|
||||
DriverQuirks = {
|
||||
PowerSaveDisable = "*";
|
||||
# ath12k_pci
|
||||
};
|
||||
# Scan = {
|
||||
# DisablePeriodicScan = true;
|
||||
# DisableRoamingScan = true;
|
||||
# };
|
||||
};
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
iw
|
||||
iwd
|
||||
ldns # for drill
|
||||
arp-scan # To find devices on the network
|
||||
wavemon
|
||||
@@ -146,12 +215,7 @@ in
|
||||
# This is enabled by default in nixos.
|
||||
# "net.ipv6.conf.default.use_tempaddr" = 2;
|
||||
};
|
||||
|
||||
environment.persistence."/persist" = lib.mkIf (config.me.mountPersistence) {
|
||||
hideMounts = true;
|
||||
directories = [
|
||||
"/var/lib/iwd" # Wifi settings
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
@@ -27,7 +27,10 @@
|
||||
isNormalUser = true;
|
||||
createHome = true; # https://github.com/NixOS/nixpkgs/issues/6481
|
||||
group = "talexander";
|
||||
extraGroups = [ "wheel" ];
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"wpa_supplicant"
|
||||
];
|
||||
uid = 11235;
|
||||
packages = with pkgs; [
|
||||
tree
|
||||
|
||||
Reference in New Issue
Block a user