summaryrefslogtreecommitdiff
path: root/users/kassouni/desktop/xmonad
diff options
context:
space:
mode:
authorAlexander Kassouni <alex@kassouni.net>2026-09-02 21:20:10 -0700
committerAlexander Kassouni <alex@kassouni.net>2026-09-02 21:20:10 -0700
commit47dde98fd2cf11ea544bb1c8d8d548ee0bda0f54 (patch)
treefb79c45ef1c0f0016e480e06dff625cf3fc1c91a /users/kassouni/desktop/xmonad
parent1c5fa1c205f2bb78f8e1179b0576f3c3578dad69 (diff)
some sway stuff
Diffstat (limited to 'users/kassouni/desktop/xmonad')
-rw-r--r--users/kassouni/desktop/xmonad/default.nix7
-rw-r--r--users/kassouni/desktop/xmonad/rofi.nix79
-rw-r--r--users/kassouni/desktop/xmonad/xbindkeys.nix32
-rw-r--r--users/kassouni/desktop/xmonad/xmonad.nix9
4 files changed, 127 insertions, 0 deletions
diff --git a/users/kassouni/desktop/xmonad/default.nix b/users/kassouni/desktop/xmonad/default.nix
new file mode 100644
index 0000000..d62dbe4
--- /dev/null
+++ b/users/kassouni/desktop/xmonad/default.nix
@@ -0,0 +1,7 @@
+{...}: {
+ imports = [
+ ./xmonad.nix
+ ./rofi.nix
+ ./xbindkeys.nix
+ ];
+}
diff --git a/users/kassouni/desktop/xmonad/rofi.nix b/users/kassouni/desktop/xmonad/rofi.nix
new file mode 100644
index 0000000..740047b
--- /dev/null
+++ b/users/kassouni/desktop/xmonad/rofi.nix
@@ -0,0 +1,79 @@
+{ config, ... }:
+
+let
+ inherit (config.lib.formats.rasi) mkLiteral;
+ colors = config.colorScheme;
+in
+{
+ programs.rofi = {
+ enable = true;
+ font = "${config.theme.font.family} ${builtins.toString config.theme.font.size}";
+
+ theme = {
+ "*" = {
+ background-color = mkLiteral "transparent";
+ text-color = mkLiteral colors.editor.fg;
+ };
+
+ window = {
+ background-color = mkLiteral colors.ui.popup.bg;
+ border = mkLiteral "2px";
+ border-color = mkLiteral colors.ui.line;
+ border-radius = mkLiteral "8px";
+ padding = mkLiteral "16px";
+ width = mkLiteral "40%";
+ };
+
+ inputbar = {
+ children = map mkLiteral [ "prompt" "entry" ];
+ background-color = mkLiteral colors.ui.panel.bg;
+ border-radius = mkLiteral "4px";
+ padding = mkLiteral "8px";
+ spacing = mkLiteral "8px";
+ };
+
+ prompt = {
+ text-color = mkLiteral colors.common.accent.tint;
+ };
+
+ entry = {
+ placeholder = "Search";
+ placeholder-color = mkLiteral colors.ui.fg;
+ };
+
+ listview = {
+ lines = 8;
+ scrollbar = false;
+ spacing = mkLiteral "2px";
+ margin = mkLiteral "12px 0px 0px 0px";
+ };
+
+ element = {
+ padding = mkLiteral "8px";
+ border-radius = mkLiteral "4px";
+ spacing = mkLiteral "8px";
+ };
+
+ "element normal urgent" = {
+ text-color = mkLiteral colors.common.error;
+ };
+
+ "element normal active" = {
+ text-color = mkLiteral colors.common.accent.tint;
+ };
+
+ "element selected normal" = {
+ background-color = mkLiteral colors.common.accent.tint;
+ text-color = mkLiteral colors.surface.base;
+ };
+
+ element-icon = {
+ size = mkLiteral "1em";
+ };
+
+ element-text = {
+ text-color = mkLiteral "inherit";
+ };
+ };
+ };
+}
diff --git a/users/kassouni/desktop/xmonad/xbindkeys.nix b/users/kassouni/desktop/xmonad/xbindkeys.nix
new file mode 100644
index 0000000..41ef7ed
--- /dev/null
+++ b/users/kassouni/desktop/xmonad/xbindkeys.nix
@@ -0,0 +1,32 @@
+{ pkgs, ... }:
+let
+ wpctl = "${pkgs.wireplumber}/bin/wpctl";
+
+ xbindkeysrc = pkgs.writeText "xbindkeysrc" ''
+ "${wpctl} set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+"
+ XF86AudioRaiseVolume
+
+ "${wpctl} set-volume @DEFAULT_AUDIO_SINK@ 5%-"
+ XF86AudioLowerVolume
+
+ "${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle"
+ XF86AudioMute
+ '';
+in
+{
+ systemd.user.services.xbindkeys = {
+ Unit = {
+ Description = "xbindkeys";
+ PartOf = [ "graphical-session.target" ];
+ After = [ "graphical-session.target" ];
+ };
+
+ Service = {
+ # -n keeps it in the foreground so systemd can supervise it
+ ExecStart = "${pkgs.xbindkeys}/bin/xbindkeys -n -f ${xbindkeysrc}";
+ Restart = "on-failure";
+ };
+
+ Install.WantedBy = [ "graphical-session.target" ];
+ };
+}
diff --git a/users/kassouni/desktop/xmonad/xmonad.nix b/users/kassouni/desktop/xmonad/xmonad.nix
new file mode 100644
index 0000000..d49dcc1
--- /dev/null
+++ b/users/kassouni/desktop/xmonad/xmonad.nix
@@ -0,0 +1,9 @@
+{pkgs, config, ...}: {
+ xmonad-config = {
+ launcher = "rofi -show drun -show-icons";
+ terminal = "ghostty";
+ wallpaper = config.theme.desktop.wallpaper;
+ xmobar.font = config.theme.font;
+ };
+}
+