summaryrefslogtreecommitdiff
path: root/home/apps
diff options
context:
space:
mode:
Diffstat (limited to 'home/apps')
-rw-r--r--home/apps/caelestia/default.nix2
-rw-r--r--home/apps/caelestia/settings.nix8
-rw-r--r--home/apps/default.nix1
-rw-r--r--home/apps/hyprlock.nix40
-rw-r--r--home/apps/kanshi.nix53
5 files changed, 81 insertions, 23 deletions
diff --git a/home/apps/caelestia/default.nix b/home/apps/caelestia/default.nix
index e2e5e96..75dbb26 100644
--- a/home/apps/caelestia/default.nix
+++ b/home/apps/caelestia/default.nix
@@ -15,7 +15,7 @@ in {
config = mkIf cfg.enable {
default.appLauncher = lib.mkOverride 600 "caelestia-shell ipc call drawers toggle launcher";
- default.lockScreen = lib.mkOverride 600 "caelestia-shell ipc call lock lock";
+ #default.lockScreen = "caelestia-shell ipc call lock lock";
programs.caelestia = {
enable = true;
diff --git a/home/apps/caelestia/settings.nix b/home/apps/caelestia/settings.nix
index fbde95d..de81df7 100644
--- a/home/apps/caelestia/settings.nix
+++ b/home/apps/caelestia/settings.nix
@@ -83,6 +83,12 @@ in {
};
};
+ # Launcher settings
+ launcher = {
+ enabled = true;
+ useFuzzy = true;
+ };
+
# Background
background.enabled = true;
paths = {
@@ -137,7 +143,7 @@ in {
workspaces = {
activeIndicator = true;
activeTrail = false;
- perMonitorWorkspaces = true;
+ perMonitorWorkspaces = false;
showWindows = false;
shown = 9;
label = "";
diff --git a/home/apps/default.nix b/home/apps/default.nix
index 1823b0d..baf9d82 100644
--- a/home/apps/default.nix
+++ b/home/apps/default.nix
@@ -7,6 +7,7 @@ _: {
./alacritty.nix
./astal.nix
./hyprlock.nix
+ ./kanshi.nix
./kitty.nix
./mako.nix
];
diff --git a/home/apps/hyprlock.nix b/home/apps/hyprlock.nix
index a0e5d84..237abb6 100644
--- a/home/apps/hyprlock.nix
+++ b/home/apps/hyprlock.nix
@@ -4,7 +4,6 @@
...
}: let
text = "rgb(${config.theme.colors.text})";
- base = "rgb(${config.theme.colors.base})";
error = "rgb(${config.theme.colors.error})";
trans = "rgba(0,0,0,0)";
@@ -25,30 +24,29 @@ in {
animations = {
enabled = true;
+ bezier = [
+ "linear, 1, 1, 1, 1"
+ ];
animation = [
- "fadeIn, 0"
- "fadeOut, 0"
+ "fade, 1, 3, linear"
];
};
background = {
path = config.theme.lockscreen;
- color = base;
- blur_passes = 0;
- blur_size = 2;
- noise = 0;
- contrast = 0;
- brightness = 0;
- vibrancy = 0;
+ blur_passes = 2;
+ contrast = 0.9;
+ brightness = 0.8;
+ vibrancy = 0.2;
vibrancy_darkness = 0.0;
};
# Password Input
input-field = {
- size = "300, 50";
- outline_thickness = 0;
- dots_size = 0.25;
- dots_spacing = 0.55;
+ size = "250, 60";
+ outline_thickness = 2;
+ dots_size = 0.2;
+ dots_spacing = 0.5;
dots_center = true;
dots_rounding = -1;
outer_color = trans;
@@ -81,21 +79,21 @@ in {
{
text = "cmd[update:1000] echo \"$(date +\"%A, %B %d\")\"";
color = text;
- font_size = 20;
+ font_size = 30;
font_family = config.theme.font.header;
- position = "0, -100";
+ position = "0, -50";
halign = "center";
- valign = "top";
+ valign = "center";
}
# Clock
{
- text = "cmd[update:1000] echo \"$(date +\"%k:%M:%S\")\"";
+ text = "cmd[update:1000] echo \"$(date +\"%k:%M\")\"";
color = text;
- font_size = 90;
+ font_size = 130;
font_family = config.theme.font.header;
- position = "0, -130";
+ position = "0, 130";
halign = "center";
- valign = "top";
+ valign = "center";
}
];
};
diff --git a/home/apps/kanshi.nix b/home/apps/kanshi.nix
new file mode 100644
index 0000000..ed7622a
--- /dev/null
+++ b/home/apps/kanshi.nix
@@ -0,0 +1,53 @@
+{
+ config,
+ lib,
+ ...
+}: let
+ inherit (lib) mkIf;
+ cfg = config.apps.kanshi;
+
+ laptopMonitors = lib.lists.filter (mon: mon.laptop) config.monitors;
+ dockedMonitors = lib.lists.filter (mon: !mon.laptop) config.monitors;
+
+ mkOutput = mon: status:
+ lib.mkMerge [
+ {
+ criteria =
+ if mon.desc == ""
+ then mon.port
+ else mon.desc;
+ scale = mon.scale;
+ inherit status;
+ }
+ (lib.mkIf (mon.position.x != 0 || mon.position.y != 0) {
+ position = "${toString mon.position.x},${toString mon.position.y}";
+ })
+ (lib.mkIf (mon.size.x != 0 && mon.size.y != 0) {
+ mode = "${toString mon.size.x}x${toString mon.size.y}";
+ })
+ ];
+
+ mkEnabledOutput = mon: (mkOutput mon "enable");
+ mkDisabledOutput = mon: (mkOutput mon "disable");
+in {
+ config = mkIf cfg.enable {
+ services.kanshi = {
+ enable = true;
+
+ settings = [
+ {
+ profile = {
+ name = "laptop";
+ outputs = map mkEnabledOutput laptopMonitors;
+ };
+ }
+ {
+ profile = {
+ name = "docked";
+ outputs = (map mkEnabledOutput dockedMonitors) ++ (map mkDisabledOutput laptopMonitors);
+ };
+ }
+ ];
+ };
+ };
+}