aboutsummaryrefslogtreecommitdiffstats
path: root/modules/desktop
diff options
context:
space:
mode:
authorArpit Chakladar <54011232+arpitchakladar@users.noreply.github.com>2024-10-15 04:21:26 +0530
committerArpit Chakladar <54011232+arpitchakladar@users.noreply.github.com>2024-10-15 04:21:26 +0530
commita4fb9a83d671a4c7f3ed44df77cdee36604b5411 (patch)
treed52ba573a132c218be5e0cab67524ed2cd54ae93 /modules/desktop
parent2352b6907387b778623d8f09969cca6cb739ccc0 (diff)
downloadhome-manager-config-a4fb9a83d671a4c7f3ed44df77cdee36604b5411.tar.gz
home-manager-config-a4fb9a83d671a4c7f3ed44df77cdee36604b5411.zip
Refactoring code.
Stopped using picom. Disabled unused packages and configurations.
Diffstat (limited to 'modules/desktop')
-rw-r--r--modules/desktop/application-launcher/default.nix1
-rw-r--r--modules/desktop/application-launcher/fzf/default.nix6
-rw-r--r--modules/desktop/application-launcher/rofi/default.nix7
-rw-r--r--modules/desktop/default.nix2
-rw-r--r--modules/desktop/display-server/compositor/picom/default.nix3
-rw-r--r--modules/desktop/display-server/x11/xinit/default.nix7
-rw-r--r--modules/desktop/status-bar/polybar/bar/default.nix5
-rw-r--r--modules/desktop/status-bar/polybar/bar/main.nix8
-rw-r--r--modules/desktop/status-bar/polybar/default.nix20
-rw-r--r--modules/desktop/status-bar/polybar/module/default.nix16
-rw-r--r--modules/desktop/window-manager/sxhkd/default.nix38
-rw-r--r--modules/desktop/window-manager/sxhkd/keybindings/bspwm.nix44
-rw-r--r--modules/desktop/xdg/default.nix (renamed from modules/desktop/xdg-portal/default.nix)6
13 files changed, 85 insertions, 78 deletions
diff --git a/modules/desktop/application-launcher/default.nix b/modules/desktop/application-launcher/default.nix
index 3abb908..012deb5 100644
--- a/modules/desktop/application-launcher/default.nix
+++ b/modules/desktop/application-launcher/default.nix
@@ -12,7 +12,6 @@
"fzf"
"rofi"
];
-
description = "Select the default application launcher.";
};
diff --git a/modules/desktop/application-launcher/fzf/default.nix b/modules/desktop/application-launcher/fzf/default.nix
index 6a1c4a6..a7d12d3 100644
--- a/modules/desktop/application-launcher/fzf/default.nix
+++ b/modules/desktop/application-launcher/fzf/default.nix
@@ -15,8 +15,8 @@
desktop.application-launcher.default = lib.mkDefault "fzf";
desktop.application-launcher.command =
- if config.desktop.application-launcher.default == "fzf" then
- lib.mkForce "${config.tools.terminal.command} --title 'Application Launcher' --class floating-termial -e ${(pkgs.writeShellScript "fzf-launch.sh" (builtins.readFile ./launch.sh))}"
- else "";
+ lib.mkIf
+ (config.desktop.application-launcher.default == "fzf")
+ "${config.tools.terminal.command} --title 'Application Launcher' --class floating-termial -e ${(pkgs.writeShellScript "fzf-launch.sh" (builtins.readFile ./launch.sh))}";
};
}
diff --git a/modules/desktop/application-launcher/rofi/default.nix b/modules/desktop/application-launcher/rofi/default.nix
index 58a64a4..bfdd617 100644
--- a/modules/desktop/application-launcher/rofi/default.nix
+++ b/modules/desktop/application-launcher/rofi/default.nix
@@ -8,9 +8,10 @@
config = lib.mkIf config.desktop.application-launcher.rofi.enable {
desktop.application-launcher.default = lib.mkDefault "rofi";
desktop.application-launcher.command =
- if config.desktop.application-launcher.default == "rofi" then
- lib.mkForce "${pkgs.rofi}/bin/rofi -show run"
- else "";
+ lib.mkIf
+ (config.desktop.application-launcher.default == "rofi")
+ "${pkgs.rofi}/bin/rofi -show run";
+
programs.rofi.enable = true;
programs.rofi.font = "${config.fonts.normal} ${toString config.fonts.size}";
programs.rofi.theme = config.scheme {
diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix
index e015ea9..edb8959 100644
--- a/modules/desktop/default.nix
+++ b/modules/desktop/default.nix
@@ -6,6 +6,6 @@
./display-server
./status-bar
./window-manager
- ./xdg-portal
+ ./xdg
];
}
diff --git a/modules/desktop/display-server/compositor/picom/default.nix b/modules/desktop/display-server/compositor/picom/default.nix
index f138793..750fd1e 100644
--- a/modules/desktop/display-server/compositor/picom/default.nix
+++ b/modules/desktop/display-server/compositor/picom/default.nix
@@ -13,11 +13,12 @@
services.picom.settings = {
blur-background = false;
background = "#000000";
+ transparent-clipping = true;
};
services.picom.activeOpacity = 0.8;
services.picom.inactiveOpacity = 0.8;
services.picom.opacityRules = [
- "70:class_g = 'Polybar'" # 70% opacity for Polybar
+ "100:class_g = 'Polybar'" # 70% opacity for Polybar
];
};
}
diff --git a/modules/desktop/display-server/x11/xinit/default.nix b/modules/desktop/display-server/x11/xinit/default.nix
index d2a59f7..7078ca2 100644
--- a/modules/desktop/display-server/x11/xinit/default.nix
+++ b/modules/desktop/display-server/x11/xinit/default.nix
@@ -8,16 +8,13 @@
config = lib.mkIf config.desktop.display-server.x11.xinit.enable {
home.file.".xinitrc" = {
executable = true;
+
source = pkgs.writeText ".xinitrc"
''
#!/bin/sh
-xsetroot -solid "${config.scheme.withHashtag.base00}"
-${if config.desktop.display-server.compositor.picom.enable then
- "picom &"
-else ""}
${if config.tools.viewer.feh.enable then
"feh --bg-scale ${../../../../../assets/skeleton-mage.png}"
-else ""}
+else "xsetroot -solid \"${config.scheme.withHashtag.base00}\""}
${if config.desktop.status-bar.polybar.enable then
config.desktop.status-bar.polybar.command
else ""}
diff --git a/modules/desktop/status-bar/polybar/bar/default.nix b/modules/desktop/status-bar/polybar/bar/default.nix
new file mode 100644
index 0000000..23a43c4
--- /dev/null
+++ b/modules/desktop/status-bar/polybar/bar/default.nix
@@ -0,0 +1,5 @@
+{ config, lib }:
+
+{
+ "bar/main" = import ./main.nix { inherit config lib; };
+}
diff --git a/modules/desktop/status-bar/polybar/bar/main.nix b/modules/desktop/status-bar/polybar/bar/main.nix
index 660c444..25cce91 100644
--- a/modules/desktop/status-bar/polybar/bar/main.nix
+++ b/modules/desktop/status-bar/polybar/bar/main.nix
@@ -1,4 +1,4 @@
-{ config }:
+{ config, lib }:
with config.scheme.withHashtag;
let
@@ -36,9 +36,9 @@ in {
font-2 = "${config.fonts.normal}:style=Light:pixelsize=${largerFontSize};2";
modules-left =
- if config.desktop.window-manager.bspwm.enable then
- "bspwm separator"
- else null;
+ lib.mkIf
+ config.desktop.window-manager.bspwm.enable
+ "bspwm separator";
modules-center = "xwindow";
modules-right = "separator memory cpu battery time date kernel-version";
}
diff --git a/modules/desktop/status-bar/polybar/default.nix b/modules/desktop/status-bar/polybar/default.nix
index 05fb79a..0ea66c7 100644
--- a/modules/desktop/status-bar/polybar/default.nix
+++ b/modules/desktop/status-bar/polybar/default.nix
@@ -20,21 +20,9 @@ POLYBAR_WIDTH=$((MONITOR_WIDTH - 2 * OFFSET)) POLYBAR_OFFSET=$OFFSET polybar mai
config = lib.mkIf config.desktop.status-bar.polybar.enable {
services.polybar.enable = true;
services.polybar.script = config.desktop.status-bar.polybar.command;
-
- services.polybar.config = {
- "bar/main" = import ./bar/main.nix { inherit config; };
- "module/separator" = import ./module/separator.nix { inherit config; };
- "module/xwindow" = import ./module/xwindow.nix { inherit config; };
- "module/bspwm" =
- if config.desktop.window-manager.bspwm.enable then
- import ./module/bspwm.nix { inherit config; }
- else null;
- "module/cpu" = import ./module/cpu.nix { inherit config; };
- "module/memory" = import ./module/memory.nix { inherit config; };
- "module/date" = import ./module/date.nix { inherit config; };
- "module/time" = import ./module/time.nix { inherit config; };
- "module/battery" = import ./module/battery.nix { inherit config; };
- "module/kernel-version" = import ./module/kernel-version.nix { inherit config; };
- };
+ services.polybar.config = lib.mkMerge [
+ (import ./bar { inherit config lib; })
+ (import ./module { inherit config lib; })
+ ];
};
}
diff --git a/modules/desktop/status-bar/polybar/module/default.nix b/modules/desktop/status-bar/polybar/module/default.nix
new file mode 100644
index 0000000..3444086
--- /dev/null
+++ b/modules/desktop/status-bar/polybar/module/default.nix
@@ -0,0 +1,16 @@
+{ config, lib }:
+
+{
+ "module/separator" = import ./separator.nix { inherit config; };
+ "module/xwindow" = import ./xwindow.nix { inherit config; };
+ "module/bspwm" =
+ lib.mkIf
+ config.desktop.window-manager.bspwm.enable
+ (import ./bspwm.nix { inherit config; });
+ "module/cpu" = import ./cpu.nix { inherit config; };
+ "module/memory" = import ./memory.nix { inherit config; };
+ "module/date" = import ./date.nix { inherit config; };
+ "module/time" = import ./time.nix { inherit config; };
+ "module/battery" = import ./battery.nix { inherit config; };
+ "module/kernel-version" = import ./kernel-version.nix { inherit config; };
+}
diff --git a/modules/desktop/window-manager/sxhkd/default.nix b/modules/desktop/window-manager/sxhkd/default.nix
index 953cfd3..f4678c3 100644
--- a/modules/desktop/window-manager/sxhkd/default.nix
+++ b/modules/desktop/window-manager/sxhkd/default.nix
@@ -11,36 +11,36 @@
services.sxhkd.keybindings =
let
modKey = "alt";
- createKeybinding = keybinding: description: "# ${description}\n${modKey} + ${keybinding}";
+ createKeybinding = keybinding: description: command: {
+ "# ${description}\n${modKey} + ${keybinding}" = command;
+ };
in lib.mkMerge [
(
if config.desktop.window-manager.bspwm.enable then
- (import ./keybindings/bspwm.nix { inherit pkgs createKeybinding; })
+ (import ./keybindings/bspwm.nix { inherit pkgs createKeybinding lib; })
else {}
)
- {
- ${(createKeybinding
+ (lib.mkMerge [
+ (createKeybinding
"s"
- "Show keybindings.")}
- = pkgs.writeShellScript
- "keybindings.sh"
- (builtins.readFile ./scripts/keybindings.sh);
+ "Show keybindings."
+ (pkgs.writeShellScript "keybindings.sh" (builtins.readFile ./scripts/keybindings.sh)))
- ${(createKeybinding
- "r"
- "Application launcher.")}
- = config.desktop.application-launcher.command;
+ (createKeybinding
+ "space"
+ "Application launcher."
+ config.desktop.application-launcher.command)
- ${(createKeybinding
+ (createKeybinding
"t"
- "Launch terminal.")}
- = config.tools.terminal.command;
+ "Launch terminal."
+ config.tools.terminal.command)
- ${(createKeybinding
+ (createKeybinding
"f"
- "Launch File Manager.")}
- = "${config.tools.terminal.command} --title 'File Manager' --class floating-termial -e ${config.tools.file-manager.command}";
- }
+ "Launch File Manager."
+ "${config.tools.terminal.command} --title 'File Manager' --class floating-termial -e ${config.tools.file-manager.command}")
+ ])
];
};
}
diff --git a/modules/desktop/window-manager/sxhkd/keybindings/bspwm.nix b/modules/desktop/window-manager/sxhkd/keybindings/bspwm.nix
index 1d66d16..ed62ed4 100644
--- a/modules/desktop/window-manager/sxhkd/keybindings/bspwm.nix
+++ b/modules/desktop/window-manager/sxhkd/keybindings/bspwm.nix
@@ -1,38 +1,38 @@
-{ createKeybinding, pkgs }:
+{ createKeybinding, pkgs, lib }:
let
bspc = "${pkgs.bspwm}/bin/bspc";
-in {
- ${(createKeybinding
+in lib.mkMerge [
+ (createKeybinding
"q"
- "Kill current window.")}
- = "${bspc} node -c";
+ "Kill current window."
+ "${bspc} node -c")
- ${(createKeybinding
+ (createKeybinding
"{1-9,0}"
- "Switch workspace.")}
- = "${bspc} desktop -f {1-9,10}";
+ "Switch workspace."
+ "${bspc} desktop -f {1-9,10}")
- ${(createKeybinding
+ (createKeybinding
"shift + {1-9,0}"
- "Move window to workspace.")}
- = "${bspc} node -d {1-9,10} --follow";
+ "Move window to workspace."
+ "${bspc} node -d {1-9,10} --follow")
- ${(createKeybinding
+ (createKeybinding
"{n,d,m}"
- "Set current window mode (tiled, floating, fullscreen).")}
- = "${bspc} node focused -t {tiled,floating,fullscreen}";
+ "Set current window mode (tiled, floating, fullscreen)."
+ "${bspc} node focused -t {tiled,floating,fullscreen}")
- ${(createKeybinding
+ (createKeybinding
"{_,shift + }{h,j,k,l}"
- "Navigate between windows.")}
- = "${bspc} node --{focus,swap} {west,south,north,east}";
+ "Navigate between windows."
+ "${bspc} node --{focus,swap} {west,south,north,east}")
# the indentation for each line is required to work with the help prompt
- ${(createKeybinding
+ (createKeybinding
"ctrl + {h,j,k,l}"
- "Resize current window.")}
- = ''
+ "Resize current window."
+ ''
${bspc} node {@parent/second -z left -20 0; \
@parent/first -z right -20 0, \
@parent/second -z top 0 +20; \
@@ -41,5 +41,5 @@ in {
@parent/second -z top 0 -20, \
@parent/first -z right +20 0; \
@parent/second -z left +20 0}
-'';
-}
+'')
+]
diff --git a/modules/desktop/xdg-portal/default.nix b/modules/desktop/xdg/default.nix
index a3681ef..a1614f4 100644
--- a/modules/desktop/xdg-portal/default.nix
+++ b/modules/desktop/xdg/default.nix
@@ -1,11 +1,11 @@
{ pkgs, config, lib, ... }:
{
- options.desktop.xdg-portal = {
- enable = lib.mkEnableOption "Enables xdg desktop portal.";
+ options.desktop.xdg = {
+ portal.enable = lib.mkEnableOption "Enables xdg desktop portal.";
};
- config = lib.mkIf config.desktop.xdg-portal.enable {
+ config = lib.mkIf config.desktop.xdg.portal.enable {
xdg.portal.enable = true;
xdg.portal.xdgOpenUsePortal = true;