Compare commits

...

2 Commits

5 changed files with 70 additions and 56 deletions

18
flake.lock generated
View File

@@ -79,7 +79,8 @@
"musnix": "musnix", "musnix": "musnix",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"sops-nix": "sops-nix" "sops-nix": "sops-nix",
"wrapper-manager": "wrapper-manager"
} }
}, },
"sops-nix": { "sops-nix": {
@@ -101,6 +102,21 @@
"repo": "sops-nix", "repo": "sops-nix",
"type": "github" "type": "github"
} }
},
"wrapper-manager": {
"locked": {
"lastModified": 1751998186,
"narHash": "sha256-np2RxS8tRz/jGfUSYKxzg7cCi4dS8PL8gutLZfPMbIY=",
"owner": "viperML",
"repo": "wrapper-manager",
"rev": "8ad2484b485acad0632cb0af15b5eb704e3c1d0a",
"type": "github"
},
"original": {
"owner": "viperML",
"repo": "wrapper-manager",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View File

@@ -13,6 +13,8 @@
musnix.url = "github:musnix/musnix"; musnix.url = "github:musnix/musnix";
musnix.inputs.nixpkgs.follows = "nixpkgs"; musnix.inputs.nixpkgs.follows = "nixpkgs";
wrapper-manager.url = "github:viperML/wrapper-manager";
}; };
outputs = { outputs = {

View File

@@ -2,9 +2,11 @@
lib, lib,
config, config,
pkgs, pkgs,
inputs,
... ...
}: let }: let
cfg = config.myConfig.programs; cfg = config.myConfig.programs;
in { in {
imports = [./foot.nix ./thunderbird.nix ./nextcloud.nix ./udiskie.nix ./wezterm.nix ./rclone.nix]; imports = [./foot.nix ./thunderbird.nix ./nextcloud.nix ./udiskie.nix ./wezterm.nix ./rclone.nix];
@@ -22,6 +24,18 @@ in {
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
(inputs.wrapper-manager.lib.wrapWith pkgs {
basePackage = element-desktop;
prependFlags = ["--enable-features=UseOzonePlatform,WebRTCPipeWireCapturer" "--ozone-platform=wayland"];
})
(inputs.wrapper-manager.lib.wrapWith pkgs {
basePackage = discord;
prependFlags = ["--enable-features=UseOzonePlatform,WebRTCPipeWireCapturer" "--ozone-platform=wayland"];
})
(inputs.wrapper-manager.lib.wrapWith pkgs {
basePackage = obsidian;
prependFlags = ["--enable-features=UseOzonePlatform" "--ozone-platform=wayland"];
})
unzip unzip
firefox firefox
xournalpp xournalpp
@@ -37,7 +51,6 @@ in {
sops sops
pwvucontrol pwvucontrol
qpwgraph qpwgraph
discord
libreoffice-fresh libreoffice-fresh
mate.caja mate.caja
mate.atril mate.atril
@@ -47,15 +60,14 @@ in {
wine wine
prusa-slicer prusa-slicer
kicad kicad
element-desktop
chromium chromium
wl-clipboard wl-clipboard
gimp gimp
godot_4 godot_4
ripgrep-all ripgrep-all
flatpak flatpak
obsidian
marksman marksman
alejandra
]; ];
}; };
} }

View File

@@ -93,31 +93,11 @@ in {
output = let output = let
bgdir = ../../../assets; bgdir = ../../../assets;
bg1080 = bgdir + "/bg1080.png"; bg1080 = bgdir + "/bg1080.png";
bg1080vert = bgdir + "/bg1080vert.png";
bg4k = bgdir + "/bg4k.png";
in in
lib.mkIf cfg.laptop { lib.mkIf cfg.laptop {
eDP-1 = { eDP-1 = {
bg = "'${bg1080}' fit"; bg = "'${bg1080}' fit";
}; };
HDMI-A-1 = {
bg = "'${bg4k}' fit";
};
DP-3 = {
bg = "'${bg1080}' fit";
};
DP-4 = {
bg = "'${bg1080}' fit";
};
DP-5 = {
bg = "'${bg1080vert}' fit";
};
DP-6 = {
bg = "'${bg1080}' fit";
};
DP-7 = {
bg = "'${bg1080vert}' fit";
};
}; };
input = { input = {
@@ -185,6 +165,7 @@ in {
{app_id = "thunderbird";} {app_id = "thunderbird";}
{app_id = "discord";} {app_id = "discord";}
{app_id = "Element";} {app_id = "Element";}
{class = "Element";}
]; ];
"music" = [{app_id = "org.rncbc.qpwgraph";}]; "music" = [{app_id = "org.rncbc.qpwgraph";}];
"obsidian" = [{app_id = "obsidian";} {class = "obsidian";}]; "obsidian" = [{app_id = "obsidian";} {class = "obsidian";}];
@@ -228,27 +209,21 @@ in {
workspaceOutputAssign = lib.mkIf cfg.laptop [ workspaceOutputAssign = lib.mkIf cfg.laptop [
{ {
workspace = "main"; workspace = "main";
output = ["DP-3" "DP-4" "DP-6" "HDMI-A-1" "eDP-1"];
} }
{ {
workspace = "term"; workspace = "term";
output = ["DP-5" "DP-4" "DP-7" "eDP-1"];
} }
{ {
workspace = "msg"; workspace = "msg";
output = ["eDP-1"];
} }
{ {
workspace = "music"; workspace = "music";
output = ["eDP-1"];
} }
{ {
workspace = "5"; workspace = "5";
output = ["DP-3" "DP-4" "DP-6" "HDMI-A-1" "eDP-1"];
} }
{ {
workspace = "obsidian"; workspace = "obsidian";
output = ["eDP-1"];
} }
]; ];

View File

@@ -18,32 +18,41 @@ in {
bg1080vert = bgdir + "/bg1080vert.png"; bg1080vert = bgdir + "/bg1080vert.png";
bg4k = bgdir + "/bg4k.png"; bg4k = bgdir + "/bg4k.png";
luhbots_workstation = settings: { luhbots_workstation = settings: {
profile.outputs = [ profile.outputs = [
{ {
criteria = "eDP-1"; criteria = "eDP-1";
position = if settings.vertical.left then "1080,1080" else "0,1080"; position =
} if settings.vertical.left
{ then "1080,1080"
criteria = settings.horizontal.name; else "0,1080";
position = if settings.vertical.left then "1080,0" else "0,0"; }
} {
{ criteria = settings.horizontal.name;
criteria = settings.vertical.name; position =
transform = settings.vertical.orientation; if settings.vertical.left
position = if settings.vertical.left then "0,0" else "1920,0"; then "1080,0"
} else "0,0";
]; }
profile.exec = [ {
"${pkgs.sway}/bin/swaymsg 'workspace \"main\" output \"${settings.horizontal.name}\", workspace --no-auto-back-and-forth main, move workspace to \"${settings.horizontal.name}\", workspace back_and_forth'" criteria = settings.vertical.name;
"${pkgs.sway}/bin/swaymsg 'workspace \"term\" output \"${settings.vertical.name}\", workspace --no-auto-back-and-forth term, move workspace to \"${settings.vertical.name}\", workspace back_and_forth'" transform = settings.vertical.orientation;
"${pkgs.sway}/bin/swaymsg 'workspace \"msg\" output eDP-1, workspace --no-auto-back-and-forth msg, move workspace to eDP-1, workspace back_and_forth'" position =
"${pkgs.sway}/bin/swaymsg 'workspace \"msg\" output eDP-1, workspace --no-auto-back-and-forth music, move workspace to eDP-1, workspace back_and_forth'" if settings.vertical.left
"${pkgs.sway}/bin/swaymsg 'workspace \"5\" output \"${settings.horizontal.name}\", workspace --no-auto-back-and-forth 5, move workspace to \"${settings.horizontal.name}\", workspace back_and_forth'" then "0,0"
"${pkgs.sway}/bin/swaymsg 'output \"eDP-1\" bg ${bg1080} fit'" else "1920,0";
"${pkgs.sway}/bin/swaymsg 'output \"${settings.horizontal.name}\" bg ${bg4k} fit'" }
"${pkgs.sway}/bin/swaymsg 'output \"${settings.vertical.name}\" bg ${bg1080vert} fit'" ];
"${pkgs.sway}/bin/swaymsg 'workspace --no-auto-back-and-forth msg, workspace --no-auto-back-and-forth term, workspace --no-auto-back-and-forth main'" profile.exec = [
]; "${pkgs.sway}/bin/swaymsg 'workspace \"main\" output \"${settings.horizontal.name}\", workspace --no-auto-back-and-forth main, move workspace to \"${settings.horizontal.name}\", workspace back_and_forth'"
"${pkgs.sway}/bin/swaymsg 'workspace \"term\" output \"${settings.vertical.name}\", workspace --no-auto-back-and-forth term, move workspace to \"${settings.vertical.name}\", workspace back_and_forth'"
"${pkgs.sway}/bin/swaymsg 'workspace \"msg\" output eDP-1, workspace --no-auto-back-and-forth msg, move workspace to eDP-1, workspace back_and_forth'"
"${pkgs.sway}/bin/swaymsg 'workspace \"msg\" output eDP-1, workspace --no-auto-back-and-forth music, move workspace to eDP-1, workspace back_and_forth'"
"${pkgs.sway}/bin/swaymsg 'workspace \"5\" output \"${settings.horizontal.name}\", workspace --no-auto-back-and-forth 5, move workspace to \"${settings.horizontal.name}\", workspace back_and_forth'"
"${pkgs.sway}/bin/swaymsg 'output \"eDP-1\" bg ${bg1080} fit'"
"${pkgs.sway}/bin/swaymsg 'output \"${settings.horizontal.name}\" bg ${bg4k} fit'"
"${pkgs.sway}/bin/swaymsg 'output \"${settings.vertical.name}\" bg ${bg1080vert} fit'"
"${pkgs.sway}/bin/swaymsg 'workspace --no-auto-back-and-forth msg, workspace --no-auto-back-and-forth term, workspace --no-auto-back-and-forth main'"
];
}; };
in { in {
enable = true; enable = true;