feat: update dms setup

This commit is contained in:
Nickolaj Jepsen 2025-12-13 16:06:58 +01:00
parent b5b3407ad8
commit dfce77913b
2 changed files with 64 additions and 33 deletions

48
flake.lock generated
View file

@ -58,11 +58,11 @@
"quickshell": "quickshell" "quickshell": "quickshell"
}, },
"locked": { "locked": {
"lastModified": 1765576432, "lastModified": 1765637104,
"narHash": "sha256-cP9fIrEe6UXG3vpSjHMvl9i4717DA2AmUZEdiwQro5w=", "narHash": "sha256-HN8z1seZbjjZsGnfAoO3vIlLgl0Ob9Mb2bm0rAjqGog=",
"owner": "AvengeMedia", "owner": "AvengeMedia",
"repo": "DankMaterialShell", "repo": "DankMaterialShell",
"rev": "6c3c722674ae2df8a74fc2dc4329c722165b9512", "rev": "31b67164c7af7c648d655b02fec379a2225370df",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -121,11 +121,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1762835999, "lastModified": 1765583951,
"narHash": "sha256-UykYGrGFOFTmDpKTLNxj1wvd1gbDG4TkqLNSbV0TYwk=", "narHash": "sha256-QDCrQorCAesnsOQJk+cTszazGitf9NDqIEMxzUEtotE=",
"owner": "AvengeMedia", "owner": "AvengeMedia",
"repo": "dgop", "repo": "dgop",
"rev": "799301991cd5dcea9b64245f9d500dcc76615653", "rev": "57279532bc932b93df79d866b0663b1753cefda1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -282,11 +282,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1765384171, "lastModified": 1765605144,
"narHash": "sha256-FuFtkJrW1Z7u+3lhzPRau69E0CNjADku1mLQQflUORo=", "narHash": "sha256-RM2xs+1HdHxesjOelxoA3eSvXShC8pmBvtyTke4Ango=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "44777152652bc9eacf8876976fa72cc77ca8b9d8", "rev": "90b62096f099b73043a747348c11dbfcfbdea949",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -308,11 +308,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable" "xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1765528203, "lastModified": 1765629179,
"narHash": "sha256-DTs3VkvRjW/Quu7y9hzNUrddysBXbcqv5Rpo4rtQYQI=", "narHash": "sha256-yYQR3ZYXWEh8mAQOhj6ZOZ4VxZrpzhRz14bOXAMPtcQ=",
"owner": "sodiboo", "owner": "sodiboo",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "8f74fd85c7b42f2d06347a9c9eaff6d4904854f3", "rev": "46e723aa46565b67910187b4b7ad48b615d7f576",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -341,11 +341,11 @@
"niri-unstable": { "niri-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1765524373, "lastModified": 1765625997,
"narHash": "sha256-gi38XWhkb+H8iHhlXgv7MgUaQCuhmaTzKmq3yzYOg9g=", "narHash": "sha256-d0/ugnBSrCJwwySMc5skOMbAfEdjWapc+EMFbcsnd5Q=",
"owner": "YaLTeR", "owner": "YaLTeR",
"repo": "niri", "repo": "niri",
"rev": "c22d8358c293f5e66748d8ac20600e6b114f9743", "rev": "d1fc1ab731f7cc59923a16acce9a387782bfeb10",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -379,11 +379,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1765505053, "lastModified": 1765591065,
"narHash": "sha256-nDMsy5cVXs4iShqoLt8gCz/s1LdVxsaUFsTuSY/22rg=", "narHash": "sha256-IdYRrUhfZHtAI3nOMKVeP0lsfZpaa/wHf2B8qD4VeOk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-vscode-extensions", "repo": "nix-vscode-extensions",
"rev": "1778f178603ed65b4e4033c64f04ea51142ad6f6", "rev": "ee90360c87fad52e8c34ef8b9ab3b52017c146a4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -477,11 +477,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1765186076, "lastModified": 1765472234,
"narHash": "sha256-hM20uyap1a0M9d344I692r+ik4gTMyj60cQWO+hAYP8=", "narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "addf7cf5f383a3101ecfba091b98d0a1263dc9b8", "rev": "2fbfb1d73d239d2402a8fe03963e37aab15abe8b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -531,11 +531,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1765572306, "lastModified": 1765631331,
"narHash": "sha256-WqVMKEwdxC5LBRZMiKA9pxJ/vtKtl3HmdJzqMDd+1bg=", "narHash": "sha256-33kFCZlKPeKNt+T4MJbErNMIOdTSGAQjtnbQUPFbvOw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "a038d2f292138ba982e1df3ce8e69a12570bd5d7", "rev": "3efd2abcb60fe20da904182a480dfc1c840f417f",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -8,8 +8,8 @@
position = 0; position = 0;
spacing = 0; spacing = 0;
innerPadding = 0; innerPadding = -4;
bottomGap = -5; bottomGap = -9;
transparency = 0; transparency = 0;
widgetTransparency = 1; widgetTransparency = 1;
squareCorners = true; squareCorners = true;
@ -34,18 +34,28 @@
popupGapsManual = 4; popupGapsManual = 4;
maximizeDetection = true; maximizeDetection = true;
}; };
primaryMonitor = builtins.head config.monitors;
primaryX = primaryMonitor.position.x or 0;
# Partition secondary monitors into left and right based on their x position relative to primary
secondaryMonitors = builtins.tail config.monitors;
leftMonitors = builtins.filter (m: (m.position.x or 0) <= primaryX) secondaryMonitors;
rightMonitors = builtins.filter (m: (m.position.x or 0) > primaryX) secondaryMonitors;
primaryBar = primaryBar =
{ {
id = "default"; id = "default";
name = "Primary Bar"; name = "Primary Bar";
screenPreferences = [ screenPreferences = [
{ {
name = (builtins.head config.monitors).name or ""; name = primaryMonitor.name or "";
} }
]; ];
showOnLastDisplay = true; showOnLastDisplay = true;
leftWidgets = [ leftWidgets = [
"launcherButton" "launcherButton"
"clock"
"workspaceSwitcher" "workspaceSwitcher"
"runningApps" "runningApps"
]; ];
@ -58,17 +68,33 @@
"cpuUsage" "cpuUsage"
"controlCenterButton" "controlCenterButton"
"notificationButton" "notificationButton"
"clock"
]; ];
} }
// commonBarSettings; // commonBarSettings;
secondaryBar =
leftSecondaryBar =
{ {
id = "secondary"; id = "secondary-left";
name = "Secondary Bar"; name = "Secondary Bar (Left)";
screenPreferences = builtins.map (monitor: { screenPreferences = builtins.map (monitor: {
inherit (monitor) name; inherit (monitor) name;
}) (builtins.tail config.monitors); }) leftMonitors;
showOnLastDisplay = false;
leftWidgets = [];
centerWidgets = [];
rightWidgets = [
"workspaceSwitcher"
];
}
// commonBarSettings;
rightSecondaryBar =
{
id = "secondary-right";
name = "Secondary Bar (Right)";
screenPreferences = builtins.map (monitor: {
inherit (monitor) name;
}) rightMonitors;
showOnLastDisplay = false; showOnLastDisplay = false;
leftWidgets = [ leftWidgets = [
"workspaceSwitcher" "workspaceSwitcher"
@ -77,6 +103,11 @@
rightWidgets = []; rightWidgets = [];
} }
// commonBarSettings; // commonBarSettings;
# Only include secondary bars if they have monitors assigned
secondaryBars =
(lib.optional (leftMonitors != []) leftSecondaryBar)
++ (lib.optional (rightMonitors != []) rightSecondaryBar);
in { in {
config = lib.mkIf config.fireproof.desktop.enable { config = lib.mkIf config.fireproof.desktop.enable {
fireproof.home-manager = { fireproof.home-manager = {
@ -90,7 +121,7 @@ in {
runningAppsCurrentWorkspace = true; runningAppsCurrentWorkspace = true;
runningAppsGroupByApp = true; runningAppsGroupByApp = true;
barConfigs = [primaryBar secondaryBar]; barConfigs = [primaryBar] ++ secondaryBars;
}; };
}; };
}; };