129 lines
3.3 KiB
Nix
129 lines
3.3 KiB
Nix
|
{ 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";
|
||
|
# };
|
||
|
}
|