Compare commits
3 commits
28656f137d
...
53d88e123b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
53d88e123b | ||
|
|
3bdbcbca50 | ||
|
|
3ed381fbe4 |
10 changed files with 76 additions and 354 deletions
|
|
@ -12,8 +12,8 @@
|
|||
# TODO make configurable
|
||||
settings = {
|
||||
user = {
|
||||
email = "ringofstorms@gmail.com";
|
||||
name = "RingOfStorms (Joshua Bell)";
|
||||
email = "abc@joshuabell.xyz";
|
||||
name = "Joshua Bell";
|
||||
};
|
||||
core.pager = "bat";
|
||||
core.editor = "vi";
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ in
|
|||
# kdePackages.plasma-workspace-wallpapers
|
||||
|
||||
# On-screen keyboard (Plasma Wayland)
|
||||
kdePackages.plasma-keyboard
|
||||
# kdePackages.plasma-keyboard
|
||||
|
||||
# Panel applets required for widgets
|
||||
kdePackages.plasma-nm # org.kde.plasma.networkmanagement
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@
|
|||
let
|
||||
cfg = osConfig.ringofstorms.dePlasma;
|
||||
inherit (lib) mkIf optionalAttrs;
|
||||
# Get the first wallpaper from the list if available
|
||||
wallpaper = if (builtins.length cfg.wallpapers) > 0 then builtins.head cfg.wallpapers else null;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
|
|
@ -296,8 +294,8 @@ in
|
|||
lookAndFeel = "org.kde.breezedark.desktop";
|
||||
theme = "breeze-dark";
|
||||
cursor.theme = "breeze_cursors";
|
||||
} // optionalAttrs (wallpaper != null) {
|
||||
wallpaper = wallpaper;
|
||||
} // optionalAttrs ((builtins.length cfg.wallpapers) > 0) {
|
||||
wallpaper = cfg.wallpapers;
|
||||
};
|
||||
|
||||
configFile = {
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@ let
|
|||
workspaceLetters = [
|
||||
"n"
|
||||
"m"
|
||||
"Comma"
|
||||
"Period"
|
||||
"Slash"
|
||||
","
|
||||
"."
|
||||
"/"
|
||||
];
|
||||
kwinWorkspace = builtins.listToAttrs (
|
||||
map (i: {
|
||||
|
|
@ -85,6 +85,12 @@ in
|
|||
"Lock Session" = "none";
|
||||
};
|
||||
|
||||
# Disable Plasma emojier shortcuts which conflict with workspace switching
|
||||
# (Meta+. is bound by default in org.kde.plasma.emojier.desktop)
|
||||
"org.kde.plasma.emojier.desktop" = {
|
||||
"_launch" = [ ];
|
||||
};
|
||||
|
||||
# "KDE Keyboard Layout Switcher"."Switch to Next Keyboard Layout" = "Meta+K";
|
||||
};
|
||||
|
||||
|
|
|
|||
84
hosts/lio/flake.lock
generated
84
hosts/lio/flake.lock
generated
|
|
@ -63,14 +63,20 @@
|
|||
},
|
||||
"common": {
|
||||
"locked": {
|
||||
"path": "../../flakes/common",
|
||||
"type": "path"
|
||||
"dir": "flakes/common",
|
||||
"lastModified": 1768586643,
|
||||
"narHash": "sha256-FPRn8Ea7h+209KQvdy2FCAaMK7iMbxHvIEb/1Flt9wc=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "28656f137da6f102749b39b4bcb03c04c7107d2d",
|
||||
"revCount": 1145,
|
||||
"type": "git",
|
||||
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
|
||||
},
|
||||
"original": {
|
||||
"path": "../../flakes/common",
|
||||
"type": "path"
|
||||
},
|
||||
"parent": []
|
||||
"dir": "flakes/common",
|
||||
"type": "git",
|
||||
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
|
||||
}
|
||||
},
|
||||
"crane": {
|
||||
"locked": {
|
||||
|
|
@ -131,14 +137,20 @@
|
|||
"plasma-manager": "plasma-manager"
|
||||
},
|
||||
"locked": {
|
||||
"path": "../../flakes/de_plasma",
|
||||
"type": "path"
|
||||
"dir": "flakes/de_plasma",
|
||||
"lastModified": 1768586643,
|
||||
"narHash": "sha256-FPRn8Ea7h+209KQvdy2FCAaMK7iMbxHvIEb/1Flt9wc=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "28656f137da6f102749b39b4bcb03c04c7107d2d",
|
||||
"revCount": 1145,
|
||||
"type": "git",
|
||||
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
|
||||
},
|
||||
"original": {
|
||||
"path": "../../flakes/de_plasma",
|
||||
"type": "path"
|
||||
},
|
||||
"parent": []
|
||||
"dir": "flakes/de_plasma",
|
||||
"type": "git",
|
||||
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
|
|
@ -342,11 +354,11 @@
|
|||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1768302833,
|
||||
"narHash": "sha256-h5bRFy9bco+8QcK7rGoOiqMxMbmn21moTACofNLRMP4=",
|
||||
"lastModified": 1768456270,
|
||||
"narHash": "sha256-NgaL2CCiUR6nsqUIY4yxkzz07iQUlUCany44CFv+OxY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "61db79b0c6b838d9894923920b612048e1201926",
|
||||
"rev": "f4606b01b39e09065df37905a2133905246db9ed",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1273,11 +1285,11 @@
|
|||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768396176,
|
||||
"narHash": "sha256-JqLZY6/s3O5IVNjZs4vi4BGQhA730aLLMA7DgENCTTU=",
|
||||
"lastModified": 1768623515,
|
||||
"narHash": "sha256-7rfFPs9rBXpNmnK77Lc8PBbdTQt6ITotwbJkL85qLIA=",
|
||||
"owner": "anomalyco",
|
||||
"repo": "opencode",
|
||||
"rev": "ee6ca104e5eb1693b63901128ea315754f88f595",
|
||||
"rev": "85ab9798c65dfb36b0f47de3b1fd786e7751f761",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1481,14 +1493,20 @@
|
|||
},
|
||||
"secrets-bao": {
|
||||
"locked": {
|
||||
"path": "../../flakes/secrets-bao",
|
||||
"type": "path"
|
||||
"dir": "flakes/secrets-bao",
|
||||
"lastModified": 1768586643,
|
||||
"narHash": "sha256-FPRn8Ea7h+209KQvdy2FCAaMK7iMbxHvIEb/1Flt9wc=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "28656f137da6f102749b39b4bcb03c04c7107d2d",
|
||||
"revCount": 1145,
|
||||
"type": "git",
|
||||
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
|
||||
},
|
||||
"original": {
|
||||
"path": "../../flakes/secrets-bao",
|
||||
"type": "path"
|
||||
},
|
||||
"parent": []
|
||||
"dir": "flakes/secrets-bao",
|
||||
"type": "git",
|
||||
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
|
||||
}
|
||||
},
|
||||
"stt_ime": {
|
||||
"inputs": {
|
||||
|
|
@ -1497,14 +1515,20 @@
|
|||
"nixpkgs": "nixpkgs_7"
|
||||
},
|
||||
"locked": {
|
||||
"path": "../../flakes/stt_ime",
|
||||
"type": "path"
|
||||
"dir": "flakes/stt_ime",
|
||||
"lastModified": 1768586643,
|
||||
"narHash": "sha256-FPRn8Ea7h+209KQvdy2FCAaMK7iMbxHvIEb/1Flt9wc=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "28656f137da6f102749b39b4bcb03c04c7107d2d",
|
||||
"revCount": 1145,
|
||||
"type": "git",
|
||||
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
|
||||
},
|
||||
"original": {
|
||||
"path": "../../flakes/stt_ime",
|
||||
"type": "path"
|
||||
},
|
||||
"parent": []
|
||||
"dir": "flakes/stt_ime",
|
||||
"type": "git",
|
||||
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
|
|
|
|||
|
|
@ -6,20 +6,20 @@
|
|||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
|
||||
# Use relative to get current version for testing
|
||||
common.url = "path:../../flakes/common";
|
||||
# common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/common";
|
||||
# common.url = "path:../../flakes/common";
|
||||
common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/common";
|
||||
# secrets.url = "path:../../flakes/secrets";
|
||||
secrets.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/secrets";
|
||||
secrets-bao.url = "path:../../flakes/secrets-bao";
|
||||
# secrets-bao.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/secrets-bao";
|
||||
# secrets-bao.url = "path:../../flakes/secrets-bao";
|
||||
secrets-bao.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/secrets-bao";
|
||||
# flatpaks.url = "path:../../flakes/flatpaks";
|
||||
flatpaks.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/flatpaks";
|
||||
# beszel.url = "path:../../flakes/beszel";
|
||||
beszel.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/beszel";
|
||||
de_plasma.url = "path:../../flakes/de_plasma";
|
||||
# de_plasma.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/de_plasma";
|
||||
stt_ime.url = "path:../../flakes/stt_ime";
|
||||
# stt_ime.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/stt_ime";
|
||||
# de_plasma.url = "path:../../flakes/de_plasma";
|
||||
de_plasma.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/de_plasma";
|
||||
# stt_ime.url = "path:../../flakes/stt_ime";
|
||||
stt_ime.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/stt_ime";
|
||||
|
||||
opencode.url = "github:anomalyco/opencode";
|
||||
ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim";
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -1,157 +0,0 @@
|
|||
{ lib, pkgs, ... }:
|
||||
let
|
||||
# Exact descriptions as reported by: hyprctl -j monitors | jq '.[].description'
|
||||
mainDesc = "ASUSTek COMPUTER INC ASUS PG43U 0x01010101";
|
||||
secondaryDesc = "Samsung Electric Company C34J79x HTRM900776";
|
||||
|
||||
mainMonitor = "desc:${mainDesc}";
|
||||
secondaryMonitor = "desc:${secondaryDesc}";
|
||||
|
||||
hyprlandExtraOptions = {
|
||||
exec-once = [
|
||||
# Wait a moment for monitors/workspaces to settle, then "prime" 6 and return to 1
|
||||
"sh -lc 'sleep 0.2; hyprctl dispatch workspace 7; sleep 0.02; hyprctl dispatch workspace 1'"
|
||||
|
||||
];
|
||||
monitor = [
|
||||
"${mainMonitor},3840x2160@97.98,0x0,1,transform,0"
|
||||
"${secondaryMonitor},3440x1440@99.98,-1440x-640,1,transform,1"
|
||||
];
|
||||
workspace =
|
||||
let
|
||||
inherit (builtins) map toString;
|
||||
inherit (lib) range;
|
||||
mkWs = monitor: i: "${toString i},monitor:${monitor},persistent:true";
|
||||
in
|
||||
(map (mkWs mainMonitor) (range 1 6)) ++ (map (mkWs secondaryMonitor) (range 7 10));
|
||||
};
|
||||
|
||||
moveScript = pkgs.writeShellScriptBin "hyprland-move-workspaces" ''
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
HYPRCTL='${pkgs.hyprland}/bin/hyprctl'
|
||||
JQ='${pkgs.jq}/bin/jq'
|
||||
SOCAT='${pkgs.socat}/bin/socat'
|
||||
|
||||
MAIN_DESC='${mainDesc}'
|
||||
SEC_DESC='${secondaryDesc}'
|
||||
|
||||
get_socket() {
|
||||
# socket2 carries the event stream
|
||||
echo "${"$"}{XDG_RUNTIME_DIR}/hypr/${"$"}{HYPRLAND_INSTANCE_SIGNATURE}/.socket2.sock"
|
||||
}
|
||||
|
||||
wait_for_hypr() {
|
||||
# Wait until hyprctl works (Hyprland is up)
|
||||
until ''${HYPRCTL} -j monitors >/dev/null 2>&1; do
|
||||
sleep 0.5
|
||||
done
|
||||
}
|
||||
|
||||
mon_name_by_desc() {
|
||||
# Resolve Hyprland "name" (e.g., DP-2) from human-friendly description
|
||||
local desc="${"$"}1"
|
||||
''${HYPRCTL} -j monitors \
|
||||
| ''${JQ} -r --arg d "${"$"}desc" '.[] | select(.description == $d) | .name' \
|
||||
| head -n1
|
||||
}
|
||||
|
||||
place_workspaces() {
|
||||
local mainName secName
|
||||
mainName="$(mon_name_by_desc "${"$"}MAIN_DESC")"
|
||||
secName="$(mon_name_by_desc "${"$"}SEC_DESC" || true)"
|
||||
|
||||
# Always keep 1–6 on the main monitor
|
||||
for ws in 1 2 3 4 5 6; do
|
||||
''${HYPRCTL} dispatch moveworkspacetomonitor "${"$"}ws" "${"$"}mainName" || true
|
||||
done
|
||||
|
||||
if [ -n "${"$"}{secName:-}" ]; then
|
||||
# Secondary is present ➜ put 7–10 on secondary
|
||||
for ws in 7 8 9 10; do
|
||||
''${HYPRCTL} dispatch moveworkspacetomonitor "${"$"}ws" "${"$"}secName" || true
|
||||
done
|
||||
else
|
||||
# No secondary ➜ keep 7–10 on main
|
||||
for ws in 7 8 9 10; do
|
||||
''${HYPRCTL} dispatch moveworkspacetomonitor "${"$"}ws" "${"$"}mainName" || true
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
watch_events() {
|
||||
local sock
|
||||
sock="$(get_socket)"
|
||||
|
||||
# If socket2 is missing for some reason, fall back to polling
|
||||
if [ ! -S "${"$"}sock" ]; then
|
||||
while :; do
|
||||
place_workspaces
|
||||
sleep 5
|
||||
done
|
||||
return
|
||||
fi
|
||||
|
||||
# Subscribe to Hyprland events and react to monitor changes
|
||||
''${SOCAT} - "UNIX-CONNECT:${"$"}sock" | while IFS= read -r line; do
|
||||
case "${"$"}line" in
|
||||
monitoradded*|monitorremoved*|activemonitor*|layoutchange*|createworkspace*)
|
||||
place_workspaces
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
if [ "${"$"}{1:-}" = "--oneshot" ]; then
|
||||
wait_for_hypr
|
||||
place_workspaces
|
||||
else
|
||||
wait_for_hypr
|
||||
place_workspaces
|
||||
watch_events
|
||||
fi
|
||||
'';
|
||||
in
|
||||
{
|
||||
options = { };
|
||||
|
||||
config = {
|
||||
environment.systemPackages = [ moveScript ];
|
||||
|
||||
ringofstorms_common.desktopEnvironment.hyprland.extraOptions = hyprlandExtraOptions;
|
||||
|
||||
ringofstorms_common.desktopEnvironment.hyprland.hyprpaperSettings = {
|
||||
mode = "fill"; # Wallpaper display mode: fill, fit, stretch, center, tile
|
||||
|
||||
preload = [
|
||||
"${../_shared_assets/wallpapers/pixel_neon.png}"
|
||||
];
|
||||
|
||||
wallpaper = [
|
||||
"${mainMonitor},${../_shared_assets/wallpapers/pixel_neon.png}"
|
||||
"${secondaryMonitor},${../_shared_assets/wallpapers/pixel_neon_v.png}"
|
||||
];
|
||||
};
|
||||
|
||||
# User-level systemd service that follows your Hyprland session and watches for monitor changes
|
||||
# systemd.user.services.hyprland-move-workspaces = {
|
||||
# description = "Keep workspaces 1–6 on main and 7–10 on secondary; react to monitor changes";
|
||||
#
|
||||
# # Start/stop with Hyprland specifically
|
||||
# wantedBy = [ "hyprland-session.target" ];
|
||||
# after = [ "hyprland-session.target" ];
|
||||
# partOf = [ "hyprland-session.target" ];
|
||||
# bindsTo = [ "hyprland-session.target" ];
|
||||
# # Only start once Hyprland's event socket exists
|
||||
# unitConfig.ConditionPathExistsGlob = "%t/hypr/*/.socket2.sock";
|
||||
#
|
||||
# serviceConfig = {
|
||||
# Type = "simple";
|
||||
# ExecStart = "${moveScript}/bin/hyprland-move-workspaces";
|
||||
# Restart = "always";
|
||||
# RestartSec = "2s";
|
||||
# };
|
||||
# };
|
||||
};
|
||||
}
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
assignLines = ''
|
||||
workspace 1 output DP-1
|
||||
workspace 2 output DP-1
|
||||
workspace 3 output DP-1
|
||||
workspace 4 output DP-1
|
||||
workspace 5 output DP-1
|
||||
workspace 6 output DP-1
|
||||
workspace 7 output DP-2
|
||||
workspace 8 output DP-2
|
||||
workspace 9 output DP-2
|
||||
workspace 10 output DP-2
|
||||
'';
|
||||
bg1 = ../_shared_assets/wallpapers/pixel_neon.png;
|
||||
bg2 = ../_shared_assets/wallpapers/pixel_neon_v.png;
|
||||
# xrSetup = "xrandr --output DP-1 --mode 3840x2160 --rate 119.88 --pos 0x0 --primary; sleep 0.2; xrandr --output DP-2 --mode 3440x1440 --rate 99.98 --rotate left --left-of DP-1";
|
||||
xrSetup = "xrandr --output DP-1 --mode 3840x2160 --rate 60 --pos 0x0 --primary; sleep 0.2; xrandr --output DP-2 --mode 3440x1440 --rate 99.98 --rotate left --left-of DP-1";
|
||||
xwallpaperCmd = "xwallpaper --output DP-1 --zoom ${bg1} --output DP-2 --zoom ${bg2}";
|
||||
startupCmd = "sh -c 'sleep 0.2; i3-msg workspace number 7; sleep 0.2; i3-msg workspace number 1'";
|
||||
i3ExtraOptions = {
|
||||
startup = [
|
||||
{ command = "${xrSetup}"; }
|
||||
{ command = "sh -c 'sleep 1; ${xwallpaperCmd}'"; }
|
||||
{ command = "${startupCmd}"; }
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
options = { };
|
||||
config = {
|
||||
home-manager.sharedModules = [
|
||||
(
|
||||
{ lib, pkgs, ... }:
|
||||
let
|
||||
inherit (lib) mkAfter;
|
||||
in
|
||||
{
|
||||
xsession.windowManager.i3.config.startup = mkAfter (i3ExtraOptions.startup ++ [
|
||||
{ command = "nm-applet"; }
|
||||
{ command = "blueman-applet"; }
|
||||
{ command = "xfce4-power-manager"; }
|
||||
{ command = "sh -c 'xset s off -dpms; xset s noblank'"; }
|
||||
]);
|
||||
xsession.windowManager.i3.extraConfig = mkAfter assignLines;
|
||||
home.packages = [ pkgs.xwallpaper pkgs.xorg.xrandr pkgs.xorg.xset ];
|
||||
}
|
||||
)
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,88 +0,0 @@
|
|||
{ ... }:
|
||||
let
|
||||
swayExtraOptions = {
|
||||
startup = [
|
||||
{
|
||||
command = "exec sh -c 'sleep 0.01; swaymsg workspace number 7; sleep 0.02; swaymsg workspace number 1'";
|
||||
}
|
||||
];
|
||||
|
||||
# Example: map workspaces 1–6 to DP-1 and 7–10 to HDMI-A-1
|
||||
workspaceOutputAssign = [
|
||||
{
|
||||
workspace = "1";
|
||||
output = "DP-1";
|
||||
}
|
||||
{
|
||||
workspace = "2";
|
||||
output = "DP-1";
|
||||
}
|
||||
{
|
||||
workspace = "3";
|
||||
output = "DP-1";
|
||||
}
|
||||
{
|
||||
workspace = "4";
|
||||
output = "DP-1";
|
||||
}
|
||||
{
|
||||
workspace = "5";
|
||||
output = "DP-1";
|
||||
}
|
||||
{
|
||||
workspace = "6";
|
||||
output = "DP-1";
|
||||
}
|
||||
{
|
||||
workspace = "7";
|
||||
output = "DP-2";
|
||||
}
|
||||
{
|
||||
workspace = "8";
|
||||
output = "DP-2";
|
||||
}
|
||||
{
|
||||
workspace = "9";
|
||||
output = "DP-2";
|
||||
}
|
||||
{
|
||||
workspace = "10";
|
||||
output = "DP-2";
|
||||
}
|
||||
];
|
||||
|
||||
# Optional output settings
|
||||
output = {
|
||||
"DP-1" = {
|
||||
scale = "1";
|
||||
pos = "0 0";
|
||||
mode = "3840x2160@97.983Hz";
|
||||
bg = "${../_shared_assets/wallpapers/pixel_neon.png} fill";
|
||||
};
|
||||
"DP-2" = {
|
||||
scale = "1";
|
||||
transform = "270";
|
||||
pos = "-1440 -640";
|
||||
mode = "3440x1440@99.982Hz";
|
||||
bg = "${../_shared_assets/wallpapers/pixel_neon_v.png} fill";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
options = { };
|
||||
|
||||
config = {
|
||||
# ringofstorms_common.desktopEnvironment.sway.extraOptions = swayExtraOptions;
|
||||
|
||||
home-manager.sharedModules = [
|
||||
(
|
||||
{ ... }:
|
||||
{
|
||||
wayland.windowManager.sway.config = swayExtraOptions;
|
||||
}
|
||||
)
|
||||
];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue