1

Home: Add ferdium on special hyprland scratchpad workspace

This commit is contained in:
2025-07-02 18:08:52 +02:00
parent f80700216e
commit 4ecec73279
3 changed files with 32 additions and 12 deletions

View File

@ -107,6 +107,7 @@ rec {
"kitty"
"nextcloud --background"
"keepassxc"
"ferdium"
];
};
@ -118,6 +119,10 @@ rec {
];
workspacerules = {
"special" = [
"Ferdium"
];
"2" = [
"Zotero"
@ -312,6 +317,7 @@ rec {
sd # sed alternative
fclones # duplicate file finder
tealdeer # very fast tldr (so readable man)
killall
atool # Archive preview
ffmpegthumbnailer # Video thumbnails
mediainfo # Media meta information
@ -390,6 +396,7 @@ rec {
helvum
vlc
audacity
ferdium
# Office
wacomtablet # For xournalpp/krita

View File

@ -1,5 +1,6 @@
# TODO: The keys to reset the workspaces need to depend on actual workspace config
{
inputs,
config,
lib,
mylib,
@ -67,6 +68,9 @@
"$mainMod CTRL, k" = ["movewindow, u"];
"$mainMod CTRL, d" = ["movewindow, d"];
# Special workspace
"$mainMod, x" = ["togglespecialworkspace"];
# TODO: Somehow write this more compact? Try to use workspace 0 instead of 10...
"$mainMod, 1" = ["workspace, 1"];
"$mainMod, 2" = ["workspace, 2"];
@ -90,18 +94,17 @@
"$mainMod SHIFT, 9" = ["movetoworkspace, 9"];
"$mainMod SHIFT, 0" = ["movetoworkspace, 10"];
"CTRL ALT, R" = [
"moveworkspacetomonitor, 1 HDMI-A-1"
"moveworkspacetomonitor, 2 HDMI-A-1"
"moveworkspacetomonitor, 3 HDMI-A-1"
"moveworkspacetomonitor, 4 HDMI-A-1"
"moveworkspacetomonitor, 5 HDMI-A-1"
"moveworkspacetomonitor, 6 HDMI-A-1"
"moveworkspacetomonitor, 7 HDMI-A-1"
"moveworkspacetomonitor, 8 HDMI-A-1"
"moveworkspacetomonitor, 9 HDMI-A-1"
"moveworkspacetomonitor, 10 DP-1"
];
# Reset workspaces to the defined configuration in hyprland.workspaces:
# [
# "moveworkspacetomonitor, 1 HDMI-A-1"
# "moveworkspacetomonitor, 2 HDMI-A-1"
# ...
# ]
"CTRL ALT, R" = let
mkWorkspaceBinding = monitor: workspace: "moveworkspacetomonitor, ${builtins.toString workspace} ${builtins.toString monitor}";
mkWorkspacesBindings = monitor: workspaces: builtins.map (mkWorkspaceBinding monitor) workspaces;
in
builtins.concatLists (builtins.attrValues (builtins.mapAttrs mkWorkspacesBindings hyprland.workspaces));
};
always-bindm = {
@ -125,6 +128,7 @@
# Provide a polkit authentication UI.
# This is used for example when running systemd commands without root.
"${pkgs.kdePackages.polkit-kde-agent-1}/libexec/polkit-kde-authentication-agent-1"
# "systemctl --user start hyprpolkitagent.service"
];
in {
options.modules.hyprland = import ./options.nix {inherit lib mylib;};
@ -360,6 +364,14 @@ in {
systemd.variables = ["--all"]; # Import PATH into systemd
xwayland.enable = true;
plugins = [
# TODO: Takes ages (compiles all hyprland dependencies locally...)
# Probably have to use hyprland flake to follow...
# inputs.hypr-dynamic-cursors.packages.${pkgs.system}.hypr-dynamic-cursors
# inputs.hyprland-plugins.packages.${pkgs.system}.hyprbars
];
settings = {
"$mainMod" = "${hyprland.keybindings.main-mod}";

View File

@ -109,6 +109,7 @@ in {
"bar.workspaces.applicationIconEmptyWorkspace" = "";
"bar.workspaces.applicationIconFallback" = "󰣆";
"bar.workspaces.applicationIconOncePerWorkspace" = true;
"bar.workspaces.ignored" = "-99"; # Special workspace
"bar.workspaces.monitorSpecific" = true;
"bar.workspaces.numbered_active_indicator" = "highlight";
"bar.workspaces.reverse_scroll" = true;