diff --git a/hosts/luci/nixos-config.nix b/hosts/luci/nixos-config.nix index 909c4f9..159340a 100644 --- a/hosts/luci/nixos-config.nix +++ b/hosts/luci/nixos-config.nix @@ -1,4 +1,5 @@ { ... }: { + config.modules.desktop.sway.enable = true; config.modules.gaming.steam.enable = false; config.modules.hardware.laptop.enable = true; } diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index a176c94..35e9b1d 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1,6 +1,7 @@ _: { imports = [ + ./desktop/sway ./gaming/steam ./hardware/laptop ]; diff --git a/modules/nixos/desktop/sway/default.nix b/modules/nixos/desktop/sway/default.nix new file mode 100644 index 0000000..5d65618 --- /dev/null +++ b/modules/nixos/desktop/sway/default.nix @@ -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"; + }; + }; + }; + }; +} diff --git a/nixos/default.nix b/nixos/default.nix index 190a786..ac970c6 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -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;