summaryrefslogtreecommitdiff
path: root/modules/desktops/sway
diff options
context:
space:
mode:
Diffstat (limited to 'modules/desktops/sway')
-rw-r--r--modules/desktops/sway/binds.nix91
-rw-r--r--modules/desktops/sway/config.nix124
-rw-r--r--modules/desktops/sway/default.nix52
-rw-r--r--modules/desktops/sway/idle.nix27
4 files changed, 0 insertions, 294 deletions
diff --git a/modules/desktops/sway/binds.nix b/modules/desktops/sway/binds.nix
deleted file mode 100644
index 812d446..0000000
--- a/modules/desktops/sway/binds.nix
+++ /dev/null
@@ -1,91 +0,0 @@
-{config, ...}: let
- mod = "Mod4";
-in {
- home-manager.users.${config.user} = {
- wayland.windowManager.sway = {
- config = {
- keybindings = {
- # apps
- "${mod}+Return" = "exec ${config.default.terminal}";
- "${mod}+l" = "exec ${config.default.lockScreen}";
- "${mod}+d" = "exec ${config.default.appLauncher}";
- "${mod}+w" = "exec ${config.default.browser}";
-
- # exit
- "${mod}+Shift+l" = "exit";
- # kill focused window
- "${mod}+Shift+q" = "kill";
- # reload sway
- "${mod}+F5" = "reload";
-
- # audio
- "XF86AudioRaiseVolume" = "exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+";
- "XF86AudioLowerVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-";
- "XF86AudioMute" = "exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
- "XF86AudioMicMute" = "exec wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle";
-
- # media
- "XF86AudioPlay" = "exec playerctl play-pause";
- "XF86AudioNext" = "exec playerctl next";
- "XF86AudioPrev" = "exec playerctl previous";
-
- # backlight
- "XF86MonBrightnessDown" = "exec brightnessctl set 5%-";
- "XF86MonBrightnessUp" = "exec brightnessctl set 5%+";
-
- # screenshot
- "Print" = "exec grimblast copy area";
-
- # move focus
- "${mod}+Left" = "focus left";
- "${mod}+Down" = "focus down";
- "${mod}+Up" = "focus up";
- "${mod}+Right" = "focus right";
-
- # move focused window
- "${mod}+Shift+Left" = "move left";
- "${mod}+Shift+Down" = "move down";
- "${mod}+Shift+Up" = "move up";
- "${mod}+Shift+Right" = "move right";
-
- # switch workspace
- "${mod}+1" = "workspace number 1";
- "${mod}+2" = "workspace number 2";
- "${mod}+3" = "workspace number 3";
- "${mod}+4" = "workspace number 4";
- "${mod}+5" = "workspace number 5";
- "${mod}+6" = "workspace number 6";
- "${mod}+7" = "workspace number 7";
- "${mod}+8" = "workspace number 8";
- "${mod}+9" = "workspace number 9";
-
- # move focused container to workspace
- "${mod}+Shift+1" = "move container to workspace number 1";
- "${mod}+Shift+2" = "move container to workspace number 2";
- "${mod}+Shift+3" = "move container to workspace number 3";
- "${mod}+Shift+4" = "move container to workspace number 4";
- "${mod}+Shift+5" = "move container to workspace number 5";
- "${mod}+Shift+6" = "move container to workspace number 6";
- "${mod}+Shift+7" = "move container to workspace number 7";
- "${mod}+Shift+8" = "move container to workspace number 8";
- "${mod}+Shift+9" = "move container to workspace number 9";
-
- # layout
- "${mod}+Shift+d" = "layout default";
- "${mod}+Shift+b" = "layout splith";
- "${mod}+Shift+v" = "layout splitv";
- "${mod}+Shift+c" = "layout tabbed";
-
- # fullscreen
- "${mod}+f" = "fullscreen";
- # float
- "${mod}+Shift+space" = "floating toggle";
- # focus
- "${mod}+space" = "focus mode_toggle";
- # parent
- "${mod}+a" = "focus parent";
- };
- };
- };
- };
-}
diff --git a/modules/desktops/sway/config.nix b/modules/desktops/sway/config.nix
deleted file mode 100644
index c6c78ca..0000000
--- a/modules/desktops/sway/config.nix
+++ /dev/null
@@ -1,124 +0,0 @@
-{config, ...}: {
- home-manager.users.${config.user} = {
- wayland.windowManager.sway = {
- config = {
- # monitors
- output =
- (builtins.listToAttrs (map (mon: {
- name = mon.name;
- value = {
- dpms = "on";
- scale = toString mon.scale;
- render_bit_depth = toString mon.bitdepth;
- };
- })
- config.monitors))
- // {
- # wallpaper
- "*" = {
- bg = "${config.theme.wallpaper} fill";
- };
- };
-
- # inputs
- input = {
- "*" = {
- xkb_layout = "us";
- xkb_options = "compose:ralt";
- xkb_numlock = "enable";
- };
-
- "type:touchpad" = {
- tap = "enabled";
- natural_scroll = "enabled";
- middle_emulation = "enabled";
- };
- };
-
- startup =
- # autostart apps
- builtins.map (command: {
- inherit command;
- always = false;
- })
- config.autoRun;
-
- # colors
- colors = let
- base = "#${config.theme.colors.base}";
- surface = "#${config.theme.colors.surface}";
- primary = "#${config.theme.colors.primary}";
- text = "#${config.theme.colors.text}";
- white = "#${config.theme.colors.bright.white}";
- error = "#${config.theme.colors.error}";
- in rec {
- background = base;
-
- focused = {
- border = primary;
- background = base;
- text = text;
- indicator = white;
- childBorder = primary;
- };
-
- focusedInactive = {
- border = surface;
- background = base;
- text = text;
- indicator = surface;
- childBorder = surface;
- };
-
- unfocused = focusedInactive;
-
- urgent = {
- border = error;
- background = error;
- text = text;
- indicator = error;
- childBorder = error;
- };
-
- placeholder = unfocused;
- };
-
- window = {
- titlebar = false;
- border = config.theme.borderWidth;
- };
-
- floating = {
- titlebar = false;
- border = config.theme.borderWidth;
- modifier = "Mod4 normal";
- };
-
- gaps = {
- inner = config.theme.innerGap;
- outer = config.theme.outerGap;
- };
-
- modes = {};
- bars = [];
- };
-
- extraConfig = ''
- # gestures
- bindgesture swipe:right workspace prev
- bindgesture swipe:left workspace next
-
- # swayfx
- corner_radius ${toString config.theme.outerRadius}
- smart_corner_radius ${toString config.theme.outerRadius}
- blur ${
- if config.theme.blur
- then "enabled"
- else "disabled"
- }
- blur_radius 10
- blur_passes 3
- '';
- };
- };
-}
diff --git a/modules/desktops/sway/default.nix b/modules/desktops/sway/default.nix
deleted file mode 100644
index be3766d..0000000
--- a/modules/desktops/sway/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}: let
- inherit (lib) mkIf mkDefault;
- cfg = config.desktops;
-in {
- imports = [
- ./binds.nix
- ./config.nix
- ./idle.nix
- ];
-
- config = mkIf cfg.sway {
- desktops.wayland = true;
-
- # TODO: set NIXOS_OZONE_WL env var
-
- xdg.portal = {
- config = {
- sway.common = ["gtk" "wlr"];
- };
- extraPortals = with pkgs; [
- xdg-desktop-portal-wlr
- ];
- };
-
- programs.sway = {
- enable = true;
- package = pkgs.swayfx;
- wrapperFeatures = {
- base = false;
- gtk = false;
- };
- };
-
- home-manager.users.${config.user} = {
- wayland.windowManager.sway = {
- enable = true;
- package = pkgs.swayfx;
-
- # TODO: get swayfx to work with check config
- checkConfig = false;
-
- xwayland = true;
- systemd.enable = true;
- };
- };
- };
-}
diff --git a/modules/desktops/sway/idle.nix b/modules/desktops/sway/idle.nix
deleted file mode 100644
index b3e3e06..0000000
--- a/modules/desktops/sway/idle.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{config, ...}: {
- home-manager.users.${config.user} = {
- services.swayidle = {
- enable = config.desktops.sway;
- systemdTarget = "sway-session.target";
-
- timeouts = [
- {
- timeout = 300;
- command = "${config.default.lockScreen}";
- }
- {
- timeout = 300;
- command = "swaymsg \"output * power off\"";
- resumeCommand = "swaymsg \"output * power on\"";
- }
- ];
-
- events = [
- {
- event = "before-sleep";
- command = "${config.default.lockScreen}";
- }
- ];
- };
- };
-}