hyprland workspace rules and flock update

This commit is contained in:
2025-07-23 17:32:19 +02:00
parent 67cdf17805
commit 906b72b3c0
3 changed files with 147 additions and 130 deletions

96
flake.lock generated
View File

@@ -124,11 +124,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1753035671, "lastModified": 1753146705,
"narHash": "sha256-F1EAebqC+De5rog6rK/jVTetEGrCKHR7q8wQHx3VqAM=", "narHash": "sha256-WzmXODUzg8jeEsAhpmp55zk5I2fmv3kv+RofZ/+FYlg=",
"owner": "chaotic-cx", "owner": "chaotic-cx",
"repo": "nyx", "repo": "nyx",
"rev": "57509273a21933c184eb1985efc06381879c09f1", "rev": "02b3c2a45f6ddbd704f797c5730bc2d161f10ce0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -183,11 +183,11 @@
"rust-analyzer-src": "rust-analyzer-src" "rust-analyzer-src": "rust-analyzer-src"
}, },
"locked": { "locked": {
"lastModified": 1753080170, "lastModified": 1753252982,
"narHash": "sha256-VyfFYce2UviccSmYZM7C4SkmWdbhnO9eeQZ9yQmjHRk=", "narHash": "sha256-brrpvP+4GRXLHjvnDr1j1/yA4117hzs6t9IT60JuSI8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "fenix", "repo": "fenix",
"rev": "7c1a950d094671efefb007a8ab03859e2ce6c38e", "rev": "8546562a84feb5370ce57493277b6f2c3cbdc432",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -272,11 +272,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1751413152, "lastModified": 1753121425,
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", "narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", "rev": "644e0fc48951a860279da645ba77fe4a6e814c5e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -314,11 +314,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749398372, "lastModified": 1753121425,
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", "narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", "rev": "644e0fc48951a860279da645ba77fe4a6e814c5e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -445,11 +445,11 @@
}, },
"hardware": { "hardware": {
"locked": { "locked": {
"lastModified": 1752666637, "lastModified": 1753122741,
"narHash": "sha256-P8J72psdc/rWliIvp8jUpoQ6qRDlVzgSDDlgkaXQ0Fw=", "narHash": "sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "d1bfa8f6ccfb5c383e1eba609c1eb67ca24ed153", "rev": "cc66fddc6cb04ab479a1bb062f4d4da27c936a22",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -464,11 +464,11 @@
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1752964427, "lastModified": 1753121406,
"narHash": "sha256-57CXYsG+2SDJ65j4F525oS4DAT2id/KXCH9Op/xlloA=", "narHash": "sha256-i2LRxGzDjcRzxnna69G/WZWLoX7M0Us9xueLdcHdhY0=",
"owner": "helix-editor", "owner": "helix-editor",
"repo": "helix", "repo": "helix",
"rev": "22b184b570fea73090a20702e01b9ac80d6eb31c", "rev": "b01fbb4a22f24602006b05117597e54bd54c61de",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -484,11 +484,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1753056897, "lastModified": 1753282444,
"narHash": "sha256-AVVMBFcuOXqIgmShvRv9TED3fkiZhQ0ZvlhsPoFfkNE=", "narHash": "sha256-QGeWgozKiGBTJrLYnXd9xwOY9HKsm4cFHsU8fopGVnU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "13a83d1b6545b7f0e8f7689bad62e7a3b1d63771", "rev": "62975b8e23c4e39599b3303f6e76faa280a02c63",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -526,11 +526,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1752783339, "lastModified": 1753132348,
"narHash": "sha256-RXxejsGIWtJ5rJKLAm8Kh159euZHPMi7CtbOoHLsm2c=", "narHash": "sha256-0i3jU9AHuNXb0wYGzImnVwaw+miE0yW13qfjC0F+fIE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "7c78e592a895f2f1921f0024848fe193e2f8518e", "rev": "e4bf85da687027cfc4a8853ca11b6b86ce41d732",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -677,11 +677,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1753033360, "lastModified": 1753265439,
"narHash": "sha256-OwTaEBF/ZXl5RyVPmsCoomunVJdDzpOSFwfvwtzdNxY=", "narHash": "sha256-/qryx+ZBO1g5kdeuPsrfyrmwfAFluaWHUALf18QTf0c=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland", "repo": "hyprland",
"rev": "462729d8655a3a37ba19fe254d8ecb6677963563", "rev": "2d2a5bebff72c73cd27db3b9e954b8fa2a7623e8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -698,11 +698,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1752857088, "lastModified": 1753252360,
"narHash": "sha256-usBNOT/uzFdsKDe5Ik+C36zqL+BfT7Lp2rqKWrpQuqk=", "narHash": "sha256-PFAJoEqQWMlo1J+yZb+4HixmhbRVmmNl58e/AkLYDDI=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "contrib", "repo": "contrib",
"rev": "481175e17e155f19a3b31416530b6edf725e7034", "rev": "6839b23345b71db17cd408373de4f5605bf589b8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -880,11 +880,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1752997609, "lastModified": 1753200725,
"narHash": "sha256-/5xsXRMLYsKa6cg3198dDD6yrf7XtY+UChTYUlZZtfc=", "narHash": "sha256-RO2h4H9KeFo1DUA6/J8WUTbaTRg7XBzkFJorwVdGMU4=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlock", "repo": "hyprlock",
"rev": "1553dd78fc309e6d03f926c76c8e854d9d4a7e79", "rev": "d993bdc1056735a084960f4ee8f946a1167f0e13",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1144,11 +1144,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1752977425, "lastModified": 1753259579,
"narHash": "sha256-Ae7I3Q5Odds6hvWY0+ZCnlvngq7MVWJD4TV/NUGyiZw=", "narHash": "sha256-la/nOVejczda0kbOyGFxlvIqQqd5gL+0J21CQF7GDCc=",
"owner": "fufexan", "owner": "fufexan",
"repo": "nix-gaming", "repo": "nix-gaming",
"rev": "b8fad5f070ed53a72dbcc6c60bce04be943887fe", "rev": "173967ec613de095c73a077f9f9d3099746499e8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1198,11 +1198,11 @@
}, },
"nixpkgs_10": { "nixpkgs_10": {
"locked": { "locked": {
"lastModified": 1750215678, "lastModified": 1752997324,
"narHash": "sha256-Rc/ytpamXRf6z8UA2SGa4aaWxUXRbX2MAWIu2C8M+ok=", "narHash": "sha256-vtTM4oDke3SeDj+1ey6DjmzXdq8ZZSCLWSaApADDvIE=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5395fb3ab3f97b9b7abca147249fa2e8ed27b192", "rev": "7c688a0875df5a8c28a53fb55ae45e94eae0dddb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1349,11 +1349,11 @@
"systems": "systems_4" "systems": "systems_4"
}, },
"locked": { "locked": {
"lastModified": 1753013169, "lastModified": 1753181140,
"narHash": "sha256-ZhhHGYEuBiHgWjAvFcvjiNyWDz2b3WsYoW+xw92LiYs=", "narHash": "sha256-daKfPQnipcRnKnXknDzv+fzNKeEY3r/10y8YMVQ10vU=",
"owner": "notashelf", "owner": "notashelf",
"repo": "nvf", "repo": "nvf",
"rev": "da1fed218b2dda294190e004da4d5bec7d43ec34", "rev": "8fbecab446afe3454ecce6a4b817ec4f123a4a34",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1440,11 +1440,11 @@
"rust-analyzer-src": { "rust-analyzer-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1753008875, "lastModified": 1753204114,
"narHash": "sha256-KYavlyBR385om3AOEF+ABCjslJF7vi/Eufo2L56Hhfg=", "narHash": "sha256-xH8EIod+Hwog4P9OwX9hdtk6Nqr54M0tzMI71yGNOYI=",
"owner": "rust-lang", "owner": "rust-lang",
"repo": "rust-analyzer", "repo": "rust-analyzer",
"rev": "58e507d80728f6f32c93117668dc4510ba80bac9", "rev": "b40fce3ccdc5f94453c6aca4da8b64174a03a5ad",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1462,11 +1462,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1752720268, "lastModified": 1753066249,
"narHash": "sha256-XCiJdtXIN09Iv0i1gs5ajJ9CVHk537Gy1iG/4nIdpVI=", "narHash": "sha256-j2UBrfDRIePGx3532Bbb9UeosNX2F73hfOAHtmACfnM=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "dc221f842e9ddc8c0416beae8d77f2ea356b91ae", "rev": "0751b65633a1785743ca44fd7c14a633c54c1f91",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -35,6 +35,7 @@
192.168.88.14 radarr.cnst.dev 192.168.88.14 radarr.cnst.dev
192.168.88.14 sonarr.cnst.dev 192.168.88.14 sonarr.cnst.dev
192.168.88.14 prowlarr.cnst.dev 192.168.88.14 prowlarr.cnst.dev
192.168.88.14 bazarr.cnst.dev
192.168.88.14 qbt.cnst.dev 192.168.88.14 qbt.cnst.dev
192.168.88.14 jellyseerr.cnst.dev 192.168.88.14 jellyseerr.cnst.dev
192.168.88.14 jellyfin.cnst.dev 192.168.88.14 jellyfin.cnst.dev

View File

@@ -11,102 +11,118 @@ in {
nixos.programs.hyprland.rules.enable = mkEnableOption "Enables window rule settings in Hyprland"; nixos.programs.hyprland.rules.enable = mkEnableOption "Enables window rule settings in Hyprland";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable (mkMerge [
programs.hyprland.settings = { {
monitor = programs.hyprland.settings = {
map ( monitor =
m: let map (
resolution = m: let
if m.width != null && m.height != null resolution =
then "${toString m.width}x${toString m.height}@${toString m.refreshRate}" if m.width != null && m.height != null
else "preferred"; then "${toString m.width}x${toString m.height}@${toString m.refreshRate}"
else "preferred";
position = m.position or "auto"; position = m.position or "auto";
scale = m.scale; scale = m.scale;
transformStr = transformStr =
if m.transform != 0 if m.transform != 0
then ",transform,${toString m.transform}" then ",transform,${toString m.transform}"
else ""; else "";
bitdepthStr = bitdepthStr =
if m.bitDepth != null if m.bitDepth != null
then ",bitdepth,${toString m.bitDepth}" then ",bitdepth,${toString m.bitDepth}"
else ""; else "";
in "${m.name},${ in "${m.name},${
if m.enabled if m.enabled
then "${resolution},${position},${scale}${transformStr}${bitdepthStr}" then "${resolution},${position},${scale}${transformStr}${bitdepthStr}"
else "disable" else "disable"
}" }"
) )
config.settings.monitors; config.settings.monitors;
workspace = map ( workspace = map (
m: "${m.workspace},monitor:${m.name}" m: "${m.workspace},monitor:${m.name}"
) (lib.filter (m: m.enabled && m.workspace != null) config.settings.monitors); ) (lib.filter (m: m.enabled && m.workspace != null) config.settings.monitors);
windowrule = [ windowrule = [
"size 843 650, initialTitle:^(floatcal)$" "size 843 650, initialTitle:^(floatcal)$"
"move 100%-w-20 40, initialTitle:^(floatcal)$" "move 100%-w-20 40, initialTitle:^(floatcal)$"
"float, initialTitle:^(floatcal)$" "float, initialTitle:^(floatcal)$"
"size 600 300, title:^(tuirun)$" "size 600 300, title:^(tuirun)$"
"center, title:^(tuirun)$" "center, title:^(tuirun)$"
"noborder, title:^(tuirun)$" "noborder, title:^(tuirun)$"
"float, title:^(tuirun)$" "float, title:^(tuirun)$"
"size 843 530, class:^(org.keepassxc.KeePassXC)$" "size 843 530, class:^(org.keepassxc.KeePassXC)$"
"move 100%-w-20 40, class:^(org.keepassxc.KeePassXC)$" "move 100%-w-20 40, class:^(org.keepassxc.KeePassXC)$"
"float, class:^(org.keepassxc.KeePassXC)$" "float, class:^(org.keepassxc.KeePassXC)$"
"size 50% 70%, class:^(net.nokyan.Resources)$" "size 50% 70%, class:^(net.nokyan.Resources)$"
"center, class:^(net.nokyan.Resources)$" "center, class:^(net.nokyan.Resources)$"
"float, class:^(net.nokyan.Resources)$" "float, class:^(net.nokyan.Resources)$"
"suppressevent maximize, class:.*" "suppressevent maximize, class:.*"
"center, class:^(nwg-look)$" "center, class:^(nwg-look)$"
"float, class:^(nwg-look)$" "float, class:^(nwg-look)$"
"center, class:^(oculante)$" "center, class:^(oculante)$"
"float, class:^(oculante)$" "float, class:^(oculante)$"
"move 100%-w-20 40, class:^(pavucontrol)$" "move 100%-w-20 40, class:^(pavucontrol)$"
"size 741 585, class:^(pavucontrol)$" "size 741 585, class:^(pavucontrol)$"
"float, class:^(pavucontrol)$" "float, class:^(pavucontrol)$"
"center, class:^(xarchiver)$" "center, class:^(xarchiver)$"
"float, class:^(xarchiver)$" "float, class:^(xarchiver)$"
"float, class:^(org.gnome.FileRoller)$" "float, class:^(org.gnome.FileRoller)$"
"float, class:^(org.freedesktop.impl.portal.desktop.kde)$" "float, class:^(org.freedesktop.impl.portal.desktop.kde)$"
"float, class:^(org.corectrl.CoreCtrl)$" "float, class:^(org.corectrl.CoreCtrl)$"
"float, class:^(feh)$" "float, class:^(feh)$"
"float, class:^(polkit-gnome-authentication-agent-1)$" "float, class:^(polkit-gnome-authentication-agent-1)$"
"float, class:^(org.gnome.Calculator)$" "float, class:^(org.gnome.Calculator)$"
"float, class:^(com.github.hluk.copyq)$" "float, class:^(com.github.hluk.copyq)$"
"float, class:^(blueman-manager)$" "float, class:^(blueman-manager)$"
# "workspace 5 silent, class:^(discord)$" "workspace 5 silent, class:^(discord)$"
# "workspace 5 silent, class:^(vesktop)$" "workspace 5 silent, class:^(vesktop)$"
"workspace 4 silent, class:^(steam_app_0)$" "workspace 4 silent, class:^(steam_app_0)$"
"workspace 4 silent, title:^(World of Warcraft)$" "workspace 4 silent, title:^(World of Warcraft)$"
];
layerrule = [
"animation fade,hyprpicker"
"animation fade,selection"
"animation fade,waybar"
"ignorezero,waybar"
"ignorealpha 0.0,waybar"
"blur,waybar"
"blur,notifications"
"ignorezero,notifications"
"noanim,wallpaper"
"noanim,launcher"
];
};
}
(mkIf (host == "kima") {
programs.hyprland.settings.workspace = [
"name:1,monitor:DP-3"
"name:2,monitor:DP-3"
"name:3,monitor:DP-3"
"name:4,monitor:DP-3"
"name:5,monitor:HDMI-A-1"
"name:6,monitor:DP-3"
"name:7,monitor:DP-3"
"name:8,monitor:DP-3"
"name:9,monitor:DP-3"
"name:10,monitor:DP-3"
]; ];
layerrule = [ })
"animation fade,hyprpicker" ]);
"animation fade,selection"
"animation fade,waybar"
"ignorezero,waybar"
"ignorealpha 0.0,waybar"
"blur,waybar"
"blur,notifications"
"ignorezero,notifications"
"noanim,wallpaper"
"noanim,launcher"
];
};
};
} }