Skip to content

Commit 0980a13

Browse files
committed
refactor(nixos): split out sway config
This should let me replace the sway config with niri fairly easily. Signed-off-by: Jalil David Salamé Messina <jalil.salame@gmail.com>
1 parent e8770e1 commit 0980a13

File tree

2 files changed

+35
-25
lines changed

2 files changed

+35
-25
lines changed

modules/nixos/gui/default.nix

Lines changed: 4 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ let
55
linuxOlderThan6_3 = lib.versionOlder args.config.boot.kernelPackages.kernel.version "6.3";
66
in
77
{
8+
imports = [ ./sway.nix ];
9+
810
config = lib.mkIf enable (
911
lib.mkMerge [
1012
{
@@ -20,18 +22,7 @@ in
2022
'';
2123

2224
fonts.fontDir.enable = true;
23-
programs = {
24-
dconf.enable = true;
25-
sway = {
26-
enable = cfg.sway;
27-
# No extra packages (by default it adds foot, dmenu, and other stuff)
28-
extraPackages = [ ];
29-
wrapperFeatures = {
30-
base = true;
31-
gtk = true;
32-
};
33-
};
34-
};
25+
programs.dconf.enable = true;
3526
security = {
3627
polkit.enable = true;
3728
rtkit.enable = true; # Recommended for pipewire
@@ -53,19 +44,7 @@ in
5344
# Virtual Filesystem (for PCManFM)
5445
gvfs.enable = true;
5546
};
56-
xdg.portal = {
57-
# XDG portals
58-
enable = true;
59-
wlr.enable = true;
60-
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
61-
config.preferred = {
62-
# Default to the gtk portal
63-
default = "gtk";
64-
# Use wlr for screenshots and screen recording
65-
"org.freedesktop.impl.portal.Screenshot" = "wlr";
66-
};
67-
# Consider using darkman like upstream
68-
};
47+
xdg.portal.enable = true;
6948
hardware = {
7049
graphics.enable = true;
7150
uinput.enable = true;

modules/nixos/gui/sway.nix

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{ lib, pkgs, ... }@args:
2+
let
3+
cfg = args.config.jconfig.gui;
4+
enable = args.config.jconfig.enable && cfg.enable;
5+
in
6+
{
7+
config = lib.mkIf enable {
8+
programs.sway = {
9+
enable = cfg.sway;
10+
# No extra packages (by default it adds foot, dmenu, and other stuff)
11+
extraPackages = [ ];
12+
wrapperFeatures = {
13+
base = true;
14+
gtk = true;
15+
};
16+
};
17+
18+
# XDG portals
19+
xdg.portal = {
20+
wlr.enable = true;
21+
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
22+
config.preferred = {
23+
# Default to the gtk portal
24+
default = "gtk";
25+
# Use wlr for screenshots and screen recording
26+
"org.freedesktop.impl.portal.Screenshot" = "wlr";
27+
};
28+
# Consider using darkman like upstream
29+
};
30+
};
31+
}

0 commit comments

Comments
 (0)