Files
home-manager/home-wl.nix

117 lines
3.0 KiB
Nix

{ config, pkgs, lib, ... }:
{
home.packages = with pkgs; [
swayimg
wl-clipboard
waybar
wofi
];
home.file = {
".config/waybar" = {
source = ./waybar;
};
".config/wofi/config".text = ''
show=drun
drun-print_command=true
'';
};
wayland.windowManager.sway.enable = true;
# wayland.windowManager.sway.package = pkgs.swayfx;
wayland.windowManager.sway.config = {
bars = [{
command = "waybar";
position = "top";
}];
colors.focused = {
border = "#ef5ffc";
background = "#ef5ffc";
text = "#333333";
indicator = "#2e9ef4";
childBorder = "#ef5ffc";
};
defaultWorkspace = "1";
floating = {
criteria = [
{
app_id = "org.keepassxc.KeePassXC";
}
];
};
gaps = {
inner = 8;
smartBorders = "on";
smartGaps = true;
};
input = {
"type:keyboard" = {
xkb_layout = "us";
xkb_variant = "altgr-intl";
xkb_options = "caps:escape,compose:102,shift:both_capslock,eurosign:e";
};
};
keybindings =
let
modifier = config.wayland.windowManager.sway.config.modifier;
menu = config.wayland.windowManager.sway.config.menu;
in lib.mkOptionDefault {
"${modifier}+space" = "exec ${menu}";
"${modifier}+Control+Space" = "focus mode_toggle";
"XF86AudioLowerVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ -5%";
"XF86AudioRaiseVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ +5%";
"XF86AudioMute" = "exec pactl set-sink-mute @DEFAULT_SINK@ toggle";
"XF86AudioMicMute" = "exec pactl set-source-mute @DEFAULT_SOURCE@ toggle";
"XF86Launch1" = "exec ~/scripts/sunset.sh";
"${modifier}+Control+p" = "exec swaylock -f -c ef5ffc";
};
menu = "wofi -G | xargs swaymsg exec --";
modifier = "Mod4";
output = {
"*" = {
bg = "~/.config/sway/xenia.png fill";
};
};
window.titlebar = false;
terminal = "alacritty";
window.border = 2;
};
wayland.windowManager.sway.extraConfig = ''
# blur enable
# blur_xray disable
# corner_radius 4
# shadows enable
# default_dim_inactive 0.1
# dim_inactive_colors.unfocused #fc28c3
exec swayidle -w \
timeout 300 'swaylock -f -c ef5ffc' \
timeout 600 'swaymsg output * dpms off' \
resume 'swaymsg putput * dpms on' \
before-sleep 'swaylock -f -c ef5ffc'
include ~/.config/sway/device-conf
'';
# Let Home Manager install and manage itself.
services.swayidle = {
enable = false;
events = [
{
event = "before-sleep";
command = "/run/current-system/sw/bin/swaylock -f -c ef5ffc";
}
];
timeouts = [
{
command = "/run/current-system/sw/bin/swaylock -f -c ef5ffc";
timeout = 300;
}
{
command = "swaymsg \"output * dpms off\"";
resumeCommand = "swaymsg \"output * dpms on\"";
timeout = 600;
}
];
};
}