From 52595e99bc0342da42986825f8e9522027d74545 Mon Sep 17 00:00:00 2001 From: Evie Litherland-Smith Date: Sun, 4 Jun 2023 09:38:51 +0100 Subject: [PATCH] Initial tweak to get sway working on Northstar --- home/Northstar/sway/backup | 195 +++++++++++++++++++++++++++++++++++++ home/Northstar/sway/config | 178 ++------------------------------- home/Northstar/xenia.nix | 18 +++- home/desktop/sway.nix | 14 ++- 4 files changed, 227 insertions(+), 178 deletions(-) create mode 100644 home/Northstar/sway/backup diff --git a/home/Northstar/sway/backup b/home/Northstar/sway/backup new file mode 100644 index 00000000..81ed5a07 --- /dev/null +++ b/home/Northstar/sway/backup @@ -0,0 +1,195 @@ +# Default config for sway +# +# Copy this to ~/.config/sway/config and edit it to your liking. +# +# Read `man 5 sway` for a complete reference. + +### Variables +set $mod Mod1 +set $left h +set $down j +set $up k +set $right l +set $term foot +# Your preferred application launcher +# Note: pass the final command to swaymsg so that the resulting window can be opened +# on the original workspace that the command was run on. +set $menu rofi -show drun + +include /etc/sway/config-vars.d/* + +### Output configuration +output DSI-1 scale 2.0 transform 270 +input type:touch map_to_output DSI-1 +input type:touchpad click_method clickfinger + +# this is for Lenovo's USI pen +input 10182:3632:hid-over-i2c_27C6:0E30 map_to_output DSI-1 + +bindsym $mod+F6 exec brightnessctl s 5%- +bindsym $mod+F7 exec brightnessctl s 5%+ + + +gaps inner 5 +gaps outer 20 +default_border pixel 2 + +### Input configuration +input * { + xkb_layout gb +} + +# +# Workspaces +# +set $ws1 "1" +set $ws2 "2" +set $ws3 "3" +set $ws4 "4" +set $ws5 "5" +set $ws6 "6" +set $ws7 "7" +set $ws8 "8" +set $ws9 "9" + +workspace $ws1 output DSI-1 +workspace $ws2 output DSI-1 +workspace $ws3 output DSI-1 +workspace $ws4 output DSI-1 +workspace $ws5 output DSI-1 +workspace $ws6 output DSI-1 +workspace $ws7 output DSI-1 +workspace $ws8 output DSI-1 + +assign [app_id="foot"] $ws1 +assign [class="(?i)firefox"] $ws2 +assign [app_id="(?i)firefox"] $ws2 +assign [class="(?i)chromium"] $ws2 +assign [app_id="(?i)chromium"] $ws2 +assign [class="org.kde.dolphin"] $ws3 +assign [class="thunderbird"] $ws4 +assign [class="Mailspring"] $ws4 +assign [class="Element"] $ws5 +assign [class="Signal"] $ws5 +assign [class="Steam"] $ws6 +assign [class="Bitwarden"] $ws7 +assign [class="Nxplayer.bin"] $ws8 + +for_window [app_id="pavucontrol"] floating enable + +### Key bindings +bindsym $mod+Return exec $term +bindsym $mod+q kill +bindsym $mod+space exec $menu +bindsym $mod+e exec power-profiles +bindsym $mod+p exec wlogout +bindsym $mod+F1 exec swaylock +bindsym $mod+w exec chromium +bindsym $mod+f exec $term -e ranger +bindsym $mod+Shift+f exec dolphin + +floating_modifier $mod normal + +# Reload the configuration file +bindsym $mod+Shift+r reload + +# Exit sway (logs you out of your Wayland session) +bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' + +# Move your focus around +bindsym $mod+$left focus left +bindsym $mod+$down focus down +bindsym $mod+$up focus up +bindsym $mod+$right focus right +# Or use $mod+[up|down|left|right] +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# Move the focused window with the same, but add Shift +bindsym $mod+Shift+$left move left +bindsym $mod+Shift+$down move down +bindsym $mod+Shift+$up move up +bindsym $mod+Shift+$right move right +# Ditto, with arrow keys +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# Switch to workspace +bindsym $mod+1 workspace number $ws1 +bindsym $mod+2 workspace number $ws2 +bindsym $mod+3 workspace number $ws3 +bindsym $mod+4 workspace number $ws4 +bindsym $mod+5 workspace number $ws5 +bindsym $mod+6 workspace number $ws6 +bindsym $mod+7 workspace number $ws7 +bindsym $mod+8 workspace number $ws8 +bindsym $mod+9 workspace number $ws9 +bindsym $mod+0 workspace number $ws10 +# Move focused container to workspace +bindsym $mod+Shift+1 move container to workspace number $ws1 +bindsym $mod+Shift+2 move container to workspace number $ws2 +bindsym $mod+Shift+3 move container to workspace number $ws3 +bindsym $mod+Shift+4 move container to workspace number $ws4 +bindsym $mod+Shift+5 move container to workspace number $ws5 +bindsym $mod+Shift+6 move container to workspace number $ws6 +bindsym $mod+Shift+7 move container to workspace number $ws7 +bindsym $mod+Shift+8 move container to workspace number $ws8 +bindsym $mod+Shift+9 move container to workspace number $ws9 +bindsym $mod+Shift+0 move container to workspace number $ws10 +# Note: workspaces can have any name you want, not just numbers. +# We just use 1-10 as the default. + +# Make the current focus fullscreen +bindsym $mod+m fullscreen + +# Toggle the current focus between tiling and floating mode +bindsym $mod+v floating toggle + +# Move the currently focused window to the scratchpad +bindsym $mod+Shift+c move scratchpad + +# Show the next scratchpad window or hide the focused scratchpad window. +# If there are multiple scratchpad windows, this command cycles through them. +bindsym $mod+c scratchpad show +# +# Resizing containers: +# +mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym $left resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $right resize grow width 10px + + # Ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + + # Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+r mode "resize" + +# +# Status Bar: +# +# Read `man 5 sway-bar` for more information about this section. + +include /etc/sway/config.d/* + +exec dunst +# exec hyprpaper +exec waybar +# exec eww daemon + +# vim: ft=i3config diff --git a/home/Northstar/sway/config b/home/Northstar/sway/config index b8499031..548a7891 100644 --- a/home/Northstar/sway/config +++ b/home/Northstar/sway/config @@ -1,23 +1,3 @@ -# Default config for sway -# -# Copy this to ~/.config/sway/config and edit it to your liking. -# -# Read `man 5 sway` for a complete reference. - -### Variables -set $mod Mod1 -set $left h -set $down j -set $up k -set $right l -set $term foot -# Your preferred application launcher -# Note: pass the final command to swaymsg so that the resulting window can be opened -# on the original workspace that the command was run on. -set $menu rofi -show drun - -include /etc/sway/config-vars.d/* - ### Output configuration output DSI-1 scale 2.0 transform 270 input type:touch map_to_output DSI-1 @@ -26,12 +6,12 @@ input type:touchpad click_method clickfinger # this is for Lenovo's USI pen input 10182:3632:hid-over-i2c_27C6:0E30 map_to_output DSI-1 -bindsym $mod+F6 exec brightnessctl s 5%- -bindsym $mod+F7 exec brightnessctl s 5%+ +bindsym Mod1+F6 exec brightnessctl s 5%- +bindsym Mod1+F7 exec brightnessctl s 5%+ gaps inner 5 -gaps outer 5 +gaps outer 20 default_border pixel 2 ### Input configuration @@ -39,157 +19,11 @@ input * { xkb_layout gb } -# -# Workspaces -# -set $ws1 "1" -set $ws2 "2" -set $ws3 "3" -set $ws4 "4" -set $ws5 "5" -set $ws6 "6" -set $ws7 "7" -set $ws8 "8" -set $ws9 "9" - -workspace $ws1 output DSI-1 -workspace $ws2 output DSI-1 -workspace $ws3 output DSI-1 -workspace $ws4 output DSI-1 -workspace $ws5 output DSI-1 -workspace $ws6 output DSI-1 -workspace $ws7 output DSI-1 -workspace $ws8 output DSI-1 - -assign [app_id="foot"] $ws1 -assign [class="(?i)firefox"] $ws2 -assign [app_id="(?i)firefox"] $ws2 -assign [class="(?i)chromium"] $ws2 -assign [app_id="(?i)chromium"] $ws2 -assign [class="org.kde.dolphin"] $ws3 -assign [class="thunderbird"] $ws4 -assign [class="Mailspring"] $ws4 -assign [class="Element"] $ws5 -assign [class="Signal"] $ws5 -assign [class="Steam"] $ws6 -assign [class="Bitwarden"] $ws7 -assign [class="Nxplayer.bin"] $ws8 - for_window [app_id="pavucontrol"] floating enable -### Key bindings -bindsym $mod+Return exec $term -bindsym $mod+q kill -bindsym $mod+space exec $menu -bindsym $mod+e exec power-profiles -bindsym $mod+p exec wlogout -bindsym $mod+F1 exec swaylock -bindsym $mod+w exec chromium -bindsym $mod+f exec $term -e ranger -bindsym $mod+Shift+f exec dolphin - -floating_modifier $mod normal - -# Reload the configuration file -bindsym $mod+Shift+r reload - -# Exit sway (logs you out of your Wayland session) -bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' - -# Move your focus around -bindsym $mod+$left focus left -bindsym $mod+$down focus down -bindsym $mod+$up focus up -bindsym $mod+$right focus right -# Or use $mod+[up|down|left|right] -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right - -# Move the focused window with the same, but add Shift -bindsym $mod+Shift+$left move left -bindsym $mod+Shift+$down move down -bindsym $mod+Shift+$up move up -bindsym $mod+Shift+$right move right -# Ditto, with arrow keys -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right - -# Switch to workspace -bindsym $mod+1 workspace number $ws1 -bindsym $mod+2 workspace number $ws2 -bindsym $mod+3 workspace number $ws3 -bindsym $mod+4 workspace number $ws4 -bindsym $mod+5 workspace number $ws5 -bindsym $mod+6 workspace number $ws6 -bindsym $mod+7 workspace number $ws7 -bindsym $mod+8 workspace number $ws8 -bindsym $mod+9 workspace number $ws9 -bindsym $mod+0 workspace number $ws10 -# Move focused container to workspace -bindsym $mod+Shift+1 move container to workspace number $ws1 -bindsym $mod+Shift+2 move container to workspace number $ws2 -bindsym $mod+Shift+3 move container to workspace number $ws3 -bindsym $mod+Shift+4 move container to workspace number $ws4 -bindsym $mod+Shift+5 move container to workspace number $ws5 -bindsym $mod+Shift+6 move container to workspace number $ws6 -bindsym $mod+Shift+7 move container to workspace number $ws7 -bindsym $mod+Shift+8 move container to workspace number $ws8 -bindsym $mod+Shift+9 move container to workspace number $ws9 -bindsym $mod+Shift+0 move container to workspace number $ws10 -# Note: workspaces can have any name you want, not just numbers. -# We just use 1-10 as the default. - -# Make the current focus fullscreen -bindsym $mod+m fullscreen - -# Toggle the current focus between tiling and floating mode -bindsym $mod+v floating toggle - -# Move the currently focused window to the scratchpad -bindsym $mod+Shift+c move scratchpad - -# Show the next scratchpad window or hide the focused scratchpad window. -# If there are multiple scratchpad windows, this command cycles through them. -bindsym $mod+c scratchpad show -# -# Resizing containers: -# -mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - bindsym $left resize shrink width 10px - bindsym $down resize grow height 10px - bindsym $up resize shrink height 10px - bindsym $right resize grow width 10px - - # Ditto, with arrow keys - bindsym Left resize shrink width 10px - bindsym Down resize grow height 10px - bindsym Up resize shrink height 10px - bindsym Right resize grow width 10px - - # Return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $mod+r mode "resize" - -# -# Status Bar: -# -# Read `man 5 sway-bar` for more information about this section. - -include /etc/sway/config.d/* - exec dunst -exec hyprpaper -c ~/.dotfiles/nixos/home-manager/env/config/hypr/hyprpaper-H0615.conf -exec waybar -c ~/.dotfiles/nixos/home-manager/env/config/waybar/config-sway -exec eww daemon +# exec hyprpaper +exec waybar +# exec eww daemon # vim: ft=i3config diff --git a/home/Northstar/xenia.nix b/home/Northstar/xenia.nix index 99876421..018a0839 100644 --- a/home/Northstar/xenia.nix +++ b/home/Northstar/xenia.nix @@ -1,10 +1,22 @@ -{...}: { - imports = [../personal.nix ../desktop/sway.nix]; +{pkgs, ...}: { + imports = [ + ../env + ../tui + ../gui/foot.nix + ../desktop/sway.nix + ../ssh/personal.nix + ../git/personal.nix + ]; home.username = "xenia"; home.homeDirectory = "/home/xenia"; home.stateVersion = "22.11"; + home.packages = with pkgs; [home-manager]; + programs.bash.bashrcExtra = '' + source $HOME/.nix-profile/etc/profile.d/nix.sh + ''; + programs.firefox.enable = true; - xdg.configFile."sway/config".source = ./sway/config; + wayland.windowManager.sway.extraConfig = builtins.readFile ./sway/config; programs.waybar = { settings = { main = { diff --git a/home/desktop/sway.nix b/home/desktop/sway.nix index b6305326..21771656 100644 --- a/home/desktop/sway.nix +++ b/home/desktop/sway.nix @@ -1,7 +1,7 @@ {pkgs, ...}: { imports = [ - ./swaylock.nix - ./eww.nix + # ./swaylock.nix + # ./eww.nix ./waybar.nix ./gtk.nix ./dunst.nix @@ -16,5 +16,13 @@ brightnessctl ]; programs.rofi.package = pkgs.rofi-wayland; - wayland.windowManager.sway = {enable = true;}; + wayland.windowManager.sway = { + enable = true; + config = { + gaps = { + inner = 5; + outer = 20; + }; + }; + }; }