add inital sway
This commit is contained in:
parent
f78ab0cd54
commit
636fd1257e
BIN
modules/desktop/scripts/2in1screen
Executable file
BIN
modules/desktop/scripts/2in1screen
Executable file
Binary file not shown.
65
modules/desktop/sway/default.nix
Normal file
65
modules/desktop/sway/default.nix
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
#
|
||||||
|
# Sway configuration
|
||||||
|
#
|
||||||
|
# flake.nix
|
||||||
|
# ├─ ./hosts
|
||||||
|
# │ └─ ./laptop
|
||||||
|
# │ └─ default.nix
|
||||||
|
# └─ ./modules
|
||||||
|
# └─ ./desktop
|
||||||
|
# └─ ./hyprland
|
||||||
|
# └─ hyprland.nix *
|
||||||
|
#
|
||||||
|
|
||||||
|
{ config, lib, user, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ ../../programs/waybar.nix ];
|
||||||
|
|
||||||
|
hardware.opengl = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
loginShellInit = ''
|
||||||
|
if [ -z $DISPLAY ] && [ $UID != 0 ] && [ "$(tty)" = "/dev/tty1" ]; then
|
||||||
|
exec sway
|
||||||
|
fi
|
||||||
|
''; # Will automatically open sway when logged into tty1
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
xdg-desktop-portal-wlr
|
||||||
|
swaylock
|
||||||
|
swayidle
|
||||||
|
slurp
|
||||||
|
grim
|
||||||
|
bemenu
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
sway.enable = true;
|
||||||
|
extraSessionCommands = ''
|
||||||
|
export MOZ_ENABLE_WAYLAND = "1";
|
||||||
|
export MOZ_WEBRENDER = "1";
|
||||||
|
export MOZ_USE_XINPUT2 = "2";
|
||||||
|
export MOZ_DBUS_REMOTE = "1";
|
||||||
|
#export GDK_BACKEND = "wayland";
|
||||||
|
export LIBVA_DRIVER_NAME = "iHD";
|
||||||
|
export VDPAU_DRIVER = "iHD";
|
||||||
|
export XDG_SESSION_TYPE = "wayland";
|
||||||
|
export XDG_CURRENT_DESKTOP = "Unity";
|
||||||
|
#export QT_QPA_PLATFORMTHEME = "wayland-egl";
|
||||||
|
export GST_VAAPI_ALL_DRIVERS = "1";
|
||||||
|
export GTK_THEME = "Arc";
|
||||||
|
export _JAVA_AWT_WM_NONREPARENTING = "1";
|
||||||
|
#export LIBCL_ALWAYS_SOFTWARE = "1"; # For applications in VM like alacritty to work
|
||||||
|
#export WLR_NO_HARDWARE_CURSORS = "1"; # For cursor in VM
|
||||||
|
'';
|
||||||
|
|
||||||
|
security.pam.services.swaylock = {};
|
||||||
|
|
||||||
|
xdg.portal = { # Required for flatpak with windowmanagers
|
||||||
|
#enable = true;
|
||||||
|
wlr.enable = true;
|
||||||
|
};
|
||||||
|
}
|
141
modules/desktop/sway/home.nix
Normal file
141
modules/desktop/sway/home.nix
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
#
|
||||||
|
# Hyprland NixOS & Home manager configuration
|
||||||
|
#
|
||||||
|
# flake.nix
|
||||||
|
# ├─ ./hosts
|
||||||
|
# │ └─ ./laptop
|
||||||
|
# │ └─ home.nix
|
||||||
|
# └─ ./modules
|
||||||
|
# └─ ./desktop
|
||||||
|
# └─ ./hyprland
|
||||||
|
# └─ home.nix *
|
||||||
|
#
|
||||||
|
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.file = { ".config/sway/2in1screen".source = ../modules/desktop/scripts/2in1screen };
|
||||||
|
|
||||||
|
wayland.windowManager.sway = {
|
||||||
|
config = {
|
||||||
|
menu = 'bemenu-run --no-exec -m -1 --hf "#ffff00" --tf "#888888" --nf "#00ff40" --hb "#424242" | xargs swaymsg exec --';
|
||||||
|
left = h;
|
||||||
|
down = n;
|
||||||
|
up = e;
|
||||||
|
right = i;
|
||||||
|
modifier = Mod4;
|
||||||
|
|
||||||
|
input = {
|
||||||
|
* = {
|
||||||
|
xkb_layout = "us";
|
||||||
|
xkb_variant = "altgr-intl";
|
||||||
|
};
|
||||||
|
"2321:21128:HTIX5288:00_0911:5288_Touchpad" {
|
||||||
|
tap enabled
|
||||||
|
natural_scroll disabled
|
||||||
|
drag enabled
|
||||||
|
dwt enabled
|
||||||
|
middle_emulation enabled
|
||||||
|
scroll_method two_finger
|
||||||
|
tap_button_map lmr
|
||||||
|
drag enabled
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
output = {
|
||||||
|
* = { bg = "$HOME/.config/wall"; };
|
||||||
|
eDP-1 = {
|
||||||
|
resolution = 1920x1080 position 4480,0;
|
||||||
|
subpixel = none;
|
||||||
|
scale = 1.3;
|
||||||
|
};
|
||||||
|
DP-1 = {
|
||||||
|
resolution = 1920x1080 position 0,0;
|
||||||
|
};
|
||||||
|
HDMI-A-1 = {
|
||||||
|
resolution = 2560x1080 position 1920,0;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
terminal = "alacritty";
|
||||||
|
|
||||||
|
startup = [
|
||||||
|
{ command = "${HOME}/.config/sway/scripts/2in1screen"; }
|
||||||
|
{ command = "xrdb -load ~/.Xresources"
|
||||||
|
{ command = "gsettings set org.gnome.desktop.interface gtk-theme Arc"
|
||||||
|
{ command = "gsettings set org.gnome.desktop.interface icon-theme ePapirus"
|
||||||
|
{ command = "gsettings set org.gnome.desktop.interface cursor-theme Adwaita"
|
||||||
|
{ command = "${pkgs.thunderbird}/bin/thunderbird";
|
||||||
|
{ command = "${pkgs.firefox}/bin/firefox";
|
||||||
|
{ command = "${pkgs.element}/bin/element";
|
||||||
|
];
|
||||||
|
|
||||||
|
workspaceAutoBackAndForth = true;
|
||||||
|
|
||||||
|
extraSessionCommands = ''
|
||||||
|
export MOZ_ENABLE_WAYLAND = "1";
|
||||||
|
export MOZ_WEBRENDER = "1";
|
||||||
|
export MOZ_USE_XINPUT2 = "2";
|
||||||
|
export MOZ_DBUS_REMOTE = "1";
|
||||||
|
#export GDK_BACKEND = "wayland";
|
||||||
|
export LIBVA_DRIVER_NAME = "iHD";
|
||||||
|
export VDPAU_DRIVER = "iHD";
|
||||||
|
export XDG_SESSION_TYPE = "wayland";
|
||||||
|
export XDG_CURRENT_DESKTOP = "Unity";
|
||||||
|
#export QT_QPA_PLATFORMTHEME = "wayland-egl";
|
||||||
|
export GST_VAAPI_ALL_DRIVERS = "1";
|
||||||
|
export GTK_THEME = "Arc";
|
||||||
|
export _JAVA_AWT_WM_NONREPARENTING = "1";
|
||||||
|
#export LIBCL_ALWAYS_SOFTWARE = "1"; # For applications in VM like alacritty to work
|
||||||
|
#export WLR_NO_HARDWARE_CURSORS = "1"; # For cursor in VM
|
||||||
|
'';
|
||||||
|
|
||||||
|
gaps.inner = 8;
|
||||||
|
gaps.outer = 4;
|
||||||
|
|
||||||
|
assigns = {
|
||||||
|
"3: web" = [{ class = "^Firefox$"; }];
|
||||||
|
"2: mail" = [{ class = "^Thunderbird$"; }];
|
||||||
|
"4: im" = [{ class = "^Element$"; }];
|
||||||
|
};
|
||||||
|
|
||||||
|
window.commands = [
|
||||||
|
{ command = "floating enable"; criteria = { class = "Pavucontrol" }; }
|
||||||
|
{ command = "floating enable"; criteria = { class = "Galculator" }; }
|
||||||
|
{ command = "floating enable"; criteria = { class = "yubioath-desktop" }; }
|
||||||
|
{ command = "floating enable"; criteria = { window_role = "pop-up" }; }
|
||||||
|
];
|
||||||
|
|
||||||
|
bars.*.command = "${pkgs.waybar}/bin/waybar";
|
||||||
|
|
||||||
|
defaultWorkspace = "workspace number 3";
|
||||||
|
|
||||||
|
keybindings = {
|
||||||
|
XF86AudioMute = "exec pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
systemdIntegration = true;
|
||||||
|
wrapperFeatures.gtk = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.swaylock.settings = {
|
||||||
|
color = "000000";
|
||||||
|
image = "$HOME/.config/lockwall";
|
||||||
|
indicator-caps-lock = true;
|
||||||
|
show-keyboard-layout = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.swayidle = {
|
||||||
|
enable = false;
|
||||||
|
events = [
|
||||||
|
{ event = "before-sleep"; command = "${pkgs.swaylock}/bin/swaylock"; }
|
||||||
|
{ event = "lock"; command = "${pkgs.swaylock}/bin/swaylock -fF"; }
|
||||||
|
{ event = "after-resume"; command = "${pkgs.sway}/bin/swaymsg output * dpms on"; }
|
||||||
|
];
|
||||||
|
timeouts = [
|
||||||
|
{ timeout = 300; command = "${pkgs.swaylock}/bin/swaylock -fF"; }
|
||||||
|
{ timeout = 600; command = "${pkgs.sway}/bin/swaymsg output * dpms off"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user