From a45c4551712c1ba5cb82eaf290f311ab0e8690e4 Mon Sep 17 00:00:00 2001 From: Collin Williams <96917990+bluedragon1221@users.noreply.github.com> Date: Mon, 9 Jun 2025 17:40:46 +0000 Subject: big changes --- modules/services/system/audio.nix | 19 +++++++++++++++++++ modules/services/system/bluetooth.nix | 16 ++++++++++++++++ modules/services/system/default.nix | 7 +++++++ modules/services/system/networking/default.nix | 19 +++++++++++++++++++ modules/services/system/networking/iwd.nix | 26 ++++++++++++++++++++++++++ modules/services/system/networking/nm.nix | 15 +++++++++++++++ 6 files changed, 102 insertions(+) create mode 100644 modules/services/system/audio.nix create mode 100644 modules/services/system/bluetooth.nix create mode 100644 modules/services/system/default.nix create mode 100644 modules/services/system/networking/default.nix create mode 100644 modules/services/system/networking/iwd.nix create mode 100644 modules/services/system/networking/nm.nix (limited to 'modules/services/system') diff --git a/modules/services/system/audio.nix b/modules/services/system/audio.nix new file mode 100644 index 0000000..f0586ea --- /dev/null +++ b/modules/services/system/audio.nix @@ -0,0 +1,19 @@ +{ + pkgs, + config, + lib, + ... +}: let + cfg = config.collinux.services.audio; +in + lib.mkIf cfg.enable { + services.pipewire = { + enable = true; + wireplumber.enable = true; + alsa.enable = true; + + pulse.enable = cfg.pulse.enable; + }; + + environment.systemPackages = [pkgs.pwvucontrol]; + } diff --git a/modules/services/system/bluetooth.nix b/modules/services/system/bluetooth.nix new file mode 100644 index 0000000..a0c3f86 --- /dev/null +++ b/modules/services/system/bluetooth.nix @@ -0,0 +1,16 @@ +{ + pkgs, + lib, + config, + ... +}: let + cfg = config.collinux.services.bluetooth; +in + lib.mkIf cfg.enable { + hardware.bluetooth = { + enable = true; + powerOnBoot = true; + }; + + environment.systemPackages = [pkgs.blueman]; + } diff --git a/modules/services/system/default.nix b/modules/services/system/default.nix new file mode 100644 index 0000000..4c03dfd --- /dev/null +++ b/modules/services/system/default.nix @@ -0,0 +1,7 @@ +{ + imports = [ + ./networking + ./audio.nix + ./bluetooth.nix + ]; +} diff --git a/modules/services/system/networking/default.nix b/modules/services/system/networking/default.nix new file mode 100644 index 0000000..4908b6f --- /dev/null +++ b/modules/services/system/networking/default.nix @@ -0,0 +1,19 @@ +{ + imports = [ + ./iwd.nix + ./nm.nix + ]; + + config = { + services.resolved = { + enable = true; + domains = [ + "10.0.0.1" + "10.0.0.10" + ]; + }; + + networking.resolvconf.enable = false; + }; +} + diff --git a/modules/services/system/networking/iwd.nix b/modules/services/system/networking/iwd.nix new file mode 100644 index 0000000..5306f29 --- /dev/null +++ b/modules/services/system/networking/iwd.nix @@ -0,0 +1,26 @@ +{ + lib, + config, + ... +}: let + cfg = config.collinux.services.networking; +in + lib.mkIf (cfg.enable && cfg.wifiDaemon == "iwd") { + networking = { + wireless.iwd = { + enable = true; + settings = { + General = { + EnableNetworkConfiguration = true; # use builtin dhcp client + AddressRandomization = "once"; + }; + Network.NameResolvingService = "systemd"; # either systemd or resolvconf + }; + }; + + # Disable default networking stuff + dhcpcd.enable = false; + useDHCP = false; + networkmanager.enable = false; + }; + } diff --git a/modules/services/system/networking/nm.nix b/modules/services/system/networking/nm.nix new file mode 100644 index 0000000..674664e --- /dev/null +++ b/modules/services/system/networking/nm.nix @@ -0,0 +1,15 @@ +{ + lib, + config, + ... +}: let + cfg = config.collinux.services.networking; +in + lib.mkIf (cfg.enable && cfg.wifiDaemon == "networkmanager") { + networking = { + nameservers = ["1.1.1.1" "1.0.0.1"]; + enableIPv6 = false; + + networkmanager.enable = true; + }; + } -- cgit v1.3.1