feat[client]: add shikane
8
.github/README.md
vendored
|
|
@ -118,12 +118,12 @@
|
||||||
|---------------|-----------------------------------------------------------------------------------------------------------------------------|
|
|---------------|-----------------------------------------------------------------------------------------------------------------------------|
|
||||||
|🐚 **Shell** | [zsh](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/common/zsh.nix) |
|
|🐚 **Shell** | [zsh](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/common/zsh.nix) |
|
||||||
|🚪 **DM** | [greetd](https://github.com/Swarsel/.dotfiles/tree/main/modules/nixos/common/login.nix) |
|
|🚪 **DM** | [greetd](https://github.com/Swarsel/.dotfiles/tree/main/modules/nixos/common/login.nix) |
|
||||||
|🪟 **WM** | [SwayFX](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/common/sway.nix) |
|
|🪟 **WM** | [SwayFX](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/common/sway.nix) or [Niri](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/optional/niri.nix) |
|
||||||
|⛩️ **Bar** | [Waybar](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/common/waybar.nix) |
|
|⛩️ **Bar** | [Waybar](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/common/waybar.nix) or [Noctalia Shell](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/optional/noctalia.nix) |
|
||||||
|✒️ **Editor** | [Emacs](https://github.com/Swarsel/.dotfiles/tree/main/files/emacs/init.el) |
|
|✒️ **Editor** | [Emacs](https://github.com/Swarsel/.dotfiles/tree/main/files/emacs/init.el) |
|
||||||
|🖥️ **Terminal**| [Kitty](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/common/kitty.nix) |
|
|🖥️ **Terminal**| [Kitty](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/common/kitty.nix) |
|
||||||
|🚀 **Launcher**| [Fuzzel](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/common/fuzzel.nix) |
|
|🚀 **Launcher**| [Fuzzel](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/common/fuzzel.nix) or [Noctalia Shell](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/optional/noctalia.nix) |
|
||||||
|🚨 **Alerts** | [Mako](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/common/mako.nix) |
|
|🚨 **Alerts** | [Mako](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/common/mako.nix) or [Noctalia Shell](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/optional/noctalia.nix) |
|
||||||
|🌐 **Browser** | [Firefox](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/common/zsh.nix) |
|
|🌐 **Browser** | [Firefox](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/common/zsh.nix) |
|
||||||
|🎨 **Theme** | [City-Lights (managed by stylix)](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/common/sharedsetup.nix) |
|
|🎨 **Theme** | [City-Lights (managed by stylix)](https://github.com/Swarsel/.dotfiles/tree/main/modules/home/common/sharedsetup.nix) |
|
||||||
|
|
||||||
|
|
|
||||||
3565
SwarselSystems.org
|
|
@ -1797,7 +1797,7 @@ create a new one."
|
||||||
dashboard-set-footer nil
|
dashboard-set-footer nil
|
||||||
dashboard-banner-logo-title "Welcome to SwarsEmacs!"
|
dashboard-banner-logo-title "Welcome to SwarsEmacs!"
|
||||||
dashboard-image-banner-max-height 300
|
dashboard-image-banner-max-height 300
|
||||||
dashboard-startup-banner "~/.dotfiles/files/wallpaper/swarsel.png"
|
dashboard-startup-banner "~/.dotfiles/files/icons/swarsel.png"
|
||||||
dashboard-projects-backend 'projectile
|
dashboard-projects-backend 'projectile
|
||||||
dashboard-projects-switch-function 'magit-status
|
dashboard-projects-switch-function 'magit-status
|
||||||
dashboard-set-navigator t
|
dashboard-set-navigator t
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB |
|
Before Width: | Height: | Size: 6.9 MiB After Width: | Height: | Size: 6.9 MiB |
|
|
@ -1,4 +1,4 @@
|
||||||
WORKSPACE=$(niri msg -j workspaces | jq -r '.[] | select(.is_active == true) | .id')
|
WORKSPACE=$(niri msg -j workspaces | jq -r '.[] | select(.is_focused == true) | .id')
|
||||||
|
|
||||||
COUNT=$(niri msg -j windows | jq --argjson ws "$WORKSPACE" -r '.[] | select(.workspace_id == $ws and .is_floating == false) | .app_id' | wc -l)
|
COUNT=$(niri msg -j windows | jq --argjson ws "$WORKSPACE" -r '.[] | select(.workspace_id == $ws and .is_floating == false) | .app_id' | wc -l)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ in
|
||||||
|
|
||||||
swarselsystems = lib.recursiveUpdate
|
swarselsystems = lib.recursiveUpdate
|
||||||
{
|
{
|
||||||
wallpaper = self + /files/wallpaper/lenovowp.png;
|
wallpaper = self + /files/wallpaper/landscape/lenovowp.png;
|
||||||
hasBluetooth = true;
|
hasBluetooth = true;
|
||||||
hasFingerprint = true;
|
hasFingerprint = true;
|
||||||
isImpermanence = true;
|
isImpermanence = true;
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 4.5 MiB After Width: | Height: | Size: 4.5 MiB |
|
Before Width: | Height: | Size: 7.9 MiB After Width: | Height: | Size: 7.9 MiB |
|
Before Width: | Height: | Size: 557 KiB After Width: | Height: | Size: 557 KiB |
|
Before Width: | Height: | Size: 2.9 MiB After Width: | Height: | Size: 2.9 MiB |
|
Before Width: | Height: | Size: 3 MiB After Width: | Height: | Size: 3 MiB |
|
Before Width: | Height: | Size: 2.5 MiB After Width: | Height: | Size: 2.5 MiB |
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
|
|
@ -25,7 +25,7 @@
|
||||||
swarselsystems = {
|
swarselsystems = {
|
||||||
isLaptop = false;
|
isLaptop = false;
|
||||||
isNixos = false;
|
isNixos = false;
|
||||||
wallpaper = self + /files/wallpaper/surfacewp.png;
|
wallpaper = self + /files/wallpaper/landscape/surfacewp.png;
|
||||||
};
|
};
|
||||||
|
|
||||||
swarselprofiles = {
|
swarselprofiles = {
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ in
|
||||||
sharescreen = "eDP-1";
|
sharescreen = "eDP-1";
|
||||||
info = "Lenovo Ideapad 720S-13IKB";
|
info = "Lenovo Ideapad 720S-13IKB";
|
||||||
firewall = lib.mkForce true;
|
firewall = lib.mkForce true;
|
||||||
wallpaper = self + /files/wallpaper/lenovowp.png;
|
wallpaper = self + /files/wallpaper/landscape/lenovowp.png;
|
||||||
hasBluetooth = true;
|
hasBluetooth = true;
|
||||||
hasFingerprint = true;
|
hasFingerprint = true;
|
||||||
isImpermanence = true;
|
isImpermanence = true;
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ in
|
||||||
|
|
||||||
swarselsystems = {
|
swarselsystems = {
|
||||||
info = "~SwarselSystems~ demo host";
|
info = "~SwarselSystems~ demo host";
|
||||||
wallpaper = self + /files/wallpaper/lenovowp.png;
|
wallpaper = self + /files/wallpaper/landscape/lenovowp.png;
|
||||||
isImpermanence = true;
|
isImpermanence = true;
|
||||||
isCrypted = true;
|
isCrypted = true;
|
||||||
isSecureBoot = false;
|
isSecureBoot = false;
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ in
|
||||||
sharescreen = "eDP-2";
|
sharescreen = "eDP-2";
|
||||||
info = "Framework Laptop 16, 7940HS, RX7700S, 64GB RAM";
|
info = "Framework Laptop 16, 7940HS, RX7700S, 64GB RAM";
|
||||||
firewall = lib.mkForce true;
|
firewall = lib.mkForce true;
|
||||||
wallpaper = self + /files/wallpaper/lenovowp.png;
|
wallpaper = self + /files/wallpaper/landscape/lenovowp.png;
|
||||||
hasBluetooth = true;
|
hasBluetooth = true;
|
||||||
hasFingerprint = true;
|
hasFingerprint = true;
|
||||||
isImpermanence = false;
|
isImpermanence = false;
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,7 @@
|
||||||
swarselmodules.server = {
|
swarselmodules.server = {
|
||||||
wireguard = true;
|
wireguard = true;
|
||||||
restic = true;
|
restic = true;
|
||||||
|
podman = true;
|
||||||
opkssh = true;
|
opkssh = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
swarselsystems = {
|
swarselsystems = {
|
||||||
info = "~SwarselSystems~ remote install helper";
|
info = "~SwarselSystems~ remote install helper";
|
||||||
wallpaper = self + /files/wallpaper/lenovowp.png;
|
wallpaper = self + /files/wallpaper/landscape/lenovowp.png;
|
||||||
isImpermanence = true;
|
isImpermanence = true;
|
||||||
isCrypted = true;
|
isCrypted = true;
|
||||||
isSecureBoot = false;
|
isSecureBoot = false;
|
||||||
|
|
|
||||||
|
|
@ -84,6 +84,11 @@ in
|
||||||
vim
|
vim
|
||||||
just
|
just
|
||||||
sbctl
|
sbctl
|
||||||
|
lsof
|
||||||
|
dig
|
||||||
|
|
||||||
|
cryptsetup
|
||||||
|
btrfs-progs
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
# laptop screen
|
# laptop screen
|
||||||
output = {
|
output = {
|
||||||
criteria = config.swarselsystems.sharescreen;
|
criteria = config.swarselsystems.sharescreen;
|
||||||
mode = config.swarselsystems.highResolution;
|
mode = "${config.swarselsystems.highResolution}@165.000";
|
||||||
scale = 1.0;
|
scale = 1.0;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -57,7 +57,7 @@
|
||||||
name = "lidopen";
|
name = "lidopen";
|
||||||
exec = [
|
exec = [
|
||||||
"${pkgs.swaybg}/bin/swaybg --output '${config.swarselsystems.sharescreen}' --image ${config.swarselsystems.wallpaper} --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output '${config.swarselsystems.sharescreen}' --image ${config.swarselsystems.wallpaper} --mode ${config.stylix.imageScalingMode}"
|
||||||
"${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/standwp.png --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/landscape/standwp.png --mode ${config.stylix.imageScalingMode}"
|
||||||
];
|
];
|
||||||
outputs = [
|
outputs = [
|
||||||
{
|
{
|
||||||
|
|
@ -82,7 +82,7 @@
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = "lidclosed";
|
name = "lidclosed";
|
||||||
exec = [ "${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/standwp.png --mode ${config.stylix.imageScalingMode}" ];
|
exec = [ "${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/landscape/standwp.png --mode ${config.stylix.imageScalingMode}" ];
|
||||||
outputs = [
|
outputs = [
|
||||||
{
|
{
|
||||||
criteria = config.swarselsystems.sharescreen;
|
criteria = config.swarselsystems.sharescreen;
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,7 @@
|
||||||
tridactyl-native
|
tridactyl-native
|
||||||
|
|
||||||
# mako related
|
# mako related
|
||||||
mako
|
# mako
|
||||||
libnotify
|
libnotify
|
||||||
|
|
||||||
# general utilities
|
# general utilities
|
||||||
|
|
|
||||||
77
modules/home/common/shikane.nix
Normal file
|
|
@ -0,0 +1,77 @@
|
||||||
|
{ lib, config, confLib, ... }:
|
||||||
|
{
|
||||||
|
options.swarselmodules.shikane = lib.mkEnableOption "kanshi settings";
|
||||||
|
config = lib.mkIf config.swarselmodules.shikane {
|
||||||
|
|
||||||
|
systemd.user.services.shikane = confLib.overrideTarget "noctalia-shell.target";
|
||||||
|
services.shikane = {
|
||||||
|
enable = true;
|
||||||
|
settings =
|
||||||
|
let
|
||||||
|
homeMonitor = [
|
||||||
|
"m=PHL BDM3270"
|
||||||
|
"s=AU11806002320"
|
||||||
|
"v=Philips Consumer Electronics Company"
|
||||||
|
];
|
||||||
|
exec = [ "notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\"" ];
|
||||||
|
in
|
||||||
|
{
|
||||||
|
profile = [
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "internal-on";
|
||||||
|
inherit exec;
|
||||||
|
output = [
|
||||||
|
{
|
||||||
|
match = config.swarselsystems.sharescreen;
|
||||||
|
enable = true;
|
||||||
|
mode = "${config.swarselsystems.highResolution}@165.000";
|
||||||
|
scale = 1.0;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "home-internal-on";
|
||||||
|
inherit exec;
|
||||||
|
output = [
|
||||||
|
{
|
||||||
|
match = config.swarselsystems.sharescreen;
|
||||||
|
enable = true;
|
||||||
|
scale = 1.7;
|
||||||
|
position = "2560,0";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
match = homeMonitor;
|
||||||
|
enable = true;
|
||||||
|
scale = 1.0;
|
||||||
|
mode = "2560x1440";
|
||||||
|
position = "0,0";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "home-internal-off";
|
||||||
|
inherit exec;
|
||||||
|
output = [
|
||||||
|
{
|
||||||
|
match = config.swarselsystems.sharescreen;
|
||||||
|
enable = false;
|
||||||
|
position = "2560,0";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
match = homeMonitor;
|
||||||
|
scale = 1.0;
|
||||||
|
enable = true;
|
||||||
|
mode = "2560x1440";
|
||||||
|
position = "0,0";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -394,36 +394,36 @@ in
|
||||||
swayfxSettings = config.swarselsystems.swayfxConfig;
|
swayfxSettings = config.swarselsystems.swayfxConfig;
|
||||||
in
|
in
|
||||||
"
|
"
|
||||||
# exec_always autotiling
|
# exec_always autotiling
|
||||||
# set $exit \"exit: [s]leep, [l]ock, [p]oweroff, [r]eboot, [u]ser logout\"
|
# set $exit \"exit: [s]leep, [l]ock, [p]oweroff, [r]eboot, [u]ser logout\"
|
||||||
|
|
||||||
# mode $exit {
|
# mode $exit {
|
||||||
# bindsym --to-code {
|
# bindsym --to-code {
|
||||||
# s exec \"systemctl suspend\", mode \"default\"
|
# s exec \"systemctl suspend\", mode \"default\"
|
||||||
# h exec \"systemctl hibernate\", mode \"default\"
|
# h exec \"systemctl hibernate\", mode \"default\"
|
||||||
# l exec \"swaylock --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2 --daemonize\", mode \"default\
|
# l exec \"swaylock --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2 --daemonize\", mode \"default\
|
||||||
# p exec \"systemctl poweroff\"
|
# p exec \"systemctl poweroff\"
|
||||||
# r exec \"systemctl reboot\"
|
# r exec \"systemctl reboot\"
|
||||||
# u exec \"swaymsg exit\"
|
# u exec \"swaymsg exit\"
|
||||||
|
|
||||||
# Return mode \"default\"
|
# Return mode \"default\"
|
||||||
# Escape mode \"default\"
|
# Escape mode \"default\"
|
||||||
# ${modifier}+Escape mode \"default\"
|
# ${modifier}+Escape mode \"default\"
|
||||||
# }
|
# }
|
||||||
# }
|
# }
|
||||||
|
|
||||||
exec systemctl --user import-environment
|
exec systemctl --user import-environment
|
||||||
# exec swayidle -w
|
# exec swayidle -w
|
||||||
|
|
||||||
seat * hide_cursor 2000
|
seat * hide_cursor 2000
|
||||||
|
|
||||||
exec_always kill -1 $(pidof kanshi)
|
exec_always kill -1 $(pidof kanshi)
|
||||||
|
|
||||||
bindswitch --locked lid:on exec kanshictl switch lidclosed
|
bindswitch --locked lid:on exec kanshictl switch lidclosed
|
||||||
bindswitch --locked lid:off exec kanshictl switch lidopen
|
bindswitch --locked lid:off exec kanshictl switch lidopen
|
||||||
|
|
||||||
${swayfxSettings}
|
${swayfxSettings}
|
||||||
";
|
";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,12 +22,13 @@ in
|
||||||
# { timeout = 300; command = "${swaylock} -f"; }
|
# { timeout = 300; command = "${swaylock} -f"; }
|
||||||
{ timeout = 300; command = "${noctalia} lockScreen lock || ${swaylock} -f"; }
|
{ timeout = 300; command = "${noctalia} lockScreen lock || ${swaylock} -f"; }
|
||||||
# { timeout = 600; command = ''${pkgs.sway}/bin/swaymsg "output * dpms off"; resumeCommand = "${pkgs.sway}/bin/swaymsg output * dpms on''; }
|
# { timeout = 600; command = ''${pkgs.sway}/bin/swaymsg "output * dpms off"; resumeCommand = "${pkgs.sway}/bin/swaymsg output * dpms on''; }
|
||||||
{ timeout = 600; command = "${noctalia} sessionMenu lockAndSuspend || ${suspend}"; }
|
# { timeout = 600; command = "${noctalia} sessionMenu lockAndSuspend || ${suspend}"; }
|
||||||
|
{ timeout = 600; command = "${suspend}"; }
|
||||||
];
|
];
|
||||||
events = {
|
events = {
|
||||||
# { event = "before-sleep"; command = "${lib.getExe pkgs.swaylock-effects} -f --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2"; }
|
# { event = "before-sleep"; command = "${noctalia} lockScreen lock || ${lib.getExe pkgs.swaylock-effects} -f --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2"; }
|
||||||
# { event = "after-resume"; command = "${swaylock} -f "; }
|
# { event = "after-resume"; command = "${swaylock} -f "; }
|
||||||
# before-sleep = "${swaylock} -f ";
|
before-sleep = "${noctalia} lockScreen lock || ${swaylock} -f ";
|
||||||
# lock = "${swaylock} -f ";
|
# lock = "${swaylock} -f ";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@
|
||||||
programs.niri = {
|
programs.niri = {
|
||||||
package = pkgs.niri-stable; # which package to use for niri validation
|
package = pkgs.niri-stable; # which package to use for niri validation
|
||||||
settings = {
|
settings = {
|
||||||
|
gestures.hot-corners.enable = false;
|
||||||
debug = {
|
debug = {
|
||||||
honor-xdg-activation-with-invalid-serial = [ ];
|
honor-xdg-activation-with-invalid-serial = [ ];
|
||||||
};
|
};
|
||||||
|
|
@ -16,7 +17,7 @@
|
||||||
};
|
};
|
||||||
prefer-no-csd = true;
|
prefer-no-csd = true;
|
||||||
layer-rules = [
|
layer-rules = [
|
||||||
{ matches = [{ namespace = "^notifications$"; }]; block-out-from = "screen-capture"; }
|
{ matches = [{ namespace = "^notificatioans$"; }]; block-out-from = "screen-capture"; }
|
||||||
{ matches = [{ namespace = "^wallpaper$"; }]; place-within-backdrop = true; }
|
{ matches = [{ namespace = "^wallpaper$"; }]; place-within-backdrop = true; }
|
||||||
{ matches = [{ namespace = "^noctalia-overview*"; }]; place-within-backdrop = true; }
|
{ matches = [{ namespace = "^noctalia-overview*"; }]; place-within-backdrop = true; }
|
||||||
];
|
];
|
||||||
|
|
@ -56,11 +57,11 @@
|
||||||
{ matches = [{ app-id = "^spotifytui$"; }]; open-floating = true; default-column-width = { proportion = 0.5; }; }
|
{ matches = [{ app-id = "^spotifytui$"; }]; open-floating = true; default-column-width = { proportion = 0.5; }; }
|
||||||
{ matches = [{ app-id = "^kittyterm$"; }]; open-floating = true; default-column-width = { proportion = 0.5; }; }
|
{ matches = [{ app-id = "^kittyterm$"; }]; open-floating = true; default-column-width = { proportion = 0.5; }; }
|
||||||
];
|
];
|
||||||
environment = {
|
environment = vars.waylandSessionVariables // {
|
||||||
DISPLAY = ":0";
|
DISPLAY = ":0";
|
||||||
QT_QPA_PLATFORM = lib.mkForce "wayland";
|
QT_QPA_PLATFORM = lib.mkForce "wayland";
|
||||||
EDITOR = "emacsclient -c";
|
EDITOR = "emacsclient -c";
|
||||||
} // vars.waylandSessionVariables;
|
};
|
||||||
screenshot-path = "~/Pictures/Screenshots/screenshot_%Y-%m-%d-%H%M%S.png";
|
screenshot-path = "~/Pictures/Screenshots/screenshot_%Y-%m-%d-%H%M%S.png";
|
||||||
input = {
|
input = {
|
||||||
mod-key = "Super";
|
mod-key = "Super";
|
||||||
|
|
@ -104,17 +105,18 @@
|
||||||
};
|
};
|
||||||
binds = with config.lib.niri.actions; let
|
binds = with config.lib.niri.actions; let
|
||||||
sh = spawn "sh" "-c";
|
sh = spawn "sh" "-c";
|
||||||
resizer = "niri-resize";
|
resizer = "niri-resize & sleep 0.05";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
"Mod+Shift+t".action = toggle-window-rule-opacity;
|
"Mod+Shift+t".action = toggle-window-rule-opacity;
|
||||||
"Mod+m".action = focus-workspace-previous;
|
"Mod+m".action = focus-workspace-previous;
|
||||||
"Mod+Shift+Space".action = toggle-window-floating;
|
"Mod+Shift+Space".action = toggle-window-floating;
|
||||||
"Mod+Shift+f".action = fullscreen-window;
|
"Mod+Shift+f".action = fullscreen-window;
|
||||||
"Mod+q".action = sh "niri msg action close-window & ${resizer}";
|
"Mod+q".action = sh "${resizer} && niri msg action close-window";
|
||||||
"Mod+f".action = sh "${resizer} & firefox";
|
"Mod+f".action = sh "${resizer} && exec firefox";
|
||||||
# "Mod+Space".action = spawn "noctalia-shell" "ipc" "call" "launcher" "toggle";
|
# "Mod+Space".action = spawn "noctalia-shell" "ipc" "call" "launcher" "toggle";
|
||||||
"Mod+Space".action = sh "${resizer} & fuzzel";
|
"Mod+Space".action = sh "${resizer} && exec noctalia-shell ipc call launcher toggle";
|
||||||
|
# "Mod+Space".action = sh "${resizer} & exec fuzzel";
|
||||||
"Mod+z".action = spawn "noctalia-shell" "ipc" "call" "bar" "toggle";
|
"Mod+z".action = spawn "noctalia-shell" "ipc" "call" "bar" "toggle";
|
||||||
"Mod+Shift+c".action = spawn "qalculate-gtk";
|
"Mod+Shift+c".action = spawn "qalculate-gtk";
|
||||||
"Mod+Ctrl+p".action = spawn "1password" "--quick-acces";
|
"Mod+Ctrl+p".action = spawn "1password" "--quick-acces";
|
||||||
|
|
@ -128,11 +130,11 @@
|
||||||
"Mod+Shift+s".action.screenshot-window = { write-to-disk = true; };
|
"Mod+Shift+s".action.screenshot-window = { write-to-disk = true; };
|
||||||
# "Mod+Shift+v".action = spawn "wf-recorder" "-g" "'$(slurp -f %o -or)'" "-f" "~/Videos/screenrecord_$(date +%Y-%m-%d-%H%M%S).mkv";
|
# "Mod+Shift+v".action = spawn "wf-recorder" "-g" "'$(slurp -f %o -or)'" "-f" "~/Videos/screenrecord_$(date +%Y-%m-%d-%H%M%S).mkv";
|
||||||
|
|
||||||
"Mod+e".action = sh "${resizer} & emacsclient -nquc -a emacs -e '(dashboard-open)'";
|
"Mod+e".action = sh "${resizer} && exec emacsclient -nquc -a emacs -e '(dashboard-open)'";
|
||||||
"Mod+c".action = sh "${resizer} & emacsclient -ce '(org-capture)'";
|
"Mod+c".action = sh "${resizer} && exec emacsclient -ce '(org-capture)'";
|
||||||
"Mod+t".action = sh "${resizer} & emacsclient -ce '(org-agenda)'";
|
"Mod+t".action = sh "${resizer} && exec emacsclient -ce '(org-agenda)'";
|
||||||
"Mod+Shift+m".action = sh "${resizer} & emacsclient -ce '(mu4e)'";
|
"Mod+Shift+m".action = sh "${resizer} && exec emacsclient -ce '(mu4e)'";
|
||||||
"Mod+Shift+a".action = sh "${resizer} & emacsclient -ce '(swarsel/open-calendar)'";
|
"Mod+Shift+a".action = sh "${resizer} && exec emacsclient -ce '(swarsel/open-calendar)'";
|
||||||
|
|
||||||
"Mod+a".action = spawn "swarselcheck-niri" "-s";
|
"Mod+a".action = spawn "swarselcheck-niri" "-s";
|
||||||
"Mod+x".action = spawn "swarselcheck-niri" "-k";
|
"Mod+x".action = spawn "swarselcheck-niri" "-k";
|
||||||
|
|
@ -148,8 +150,8 @@
|
||||||
"Mod+Right".action = focus-column-or-monitor-right;
|
"Mod+Right".action = focus-column-or-monitor-right;
|
||||||
"Mod+Down".action = focus-window-or-workspace-down;
|
"Mod+Down".action = focus-window-or-workspace-down;
|
||||||
"Mod+Up".action = focus-window-or-workspace-up;
|
"Mod+Up".action = focus-window-or-workspace-up;
|
||||||
"Mod+Shift+Left".action = move-column-left;
|
"Mod+Shift+Left".action = move-column-left-or-to-monitor-left;
|
||||||
"Mod+Shift+Right".action = move-column-right;
|
"Mod+Shift+Right".action = move-column-right-or-to-monitor-right;
|
||||||
"Mod+Shift+Down".action = move-window-down-or-to-workspace-down;
|
"Mod+Shift+Down".action = move-window-down-or-to-workspace-down;
|
||||||
"Mod+Shift+Up".action = move-window-up-or-to-workspace-up;
|
"Mod+Shift+Up".action = move-window-up-or-to-workspace-up;
|
||||||
# "Mod+Ctrl+Shift+c".action = "reload";
|
# "Mod+Ctrl+Shift+c".action = "reload";
|
||||||
|
|
@ -157,7 +159,7 @@
|
||||||
# "Mod+Shift+e".action = "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'";
|
# "Mod+Shift+e".action = "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'";
|
||||||
# "Mod+r".action = "mode resize";
|
# "Mod+r".action = "mode resize";
|
||||||
# "Mod+Return".action = "exec kitty";
|
# "Mod+Return".action = "exec kitty";
|
||||||
"Mod+Return".action = sh "${resizer} & exec kitty -o confirm_os_window_close=0";
|
"Mod+Return".action = sh "${resizer} && exec kitty -o confirm_os_window_close=0";
|
||||||
"XF86AudioRaiseVolume".action = spawn "noctalia-shell" "ipc" "call" "volume" "increase";
|
"XF86AudioRaiseVolume".action = spawn "noctalia-shell" "ipc" "call" "volume" "increase";
|
||||||
"XF86AudioLowerVolume".action = spawn "noctalia-shell" "ipc" "call" "volume" "decrease";
|
"XF86AudioLowerVolume".action = spawn "noctalia-shell" "ipc" "call" "volume" "decrease";
|
||||||
"XF86AudioMute".action = spawn "noctalia-shell" "ipc" "call" "volume" "muteOutput";
|
"XF86AudioMute".action = spawn "noctalia-shell" "ipc" "call" "volume" "muteOutput";
|
||||||
|
|
@ -202,8 +204,8 @@
|
||||||
# { command = [ "nm-applet" ]; }
|
# { command = [ "nm-applet" ]; }
|
||||||
# { command = [ "niri" "msg" "action" "focus-workspace" "2" ]; }
|
# { command = [ "niri" "msg" "action" "focus-workspace" "2" ]; }
|
||||||
# { command = [ "noctalia-shell" ]; }
|
# { command = [ "noctalia-shell" ]; }
|
||||||
{ command = [ "pkill mako" ]; }
|
# { argv = [ "pkill" "mako" ]; }
|
||||||
{ command = [ "systemctl" "--user" "start" "noctalia-shell.target" ]; }
|
{ argv = [ "systemctl" "--user" "restart" "noctalia-shell.target" "tray.target" ]; }
|
||||||
];
|
];
|
||||||
# workspaces = {
|
# workspaces = {
|
||||||
# "01-Main" = {
|
# "01-Main" = {
|
||||||
|
|
|
||||||
|
|
@ -8,43 +8,27 @@
|
||||||
targets = {
|
targets = {
|
||||||
noctalia-shell.Unit = {
|
noctalia-shell.Unit = {
|
||||||
After = [ "graphical-session.target" ];
|
After = [ "graphical-session.target" ];
|
||||||
Wants = [
|
|
||||||
"tray.target"
|
|
||||||
"noctalia-tray-pre.target"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
tray = {
|
tray = {
|
||||||
Unit = {
|
Unit = {
|
||||||
After = [ "noctalia-tray-pre.target" ];
|
After = [ "noctalia-init.service" ];
|
||||||
PartOf = [ "noctalia-shell.service" ];
|
PartOf = [ "noctalia-shell.service" ];
|
||||||
};
|
};
|
||||||
Install.WantedBy = [ "noctalia-shell.target" ];
|
Install.WantedBy = [ "noctalia-shell.target" ];
|
||||||
};
|
};
|
||||||
noctalia-tray-pre = {
|
|
||||||
Unit = {
|
|
||||||
After = [
|
|
||||||
"noctalia-init.service"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
Install.WantedBy = [ "noctalia-shell.target" ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
services = {
|
services = {
|
||||||
noctalia-shell = confLib.overrideTarget "noctalia-shell.target";
|
noctalia-shell = confLib.overrideTarget "noctalia-shell.target";
|
||||||
noctalia-init = {
|
noctalia-init = {
|
||||||
Unit = {
|
|
||||||
PartOf = [ "noctalia-tray-pre.target" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
Service = {
|
Service = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
ExecStartPre = "${pkgs.coreutils}/bin/sleep 5";
|
ExecStart = "${pkgs.coreutils}/bin/sleep 15";
|
||||||
ExecStart = "-${pkgs.busybox}/bin/pkill mako";
|
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
Install = {
|
Install = {
|
||||||
WantedBy = [ "noctalia-tray-pre.target" ];
|
WantedBy = [ "noctalia-shell.target" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -72,7 +56,7 @@
|
||||||
marginHorizontal = 0;
|
marginHorizontal = 0;
|
||||||
frameThickness = 8;
|
frameThickness = 8;
|
||||||
frameRadius = 12;
|
frameRadius = 12;
|
||||||
outerCorners = true;
|
outerCorners = false;
|
||||||
hideOnOverview = false;
|
hideOnOverview = false;
|
||||||
displayMode = "auto_hide";
|
displayMode = "auto_hide";
|
||||||
autoHideDelay = 100;
|
autoHideDelay = 100;
|
||||||
|
|
@ -81,29 +65,54 @@
|
||||||
widgets = {
|
widgets = {
|
||||||
left = [
|
left = [
|
||||||
{
|
{
|
||||||
characterCount = 2;
|
characterCount = 4;
|
||||||
colorizeIcons = false;
|
colorizeIcons = false;
|
||||||
emptyColor = "primary";
|
emptyColor = "primary";
|
||||||
enableScrollWheel = false;
|
enableScrollWheel = false;
|
||||||
focusedColor = "secondary";
|
focusedColor = "secondary";
|
||||||
followFocusedScreen = false;
|
followFocusedScreen = false;
|
||||||
groupedBorderOpacity = 1;
|
groupedBorderOpacity = 1;
|
||||||
hideUnoccupied = true;
|
hideUnoccupied = false;
|
||||||
iconScale = 0.5;
|
iconScale = 0.5;
|
||||||
id = "Workspace";
|
id = "Workspace";
|
||||||
labelMode = "none";
|
labelMode = "name";
|
||||||
occupiedColor = "primary";
|
occupiedColor = "primary";
|
||||||
pillSize = 0.4;
|
pillSize = 0.4;
|
||||||
reverseScroll = false;
|
reverseScroll = false;
|
||||||
showApplications = true;
|
showApplications = true;
|
||||||
showBadge = true;
|
showBadge = true;
|
||||||
showLabelsOnlyWhenOccupied = true;
|
showLabelsOnlyWhenOccupied = false;
|
||||||
unfocusedIconsOpacity = 0.25;
|
unfocusedIconsOpacity = 0.25;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
defaultSettings = {
|
||||||
|
completedCount = 0;
|
||||||
|
count = 0;
|
||||||
|
current_page_id = 0;
|
||||||
|
isExpanded = false;
|
||||||
|
pages = [
|
||||||
|
{
|
||||||
|
id = 0;
|
||||||
|
name = "General";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
priorityColors = {
|
||||||
|
high = "#f44336";
|
||||||
|
low = "#9e9e9e";
|
||||||
|
medium = "#2196f3";
|
||||||
|
};
|
||||||
|
showBackground = true;
|
||||||
|
showCompleted = true;
|
||||||
|
todos = [ ];
|
||||||
|
useCustomColors = false;
|
||||||
|
};
|
||||||
|
id = "plugin:todo";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
center = [
|
center = [
|
||||||
{
|
{
|
||||||
colorizeIcons = false;
|
colorizeIcons = true;
|
||||||
hideMode = "hidden";
|
hideMode = "hidden";
|
||||||
id = "ActiveWindow";
|
id = "ActiveWindow";
|
||||||
maxWidth = 145;
|
maxWidth = 145;
|
||||||
|
|
@ -134,6 +143,17 @@
|
||||||
id = "Volume";
|
id = "Volume";
|
||||||
middleClickCommand = "pavucontrol";
|
middleClickCommand = "pavucontrol";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
id = "NotificationHistory";
|
||||||
|
hideWhenZero = false;
|
||||||
|
showUnreadBadge = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "plugin:ba7043:github-feed";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "plugin:clipper";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
displayMode = "onhover";
|
displayMode = "onhover";
|
||||||
id = "Network";
|
id = "Network";
|
||||||
|
|
@ -154,12 +174,6 @@
|
||||||
showNoctaliaPerformance = false;
|
showNoctaliaPerformance = false;
|
||||||
showPowerProfiles = true;
|
showPowerProfiles = true;
|
||||||
}
|
}
|
||||||
{
|
|
||||||
id = "plugin:ba7043:github-feed";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "plugin:clipper";
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
colorName = "primary";
|
colorName = "primary";
|
||||||
id = "SessionMenu";
|
id = "SessionMenu";
|
||||||
|
|
@ -176,17 +190,17 @@
|
||||||
{
|
{
|
||||||
colorizeDistroLogo = false;
|
colorizeDistroLogo = false;
|
||||||
colorizeSystemIcon = "primary";
|
colorizeSystemIcon = "primary";
|
||||||
customIconPath = "";
|
customIconPath = "${self}/files/icons/swarsel.png";
|
||||||
enableColorization = true;
|
enableColorization = true;
|
||||||
icon = "noctalia";
|
icon = "noctalia";
|
||||||
id = "ControlCenter";
|
id = "ControlCenter";
|
||||||
useDistroLogo = true;
|
useDistroLogo = false;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
general = {
|
general = {
|
||||||
avatarImage = "${self}/files/wallpaper/swarsel.png";
|
avatarImage = "${self}/files/icons/swarsel.png";
|
||||||
dimmerOpacity = 0.2;
|
dimmerOpacity = 0.2;
|
||||||
showScreenCorners = false;
|
showScreenCorners = false;
|
||||||
forceBlackScreenCorners = false;
|
forceBlackScreenCorners = false;
|
||||||
|
|
@ -195,16 +209,16 @@
|
||||||
iRadiusRatio = 1;
|
iRadiusRatio = 1;
|
||||||
boxRadiusRatio = 1;
|
boxRadiusRatio = 1;
|
||||||
screenRadiusRatio = 1;
|
screenRadiusRatio = 1;
|
||||||
animationSpeed = 1;
|
animationSpeed = 1.5;
|
||||||
animationDisabled = false;
|
animationDisabled = false;
|
||||||
compactLockScreen = true;
|
compactLockScreen = true;
|
||||||
lockOnSuspend = true;
|
lockOnSuspend = true;
|
||||||
showSessionButtonsOnLockScreen = true;
|
showSessionButtonsOnLockScreen = true;
|
||||||
showHibernateOnLockScreen = false;
|
showHibernateOnLockScreen = false;
|
||||||
enableShadows = true;
|
enableShadows = true;
|
||||||
shadowDirection = "bottom_right";
|
shadowDirection = "center";
|
||||||
shadowOffsetX = 2;
|
shadowOffsetX = 0;
|
||||||
shadowOffsetY = 3;
|
shadowOffsetY = 0;
|
||||||
language = "";
|
language = "";
|
||||||
allowPanelsOnScreenWithoutBar = true;
|
allowPanelsOnScreenWithoutBar = true;
|
||||||
showChangelogOnStartup = true;
|
showChangelogOnStartup = true;
|
||||||
|
|
@ -260,17 +274,17 @@
|
||||||
wallpaper = {
|
wallpaper = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
overviewEnabled = true;
|
overviewEnabled = true;
|
||||||
directory = "${self}/files/wallpaper";
|
directory = "${self}/files/wallpaper/landscape";
|
||||||
monitorDirectories = [ ];
|
monitorDirectories = [ ];
|
||||||
enableMultiMonitorDirectories = true;
|
enableMultiMonitorDirectories = true;
|
||||||
showHiddenFiles = false;
|
showHiddenFiles = false;
|
||||||
viewMode = "single";
|
viewMode = "single";
|
||||||
setWallpaperOnAllMonitors = true;
|
setWallpaperOnAllMonitors = false;
|
||||||
fillMode = "crop";
|
fillMode = "crop";
|
||||||
fillColor = "#000000";
|
fillColor = "#000000";
|
||||||
useSolidColor = false;
|
useSolidColor = false;
|
||||||
solidColor = "#1a1a2e";
|
solidColor = "#1a1a2e";
|
||||||
automationEnabled = false;
|
automationEnabled = true;
|
||||||
wallpaperChangeMode = "random";
|
wallpaperChangeMode = "random";
|
||||||
randomIntervalSec = 300;
|
randomIntervalSec = 300;
|
||||||
transitionDuration = 500;
|
transitionDuration = 500;
|
||||||
|
|
@ -586,7 +600,7 @@
|
||||||
colorizationEnabled = true;
|
colorizationEnabled = true;
|
||||||
colorizationIcon = "Primary";
|
colorizationIcon = "Primary";
|
||||||
colorizationBadge = "Tertiary";
|
colorizationBadge = "Tertiary";
|
||||||
colorizationBadgeText = "Primary";
|
colorizationBadgeText = "None";
|
||||||
defaultTab = 1;
|
defaultTab = 1;
|
||||||
enableSystemNotifications = true;
|
enableSystemNotifications = true;
|
||||||
notifyGitHubNotifications = true;
|
notifyGitHubNotifications = true;
|
||||||
|
|
|
||||||
|
|
@ -297,6 +297,84 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
|
|
||||||
|
shikane = {
|
||||||
|
settings =
|
||||||
|
let
|
||||||
|
workRight = [
|
||||||
|
"m=HP Z32"
|
||||||
|
"s=CN41212T55"
|
||||||
|
"v=HP Inc."
|
||||||
|
];
|
||||||
|
workLeft = [
|
||||||
|
"m=HP 732pk"
|
||||||
|
"s=CNC4080YL5"
|
||||||
|
"v=HP Inc."
|
||||||
|
];
|
||||||
|
exec = [ "notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\"" ];
|
||||||
|
in
|
||||||
|
{
|
||||||
|
profile = [
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "work-internal-on";
|
||||||
|
inherit exec;
|
||||||
|
output = [
|
||||||
|
{
|
||||||
|
match = config.swarselsystems.sharescreen;
|
||||||
|
enable = true;
|
||||||
|
scale = 1.7;
|
||||||
|
position = "2560,0";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
match = workRight;
|
||||||
|
enable = true;
|
||||||
|
scale = 1.0;
|
||||||
|
mode = "3840x2160@60Hz";
|
||||||
|
position = "-1280,0";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
match = workLeft;
|
||||||
|
enable = true;
|
||||||
|
scale = 1.0;
|
||||||
|
transform = "270";
|
||||||
|
mode = "3840x2160@60Hz";
|
||||||
|
position = "-3440,-1050";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "work-internal-off";
|
||||||
|
inherit exec;
|
||||||
|
output = [
|
||||||
|
{
|
||||||
|
match = config.swarselsystems.sharescreen;
|
||||||
|
enable = false;
|
||||||
|
scale = 1.7;
|
||||||
|
position = "2560,0";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
match = workRight;
|
||||||
|
enable = true;
|
||||||
|
scale = 1.0;
|
||||||
|
mode = "3840x2160@60Hz";
|
||||||
|
position = "-1280,0";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
match = workLeft;
|
||||||
|
enable = true;
|
||||||
|
scale = 1.0;
|
||||||
|
transform = "270";
|
||||||
|
mode = "3840x2160@60Hz";
|
||||||
|
position = "-3440,-1050";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
kanshi = {
|
kanshi = {
|
||||||
settings = [
|
settings = [
|
||||||
{
|
{
|
||||||
|
|
@ -338,8 +416,8 @@ in
|
||||||
name = "lidopen";
|
name = "lidopen";
|
||||||
exec = [
|
exec = [
|
||||||
"${pkgs.swaybg}/bin/swaybg --output '${config.swarselsystems.sharescreen}' --image ${config.swarselsystems.wallpaper} --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output '${config.swarselsystems.sharescreen}' --image ${config.swarselsystems.wallpaper} --mode ${config.stylix.imageScalingMode}"
|
||||||
"${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP Z32 CN41212T55' --image ${self}/files/wallpaper/botanicswp.png --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP Z32 CN41212T55' --image ${self}/files/wallpaper/landscape/botanicswp.png --mode ${config.stylix.imageScalingMode}"
|
||||||
"${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP 732pk CNC4080YL5' --image ${self}/files/wallpaper/op6wp.png --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP 732pk CNC4080YL5' --image ${self}/files/wallpaper/portrait/op6wp.png --mode ${config.stylix.imageScalingMode}"
|
||||||
];
|
];
|
||||||
outputs = [
|
outputs = [
|
||||||
{
|
{
|
||||||
|
|
@ -373,7 +451,7 @@ in
|
||||||
name = "lidopen";
|
name = "lidopen";
|
||||||
exec = [
|
exec = [
|
||||||
"${pkgs.swaybg}/bin/swaybg --output '${config.swarselsystems.sharescreen}' --image ${config.swarselsystems.wallpaper} --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output '${config.swarselsystems.sharescreen}' --image ${config.swarselsystems.wallpaper} --mode ${config.stylix.imageScalingMode}"
|
||||||
"${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/navidrome.png --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/services/navidrome.png --mode ${config.stylix.imageScalingMode}"
|
||||||
"${pkgs.kanshare}/bin/kanshare ${config.swarselsystems.sharescreen} '${monitor}'"
|
"${pkgs.kanshare}/bin/kanshare ${config.swarselsystems.sharescreen} '${monitor}'"
|
||||||
];
|
];
|
||||||
outputs = [
|
outputs = [
|
||||||
|
|
@ -396,8 +474,8 @@ in
|
||||||
profile = {
|
profile = {
|
||||||
name = "lidclosed";
|
name = "lidclosed";
|
||||||
exec = [
|
exec = [
|
||||||
"${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP Z32 CN41212T55' --image ${self}/files/wallpaper/botanicswp.png --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP Z32 CN41212T55' --image ${self}/files/wallpaper/landscape/botanicswp.png --mode ${config.stylix.imageScalingMode}"
|
||||||
"${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP 732pk CNC4080YL5' --image ${self}/files/wallpaper/op6wp.png --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP 732pk CNC4080YL5' --image ${self}/files/wallpaper/portrait/op6wp.png --mode ${config.stylix.imageScalingMode}"
|
||||||
];
|
];
|
||||||
outputs = [
|
outputs = [
|
||||||
{
|
{
|
||||||
|
|
@ -428,7 +506,7 @@ in
|
||||||
{
|
{
|
||||||
name = "lidclosed";
|
name = "lidclosed";
|
||||||
exec = [
|
exec = [
|
||||||
"${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/navidrome.png --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/services/navidrome.png --mode ${config.stylix.imageScalingMode}"
|
||||||
];
|
];
|
||||||
outputs = [
|
outputs = [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -6,14 +6,14 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
# initial_session.command = "sway";
|
# initial_session.command = "sway";
|
||||||
initial_session.command = "uwsm start -- sway-uwsm.desktop";
|
initial_session.command = "uwsm start -- niri-uwsm.desktop";
|
||||||
# --cmd sway
|
# --cmd sway
|
||||||
default_session.command = ''
|
default_session.command = ''
|
||||||
${pkgs.tuigreet}/bin/tuigreet \
|
${pkgs.tuigreet}/bin/tuigreet \
|
||||||
--time \
|
--time \
|
||||||
--asterisks \
|
--asterisks \
|
||||||
--user-menu \
|
--user-menu \
|
||||||
--cmd "uwsm start -- sway-uwsm.desktop"
|
--cmd "uwsm start -- niri-uwsm.desktop"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,8 @@ let
|
||||||
lan2VLANs = selectVLANs [ "home" "devices" "services" ];
|
lan2VLANs = selectVLANs [ "home" "devices" "services" ];
|
||||||
lan3VLANs = selectVLANs [ "home" "devices" "services" ];
|
lan3VLANs = selectVLANs [ "home" "devices" "services" ];
|
||||||
lan4VLANs = lan3VLANs;
|
lan4VLANs = lan3VLANs;
|
||||||
lan5VLANs = selectVLANs [ "home" "devices" "guests" ];
|
# TODO: remove services and reset ports 5+6 on swLR to guest when kitchen construction is finished
|
||||||
|
lan5VLANs = selectVLANs [ "home" "devices" "services" "guests" ];
|
||||||
inherit (globals.general) homeDnsServer;
|
inherit (globals.general) homeDnsServer;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -165,18 +165,13 @@ in
|
||||||
_ = { };
|
_ = { };
|
||||||
});
|
});
|
||||||
|
|
||||||
overrideTarget = target:
|
overrideTarget = target: {
|
||||||
let
|
Unit = {
|
||||||
inherit target;
|
PartOf = lib.mkForce [ target ];
|
||||||
in
|
After = lib.mkForce [ target ];
|
||||||
{
|
|
||||||
Unit = {
|
|
||||||
PartOf = lib.mkForce [ target ];
|
|
||||||
After = lib.mkForce [ target ];
|
|
||||||
Requires = lib.mkForce [ target ];
|
|
||||||
};
|
|
||||||
Install.WantedBy = lib.mkForce [ target ];
|
|
||||||
};
|
};
|
||||||
|
Install.WantedBy = lib.mkForce [ target ];
|
||||||
|
};
|
||||||
|
|
||||||
genNginx =
|
genNginx =
|
||||||
{ serviceAddress
|
{ serviceAddress
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@
|
||||||
};
|
};
|
||||||
wallpaper = lib.mkOption {
|
wallpaper = lib.mkOption {
|
||||||
type = lib.types.path;
|
type = lib.types.path;
|
||||||
default = "${self}/files/wallpaper/lenovowp.png";
|
default = "${self}/files/wallpaper/landscape/lenovowp.png";
|
||||||
};
|
};
|
||||||
sharescreen = lib.mkOption {
|
sharescreen = lib.mkOption {
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,7 @@
|
||||||
tmux = lib.mkDefault true;
|
tmux = lib.mkDefault true;
|
||||||
vesktop = lib.mkDefault true;
|
vesktop = lib.mkDefault true;
|
||||||
vesktop-tray = lib.mkDefault true;
|
vesktop-tray = lib.mkDefault true;
|
||||||
|
shikane = lib.mkDefault true;
|
||||||
syncthing-tray = lib.mkDefault true;
|
syncthing-tray = lib.mkDefault true;
|
||||||
waybar = lib.mkDefault true;
|
waybar = lib.mkDefault true;
|
||||||
yubikey = lib.mkDefault false;
|
yubikey = lib.mkDefault false;
|
||||||
|
|
|
||||||