{ config, pkgs, lib, ... }: { home.packages = with pkgs; [ brightnessctl wl-clipboard ]; wayland.windowManager.sway = { enable = true; config = rec { modifier = "Mod4"; input = { "*" = { xkb_layout = "dk"; }; }; terminal = "kitty"; keybindings = lib.mkOptionDefault { "${modifier}+Shift+e" = "exec emacsclient --create-frame"; "${modifier}+Ctrl+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'"; "${modifier}+Ctrl+q" = "exec swaynag -t warning -m 'You pressed the quit shortcut. Do you really want to shutdown? This will end your session.' -b 'Yes, shutdown' 'shutdown now'"; "${modifier}+Ctrl+l" = "exec swaylock -fF"; "${modifier}+Ctrl+s" = "exec swaylock -fF && systemctl suspend"; "XF86MonBrightnessDown" = "exec brightnessctl set 5%-"; "XF86MonBrightnessUp" = "exec brightnessctl set 5%+"; }; bars = [ { fonts = { names = [ "pango:Hack Nerd" ]; size = 9.0; }; statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs /home/ed/.config/i3status-rust/config-default.toml"; } ]; }; }; services.dunst = { enable = true; iconTheme = { name = "Adwaita"; package = pkgs.gnome.adwaita-icon-theme; size = "16x16"; }; }; programs.i3status-rust = { enable = true; bars = { default = { theme = "solarized-dark"; icons = "material-nf"; blocks = [ { block = "maildir"; inboxes = [ "~/.mail/hackerncoder/Inbox" ]; interval = 120; } { block = "backlight"; } { block = "net"; format = " $icon {$signal_strength $ssid $frequency|Wired connection} via $device "; } { block = "disk_space"; path = "/"; info_type = "available"; interval = 60; alert = 10.0; warning = 20.0; format = " $icon $available.eng(w:2) "; } { block = "time"; format = " $icon $timestamp.datetime(f:'%a %d/%m')"; interval = 3600; } { block = "time"; format = "$timestamp.datetime(f:'%H %Z')"; timezone = "Etc/UTC"; interval = 600; } { block = "time"; format = "$timestamp.datetime(f:'%R') "; interval = 60; } ]; }; }; }; programs.swaylock = { enable = true; settings = { color = "000000"; #font-size = 24; indicator-idle-visible = false; #indicator-radius = 100; #line-color = "ffffff"; #show-failed-attempts = true; }; }; services.swayidle = { enable = true; timeouts = [ { timeout = 240; command = "${pkgs.swaylock}/bin/swaylock -fF"; } { timeout = 480; command = "${pkgs.systemd}/bin/systemctl suspend"; } ]; }; # gtk = { # enable = true; # theme.name = "breeze"; # }; # qt = { # enable = true; # platformTheme.name = "kde"; # style.name = "breeze"; # }; }