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.gaming.steam.enable = false;
config.modules.hardware.laptop.enable = true; config.modules.hardware.laptop.enable = true;
} }

View file

@ -1,6 +1,7 @@
_: _:
{ {
imports = [ imports = [
./desktop/sway
./gaming/steam ./gaming/steam
./hardware/laptop ./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, ... }: { pkgs, lib, stateVersion, hostname, username, hostConfig, ... }:
{ {
imports = imports = [ # Include the results of the hardware scan.
[ # Include the results of the hardware scan. ../hosts/${hostname}/hardware-configuration.nix
../hosts/${hostname}/hardware-configuration.nix ../hosts/${hostname}/nixos-config.nix
../hosts/${hostname}/nixos-config.nix ../modules/nixos
../modules/nixos ./includes/hardware/bootloader.nix
./includes/hardware/bootloader.nix ./includes/system/locales.nix
./includes/system/locales.nix ./includes/system/flakes.nix
./includes/system/flakes.nix ./includes/system/user.nix
./includes/system/user.nix ./includes/system/udisks2.nix
./includes/system/udisks2.nix ./includes/system/lvm.nix
./includes/system/lvm.nix ./includes/system/doas.nix
./includes/system/doas.nix ./includes/system/neovim.nix
./includes/system/neovim.nix ./includes/system/overlay.nix
./includes/system/overlay.nix ];
] ++ (
if hostConfig.desktop then
[
./includes/desktop/swaylock.nix
./includes/desktop/pipewire.nix
./includes/desktop/xdg-portal.nix
]
else []
);
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;