From 47dde98fd2cf11ea544bb1c8d8d548ee0bda0f54 Mon Sep 17 00:00:00 2001 From: Alexander Kassouni Date: Wed, 2 Sep 2026 21:20:10 -0700 Subject: some sway stuff --- users/kassouni/desktop/xmonad/default.nix | 7 +++ users/kassouni/desktop/xmonad/rofi.nix | 79 +++++++++++++++++++++++++++++ users/kassouni/desktop/xmonad/xbindkeys.nix | 32 ++++++++++++ users/kassouni/desktop/xmonad/xmonad.nix | 9 ++++ 4 files changed, 127 insertions(+) create mode 100644 users/kassouni/desktop/xmonad/default.nix create mode 100644 users/kassouni/desktop/xmonad/rofi.nix create mode 100644 users/kassouni/desktop/xmonad/xbindkeys.nix create mode 100644 users/kassouni/desktop/xmonad/xmonad.nix (limited to 'users/kassouni/desktop/xmonad') 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; + }; +} + -- cgit v1.3.1