aboutsummaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-26 18:21:26 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-26 18:21:26 +0530
commitae21713f260fc1599c36c0e4cf572d24b0379ef4 (patch)
tree6882a7b3d606e62d463e544e01e575c7a563a003 /modules
parent65e1ce5e82c0d272d91ca4213b0d27548768c2e7 (diff)
downloadhome-manager-config-ae21713f260fc1599c36c0e4cf572d24b0379ef4.tar.gz
home-manager-config-ae21713f260fc1599c36c0e4cf572d24b0379ef4.zip
feat: hyprland keybindings, neomutt refactoring
- Fixed the keybinding to resize the windows to 50% and 100% (Super + =) - Left Click + Drag on mouse to move windows - Right Click + Drag on mouse to resize
Diffstat (limited to 'modules')
-rw-r--r--modules/communication/neomutt/default.nix19
-rw-r--r--modules/desktop/hyprland/default.nix13
-rw-r--r--modules/desktop/hyprland/keybindings.nix15
-rw-r--r--modules/desktop/rofi/default.nix1
-rw-r--r--modules/desktop/waybar/bar/main.nix3
-rw-r--r--modules/desktop/waybar/module/default.nix41
-rw-r--r--modules/desktop/waybar/module/workspaces.nix3
-rw-r--r--modules/file-management/default.nix1
-rw-r--r--modules/media/default.nix1
-rw-r--r--modules/networking/default.nix1
-rw-r--r--modules/office/default.nix1
-rw-r--r--modules/web/chromium/default.nix12
12 files changed, 59 insertions, 52 deletions
diff --git a/modules/communication/neomutt/default.nix b/modules/communication/neomutt/default.nix
index 70f286b..4bd1800 100644
--- a/modules/communication/neomutt/default.nix
+++ b/modules/communication/neomutt/default.nix
@@ -22,15 +22,24 @@
type = lib.types.package;
default = pkgs.symlinkJoin {
name = "neomutt-wrapped";
- paths = with pkgs; [
- neomutt
- urlscan
- ];
+ paths = [ pkgs.neomutt ];
+ nativeBuildInputs = [ pkgs.makeWrapper ];
+ postBuild = ''
+ wrapProgram $out/bin/neomutt \
+ --prefix PATH : ${lib.makeBinPath [ pkgs.urlscan ]}
+ '';
+ meta.mainProgram = "neomutt";
};
defaultText = lib.literalExpression ''
pkgs.symlinkJoin {
name = "neomutt-wrapped";
- paths = with pkgs; [ neomutt urlscan ];
+ paths = [ pkgs.neomutt ];
+ nativeBuildInputs = [ pkgs.makeWrapper ];
+ postBuild = '''
+ wrapProgram $out/bin/neomutt \
+ --prefix PATH : ''${lib.makeBinPath [ pkgs.urlscan ]}
+ ''';
+ meta.mainProgram = "neomutt";
}
'';
description = "The neomutt package to use, wrapped with urlscan in PATH.";
diff --git a/modules/desktop/hyprland/default.nix b/modules/desktop/hyprland/default.nix
index 09f2639..c1e3053 100644
--- a/modules/desktop/hyprland/default.nix
+++ b/modules/desktop/hyprland/default.nix
@@ -145,19 +145,6 @@ in
preserve_split = true;
};
};
-
- window_rule = [
- {
- name = "float-file-explorer";
- match.class = "^(file-explorer)$";
- float = true;
- }
- {
- name = "center-file-explorer";
- match.class = "^(file-explorer)$";
- center = true;
- }
- ];
};
};
diff --git a/modules/desktop/hyprland/keybindings.nix b/modules/desktop/hyprland/keybindings.nix
index f5c98b5..1ac1d9a 100644
--- a/modules/desktop/hyprland/keybindings.nix
+++ b/modules/desktop/hyprland/keybindings.nix
@@ -21,12 +21,23 @@ let
];
};
+ bindMouse = key: dispatcher: {
+ _args = [
+ (lua "mainMod .. \" + ${key}\"")
+ (lua dispatcher)
+ { mouse = true; }
+ ];
+ };
+
execLua = cmd: "hl.dsp.exec_cmd(\"${cmd}\")";
execLuaSingle = cmd: "hl.dsp.exec_cmd('${cmd}')";
in
{
config.wayland.windowManager.hyprland.settings.bind = lib.flatten [
+ (bindMouse "mouse:272" "hl.dsp.window.drag()") # mainMod + LMB drag: move
+ (bindMouse "mouse:273" "hl.dsp.window.resize()") # mainMod + RMB drag: resize
+
(lib.optionals config.desktop.rofi.enable [
(bind "R" (execLua "${lib.getExe config.desktop.rofi.package} -show drun"))
])
@@ -35,11 +46,11 @@ in
])
(lib.optionals (config.terminal.kitty.enable && config.file-management.yazi.enable) [
(bind "F" (
- execLua "${lib.getExe config.terminal.kitty.package} --class file-explorer --title 'Yazi' -e ${lib.getExe config.file-management.yazi.package}"
+ execLua "${lib.getExe config.terminal.kitty.package} --class yazi --title 'Yazi' -e ${lib.getExe config.file-management.yazi.package}"
))
])
(bind "SHIFT + Q" "hl.dsp.window.close()")
- (bind "Equal" (execLua "layoutmsg colresize +conf"))
+ (bind "Equal" "hl.dsp.layout(\"colresize +conf\")")
(lib.optionals config.system.brightnessctl.enable [
(bindRawFlags "XF86MonBrightnessDown"
diff --git a/modules/desktop/rofi/default.nix b/modules/desktop/rofi/default.nix
index 8ef6bdc..797cbe9 100644
--- a/modules/desktop/rofi/default.nix
+++ b/modules/desktop/rofi/default.nix
@@ -1,7 +1,6 @@
{
config,
lib,
- pkgs,
...
}:
{
diff --git a/modules/desktop/waybar/bar/main.nix b/modules/desktop/waybar/bar/main.nix
index ce8ec52..4bbbc8b 100644
--- a/modules/desktop/waybar/bar/main.nix
+++ b/modules/desktop/waybar/bar/main.nix
@@ -1,5 +1,4 @@
-{ config }:
-with config.scheme.withHashtag;
+{ ... }:
{
layer = "top";
position = "top";
diff --git a/modules/desktop/waybar/module/default.nix b/modules/desktop/waybar/module/default.nix
index 2f9f83c..99b8420 100644
--- a/modules/desktop/waybar/module/default.nix
+++ b/modules/desktop/waybar/module/default.nix
@@ -1,30 +1,27 @@
{
- config,
lib,
- pkgs,
...
-}:
+}@input:
let
inherit (import ../lib.nix { inherit lib; }) mkIcon;
+
+ args = input // {
+ inherit mkIcon;
+ };
+
+ modules = {
+ "battery" = ./battery.nix;
+ "cpu" = ./cpu.nix;
+ "clock#date" = ./date.nix;
+ "memory" = ./memory.nix;
+ "network" = ./network.nix;
+ "clock#time" = ./time.nix;
+ "pulseaudio" = ./volume.nix;
+ "custom/vpn" = ./vpn.nix;
+ "hyprland/window" = ./window.nix;
+ "hyprland/workspaces" = ./workspaces.nix;
+ };
in
{
- mainBar = {
- "battery" = import ./battery.nix { inherit config mkIcon; };
- "cpu" = import ./cpu.nix { inherit config mkIcon; };
- "clock#date" = import ./date.nix { inherit config mkIcon; };
- "memory" = import ./memory.nix { inherit config mkIcon; };
- "network" = import ./network.nix { inherit config mkIcon; };
- "clock#time" = import ./time.nix { inherit config mkIcon; };
- "pulseaudio" = import ./volume.nix { inherit config mkIcon; };
- "custom/vpn" = import ./vpn.nix {
- inherit
- config
- lib
- pkgs
- mkIcon
- ;
- };
- "hyprland/window" = import ./window.nix { inherit config; };
- "hyprland/workspaces" = import ./workspaces.nix { inherit config lib mkIcon; };
- };
+ mainBar = lib.mapAttrs (_name: path: import path args) modules;
}
diff --git a/modules/desktop/waybar/module/workspaces.nix b/modules/desktop/waybar/module/workspaces.nix
index 9f9e3be..ccfeaa6 100644
--- a/modules/desktop/waybar/module/workspaces.nix
+++ b/modules/desktop/waybar/module/workspaces.nix
@@ -2,8 +2,8 @@
config,
lib,
mkIcon,
+ ...
}:
-with config.scheme.withHashtag;
let
mkWindowRewrite =
enable: color: icon:
@@ -39,7 +39,6 @@ in
"class<.virt-manager-wrapped>" = mkWindowRewrite config.development.qemu.enable "#AD8AFF" "󰟀";
"class<opencode>" = mkWindowRewrite config.development.opencode.enable "#98C379" "󰘦";
"class<io.ente.auth>" = mkWindowRewrite config.security.enteauth.enable "#E5C07B" "󰍀";
- "class<file-explorer>" = mkWindowRewrite config.file-management.yazi.enable "#56B6C2" "󰉋";
"class<yazi>" = mkWindowRewrite config.file-management.yazi.enable "#56B6C2" "󰉋";
"class<w3m>" = mkWindowRewrite config.web.w3m.enable "#8BE9FD" "󰖟";
"class<bluetui>" = mkWindowRewrite config.networking.bluetui.enable "#BD93F9" "";
diff --git a/modules/file-management/default.nix b/modules/file-management/default.nix
index f31f998..304097a 100644
--- a/modules/file-management/default.nix
+++ b/modules/file-management/default.nix
@@ -1,6 +1,5 @@
# File Management - File manager and utility modules (yazi, lsd, ouch)
{ ... }:
-
{
imports = [
./yazi
diff --git a/modules/media/default.nix b/modules/media/default.nix
index 0690e1e..21fd596 100644
--- a/modules/media/default.nix
+++ b/modules/media/default.nix
@@ -1,6 +1,5 @@
# Media - Multimedia tools (feh, grim, pamixer, playerctl, slurp, vlc, wf-recorder)
{ ... }:
-
{
imports = [
./feh
diff --git a/modules/networking/default.nix b/modules/networking/default.nix
index 43751ef..17bbf38 100644
--- a/modules/networking/default.nix
+++ b/modules/networking/default.nix
@@ -1,6 +1,5 @@
# Networking - Network utility modules (bluetui, impala)
{ ... }:
-
{
imports = [
./bluetui
diff --git a/modules/office/default.nix b/modules/office/default.nix
index 1e8fb96..c101580 100644
--- a/modules/office/default.nix
+++ b/modules/office/default.nix
@@ -1,6 +1,5 @@
# Office - Document viewer modules (zathura)
{ ... }:
-
{
imports = [
./zathura
diff --git a/modules/web/chromium/default.nix b/modules/web/chromium/default.nix
index 380d2ea..86ebde9 100644
--- a/modules/web/chromium/default.nix
+++ b/modules/web/chromium/default.nix
@@ -32,7 +32,7 @@
{ id = "naepdomgkenhinolocfifgehidddafch"; } # Browserpass
{ id = "kioklelcojgbjoljlilalgdcppkiioge"; } # Quite Black
{ id = "eimadpbcbfnmbkopoojfekhnkhdbieeh"; } # Dark Reader
- { id = "hpejmncgbammabkkodflfeekpcicfjnk"; } # Aria2 Explorer
+ { id = "mpkodccbngfoacfalldjimigbofkhgjn"; } # Aria2 Explorer
];
};
@@ -53,6 +53,16 @@
follows_system_colors = true;
};
};
+ search = {
+ suggest_enabled = false;
+ };
+ url_handling = {
+ show_full_urls = true;
+ };
+ autofill = {
+ profile_enabled = false;
+ credit_card_enabled = false;
+ };
vertical_tabs = {
collapsed_state = true;
enabled = true;