From 3ed381fbe44a871c36db38c31204437bdb692863 Mon Sep 17 00:00:00 2001 From: Joshua Bell Date: Sat, 17 Jan 2026 00:35:18 -0600 Subject: [PATCH] Update git identity, Plasma shortcuts and wallpaper; remove lio hosts --- flakes/common/hm_modules/git.nix | 4 +- flakes/de_plasma/de_plasma.nix | 2 +- flakes/de_plasma/home_manager/default.nix | 6 +- flakes/de_plasma/home_manager/shortcuts.nix | 12 +- hosts/lio/flake.lock | 12 +- hosts/lio/home_manager.nix | 10 -- hosts/lio/hyprland_customizations.nix | 157 -------------------- hosts/lio/i3_customizations.nix | 51 ------- hosts/lio/sway_customizations.nix | 88 ----------- 9 files changed, 20 insertions(+), 322 deletions(-) delete mode 100644 hosts/lio/home_manager.nix delete mode 100644 hosts/lio/hyprland_customizations.nix delete mode 100644 hosts/lio/i3_customizations.nix delete mode 100644 hosts/lio/sway_customizations.nix diff --git a/flakes/common/hm_modules/git.nix b/flakes/common/hm_modules/git.nix index aebc5418..828da11b 100644 --- a/flakes/common/hm_modules/git.nix +++ b/flakes/common/hm_modules/git.nix @@ -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"; diff --git a/flakes/de_plasma/de_plasma.nix b/flakes/de_plasma/de_plasma.nix index c67974fd..6f42c5a5 100644 --- a/flakes/de_plasma/de_plasma.nix +++ b/flakes/de_plasma/de_plasma.nix @@ -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 diff --git a/flakes/de_plasma/home_manager/default.nix b/flakes/de_plasma/home_manager/default.nix index 4153b9da..44ccf9e9 100644 --- a/flakes/de_plasma/home_manager/default.nix +++ b/flakes/de_plasma/home_manager/default.nix @@ -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 = { diff --git a/flakes/de_plasma/home_manager/shortcuts.nix b/flakes/de_plasma/home_manager/shortcuts.nix index 4342b441..e4b46222 100644 --- a/flakes/de_plasma/home_manager/shortcuts.nix +++ b/flakes/de_plasma/home_manager/shortcuts.nix @@ -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"; }; diff --git a/hosts/lio/flake.lock b/hosts/lio/flake.lock index 14de2ed1..dde9039f 100644 --- a/hosts/lio/flake.lock +++ b/hosts/lio/flake.lock @@ -342,11 +342,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 +1273,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": { diff --git a/hosts/lio/home_manager.nix b/hosts/lio/home_manager.nix deleted file mode 100644 index f42762b7..00000000 --- a/hosts/lio/home_manager.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - config, - lib, - pkgs, - modulesPath, - ... -}: -{ - -} diff --git a/hosts/lio/hyprland_customizations.nix b/hosts/lio/hyprland_customizations.nix deleted file mode 100644 index 7629e2e8..00000000 --- a/hosts/lio/hyprland_customizations.nix +++ /dev/null @@ -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"; - # }; - # }; - }; -} diff --git a/hosts/lio/i3_customizations.nix b/hosts/lio/i3_customizations.nix deleted file mode 100644 index 4f294e5b..00000000 --- a/hosts/lio/i3_customizations.nix +++ /dev/null @@ -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 ]; - } - ) - ]; - }; -} diff --git a/hosts/lio/sway_customizations.nix b/hosts/lio/sway_customizations.nix deleted file mode 100644 index a58f2e22..00000000 --- a/hosts/lio/sway_customizations.nix +++ /dev/null @@ -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; - } - ) - ]; - }; -}