diff --git a/configs/graphical.nix b/configs/graphical.nix index e3ba99a..4a38f8a 100644 --- a/configs/graphical.nix +++ b/configs/graphical.nix @@ -11,9 +11,6 @@ with pkgs; ./programs/hyprlock.nix ./programs/hyprshade.nix ./programs/kitty.nix - ./programs/spotifyd.nix - ./hardware/audio.nix - ./hardware/bluetooth.nix ./programs/waybar.nix ]; diff --git a/configs/hardware/audio.nix b/configs/hardware/audio.nix deleted file mode 100644 index eebcef7..0000000 --- a/configs/hardware/audio.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ - security.rtkit.enable = true; - services.pipewire = { - enable = true; - extraConfig = { }; - jack.enable = true; - pulse.enable = true; - alsa = { - enable = true; - support32Bit = true; - }; - }; -} diff --git a/configs/hardware/bluetooth.nix b/configs/hardware/bluetooth.nix deleted file mode 100644 index 1b6e38b..0000000 --- a/configs/hardware/bluetooth.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - hardware.bluetooth = { - enable = true; - powerOnBoot = true; - }; -} diff --git a/configs/programs/spotifyd.nix b/configs/programs/spotifyd.nix deleted file mode 100644 index 72ff532..0000000 --- a/configs/programs/spotifyd.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ hostname, ... }: -{ - home-manager.users.rafiq.services.spotifyd = { - enable = true; - settings = { - global = { - device_name = "${hostname}"; - device_type = "computer"; - zeroconf_port = 5353; - }; - }; - }; - networking.firewall.allowedTCPPorts = [ - 5353 # spotifyd - ]; - networking.firewall.allowedUDPPorts = [ - 5353 # spotifyd - ]; -} diff --git a/hosts/nemesis.nix b/hosts/nemesis.nix index 46e4069..61d9d9e 100644 --- a/hosts/nemesis.nix +++ b/hosts/nemesis.nix @@ -1,4 +1,3 @@ -{ inputs, ... }: { boot-config.bootloader = "systemd-boot"; hardware-config.cpu = "amd"; @@ -7,6 +6,8 @@ fs-config.mountHeliosData = true; nw-config.wol.enable = true; nw-config.wol.interface = "enp12s0"; + de.enable = true; + de.type = "hyprland"; fileSystems."/" = { device = "/dev/disk/by-uuid/e5005ea6-6c5a-4ab3-9767-ce7772582024"; diff --git a/modules/nixos/de.nix b/modules/nixos/de.nix new file mode 100644 index 0000000..20c0b7f --- /dev/null +++ b/modules/nixos/de.nix @@ -0,0 +1,59 @@ +{ + config, + lib, + ... +}: +let + moduleName = "de"; + cfg = config."${moduleName}"; +in +{ + options = { + "${moduleName}" = { + enable = lib.mkEnableOption "Enable ${moduleName}."; + type = lib.mkOption { + type = lib.types.str; + default = ""; + example = "hyprland"; + description = "What desktop environment should be installed on the host."; + }; + }; + }; + + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + # Enable audio and other common config + security.rtkit.enable = true; + services.pipewire = { + enable = true; + extraConfig = { }; + jack.enable = true; + pulse.enable = true; + alsa = { + enable = true; + support32Bit = true; + }; + }; + hardware.bluetooth = { + enable = true; + powerOnBoot = true; + }; + } + (lib.mkIf config.hmModules.enable { + home-manager.users."${config.nixosModules.mainUser}".services.spotifyd = { + enable = true; + settings = { + global = { + device_name = "${config.nixosModules.hostname}"; + device_type = "computer"; + zeroconf_port = 5353; + }; + }; + }; + networking.firewall.allowedTCPPorts = [ 5353 ]; + networking.firewall.allowedUDPPorts = [ 5353 ]; + }) + ] + ); +} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 09e679a..8c0f404 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -10,6 +10,7 @@ in { imports = [ ./boot.nix + ./de.nix ./hardware.nix ./nix-config.nix ./gaming.nix