diff options
| author | Alexander Kassouni <alex@kassouni.net> | 2026-08-29 23:53:40 -0700 |
|---|---|---|
| committer | Alexander Kassouni <alex@kassouni.net> | 2026-08-29 23:53:40 -0700 |
| commit | af99b4960a9bf1043234354d685ed23818c14aaa (patch) | |
| tree | 9d6bd855c76c2c99e16321e1df4eeaadade28739 /users/kassouni/wayland | |
| parent | 8dcf355819cc6cd1e87924218c1adcd900ecda84 (diff) | |
new laptop
Diffstat (limited to 'users/kassouni/wayland')
| -rw-r--r-- | users/kassouni/wayland/default.nix | 8 | ||||
| -rw-r--r-- | users/kassouni/wayland/fuzzel.nix | 23 | ||||
| -rw-r--r-- | users/kassouni/wayland/sway.nix | 39 | ||||
| -rw-r--r-- | users/kassouni/wayland/waybar.nix | 115 |
4 files changed, 185 insertions, 0 deletions
diff --git a/users/kassouni/wayland/default.nix b/users/kassouni/wayland/default.nix new file mode 100644 index 0000000..947924a --- /dev/null +++ b/users/kassouni/wayland/default.nix @@ -0,0 +1,8 @@ +{...}: { + imports = [ + ./waybar.nix + ./sway.nix + ./fuzzel.nix + ]; +} + diff --git a/users/kassouni/wayland/fuzzel.nix b/users/kassouni/wayland/fuzzel.nix new file mode 100644 index 0000000..a716b2b --- /dev/null +++ b/users/kassouni/wayland/fuzzel.nix @@ -0,0 +1,23 @@ +{ + pkgs, + lib, + config, + ... +}: +{ + programs.fuzzel = { + enable = true; + settings = { + main = { + font = lib.mkForce "${config.theme.font.family}:size=${toString config.theme.font.size}"; + }; + + + + border = { + radius = 0; + }; + }; + }; + +} diff --git a/users/kassouni/wayland/sway.nix b/users/kassouni/wayland/sway.nix new file mode 100644 index 0000000..0cf97f7 --- /dev/null +++ b/users/kassouni/wayland/sway.nix @@ -0,0 +1,39 @@ +{ + pkgs, + config, + ... +}: +{ + programs.swaylock.enable = true; + wayland.windowManager.sway = { + enable = true; + wrapperFeatures.gtk = true; # Fixes common issues with GTK 3 apps + + config = { + window.titlebar = false; + menu = "fuzzel"; + gaps = { + }; + modifier = "Mod4"; + # Use kitty as default terminal + terminal = "foot"; + }; + extraConfig = let incr = "5"; in '' + output * scale 2 + bindsym XF86MonBrightnessDown exec brightnessctl set -e 5%- + bindsym XF86MonBrightnessUp exec brightnessctl set -e +5% + bindsym XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_SINK@ ${incr}%+ + bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_SINK@ ${incr}%- + input "type:keyboard" { + xkb_options caps:escape + } + + input "type:touchpad" { + natural_scroll enabled + dwt disabled + } + ''; + + }; +} + diff --git a/users/kassouni/wayland/waybar.nix b/users/kassouni/wayland/waybar.nix new file mode 100644 index 0000000..3026c2f --- /dev/null +++ b/users/kassouni/wayland/waybar.nix @@ -0,0 +1,115 @@ +{ pkgs, inputs, config, ... }: +{ + programs.waybar = { + enable = true; + settings = { + mainBar = + let + gap = 0; + in + { + layer = "top"; + position = "top"; + + margin-top = gap; + margin-left = gap; + margin-right = gap; + + modules-left = [ "sway/workspaces" ]; + modules-center = [ ]; + modules-right = [ + "cpu" + "wireplumber" + "battery" + "clock" + ]; + + clock = { + format = "{:%a %b %d %I:%M:%S}"; + interval = 1; + tooltip-format = "<tt>{calendar}</tt>"; + }; + + cpu = { + format = " {usage}%"; + }; + + battery = { + format = "{icon} {capacity}%"; + format-icons = { + default = [ + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + ]; + + charging = [ + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + ]; + }; + + + states = { + low = 20; + }; + }; + + wireplumber = { + format = " {volume}%"; + format-muted = " {volume}%"; + on-click = "wpctl set-mute @DEFAULT_SINK@ toggle"; + max-volume = 150; + scroll-step = 1; + }; + + }; + }; + style = '' + .module { + padding: 0px 15px 0px; + } + + #workspaces button { + font-family: ${config.theme.font.family}; + font-size: ${builtins.toString config.theme.font.size}px; + font-weight: normal; + } + + #workspaces button.focused { + } + + #workspaces button:hover { + font-weight: bold; + box-shadow: none; + text-shadow: inherit; + background: none; + transition: none; + } + + ''; + }; + + wayland.windowManager.sway.config.bars = [ + { + command = "waybar"; + } + ]; +} + |
