From 3a565c4ed55d0c031fe15b7f0b8cbaf9f459d292 Mon Sep 17 00:00:00 2001 From: Quentin Boyer Date: Sun, 17 Aug 2025 20:55:37 +0200 Subject: [PATCH] wm: Parametrize nixos for sway too --- hostconfig/gandalf/nixos.nix | 1 + wm/nixos.nix | 92 +++++++++++++++++++++--------------- 2 files changed, 54 insertions(+), 39 deletions(-) diff --git a/hostconfig/gandalf/nixos.nix b/hostconfig/gandalf/nixos.nix index 4f55ea1..b309d7f 100644 --- a/hostconfig/gandalf/nixos.nix +++ b/hostconfig/gandalf/nixos.nix @@ -97,6 +97,7 @@ in }; networking.firewall.allowedTCPPorts = [ 9080 4713 ]; + traxys.wm = "sway"; system.stateVersion = "24.05"; } diff --git a/wm/nixos.nix b/wm/nixos.nix index 75f5877..f04635e 100644 --- a/wm/nixos.nix +++ b/wm/nixos.nix @@ -1,47 +1,61 @@ -{ pkgs, ... }: { - xdg.portal = { - enable = true; - config = { - sway = { - default = "gtk"; - "org.freedesktop.impl.portal.Screenshot" = "wlr"; - "org.freedesktop.impl.portal.ScreenCast" = "wlr"; - }; + pkgs, + lib, + config, + ... +}: +{ + options = { + traxys.wm = lib.mkOption { + type = lib.types.enum [ "sway" ]; }; - - extraPortals = with pkgs; [ - xdg-desktop-portal-wlr - xdg-desktop-portal-gtk - ]; }; - nixpkgs.overlays = [ - (self: super: { - cage = pkgs.writeShellScriptBin "cage" '' - export XKB_DEFAULT_LAYOUT=fr - export XKB_DEFAULT_VARIANT=ergol - exec ${self.lib.getExe super.cage} "$@" - ''; - }) - ]; - - services.displayManager.sessionPackages = with pkgs; [ - sway - ]; - - programs.regreet = { - enable = true; - - theme.package = pkgs.canta-theme; - - settings = { - background.path = pkgs.fetchurl { - url = "https://lesmondaines.com/wp-content/uploads/2018/07/lac-crozet-rando-2.jpg"; - hash = "sha256-s35RoLnAyGhDNJh5+qbDEqCM7gF3U2Tyzx4X7jzhT70="; + config = { + xdg.portal = { + enable = true; + config = lib.mkIf (config.traxys.wm == "sway") { + sway = { + default = "gtk"; + "org.freedesktop.impl.portal.Screenshot" = "wlr"; + "org.freedesktop.impl.portal.ScreenCast" = "wlr"; + }; }; - GTK = { - application_prefer_dark_theme = true; + + extraPortals = lib.mkIf (config.traxys.wm == "sway") ( + with pkgs; + [ + xdg-desktop-portal-wlr + xdg-desktop-portal-gtk + ] + ); + }; + + nixpkgs.overlays = [ + (self: super: { + cage = pkgs.writeShellScriptBin "cage" '' + export XKB_DEFAULT_LAYOUT=fr + export XKB_DEFAULT_VARIANT=ergol + exec ${self.lib.getExe super.cage} "$@" + ''; + }) + ]; + + services.displayManager.sessionPackages = lib.optional (config.traxys.wm == "sway") pkgs.sway; + + programs.regreet = { + enable = true; + + theme.package = pkgs.canta-theme; + + settings = { + background.path = pkgs.fetchurl { + url = "https://lesmondaines.com/wp-content/uploads/2018/07/lac-crozet-rando-2.jpg"; + hash = "sha256-s35RoLnAyGhDNJh5+qbDEqCM7gF3U2Tyzx4X7jzhT70="; + }; + GTK = { + application_prefer_dark_theme = true; + }; }; }; };