Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -399,9 +399,9 @@ nix-format-check: nix-format-clear-cache ## Check Nix file formatting.
@echo "✅ All Nix files are properly formatted"

.PHONY: nix-lint
nix-lint: ## Lint Nix files with statix.
nix-lint: ## Lint Nix files with statix from the flake/dev shell.
@echo "🔍 Linting Nix files with statix..."
@$(NIX_EXEC) run nixpkgs#statix -- check .
@DEVENV_ROOT=$(CURDIR) $(NIX_ALLOW_UNFREE) $(NIX_EXEC) develop $(NIX_FLAGS) .# --command statix check .
@echo "✅ All Nix files pass lint checks"

.PHONY: nix-switch
Expand Down
119 changes: 119 additions & 0 deletions docs/HYPRLAND.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# Hyprland Keybindings

`$mod` = Super (Win key)

Copilot AI Mar 20, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hyper is used throughout this doc (e.g. “Hyper + Space”, “Hyper + 3/4/5”, “Hyper + L”), but it isn’t defined at the top. Add a short definition near the $mod definition (and ideally match the actual keyd/Hyprland meaning, e.g. Ctrl+Alt+Shift+Super) so readers can interpret the shortcuts correctly.

Suggested change
`$mod` = Super (Win key)
`$mod` = Super (Win key)
`Hyper` = Ctrl + Alt + Shift + Super

Copilot uses AI. Check for mistakes.

## App Launch

| Shortcut | Action |
|---|---|
| `Super + T` | Terminal (ghostty) |
| `Super + G` | Chrome (focus or launch) |
| `Super + S` | Slack (focus or launch) |
| `Super + C` | Cursor |
| `Super + V` | VS Code |
| `Super + P` | 1Password |
| `Super + M` | Signal |
| `Super + D` | Discord (focus or launch) |
| `Super + F` | File manager (yazi) |
| `Hyper + Space` | App launcher (rofi) |

## Window Focus

| Shortcut | Action |
|---|---|
| `Super + H/J/K/L` | Focus left/down/up/right |
| `Super + ←/↓/↑/→` | Focus left/down/up/right |
| `Super + Tab` | Switch window (hyprshell) |
| `Super + \`` | Toggle previous window |

## Window Management

| Shortcut | Action |
|---|---|
| `Super + Q` | Close window |
| `Super + Shift + F` | Toggle floating |
| `Super Ctrl + F` | Fullscreen (maximize) |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There appears to be a typo in the shortcut Super Ctrl + F. Based on common keybinding conventions and other entries in the document, it should likely be Super + Ctrl + F to clearly indicate the combination of Super and Ctrl keys.

Suggested change
| `Super Ctrl + F` | Fullscreen (maximize) |
Super + Ctrl + F

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix shortcut notation typo for modifier chain.

Line [35] should use the same key-combo format as the rest of the doc: Super + Ctrl + F (currently Super Ctrl + F).

Suggested patch
-| `Super Ctrl + F` | Fullscreen (maximize) |
+| `Super + Ctrl + F` | Fullscreen (maximize) |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| `Super Ctrl + F` | Fullscreen (maximize) |
| `Super + Ctrl + F` | Fullscreen (maximize) |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/HYPRLAND.md` at line 35, Update the shortcut notation on the line
containing "`Super Ctrl + F`" to match the rest of the document by adding the
missing plus: change the string to "`Super + Ctrl + F`" (the entry for
Fullscreen (maximize) in HYPRLAND.md).

Copilot AI Mar 20, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The “Fullscreen (maximize)” shortcut is written as Super Ctrl + F, but the rest of the doc uses + between modifiers and this is easy to misread as two separate shortcuts. Update it to Super + Ctrl + F (or $mod + Ctrl + F) for consistency with the other entries and the Hyprland bind style.

Suggested change
| `Super Ctrl + F` | Fullscreen (maximize) |
| `Super + Ctrl + F` | Fullscreen (maximize) |

Copilot uses AI. Check for mistakes.
| `Hyper + F` | Move to empty workspace + fullscreen |
| `Super + W` | Minimize (send to special:minimized) |
| `Super + Shift + W` | Restore all minimized windows |

## Move Window (within workspace)

| Shortcut | Action |
|---|---|
| `Super + Shift + K/J` | Move window up/down |
| `Super + Shift + ↑/↓` | Move window up/down |
| `Super + Alt + H/J/K/L` | Swap window left/down/up/right |
| `Super + Alt + Shift + ←/↓/↑/→` | Swap window left/down/up/right |
| `Super + left click drag` | Freely drag window |

## Resize Window

| Shortcut | Action |
|---|---|
| `Super + Ctrl + ←/↓/↑/→` | Resize window |
| `Super + ;` / `Super + '` | Resize narrower/wider |
| `Super + Ctrl + ;` / `Super + Ctrl + '` | Resize shorter/taller |
| `Super + right click drag` | Freely resize window |

## Workspaces

| Shortcut | Action |
|---|---|
| `Super + 1-9` | Go to workspace 1-9 |
| `Ctrl + ←/→` | Previous/next workspace |
| `Super + scroll` | Scroll through workspaces |
| `Super + N` | Go to empty workspace |
| `Super + Shift + 1-9` | Move window to workspace 1-9 |
| `Super + Shift + H/L` | Move window to prev/next workspace |
| `Super + Shift + ←/→` | Move window to empty workspace |

## Scratchpad

| Shortcut | Action |
|---|---|
| `Super + Ctrl + T` | Toggle scratchpad terminal |

## Screenshot

| Shortcut | Action |
|---|---|
| `Super + Shift + S` | Region screenshot (annotate) |
| `Print` | Region screenshot (quick) |
| `Shift + Print` | Window screenshot |
| `Ctrl + Print` | Full screen screenshot |
| `Hyper + 3` | Full screen screenshot |
Comment on lines +84 to +85

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Use hyphenated “full-screen” in action labels.

For consistency and grammar, replace “Full screen screenshot” with “Full-screen screenshot” on Line [84], Line [85], and Line [118].

Suggested patch
-| `Ctrl + Print` | Full screen screenshot |
-| `Hyper + 3` | Full screen screenshot |
+| `Ctrl + Print` | Full-screen screenshot |
+| `Hyper + 3` | Full-screen screenshot |
...
-| `F11` | Full screen screenshot |
+| `F11` | Full-screen screenshot |

Also applies to: 118-118

🧰 Tools
🪛 LanguageTool

[uncategorized] ~84-~84: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... Window screenshot | | Ctrl + Print | Full screen screenshot | | Hyper + 3 | Full scree...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~85-~85: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ull screen screenshot | | Hyper + 3 | Full screen screenshot | | Hyper + 4 | Region scr...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/HYPRLAND.md` around lines 84 - 85, Replace the unhyphenated phrase "Full
screen screenshot" with "Full-screen screenshot" in the three table cells that
use that label; specifically update the rows identified by the keyboard
shortcuts `Ctrl + Print` and `Hyper + 3`, and the third occurrence elsewhere on
the page, so each action label reads "Full-screen screenshot" for consistency.

| `Hyper + 4` | Region screenshot |
| `Hyper + 5` | Record screen |
| `Super + Print` | Color picker |

## Clipboard

| Shortcut | Action |
|---|---|
| `Super + Shift + V` | Clipboard history (rofi, auto-paste) |
| `Super + E` | Emoji picker (auto-paste) |

## System

| Shortcut | Action |
|---|---|
| `Super + I` | Network menu |
| `Super + B` | Bluetooth manager |
| `Super + A` | Audio (pavucontrol) |
| `Super + Shift + Q` | Power menu |
| `Hyper + L` | Lock screen |

## Media Keys (Framework 13)

| Key | Action |
|---|---|
| `F1` | Mute |
| `F2 / F3` | Volume down/up |
| `F4 / F5` | Previous/next track |
| `F6` | Play/pause |
| `F7 / F8` | Brightness down/up |
| `F9` | Toggle display scale (1.0x ↔ 1.567x) |
| `F10` | Airplane mode |
| `F11` | Full screen screenshot |
| `Hyper + -` / `Hyper + =` | Zoom display out/in |
1 change: 1 addition & 0 deletions home-manager/modules/xremap/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ in
# Only intercept keyd output — SUPER (CapsLock/RightAlt) goes straight to Hyprland
deviceNames = [ "keyd virtual keyboard" ];
config = {
virtual_modifiers = [ "Alt-Shift-Super" ];

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Adding virtual_modifiers = [ "Alt-Shift-Super" ]; is a crucial change that directly addresses the modifier leak issue with Electron apps. This ensures that the Alt-Shift-Super combination is treated as an atomic virtual modifier, preventing unintended key events from being sent to applications like Slack.

keymap = [
{
name = "Framework Command (Ghostty)";
Expand Down
5 changes: 5 additions & 0 deletions home-manager/programs/git/.gitignore.global
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,11 @@ Temporary Items
tmp
.tmp*
tmp*

# AI
.cursor/
.entire/
.serena/

# Ignore deprecated files
*.deprecated
1 change: 1 addition & 0 deletions named-hosts/matic/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ inputs.nixpkgs.lib.nixosSystem {
"amdgpu.abmlevel=3" # auto backlight management
"amdgpu.runpm=1" # runtime power management for GPU
"amd_pstate=active" # AMD P-state driver (better than acpi-cpufreq)
"amdgpu.dcdebugmask=0x410" # disable PSR and REPLAY to fix screen flickering

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The addition of amdgpu.dcdebugmask=0x410 to the kernel parameters to disable PSR and REPLAY is a targeted fix for screen flickering issues on AMD GPUs. This directly improves the stability and user experience on the matic host.

];

# Networking
Expand Down
Loading