Fixed a couple of sway issues
Made swayfx the standard, added nixos system-level module to enable and autostart with greetd; Includes fix for missing session that should be fixed in later nixpkgs versions Fixed formatting for waybar workspaces module, wasn't showing active or empty workspaces correctly
This commit is contained in:
parent
a4ab3c7288
commit
6dd70aa58e
50
flake.nix
50
flake.nix
|
@ -170,16 +170,7 @@
|
||||||
++ systemModules;
|
++ systemModules;
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
nixosConfigurations = let
|
nixosConfigurations = {
|
||||||
swaygreet = {
|
|
||||||
services.greetd.settings = let
|
|
||||||
command = "sway";
|
|
||||||
in {
|
|
||||||
default_session = {inherit command;};
|
|
||||||
initial_session = {inherit command;};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
## Server
|
## Server
|
||||||
|
|
||||||
Legion = systemConfig {
|
Legion = systemConfig {
|
||||||
|
@ -200,14 +191,25 @@
|
||||||
|
|
||||||
Northstar = systemConfig {
|
Northstar = systemConfig {
|
||||||
hostName = "Northstar";
|
hostName = "Northstar";
|
||||||
systemModules = [./system/laptop.nix swaygreet];
|
systemModules = [
|
||||||
homeModules = [./home/sway/swayfx.nix];
|
./system/laptop.nix
|
||||||
|
./system/sway.nix
|
||||||
|
];
|
||||||
|
homeModules = [
|
||||||
|
./home/sway/default.nix
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
Vanguard = systemConfig {
|
Vanguard = systemConfig {
|
||||||
hostName = "Vanguard";
|
hostName = "Vanguard";
|
||||||
systemModules = [./system/desktop ./system/games.nix swaygreet];
|
systemModules = [
|
||||||
homeModules = [./home/sway/swayfx.nix];
|
./system/desktop
|
||||||
|
./system/games.nix
|
||||||
|
./system/sway.nix
|
||||||
|
];
|
||||||
|
homeModules = [
|
||||||
|
./home/sway/default.nix
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
## Work
|
## Work
|
||||||
|
@ -215,15 +217,27 @@
|
||||||
Ronin = systemConfig {
|
Ronin = systemConfig {
|
||||||
hostName = "Ronin";
|
hostName = "Ronin";
|
||||||
user = "elitherl";
|
user = "elitherl";
|
||||||
systemModules = [./system/laptop.nix swaygreet];
|
systemModules = [
|
||||||
homeModules = [./home/sway/swayfx.nix ./home/email/work.nix];
|
./system/laptop.nix
|
||||||
|
./system/sway.nix
|
||||||
|
];
|
||||||
|
homeModules = [
|
||||||
|
./home/sway/default.nix
|
||||||
|
./home/email/work.nix
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
Scorch = systemConfig {
|
Scorch = systemConfig {
|
||||||
hostName = "Scorch";
|
hostName = "Scorch";
|
||||||
user = "elitherl";
|
user = "elitherl";
|
||||||
systemModules = [./system/desktop.nix swaygreet];
|
systemModules = [
|
||||||
homeModules = [./home/sway/swayfx.nix ./home/email/work.nix];
|
./system/desktop.nix
|
||||||
|
./system/sway.nix
|
||||||
|
];
|
||||||
|
homeModules = [
|
||||||
|
./home/sway/default.nix
|
||||||
|
./home/email/work.nix
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
194
home/sway/config
194
home/sway/config
|
@ -1,194 +0,0 @@
|
||||||
# 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 Mod4
|
|
||||||
set $left h
|
|
||||||
set $down j
|
|
||||||
set $up k
|
|
||||||
set $right l
|
|
||||||
set $term alacritty
|
|
||||||
# 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 DP-1 scale 1.5
|
|
||||||
|
|
||||||
|
|
||||||
gaps inner 5
|
|
||||||
gaps outer 10
|
|
||||||
default_border pixel 2
|
|
||||||
|
|
||||||
### Input configuration
|
|
||||||
input * {
|
|
||||||
xkb_layout gb
|
|
||||||
xkb_options ctrl:nocaps
|
|
||||||
}
|
|
||||||
|
|
||||||
#
|
|
||||||
# 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+F1 exec swaylock
|
|
||||||
bindsym $mod+Return exec $term
|
|
||||||
bindsym $mod+q kill
|
|
||||||
bindsym $mod+space exec $menu
|
|
||||||
bindsym $mod+e exec emacsclient -c
|
|
||||||
bindsym $mod+w exec firefox
|
|
||||||
bindsym $mod+f exec thunar
|
|
||||||
|
|
||||||
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+q 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.
|
|
||||||
|
|
||||||
# SwayFX additional settings
|
|
||||||
|
|
||||||
corner_radius 10
|
|
||||||
blur enable
|
|
||||||
blur_xray disable
|
|
||||||
blur_passes 3
|
|
||||||
blur_radius 5
|
|
||||||
corner_radius 10
|
|
||||||
shadows enable
|
|
||||||
shadow_blur_radius 4
|
|
||||||
titlebar_separator enable
|
|
||||||
scratchpad_minimize disable
|
|
||||||
|
|
||||||
exec waybar
|
|
||||||
|
|
||||||
# vim: ft=i3config
|
|
|
@ -10,9 +10,9 @@
|
||||||
imports = [../desktop.nix];
|
imports = [../desktop.nix];
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = null;
|
||||||
swaynag.enable = true;
|
swaynag.enable = true;
|
||||||
systemd.enable = true;
|
systemd.enable = true;
|
||||||
wrapperFeatures.gtk = true;
|
|
||||||
xwayland = true;
|
xwayland = true;
|
||||||
config = {
|
config = {
|
||||||
input = {
|
input = {
|
||||||
|
@ -27,11 +27,11 @@
|
||||||
workspaceAutoBackAndForth = true;
|
workspaceAutoBackAndForth = true;
|
||||||
bars = [];
|
bars = [];
|
||||||
gaps = {
|
gaps = {
|
||||||
inner = 5;
|
inner = 10;
|
||||||
outer = 10;
|
# outer = 5;
|
||||||
};
|
};
|
||||||
fonts = {
|
fonts = {
|
||||||
names = [fonts.monospace.name fonts.emoji.name];
|
names = [fonts.monospace.name];
|
||||||
style = "regular";
|
style = "regular";
|
||||||
size = 12.0; # fonts.sizes.desktop;
|
size = 12.0; # fonts.sizes.desktop;
|
||||||
};
|
};
|
||||||
|
@ -45,12 +45,12 @@
|
||||||
border = toString scheme.withHashtag.${accentColour};
|
border = toString scheme.withHashtag.${accentColour};
|
||||||
childBorder = border;
|
childBorder = border;
|
||||||
};
|
};
|
||||||
focusedInactive = rec {
|
unfocused = rec {
|
||||||
inherit background text indicator;
|
inherit background text indicator;
|
||||||
border = toString scheme.withHashtag.${accentColour};
|
border = toString base03;
|
||||||
childBorder = border;
|
childBorder = border;
|
||||||
};
|
};
|
||||||
unfocused = rec {
|
focusedInactive = rec {
|
||||||
inherit background text indicator;
|
inherit background text indicator;
|
||||||
border = toString base03;
|
border = toString base03;
|
||||||
childBorder = border;
|
childBorder = border;
|
||||||
|
@ -109,10 +109,23 @@
|
||||||
in
|
in
|
||||||
lib.mkOptionDefault {
|
lib.mkOptionDefault {
|
||||||
"${modifier}+F1" = "exec swaylock";
|
"${modifier}+F1" = "exec swaylock";
|
||||||
|
"${modifier}+z" = "exec swaync-client -t -sw";
|
||||||
"${modifier}+e" = "exec emacsclient -c";
|
"${modifier}+e" = "exec emacsclient -c";
|
||||||
"${modifier}+w" = "exec firefox";
|
"${modifier}+w" = "exec firefox";
|
||||||
"${modifier}+f" = "exec thunar";
|
"${modifier}+f" = "exec thunar";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
corner_radius 10
|
||||||
|
blur enable
|
||||||
|
blur_xray disable
|
||||||
|
blur_passes 3
|
||||||
|
blur_radius 5
|
||||||
|
corner_radius 10
|
||||||
|
shadows enable
|
||||||
|
shadow_blur_radius 4
|
||||||
|
titlebar_separator enable
|
||||||
|
scratchpad_minimize disable
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
imports = [./default.nix];
|
|
||||||
wayland.windowManager.sway = {
|
|
||||||
package = pkgs.swayfx;
|
|
||||||
extraConfig = ''
|
|
||||||
corner_radius 10
|
|
||||||
blur enable
|
|
||||||
blur_xray disable
|
|
||||||
blur_passes 3
|
|
||||||
blur_radius 5
|
|
||||||
corner_radius 10
|
|
||||||
shadows enable
|
|
||||||
shadow_blur_radius 4
|
|
||||||
titlebar_separator enable
|
|
||||||
scratchpad_minimize disable
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -314,10 +314,10 @@
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
padding: 0px 5px;
|
padding: 0px 5px;
|
||||||
}
|
}
|
||||||
#workspaces button.empty {
|
#workspaces button.persistent {
|
||||||
color: ${base03};
|
color: ${base03};
|
||||||
}
|
}
|
||||||
#workspaces button.active {
|
#workspaces button.focused {
|
||||||
color: ${accent};
|
color: ${accent};
|
||||||
}
|
}
|
||||||
#workspaces button.urgent {
|
#workspaces button.urgent {
|
||||||
|
|
|
@ -43,9 +43,19 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
security = {
|
security = {
|
||||||
pam.services.swaylock = {};
|
|
||||||
polkit.enable = true;
|
polkit.enable = true;
|
||||||
rtkit.enable = true;
|
rtkit.enable = true;
|
||||||
|
pam = {
|
||||||
|
services.swaylock = {};
|
||||||
|
loginLimits = [
|
||||||
|
{
|
||||||
|
domain = "@users";
|
||||||
|
item = "rtprio";
|
||||||
|
type = "-";
|
||||||
|
value = 1;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
sound.enable = false;
|
sound.enable = false;
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
|
|
19
system/sway.nix
Normal file
19
system/sway.nix
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.sway = {
|
||||||
|
enable = true;
|
||||||
|
package =
|
||||||
|
pkgs.swayfx.overrideAttrs
|
||||||
|
(old: {passthru.providedSessions = ["sway"];});
|
||||||
|
wrapperFeatures.gtk = true;
|
||||||
|
};
|
||||||
|
services.greetd.settings = let
|
||||||
|
command = "${config.programs.sway.package}/bin/sway";
|
||||||
|
in {
|
||||||
|
default_session = {inherit command;};
|
||||||
|
initial_session = {inherit command;};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue