From d2333f1c065e10ae64bca006e6efa74f895e3876 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Sun, 15 Mar 2026 02:28:55 +0530 Subject: Some minor refactoring --- modules/desktop/default.nix | 3 +-- modules/desktop/i3/default.nix | 4 +-- modules/desktop/i3/keybindings.nix | 39 ++++++++++++++++++++---------- modules/desktop/polybar/bar/default.nix | 4 +-- modules/desktop/polybar/bar/main.nix | 2 +- modules/desktop/polybar/default.nix | 4 +-- modules/desktop/polybar/module/default.nix | 4 +-- modules/desktop/polybar/module/xwindow.nix | 2 +- 8 files changed, 37 insertions(+), 25 deletions(-) (limited to 'modules/desktop') diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index 8af472a..5926913 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -1,7 +1,6 @@ { lib, config, - pkgs, ... }: @@ -22,7 +21,7 @@ home.file.".xinitrc" = { text = '' - #!/bin/sh + #!/usr/bin/env sh [ -f ~/.Xresources ] && xrdb -merge ~/.Xresources [ -f ~/.profile ] && . ~/.profile diff --git a/modules/desktop/i3/default.nix b/modules/desktop/i3/default.nix index 718837e..d5f42e2 100644 --- a/modules/desktop/i3/default.nix +++ b/modules/desktop/i3/default.nix @@ -71,7 +71,7 @@ { command = if config.tools.feh.enable then - "${pkgs.feh}/bin/feh --bg-scale ${../../../assets/skeleton-mage.png}" + "${lib.getExe pkgs.feh} --bg-scale ${../../../assets/skeleton-mage.png}" else "xsetroot -solid \"${config.scheme.withHashtag.base00}\""; always = true; @@ -79,7 +79,7 @@ } ]; - keybindings = lib.mkOptionDefault (import ./keybindings.nix { inherit pkgs lib; }); + keybindings = lib.mkOptionDefault (import ./keybindings.nix { inherit pkgs lib config; }); }; extraConfig = '' exec_always --no-startup-id xrandr -q | grep -w 'connected' | cut -d' ' -f1 | xargs -I{} i3-msg "workspace 1 output {}" diff --git a/modules/desktop/i3/keybindings.nix b/modules/desktop/i3/keybindings.nix index e61c1b5..596b38b 100644 --- a/modules/desktop/i3/keybindings.nix +++ b/modules/desktop/i3/keybindings.nix @@ -1,23 +1,35 @@ -{ pkgs, lib }: +{ + pkgs, + lib, + config, +}: let mod = "Mod4"; in { # --- General Applications --- - "${mod}+r" = "exec rofi -show drun"; - "${mod}+t" = "exec ${pkgs.kitty}/bin/kitty"; - "${mod}+f" = "exec kitty --title 'File Manager' --class floating-termial -e nnn"; - "${mod}+s" = "exec kitty --title 'Keybindings' --class floating-termial -e keybindings.sh"; + "${mod}+r" = lib.mkIf config.tools.rofi.enable "exec ${lib.getExe pkgs.rofi} -show drun"; + "${mod}+t" = lib.mkIf config.tools.kitty.enable "exec ${lib.getExe pkgs.kitty}"; + "${mod}+f" = + lib.mkIf config.tools.kitty.enable "exec ${lib.getExe pkgs.kitty} --title 'File Manager' --class floating-termial -e nnn"; + "${mod}+s" = + lib.mkIf config.tools.kitty.enable "exec ${lib.getExe pkgs.kitty} --title 'Keybindings' --class floating-termial -e keybindings.sh"; "${mod}+q" = "kill"; # --- Media / Hardware Keys --- - "XF86MonBrightnessDown" = "exec brightnessctl set 5%-"; - "XF86MonBrightnessUp" = "exec brightnessctl set +5%"; - "XF86AudioLowerVolume" = "exec pamixer --decrease 5"; - "XF86AudioRaiseVolume" = "exec pamixer --increase 5"; - "XF86AudioMute" = "exec pamixer --toggle-mute"; - "XF86AudioPlay" = "exec playerctl play-pause"; + "XF86MonBrightnessDown" = + lib.mkIf config.tools.brightnessctl.enable "exec ${lib.getExe pkgs.brightnessctl} set 5%-"; + "XF86MonBrightnessUp" = + lib.mkIf config.tools.brightnessctl.enable "exec ${lib.getExe pkgs.brightnessctl} set +5%"; + "XF86AudioLowerVolume" = + lib.mkIf config.tools.pamixer.enable "exec ${lib.getExe pkgs.pamixer} --decrease 5"; + "XF86AudioRaiseVolume" = + lib.mkIf config.tools.pamixer.enable "exec ${lib.getExe pkgs.pamixer} --increase 5"; + "XF86AudioMute" = + lib.mkIf config.tools.pamixer.enable "exec ${lib.getExe pkgs.pamixer} --toggle-mute"; + "XF86AudioPlay" = + lib.mkIf config.tools.playerctl.enable "exec ${lib.getExe pkgs.playerctl} play-pause"; # --- Window Management (Vim-style) --- # Focus @@ -69,7 +81,8 @@ in "${mod}+Shift+0" = "move container to workspace number 10; workspace number 10"; # --- Screenshots --- - "${mod}+p" = "exec \"maim -s | xclip -selection clipboard -t image/png\""; + "${mod}+p" = + lib.mkIf config.tools.maim.enable "exec \"${lib.getExe pkgs.maim} -s | xclip -selection clipboard -t image/png\""; "${mod}+Shift+p" = - "exec \"mkdir -p ~/Pictures/Screenshots && maim -s ~/Pictures/Screenshots/screenshot-$(date +%Y%m%d-%H%M%S).png\""; + lib.mkIf config.tools.maim.enable "exec \"mkdir -p ~/Pictures/Screenshots && ${lib.getExe pkgs.maim} -s ~/Pictures/Screenshots/screenshot-$(date +%Y%m%d-%H%M%S).png\""; } diff --git a/modules/desktop/polybar/bar/default.nix b/modules/desktop/polybar/bar/default.nix index 9efe672..ce6db3b 100644 --- a/modules/desktop/polybar/bar/default.nix +++ b/modules/desktop/polybar/bar/default.nix @@ -1,5 +1,5 @@ -{ config, lib }: +{ config }: { - "bar/main" = import ./main.nix { inherit config lib; }; + "bar/main" = import ./main.nix { inherit config; }; } diff --git a/modules/desktop/polybar/bar/main.nix b/modules/desktop/polybar/bar/main.nix index 8b44f8c..e05d9b4 100644 --- a/modules/desktop/polybar/bar/main.nix +++ b/modules/desktop/polybar/bar/main.nix @@ -1,4 +1,4 @@ -{ config, lib }: +{ config }: with config.scheme.withHashtag; let diff --git a/modules/desktop/polybar/default.nix b/modules/desktop/polybar/default.nix index b46fc17..a07c0c6 100644 --- a/modules/desktop/polybar/default.nix +++ b/modules/desktop/polybar/default.nix @@ -16,8 +16,8 @@ ); services.polybar.script = "${config.services.polybar.package}/bin/polybar main &"; services.polybar.config = lib.mkMerge [ - (import ./bar { inherit config lib; }) - (import ./module { inherit config lib; }) + (import ./bar { inherit config; }) + (import ./module { inherit config; }) { settings = { screenchange-reload = true; diff --git a/modules/desktop/polybar/module/default.nix b/modules/desktop/polybar/module/default.nix index 05f6946..2295ac6 100644 --- a/modules/desktop/polybar/module/default.nix +++ b/modules/desktop/polybar/module/default.nix @@ -1,4 +1,4 @@ -{ config, lib }: +{ config }: { "module/battery" = import ./battery.nix { inherit config; }; @@ -13,5 +13,5 @@ "module/volume" = import ./volume.nix { inherit config; }; "module/wifi-separator" = import ./wifi-separator.nix { inherit config; }; "module/wifi" = import ./wifi.nix { inherit config; }; - "module/xwindow" = import ./xwindow.nix { inherit config; }; + "module/xwindow" = import ./xwindow.nix { }; } diff --git a/modules/desktop/polybar/module/xwindow.nix b/modules/desktop/polybar/module/xwindow.nix index 16574f5..fd73a6b 100644 --- a/modules/desktop/polybar/module/xwindow.nix +++ b/modules/desktop/polybar/module/xwindow.nix @@ -1,4 +1,4 @@ -{ config }: +{ }: { type = "internal/xwindow"; -- cgit v1.2.3