5 Commits

Author SHA1 Message Date
kenji 906ce21aaa add(hyprland): plugin is fixed! 2025-12-31 13:57:52 -06:00
kenji 588f1a17ca fix(monitors): fix multi-monitor setup 2025-12-31 13:57:30 -06:00
kenji 8a9569bb76 add(cursor): added rose pine hyprcursor 2025-12-31 13:57:30 -06:00
kenji 6e9949ac39 feat(hyprlock): decreased blink count 2025-12-31 13:57:30 -06:00
kenji 74446a9e81 add(apps): added delfin 2025-12-31 13:57:30 -06:00
13 changed files with 89 additions and 24 deletions
+3
View File
@@ -0,0 +1,3 @@
{pkgs, ...}: {
home.packages = with pkgs; [delfin];
}
+4 -1
View File
@@ -1,4 +1,4 @@
{
{pkgs, ...}: {
imports = [
./hypr/binds.nix
./hypr/general.nix
@@ -12,4 +12,7 @@
];
wayland.windowManager.hyprland.enable = true;
wayland.windowManager.hyprland.systemd.enable = false; # for UWSM support...
wayland.windowManager.hyprland.plugins = [
pkgs.hyprlandPlugins.hyprsplit
];
}
+6 -10
View File
@@ -71,22 +71,18 @@
"SUPER, Tab, Cycle workspaces, workspace, previous"
]
++ (
# Generate binds for Super + [1-10] to switch workspaces
# and Super + Shift + [1-10] to move window to workspace
# Generate binds for Super + [1-5] to switch workspaces on current monitor
# and Super + Shift + [1-5] to move window to workspace on current monitor
builtins.concatLists (builtins.genList (
i: let
ws = i + 1;
key = toString (
if ws == 10
then 0
else ws
);
key = toString ws;
in [
"SUPER, ${key}, Switch to workspace ${toString ws}, exec, hakase-workspace-switch-force ${toString ws}"
"SUPER SHIFT, ${key}, Move window to workspace ${toString ws}, movetoworkspace, ${toString ws}"
"SUPER, ${key}, Switch to workspace ${toString ws}, split:workspace, ${toString ws}"
"SUPER SHIFT, ${key}, Move window to workspace ${toString ws}, split:movetoworkspace, ${toString ws}"
]
)
10)
5)
);
};
}
+2
View File
@@ -4,6 +4,8 @@
];
wayland.windowManager.hyprland.settings = {
env = [
"HYPRCURSOR_THEME,rose-pine-hyprcursor"
"HYPRCURSOR_SIZE,24"
"GUM_CONFIRM_PROMPT_FOREGROUND,6"
"GUM_CONFIRM_SELECTED_FOREGROUND,0"
"GUM_CONFIRM_SELECTED_BACKGROUND,2"
+1
View File
@@ -8,6 +8,7 @@
"killall -SIGUSR2 .ghostty-wrappe"
];
exec-once = [
"hyprpm reload -n"
"[workspace special:preload silent] uwsm app -- firefox"
"[workspace special:preload silent] uwsm app -- firefox -P YouTube"
"[workspace special:preload silent] uwsm app -- xdg-terminal-exec"
+18
View File
@@ -7,5 +7,23 @@
anr_missed_pings = 3;
new_window_takes_over_fullscreen = 1;
};
cursor = {
no_hardware_cursors = true;
no_break_fs_vrr = true;
min_refresh_rate = 48;
};
render = {
direct_scanout = true;
cm_enabled = true;
};
plugin = {
hyprsplit = {
num_workspaces = 5;
persistent_workspaces = false;
};
};
};
}
+10 -5
View File
@@ -37,16 +37,21 @@ let
echo "$pos" > "$state_file"
echo "''${text:0:$pos}_"
else
# Blink cursor via foreground color toggle
# Blink cursor via foreground color toggle (slow blink)
if [ ! -f "$blink_file" ]; then
echo 0 > "$blink_file"
echo "0 0" > "$blink_file"
fi
blink=$(cat "$blink_file")
read -r blink count < "$blink_file"
count=$((count + 1))
# Toggle every 5 updates (~600ms at 120ms interval)
if [ "$count" -ge 5 ]; then
count=0
blink=$((1 - blink))
fi
echo "$blink $count" > "$blink_file"
if [ "$blink" -eq 0 ]; then
echo 1 > "$blink_file"
echo "''${text}_"
else
echo 0 > "$blink_file"
echo "''${text}<span fgalpha=\"1\">_</span>"
fi
fi
+6 -1
View File
@@ -17,7 +17,12 @@
};
};
hyprland = {
monitors = ["HDMI-A-1, 1920x1080@120, auto, 1"];
monitors = [
"DP-1,highres@180,0x1080,1,bitdepth,10,cm,hdr,sdrbrightness,1.4,sdrsaturation,0.98,vrr,0"
"DP-2, highres@165,760x0,1"
"HDMI-A-1, highres@highrr@120, 3440x1440, 1.6"
];
# wallpaper = "nixos_rainbow.png";
wallpaper = "ai_pixel_purple.jpg"; # FIXME: redundant
};
Generated
+25 -4
View File
@@ -333,11 +333,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1766498696,
"narHash": "sha256-74qO6ynwUav+QqNhBVn/4yoBCpU6r3/eCkX/V11uL+E=",
"lastModified": 1767201430,
"narHash": "sha256-4BUM06GqP5YAVnWvxkdeYuweMF6n+oKdxJI5S9TmA1E=",
"ref": "refs/heads/main",
"rev": "f7f357f15f83612078eb0919ca08b71cac01c25e",
"revCount": 6741,
"rev": "48a024e0322bbd7c4c88126498ec478444ec4cb2",
"revCount": 6763,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@@ -448,6 +448,26 @@
"type": "github"
}
},
"hyprsplit": {
"inputs": {
"hyprland": [
"hyprland"
]
},
"locked": {
"lastModified": 1766546378,
"narHash": "sha256-GSoSLHErh1mRfgXM57W98L67MMBHKCemHzxoZPrejSI=",
"owner": "shezdy",
"repo": "hyprsplit",
"rev": "9a8b55f4269bfa5c59d03ed9f4502f433572c616",
"type": "github"
},
"original": {
"owner": "shezdy",
"repo": "hyprsplit",
"type": "github"
}
},
"hyprtoolkit": {
"inputs": {
"aquamarine": [
@@ -764,6 +784,7 @@
"elephant": "elephant",
"home-manager": "home-manager_2",
"hyprland": "hyprland",
"hyprsplit": "hyprsplit",
"nixovim": "nixovim",
"nixpkgs": "nixpkgs_2",
"nur": "nur",
+4
View File
@@ -27,6 +27,10 @@
url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprsplit = {
url = "github:shezdy/hyprsplit";
inputs.hyprland.follows = "hyprland";
};
nixovim = {
# FIXME: treesitter does not install automatically (disabled due to read-only problems)
url = "git+https://git.sakamoto.dev/kenji/nixovim.git";
+1
View File
@@ -4,5 +4,6 @@
../../apps/jellyfin
../../apps/tickrs
../../apps/claude
../../apps/delfin
];
}
+8
View File
@@ -1,5 +1,13 @@
{ pkgs, ... }:
{
imports = [
../../apps/matugen
];
home.pointerCursor = {
gtk.enable = true;
package = pkgs.rose-pine-hyprcursor;
name = "rose-pine-hyprcursor";
size = 24;
};
}
+1 -3
View File
@@ -1,13 +1,11 @@
{
myConfig,
inputs,
pkgs,
...
}: {
programs.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
# Use nixpkgs Hyprland for ABI compatibility with plugins
withUWSM = true;
};