alpine: many changes

- updates
- snapserver
- graphana dashboards
- loki
- ddclient
- arr suite, jellyseer
- mautrix fixes
This commit is contained in:
Tristan 2025-01-18 00:18:11 +00:00
parent d1772cb4be
commit 123e7088f5
58 changed files with 2136 additions and 735 deletions

View file

@ -0,0 +1,82 @@
{
pkgs,
config,
...
}: let
inherit (config.lib.cosmic) Actions;
in {
programs.cosmic = {
enable = true;
input.asDefaults = true;
input.binds = {
# Navigation
Super. "h" = Actions.Focus "Left";
Super. "l" = Actions.Focus "Right";
Super. "j" = Actions.Focus "Down";
Super. "k" = Actions.Focus "Up";
Super.Shift. "h" = Actions.Move "Left";
Super.Shift. "l" = Actions.Move "Right";
Super.Shift. "j" = Actions.Move "Down";
Super.Shift. "k" = Actions.Move "Up";
Super. "1" = Actions.Workspace 1;
Super. "2" = Actions.Workspace 2;
Super. "3" = Actions.Workspace 3;
Super. "4" = Actions.Workspace 4;
Super. "5" = Actions.Workspace 5;
Super.Shift. "1" = Actions.MoveToWorkspace 1;
Super.Shift. "2" = Actions.MoveToWorkspace 2;
Super.Shift. "3" = Actions.MoveToWorkspace 3;
Super.Shift. "4" = Actions.MoveToWorkspace 4;
Super.Shift. "5" = Actions.MoveToWorkspace 5;
Super. "Space" = Actions.ToggleWindowFloating;
Super. "f" = Actions.Maximize;
Super. "m" = Actions.Minimize;
Super.Shift. "x" = Actions.Close;
Super.Shift. "v" = Actions.ToggleStacking;
Super.Shift. "y" = Actions.ToggleSticky;
# System
Super. "d" = Actions.Spawn config.programs.menu.drunCommand;
Super. "Return" = Actions.Spawn pkgs.alacritty;
Super. "o" = Actions.System "HomeFolder";
Super.Shift. "s" = Actions.System "Screenshot";
};
background = {
displays = {
all = {
source = ../../../images/nier2.jpg;
};
};
};
panels = {
"Bar" = {
applets = {
start = [
"com.system76.CosmicAppletWorkspaces"
];
center = [];
end = [
"com.system76.CosmicAppletTime"
"com.system76.CosmicAppletTiling"
"com.system76.CosmicAppletAudio"
"com.system76.CosmicAppletNotifications"
"com.system76.CosmicAppletMinimize"
"com.system76.CosmicAppletPower"
];
};
options = {
size = "XS";
border_radius = 0;
};
};
};
settings = {
"com.system76.CosmicComp".options = {
autotile = true;
active_hint = true;
focus_follows_cursor = true;
focus_follows_cursor_delay = 0;
cursor_follows_focus = true;
};
};
};
}

View file

@ -6,24 +6,91 @@
}: let
modifier = config.windowManager.modifierKey;
menu = config.programs.menu.dmenuCommand;
lock_cmd = "${config.programs.hyprlock.package}/bin/hyprlock";
color = {
inherit (config.lib.stylix.colors) yellow red;
bg = config.lib.stylix.colors.base00;
fg = config.lib.stylix.colors.base07;
text = config.lib.stylix.colors.base05;
};
rgb = color: "rgb(${color})";
in {
imports = [
(import ../utils/swaylock.nix)
(import ../utils/swayidle.nix)
(import ../utils/waybar.nix)
(import ../utils/display.nix)
../../workstation.nix
];
xdg.portal = {
enable = true;
configPackages = [pkgs.hyprland];
extraPortals = [pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-gtk];
extraPortals = [pkgs.xdg-desktop-portal-gtk];
};
services.hypridle = {
enable = true;
settings = {
general = {
before_sleep_cmd = "rbw lock";
after_sleep_cmd = "hyprctl dispatch dpms on";
ignore_dbus_inhibit = false;
lock_cmd = "pidof ${lock_cmd} || ${lock_cmd}";
};
listener = [
{
timeout = 300;
on-timeout = "loginctl lock-session";
}
{
timeout = 1200;
on-timeout = "hyprctl dispatch dpms off";
on-resume = "hyprctl dispatch dpms on";
}
];
};
};
programs.hyprlock = {
enable = true;
settings = {
# https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/
general = {
hide_cursor = true;
grace = 10;
ignore_empty_input = true;
};
background = [
{
path = "screenshot";
blur_passes = 3;
blur_size = 8;
}
];
input-field = [
{
dots_center = true;
fade_on_empty = true;
outline_thickness = 5;
shadow_passes = 2;
inner_color = rgb color.bg;
outer_color = rgb color.fg;
font_color = rgb color.text;
fail_color = rgb color.red;
check_color = rgb color.yellow;
}
];
};
};
wayland.windowManager.hyprland = {
enable = true;
systemd.enable = true;
systemd = {
enable = true;
variables = ["--all"];
};
settings = {
exec-once = ["${pkgs.swaybg}/bin/swaybg -i ${config.stylix.image} -m fill"];
input = {
touchpad = {
natural_scroll = true;
@ -35,7 +102,6 @@ in {
};
gestures = {
workspace_swipe = true;
workspace_swipe_numbered = false;
};
decoration = {
rounding = 0;

View file

@ -15,7 +15,7 @@
timeouts = [
{
timeout = 300;
command = "${pkgs.swaylock-effects}/bin/swaylock -f";
command = "loginctl lock-session";
}
{
timeout = 600;

View file

@ -4,7 +4,7 @@
systemd.enable = true;
settings = {
mainBar = {
layer = "top";
layer = "bottom";
position = "top";
height = 36;
modules-right = ["mpris" "idle_inhibitor" "pulseaudio" "clock" "tray" "battery"];