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 = [ imports = [
./hypr/binds.nix ./hypr/binds.nix
./hypr/general.nix ./hypr/general.nix
@@ -12,4 +12,7 @@
]; ];
wayland.windowManager.hyprland.enable = true; wayland.windowManager.hyprland.enable = true;
wayland.windowManager.hyprland.systemd.enable = false; # for UWSM support... 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" "SUPER, Tab, Cycle workspaces, workspace, previous"
] ]
++ ( ++ (
# Generate binds for Super + [1-10] to switch workspaces # Generate binds for Super + [1-5] to switch workspaces on current monitor
# and Super + Shift + [1-10] to move window to workspace # and Super + Shift + [1-5] to move window to workspace on current monitor
builtins.concatLists (builtins.genList ( builtins.concatLists (builtins.genList (
i: let i: let
ws = i + 1; ws = i + 1;
key = toString ( key = toString ws;
if ws == 10
then 0
else ws
);
in [ in [
"SUPER, ${key}, Switch to workspace ${toString ws}, exec, hakase-workspace-switch-force ${toString ws}" "SUPER, ${key}, Switch to workspace ${toString ws}, split:workspace, ${toString ws}"
"SUPER SHIFT, ${key}, Move window to workspace ${toString ws}, movetoworkspace, ${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 = { wayland.windowManager.hyprland.settings = {
env = [ env = [
"HYPRCURSOR_THEME,rose-pine-hyprcursor"
"HYPRCURSOR_SIZE,24"
"GUM_CONFIRM_PROMPT_FOREGROUND,6" "GUM_CONFIRM_PROMPT_FOREGROUND,6"
"GUM_CONFIRM_SELECTED_FOREGROUND,0" "GUM_CONFIRM_SELECTED_FOREGROUND,0"
"GUM_CONFIRM_SELECTED_BACKGROUND,2" "GUM_CONFIRM_SELECTED_BACKGROUND,2"
+1
View File
@@ -8,6 +8,7 @@
"killall -SIGUSR2 .ghostty-wrappe" "killall -SIGUSR2 .ghostty-wrappe"
]; ];
exec-once = [ exec-once = [
"hyprpm reload -n"
"[workspace special:preload silent] uwsm app -- firefox" "[workspace special:preload silent] uwsm app -- firefox"
"[workspace special:preload silent] uwsm app -- firefox -P YouTube" "[workspace special:preload silent] uwsm app -- firefox -P YouTube"
"[workspace special:preload silent] uwsm app -- xdg-terminal-exec" "[workspace special:preload silent] uwsm app -- xdg-terminal-exec"
+18
View File
@@ -7,5 +7,23 @@
anr_missed_pings = 3; anr_missed_pings = 3;
new_window_takes_over_fullscreen = 1; 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 "$pos" > "$state_file"
echo "''${text:0:$pos}_" echo "''${text:0:$pos}_"
else else
# Blink cursor via foreground color toggle # Blink cursor via foreground color toggle (slow blink)
if [ ! -f "$blink_file" ]; then if [ ! -f "$blink_file" ]; then
echo 0 > "$blink_file" echo "0 0" > "$blink_file"
fi 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 if [ "$blink" -eq 0 ]; then
echo 1 > "$blink_file"
echo "''${text}_" echo "''${text}_"
else else
echo 0 > "$blink_file"
echo "''${text}<span fgalpha=\"1\">_</span>" echo "''${text}<span fgalpha=\"1\">_</span>"
fi fi
fi fi
+6 -1
View File
@@ -17,7 +17,12 @@
}; };
}; };
hyprland = { 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 = "nixos_rainbow.png";
wallpaper = "ai_pixel_purple.jpg"; # FIXME: redundant wallpaper = "ai_pixel_purple.jpg"; # FIXME: redundant
}; };
Generated
+25 -4
View File
@@ -333,11 +333,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1766498696, "lastModified": 1767201430,
"narHash": "sha256-74qO6ynwUav+QqNhBVn/4yoBCpU6r3/eCkX/V11uL+E=", "narHash": "sha256-4BUM06GqP5YAVnWvxkdeYuweMF6n+oKdxJI5S9TmA1E=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "f7f357f15f83612078eb0919ca08b71cac01c25e", "rev": "48a024e0322bbd7c4c88126498ec478444ec4cb2",
"revCount": 6741, "revCount": 6763,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/hyprwm/Hyprland" "url": "https://github.com/hyprwm/Hyprland"
@@ -448,6 +448,26 @@
"type": "github" "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": { "hyprtoolkit": {
"inputs": { "inputs": {
"aquamarine": [ "aquamarine": [
@@ -764,6 +784,7 @@
"elephant": "elephant", "elephant": "elephant",
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"hyprland": "hyprland", "hyprland": "hyprland",
"hyprsplit": "hyprsplit",
"nixovim": "nixovim", "nixovim": "nixovim",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"nur": "nur", "nur": "nur",
+4
View File
@@ -27,6 +27,10 @@
url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprsplit = {
url = "github:shezdy/hyprsplit";
inputs.hyprland.follows = "hyprland";
};
nixovim = { nixovim = {
# FIXME: treesitter does not install automatically (disabled due to read-only problems) # FIXME: treesitter does not install automatically (disabled due to read-only problems)
url = "git+https://git.sakamoto.dev/kenji/nixovim.git"; url = "git+https://git.sakamoto.dev/kenji/nixovim.git";
+1
View File
@@ -4,5 +4,6 @@
../../apps/jellyfin ../../apps/jellyfin
../../apps/tickrs ../../apps/tickrs
../../apps/claude ../../apps/claude
../../apps/delfin
]; ];
} }
+8
View File
@@ -1,5 +1,13 @@
{ pkgs, ... }:
{ {
imports = [ imports = [
../../apps/matugen ../../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, myConfig,
inputs,
pkgs, pkgs,
... ...
}: { }: {
programs.hyprland = { programs.hyprland = {
enable = true; enable = true;
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; # Use nixpkgs Hyprland for ABI compatibility with plugins
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
withUWSM = true; withUWSM = true;
}; };