2024-02-26 11:39:56 -06:00
|
|
|
{ config, pkgs, lib, ... }:
|
|
|
|
|
|
|
|
|
|
let
|
|
|
|
|
cfg = config.greg.sway;
|
2024-02-26 15:42:34 -06:00
|
|
|
file_browser = {
|
|
|
|
|
pkg = pkgs.krusader;
|
|
|
|
|
path = "${pkgs.krusader}/bin/krusader";
|
|
|
|
|
};
|
2024-02-27 01:11:02 -06:00
|
|
|
term = "${pkgs.alacritty}/bin/alacritty";
|
|
|
|
|
msg = "${pkgs.sway}/bin/swaymsg";
|
|
|
|
|
sleep = "${pkgs.coreutils}/bin/sleep";
|
|
|
|
|
workstation1 = pkgs.writeScriptBin "workstation1" (builtins.concatStringsSep "\n" [
|
|
|
|
|
"${msg} \"workspace 1 ; exec ${pkgs.firefox}/bin/firefox ; split horizontal ; exec ${pkgs.element-desktop}/bin/element-desktop \""
|
|
|
|
|
"${sleep} 1"
|
|
|
|
|
"${msg} '[app_id=\"firefox\"]' move left"
|
|
|
|
|
"${msg} '[instance=\"element\"]' \"layout tabbed ; exec ${term} \""
|
|
|
|
|
"${msg} '[app_id=\"firefox\"]' move left"
|
|
|
|
|
"${sleep} 0.3"
|
|
|
|
|
"${msg} '[app_id=\"Alacritty\" workspace=\"1\"]' move right"
|
|
|
|
|
"${msg} '[app_id=\"firefox\"]' resize grow width 300 px"
|
|
|
|
|
]);
|
|
|
|
|
workstation2 = pkgs.writeScriptBin "workstation2" (builtins.concatStringsSep "\n" [
|
|
|
|
|
"${sleep} 5"
|
|
|
|
|
"${msg} \"workspace 2 ; exec ${term} ; layout tabbed\""
|
|
|
|
|
]);
|
2024-02-26 11:39:56 -06:00
|
|
|
in {
|
|
|
|
|
options.greg.sway = lib.mkEnableOption "Enable Sway support and settings";
|
|
|
|
|
|
|
|
|
|
config = (lib.mkIf cfg {
|
|
|
|
|
programs.swaylock.enable = true;
|
|
|
|
|
|
2024-02-26 15:42:34 -06:00
|
|
|
wayland.windowManager.sway = let
|
|
|
|
|
mod = config.wayland.windowManager.sway.config.modifier;
|
|
|
|
|
in {
|
2024-02-26 11:39:56 -06:00
|
|
|
enable = true;
|
|
|
|
|
config = rec {
|
|
|
|
|
#fonts.size = 10.0;
|
|
|
|
|
keybindings = lib.mkOptionDefault {
|
2024-02-26 15:42:34 -06:00
|
|
|
"Mod4+l" = "exec ${pkgs.swaylock}/bin/swaylock -c 000000";
|
|
|
|
|
"Mod4+h" = "exec ${pkgs.qpwgraph}/bin/qpwgraph -x /home/greg/sound/headphones.qpwgraph -m";
|
|
|
|
|
"Mod4+m" = "exec ${pkgs.qpwgraph}/bin/qpwgraph -x /home/greg/sound/monitor.qpwgraph -m";
|
|
|
|
|
"Mod4+b" = "exec ${pkgs.qpwgraph}/bin/qpwgraph -x /home/greg/sound/both.qpwgraph -m";
|
|
|
|
|
|
|
|
|
|
"${mod}+Shift+Return" = file_browser.path;
|
2024-02-26 11:39:56 -06:00
|
|
|
};
|
|
|
|
|
modifier = "Mod1";
|
|
|
|
|
output = {
|
|
|
|
|
"Samsung Electric Company S24E650 H4ZN600985" = {
|
|
|
|
|
mode = "1920x1200";
|
|
|
|
|
transform = "90";
|
|
|
|
|
pos = "0 0";
|
|
|
|
|
};
|
|
|
|
|
"ViewSonic Corporation VA2252 Series VMT201800925" = {
|
|
|
|
|
mode = "1920x1080";
|
|
|
|
|
pos = "200 1920";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-02-27 01:11:02 -06:00
|
|
|
terminal = term;
|
2024-02-26 11:39:56 -06:00
|
|
|
startup = [
|
2024-02-27 01:11:02 -06:00
|
|
|
{ command = "${workstation1}/bin/workstation1"; }
|
|
|
|
|
{ command = "${workstation2}/bin/workstation2"; }
|
2024-02-26 11:39:56 -06:00
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
extraOptions = [
|
|
|
|
|
"--unsupported-gpu"
|
|
|
|
|
];
|
|
|
|
|
extraSessionCommands = ''
|
|
|
|
|
export WLR_NO_HARDWARE_CURSORS=1
|
|
|
|
|
'';
|
|
|
|
|
systemd.enable = true;
|
|
|
|
|
wrapperFeatures = {
|
|
|
|
|
base = true;
|
|
|
|
|
gtk = true;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
home.pointerCursor = {
|
|
|
|
|
name = "Adwaita";
|
|
|
|
|
package = pkgs.gnome.adwaita-icon-theme;
|
|
|
|
|
size = 12;
|
|
|
|
|
x11 = {
|
|
|
|
|
enable = true;
|
|
|
|
|
defaultCursor = "Adwaita";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
home.packages = with pkgs; [
|
|
|
|
|
arj
|
|
|
|
|
dpkg
|
|
|
|
|
kate
|
|
|
|
|
kget
|
|
|
|
|
krename
|
2024-02-26 15:42:34 -06:00
|
|
|
file_browser.pkg
|
2024-02-26 11:39:56 -06:00
|
|
|
p7zip
|
|
|
|
|
plocate
|
|
|
|
|
rpm
|
2024-02-26 15:42:34 -06:00
|
|
|
qpwgraph
|
|
|
|
|
xorg.xev
|
|
|
|
|
xorg.xmodmap
|
2024-02-26 11:39:56 -06:00
|
|
|
xxdiff
|
|
|
|
|
];
|
|
|
|
|
});
|
|
|
|
|
}
|