refactor: rework NixOS desktop module

This commit is contained in:
Yorick Barbanneau 2024-05-01 00:40:02 +02:00
parent b9d5f79703
commit 70b39e5e7f
4 changed files with 51 additions and 23 deletions

View file

@ -1,4 +1,5 @@
{ ... }: {
config.modules.desktop.sway.enable = true;
config.modules.gaming.steam.enable = false;
config.modules.hardware.laptop.enable = true;
}

View file

@ -1,6 +1,7 @@
_:
{
imports = [
./desktop/sway
./gaming/steam
./hardware/laptop
];

View file

@ -0,0 +1,35 @@
{ pkgs, lib, config, ... }:
with lib;
let
cfg = config.modules.desktop.sway;
in
{
options.modules.desktop.sway = {
enable = mkEnableOption "Enable Steam Platform";
};
config = mkIf cfg.enable {
security.pam.services.swaylock = {};
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
xdg.portal = {
enable = true;
wlr.enable = true;
# gtk portal needed to make gtk apps happy
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
config = {
common = {
default = [
"gtk"
];
"org.freedesktop.impl.portal.ScreenCast" = "wlr";
"org.freedesktop.impl.portal.Screenshot" = "wlr";
};
};
};
};
}

View file

@ -1,28 +1,19 @@
{ pkgs, lib, stateVersion, hostname, username, hostConfig, ... }:
{
imports =
[ # Include the results of the hardware scan.
../hosts/${hostname}/hardware-configuration.nix
../hosts/${hostname}/nixos-config.nix
../modules/nixos
./includes/hardware/bootloader.nix
./includes/system/locales.nix
./includes/system/flakes.nix
./includes/system/user.nix
./includes/system/udisks2.nix
./includes/system/lvm.nix
./includes/system/doas.nix
./includes/system/neovim.nix
./includes/system/overlay.nix
] ++ (
if hostConfig.desktop then
[
./includes/desktop/swaylock.nix
./includes/desktop/pipewire.nix
./includes/desktop/xdg-portal.nix
]
else []
);
imports = [ # Include the results of the hardware scan.
../hosts/${hostname}/hardware-configuration.nix
../hosts/${hostname}/nixos-config.nix
../modules/nixos
./includes/hardware/bootloader.nix
./includes/system/locales.nix
./includes/system/flakes.nix
./includes/system/user.nix
./includes/system/udisks2.nix
./includes/system/lvm.nix
./includes/system/doas.nix
./includes/system/neovim.nix
./includes/system/overlay.nix
];
nixpkgs.config.allowUnfree = true;