74 lines
2.0 KiB
Nix
74 lines
2.0 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
let cfg = config.modules.desktop;
|
|
in {
|
|
config = mkIf (cfg.name == "sway") {
|
|
hardware.opengl = {
|
|
enable = true;
|
|
driSupport = true;
|
|
};
|
|
environment.loginShellInit = ''
|
|
if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then
|
|
exec sway
|
|
fi
|
|
'';
|
|
home-manager.users.moritz = {
|
|
home.packages = with pkgs; [ wl-clipboard wofi waybar feh ];
|
|
programs.waybar = {
|
|
enable = true;
|
|
systemd.enable = true;
|
|
settings = {
|
|
mainBar = {
|
|
layer = "top";
|
|
position = "top";
|
|
height = 30;
|
|
output = [ "eDP-1" "HDMI-A-1" ];
|
|
modules-left = [ "sway/workspaces" "sway/mode" "wlr/taskbar" ];
|
|
modules-center = [ "sway/window" "custom/hello-from-waybar" ];
|
|
modules-right =
|
|
[ "mpd" "custom/mymodule#with-css-id" "temperature" ];
|
|
"sway/workspaces" = { all-outputs = true; };
|
|
};
|
|
};
|
|
};
|
|
wayland.windowManager.sway = {
|
|
enable = true;
|
|
config = {
|
|
input = {
|
|
"*" = { xkb_layout = "de"; };
|
|
"type:touchpad" = {
|
|
natural_scroll = "enabled";
|
|
middle_emulation = "enabled";
|
|
};
|
|
};
|
|
terminal = "kitty";
|
|
menu = "wofi --show drun";
|
|
modifier = "Mod4";
|
|
gaps = {
|
|
inner = 5;
|
|
outer = 3;
|
|
smartBorders = "on";
|
|
};
|
|
bars = [ ];
|
|
keybindings = let
|
|
modifier =
|
|
config.home-manager.users.moritz.wayland.windowManager.sway.config.modifier;
|
|
in lib.mkOptionDefault {
|
|
"${modifier}+f" = "firefox";
|
|
"${modifier}+e" = "emacsclient -c -a emacs";
|
|
};
|
|
startup = [
|
|
{
|
|
command = "systemctl --user restart waybar";
|
|
always = true;
|
|
}
|
|
{ command = "synology-drive"; }
|
|
{ command = "randomWallpaper"; }
|
|
];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|