refactor(nixosmodules): move desktop configs to a module

This commit is contained in:
Mohammad Rafiq 2025-05-03 12:59:13 +08:00
parent fc7d95acfd
commit 1a3ef0605b
No known key found for this signature in database
7 changed files with 62 additions and 42 deletions

View file

@ -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
];

View file

@ -1,13 +0,0 @@
{
security.rtkit.enable = true;
services.pipewire = {
enable = true;
extraConfig = { };
jack.enable = true;
pulse.enable = true;
alsa = {
enable = true;
support32Bit = true;
};
};
}

View file

@ -1,6 +0,0 @@
{
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
};
}

View file

@ -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
];
}

View file

@ -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";

59
modules/nixos/de.nix Normal file
View file

@ -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 ];
})
]
);
}

View file

@ -10,6 +10,7 @@ in
{
imports = [
./boot.nix
./de.nix
./hardware.nix
./nix-config.nix
./gaming.nix