diff --git a/default.nix b/default.nix index 6106414..8190f35 100644 --- a/default.nix +++ b/default.nix @@ -23,11 +23,18 @@ in { default = false; description = "Enables portals for wlr, gtk and kde as well as fixes fonts"; }; + + network = mkOption { + type = types.bool; + default = false; + description = "Enables network manager, wifi and bluetooth"; + }; }; imports = [ ./modules/localisation.nix ./modules/printing.nix ./modules/portals.nix + ./modules/networking.nix ]; } diff --git a/modules/networking.nix b/modules/networking.nix new file mode 100644 index 0000000..fdaa0ef --- /dev/null +++ b/modules/networking.nix @@ -0,0 +1,24 @@ +{ pkgs, config, lib, ... }: let + cfg = config.grimmShared; +in { + config = with cfg; lib.mkIf (enable && network) { + networking.networkmanager.enable = true; + networking.useDHCP = lib.mkDefault true; + networking.firewall.enable = true; + + services.blueman.enable = true; + hardware.bluetooth.enable = true; + + systemd.user.services.mpris-proxy = { + description = "Mpris proxy"; + after = [ "network.target" "sound.target" ]; + wantedBy = [ "default.target" ]; + serviceConfig.ExecStart = "${pkgs.bluez}/bin/mpris-proxy"; + }; + + environment.systemPackages = with pkgs; [ + wireguard-tools + bluetuith + ]; + }; +}