nixos-config/home-manager/i3/default.nix

79 lines
2.1 KiB
Nix

{ config, lib, pkgs, user, ... }:
{
imports = [
./i3status-rust.nix
];
home.file.workspaces = {
source = ./workspaces;
target = ".config/i3/workspaces";
recursive = true;
};
xsession.windowManager.i3 = {
enable = true;
config = {
modifier = "Mod4";
terminal = "${pkgs.kitty}/bin/kitty";
fonts = {
names = [ "DejaVu Sans Mono" ];
size = 12.0;
};
window = {
titlebar = false;
border = 0;
};
floating = {
titlebar = false;
border = 0;
};
menu = "${pkgs.rofi}/bin/rofi -show drun";
bars = [{
mode = "hide";
position = "top";
statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ~/.config/i3status-rust/config-default.toml";
fonts = {
names = [ "DejaVu Sans Mono" ];
size = 12.0;
};
}];
defaultWorkspace = "workspace number 1";
startup = [
{ command = "i3-msg 'workspace 1; append_layout ~/.config/i3/workspaces/workspace-1.json'"; }
{ command = "i3-msg 'workspace 2; append_layout ~/.config/i3/workspaces/workspace-2.json'"; }
{ command = "i3-msg 'workspace 4; append_layout ~/.config/i3/workspaces/workspace-4.json'"; }
{ command = "i3-msg 'workspace 5; append_layout ~/.config/i3/workspaces/workspace-5.json'"; }
{ command = "kitty"; notification = false; }
{ command = "firefox"; notification = false; }
{ command = "element-desktop"; notification = false; }
{ command = "keepassxc"; notification = false; }
{ command = "nextcloud"; notification = false; }
{ command = "signal-desktop"; notification = false; }
{ command = "slack"; notification = false; }
{ command = "telegram-desktop"; notification = false; }
{ command = "thunderbird"; notification = false; }
# { command = "zoom"; notification = false; }
];
assigns = {
"6" = [{ class = "^zoom$"; }];
};
};
};
services.screen-locker = {
enable = true;
lockCmd = "${pkgs.i3lock}/bin/i3lock -n -c 000000";
};
}