diff options
| author | schererleander <leander@schererleander.de> | 2025-07-29 02:03:38 +0200 |
|---|---|---|
| committer | schererleander <leander@schererleander.de> | 2025-07-29 02:03:38 +0200 |
| commit | c2f0d9bebe68c11f4d018a18bd5d3880712c6873 (patch) | |
| tree | d40b3e3faf65fdc618c2dd62cd548aac6e545ac4 /modules/home-manager/sway.nix | |
| parent | 97cf1a9390cbb56bb904c777ebe8f6f559a7d8a4 (diff) | |
chore: move home-manager modules in seperate folder
Diffstat (limited to 'modules/home-manager/sway.nix')
| -rw-r--r-- | modules/home-manager/sway.nix | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/modules/home-manager/sway.nix b/modules/home-manager/sway.nix new file mode 100644 index 0000000..16043ef --- /dev/null +++ b/modules/home-manager/sway.nix @@ -0,0 +1,84 @@ +{ config, lib, pkgs, ... }: + +let + mod = config.wayland.windowManager.sway.config.modifier; +in { + options.sway.enable = lib.mkEnableOption "Enable sway and setup"; + config = lib.mkIf config.sway.enable { + home.packages = with pkgs; [ + wmenu + swaybg + sway-contrib.grimshot + wl-clipboard + xdg-utils + playerctl + ]; + + xdg = { + portal = { + enable = true; + extraPortals = with pkgs; [ + xdg-desktop-portal-wlr + xdg-desktop-portal-gtk + ]; + config = { + common.default = "*"; + }; + }; + }; + + wayland.windowManager.sway = { + enable = true; + config = { + input = { + "*" = { + xkb_layout = "de"; + }; + }; + + output = { + DP-1 = { + resolution = "1920x1080@240Hz"; + bg = "/etc/nixos/images/pond.jpg fill"; + }; + }; + + gaps = { + inner = 15; + }; + + window = { + titlebar = false; + border = 0; + }; + + modifier = "Mod4"; + + keybindings = lib.mkOptionDefault { + "${mod}+q" = "kill"; + "XF86AudioPlay" = "exec playerctl play-pause"; + "XF86AudioPrev" = "exec playerctl previous"; + "XF86AudioNext" = "exec playerctl next"; + "XF86AudioRaiseVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_DEVICE@ +5%"; + "XF86AudioLowerVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_DEVICE@ -5%"; + "XF86AudioMute" = "exec wpctl set-mute @DEFAULT_AUDIO_DEVICE@ toggle"; + }; + + menu = "${pkgs.wmenu}/bin/wmenu-run -b -N 000000"; + terminal = "${pkgs.foot}/bin/foot"; + defaultWorkspace = "workspace number 1"; + + bars = [{ + "command" = "${pkgs.waybar}/bin/waybar"; + }]; + }; + checkConfig = false; + wrapperFeatures.base = true; + wrapperFeatures.gtk = true; + }; + + home.sessionVariables = { + XDG_CURRENT_DESKTOP = "wayland"; + }; + }; +} |
