diff --git a/flake.nix b/flake.nix index 64c9b23..bf2566f 100644 --- a/flake.nix +++ b/flake.nix @@ -14,7 +14,10 @@ modules = [ ./hosts/absolution ./variables.nix - { config.var.username = "alyx"; } + { config.var.username = "alyx"; + config.var.hostname = "apalapucia"; + config.var.timezone = "Europe/London"; + } home-manager.nixosModules.home-manager { home-manager.extraSpecialArgs = { inherit inputs; diff --git a/home/default.nix b/home/default.nix index 662ef07..68e0a94 100644 --- a/home/default.nix +++ b/home/default.nix @@ -8,9 +8,12 @@ homeDirectory = "/home/${username}"; stateVersion = "26.05"; shell.enableBashIntegration = true; - #file = { - # we will deal with later - #}; + file = { + ".config/waybar/config".source = (if vars.user == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/newflake/home/waybar/cyberhack" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/newflake/home/waybar/modern"); + ".config/waybar/style.css".source = (if vars.user == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/newflake/home/waybar/cyberhack.css" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/newflake/home/waybar/modern.css"); + ".config/sway/config".source = config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/newflake/home/wms/sway"; + ".config/niri/config.kdl".source = config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/newflake/home/wms/niri"; + }; }; programs.home-manager.enable = true; @@ -55,7 +58,11 @@ init.defaultBranch = "master"; }; }; - + + wayland.windowManager.sway.enable = true; + wayland.windowManager.sway.xwayland = true; + wayland.windowManager.sway.package = pkgs.swayfx; + programs.obs-studio.enable = true; } diff --git a/home/waybar/cyberhack b/home/waybar/cyberhack new file mode 100644 index 0000000..5da7cb2 --- /dev/null +++ b/home/waybar/cyberhack @@ -0,0 +1,129 @@ +[{ +"position": "top", +"modules-left": ["group/traydrawer", "custom/weather"], +"modules-center": ["cpu", "group/mpdcontrols", "cpu#frequency"], +"modules-right": ["clock", "wireplumber", "battery", "memory", "disk", "group/poweroptions"], +"margin-top": 8, +"margin-left": 8, +"margin-right": 8, +"height": 40, + +"wireplumber": { + "on-click": "pavucontrol", + "format": "󰓃 {volume}%", + "format-muted": "󰓄 {volume}%", +}, + +"battery": { + "interval": 5, + "format-icons": [" ", " ", " ", " ", " "], + "states": { + "warning": 26, + "critical": 15, + "dead": 5 + }, + "format": "{icon} {capacity}%", + "tooltip-format": "BAT0, {power}W", +}, + +"group/mpdcontrols": { + "orientation": "inherit", + "drawer": { + "transition-duration": 250, + "transition-left-to-right": true + }, + "modules": ["mpd", "custom/playpause", "custom/prev", "custom/next"] +}, +"custom/playpause": { + "format": " 󰐎 ", + "on-click": "mpc toggle" +}, +"custom/prev": { + "format": " 󰒮 ", + "on-click": "mpc prev" +}, +"custom/next": { + "format": " 󰒭 ", + "on-click": "mpc next" +}, +"group/traydrawer": { + "orientation": "inherit", + "modules": ["custom/trayadvisory", "tray"], + "drawer": { + "transition-duration": 250 + } +}, + +"mpd": { + "on-click": "mpc toggle", + "format-disconnected": " MPD disconnected ", + "format-stopped": " Nothing Playing! ", + "format": "  {title} - {album} - {artist} ", + "format-paused": "  {title} - {album} - {artist} ", + "on-scroll-up": "mpc volume +5", + "on-scroll-down": "mpc volume -5" +}, + +"custom/trayadvisory": { + "format": " " +}, + +"custom/systemadvisory": { + "format": "󱖫 " +}, + +"group/poweroptions": { + "orientation": "inherit", + "modules": ["custom/poweroff", "custom/logout"], + "drawer": { + "transition-duration": 250 + } +}, + +"custom/poweroff": { + "format": "⏻ ", + "on-click": "shutdown now", +}, + +"custom/logout": { + "format": "| 󰩈 ", + "on-click": "swaymsg exit", +}, + +"custom/weather": { + "format": "{}°", + "tooltip": true, + "interval": 3600, + "exec": "wttrbar --nerd --location edinburgh", + "return-type": "json" +}, + +"group/systemstatus": { + "orientation": "inherit", + "modules": ["custom/systemadvisory", "memory", "disk"], + "drawer": { + "click-to-reveal": true, + "transition-duration": 250, + } +}, + +"cpu": { + "format": "  {usage}% ", + "states": { "highcpu": 85 }, +}, + +"cpu#frequency": { + "format": "{max_frequency}GHz" +}, + +"memory": { + "format": " {avail:0.0f} GiB  {swapAvail:0.0f} GiB" +}, + +"disk": { + "format": " {specific_free:0.1f} GiB", + "unit": "GiB", +}, + + +}] diff --git a/home/waybar/cyberhack.css b/home/waybar/cyberhack.css new file mode 100644 index 0000000..0224e0e --- /dev/null +++ b/home/waybar/cyberhack.css @@ -0,0 +1,49 @@ +#waybar { + font-family: "DepartureMono Nerd Font"; + background: rgba(0, 36, 40, 0.999); + color: rgba(0, 255, 255, 0.999); + border: 2px solid rgba(0, 146, 148, 0.999); + border-radius: 11px; +} + +#wireplumber, +#cpu, +#cpu-frequency, +#battery, +#clock, +#memory, +#disk, +#mpdcontrols, +#poweroptions +{ + border: 2px solid rgba(0, 146, 148, 0.999); + /*margin: 3px;*/ + min-height: 0; + margin-left: 4px; + margin-right: 4px; + margin-top: 7px; + margin-bottom: 7px; + padding: 2px; + padding-left: 5px; + padding-right: 5px; + border-radius: 4px; +} + +#custom-trayadvisory { + margin: 3px 10px 3px; +} + +#poweroptions { + margin-right: 10px; + padding-left: 8px; +} + +#mpd.playing { + background: rgba(0, 100, 40, 0.4); + color: rgba(87, 255, 0, 1); +} + +#cpu.highcpu { + background: rgba(121, 93, 201, 0.2); + color: rgba(87, 255, 0, 1); +} diff --git a/home/waybar/modern b/home/waybar/modern new file mode 100644 index 0000000..899b734 --- /dev/null +++ b/home/waybar/modern @@ -0,0 +1,146 @@ +[ + { + "layer": "top", + "margin-top": 10, + "margin-left": 12, + "margin-right": 12, + "height": 35, + "spacing": 5, + "position": "top", + "modules-center": ["group/mpdg"], + "modules-left": ["group/dtray", "battery", "battery#bat1", "battery#bat2"], + "modules-right": ["clock", "group/audio", "disk", "memory", "cpu"], + "memory": { + "format": " {avail} +  {swapAvail} GiB", + }, + + "cava": { + "method": "pipewire", + "format-icons" : ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█" ], + "bar_delimiter": 0, + "bars": 12, + "stereo": false, + "hide_on_silence": true, + "input_delay": 1, + "autosens": 0, + "noise_reduction": 0.5, + "sensitivity": 13, + }, + + "disk": { + "format": " {free} {path}", + }, + + "cpu": { + "format": " {usage}% {max_frequency}GHz", + "states": { "highcpu": 85 }, + }, + + "group/dtray": { + "orientation": "inherit", + "drawer": { + "transition-duration": 500, + "transition-left-to-right": true + }, + "modules": ["custom/arrow", "tray"] + }, + + "group/audio": { + "orientation": "inherit", + "modules": ["wireplumber", ], + "on-click": "pavucontrol", + }, + + "group/mpdg": { + "orientation": "inherit", + "drawer": { + "transition-duration": 500, + "children-class": "mpdcontrol", + "transition-left-to-right": true + }, + "modules": ["mpd", "custom/playpause", "custom/prev", "custom/next"] + }, + + "custom/playpause": { + "format": "󰐎", + "on-click": "mpc toggle" + }, + + "custom/prev": { + "format": "󰒮", + "on-click": "mpc prev" + }, + + "custom/next": { + "format": "󰒭", + "on-click": "mpc next" + }, + + "custom/arrow": { + "format": " ", + "tooltip": false, + "on-click": "swaync-client -t", + }, + + "tray": { + "spacing": 5 + }, + + "clock": { + "format": "{:%I:%M %p}", + }, + + "wireplumber": { + "on-click": "pavucontrol", + "format": "󰓃 {volume}%", + "format-muted": "󰓄 {volume}%", + }, + + "mpd": { + "on-click": "mpc toggle", + "format-disconnected": "MPD seems to be down", + "format-stopped": "Nothing playing!", + "format": "{title} - {album} - {artist}", + "format-paused": "{title} - {album} - {artist}", + }, + + "battery": { + "bat": "BAT0", + "interval": 5, + "format-icons": [" ", " ", " ", " ", " "], + "states": { + "warning": 30, + "critical": 15, + "dead": 5 + }, + "format": "{icon} {capacity}%", + "tooltip-format": "BAT0, {power}W" + }, + + "battery#bat1": { + "bat": "BAT1", + "interval": 5, + "format-icons": [" ", " ", " ", " ", " "], + "states": { + "warning": 30, + "critical": 15, + "dead": 5 + }, + "format": "{icon} {capacity}%", + "tooltip-format": "BAT1, {power}W" + }, + + "battery#bat2": { + "bat": "BAT2", + "interval": 5, + "format-icons": [" ", " ", " ", " ", " "], + "states": { + "warning": 30, + "critical": 15, + "dead": 5 + }, + "format": "{icon} {capacity}%", + "tooltip-format": "BAT2, {power}W" + }, + } +] diff --git a/home/waybar/modern.css b/home/waybar/modern.css new file mode 100644 index 0000000..9063802 --- /dev/null +++ b/home/waybar/modern.css @@ -0,0 +1,114 @@ +@define-color rosewater #f5e0dc; +@define-color flamingo #f2cdcd; +@define-color pink #f5c2e7; +@define-color mauve #cba6f7; +@define-color red #f38ba8; +@define-color maroon #eba0ac; +@define-color peach #fab387; +@define-color yellow #f9e2af; +@define-color green #a6e3a1; +@define-color teal #94e2d5; +@define-color sky #89dceb; +@define-color sapphire #74c7ec; +@define-color blue #89b4fa; +@define-color lavender #b4befe; +@define-color text #cdd6f4; +@define-color subtext1 #bac2de; +@define-color subtext0 #a6adc8; +@define-color overlay2 #9399b2; +@define-color overlay1 #7f849c; +@define-color overlay0 #6c7086; +@define-color surface2 #585b70; +@define-color surface1 #45475a; +@define-color surface0 #313244; +@define-color base #1e1e2e; +@define-color mantle #181825; +@define-color crust #11111b; +/* forgive me, above is the contents of catppuccin mocha's waybar css file */ +* { + font-family: Iosevka NF; +} +window#waybar { + background-color: rgba(49, 50, 68, 0.999); +/* padding: 0px 5px; + margin: 5px 10px 5px; */ + border-radius: 10px; +} +#clock, +#audio, +#mpd, +#battery, +#cpu, +#disk, +#memory { + padding: 5px; + border-radius: 10px; + border: 0.2em solid #cba6f7; + background: @surface2; + min-height: 0; + margin: 0.2em; +} +#battery.warning { + border: 0.2em solid @yellow; +} +#battery.critical { + border: 0.2em solid @red; +} +#battery.dead { + background: @surface0; + color: @surface2; + border: 0.2em solid @overlay1; +} +#dtray { + margin: 0px 10px 0px; + padding: 0px 10px 0px; +} +#wireplumber.muted { + border: 0; + color: #888888; +} +#mpd.stopped { + background-color: @surface0; + border: 0 +} +#mpd.playing { + background: @mauve; +} +.mpdcontrol { + background-color: @surface0; +/* border-radius: 10px; */ + font-size: 1.2em; +} + +#custom-playpause { + background-color: #e5a6f7; + padding-right: 10px; + padding-left: 5px; +} +#custom-prev { + background-color: #F7A6E8; + padding-right: 7px; + padding-left: 6px; +} +#custom-next { + background-color: #FAA5B7; + padding-right: 8px; + padding-left: 6px; + border-top-right-radius: 10px; + border-bottom-right-radius: 10px; +} +#mpdg:hover { + border-bottom-left-radius: 10px; + border-top-left-radius: 10px; + background: #e5a6f7; +} +#battery.charging { + background: @mauve; +} +#cava { + margin-left: 0.2em; + color: @mauve; +} +#cpu.highcpu { + background: @mauve; +} diff --git a/home/wms/config.kdl b/home/wms/config.kdl new file mode 100644 index 0000000..711d567 --- /dev/null +++ b/home/wms/config.kdl @@ -0,0 +1,201 @@ +input { + keyboard { + xkb { + layout "gb" + model "" + rules "" + } + repeat-delay 600 + repeat-rate 25 + track-layout "global" + } + touchpad { + natural-scroll + accel-profile "flat" + click-method "clickfinger" + scroll-factor 0.300000 + } + mouse { accel-profile "flat"; } + trackpoint { accel-profile "flat"; } + trackball { accel-profile "flat"; } + focus-follows-mouse + disable-power-key-handling + mod-key "Alt" +} +screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" +prefer-no-csd +layout { + gaps 16 + struts { + left 0 + right 0 + top 0 + bottom 0 + } + focus-ring { + width 2 + active-color "rgb(0, 255, 255)" + inactive-color "rgb(0, 146, 148)" + } + border { off; } + default-column-width + center-focused-column "never" +} +cursor { + xcursor-theme "default" + xcursor-size 24 +} +hotkey-overlay { skip-at-startup; } +binds { + Alt+Print { screenshot-window; } + Ctrl+Print { screenshot-screen; } + Mod+1 { focus-workspace 1; } + Mod+2 { focus-workspace 2; } + Mod+3 { focus-workspace 3; } + Mod+4 { focus-workspace 4; } + Mod+5 { focus-workspace 5; } + Mod+6 { focus-workspace 6; } + Mod+7 { focus-workspace 7; } + Mod+8 { focus-workspace 8; } + Mod+9 { focus-workspace 9; } + Mod+C { center-column; } + Mod+Comma { consume-window-into-column; } + Mod+Ctrl+End { move-column-to-last; } + Mod+Ctrl+Home { move-column-to-first; } + Mod+Ctrl+I { move-column-to-workspace-up; } + "Mod+Ctrl+Page_Down" { move-column-to-workspace-down; } + "Mod+Ctrl+Page_Up" { move-column-to-workspace-up; } + Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } + Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } + Mod+Ctrl+U { move-column-to-workspace-down; } + Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } + Mod+Ctrl+WheelScrollLeft { move-column-left; } + Mod+Ctrl+WheelScrollRight { move-column-right; } + Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } + Mod+D { spawn "foot" "--title" "launch" "--app-id" "fzf-launcher-foot" "bash" "-c" "niri msg action spawn -- bash -c \"$(compgen -c | sort -u | fzf --bind=enter:replace-query+print-query) >/dev/null\""; } + Mod+Down { focus-window-down; } + Mod+End { focus-column-last; } + Mod+Equal { set-column-width "+10%"; } + Mod+F { maximize-column; } + Mod+H { focus-column-left; } + Mod+Home { focus-column-first; } + Mod+I { focus-workspace-down; } + Mod+J { focus-window-down; } + Mod+K { focus-window-up; } + Mod+L { focus-column-right; } + Mod+Left { focus-column-left; } + Mod+Minus { set-column-width "-10%"; } + Mod+N { spawn "swaync-client" "-t"; } + "Mod+Page_Down" { focus-workspace-down; } + "Mod+Page_Up" { focus-workspace-up; } + Mod+Period { expel-window-from-column; } + Mod+R { switch-preset-column-width; } + Mod+Return { spawn "foot"; } + Mod+Right { focus-column-right; } + Mod+Shift+1 { move-column-to-workspace 1; } + Mod+Shift+2 { move-column-to-workspace 2; } + Mod+Shift+3 { move-column-to-workspace 3; } + Mod+Shift+4 { move-column-to-workspace 4; } + Mod+Shift+5 { move-column-to-workspace 5; } + Mod+Shift+6 { move-column-to-workspace 6; } + Mod+Shift+7 { move-column-to-workspace 7; } + Mod+Shift+8 { move-column-to-workspace 8; } + Mod+Shift+9 { move-column-to-workspace 9; } + Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } + Mod+Shift+Ctrl+H { move-column-to-monitor-left; } + Mod+Shift+Ctrl+J { move-column-to-monitor-down; } + Mod+Shift+Ctrl+K { move-column-to-monitor-up; } + Mod+Shift+Ctrl+L { move-column-to-monitor-right; } + Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } + Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } + Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } + Mod+Shift+Down { move-window-down; } + Mod+Shift+E { quit; } + Mod+Shift+Equal { set-window-height "+10%"; } + Mod+Shift+F { fullscreen-window; } + Mod+Shift+H { move-column-left; } + Mod+Shift+I { move-workspace-up; } + Mod+Shift+J { move-window-down; } + Mod+Shift+K { move-window-up; } + Mod+Shift+L { move-column-right; } + Mod+Shift+Left { move-column-left; } + Mod+Shift+Minus { set-window-height "-10%"; } + Mod+Shift+P { power-off-monitors; } + "Mod+Shift+Page_Down" { move-workspace-down; } + "Mod+Shift+Page_Up" { move-workspace-up; } + Mod+Shift+Q repeat=false { close-window; } + Mod+Shift+R { reset-window-height; } + Mod+Shift+Right { move-column-right; } + Mod+Shift+Space { toggle-window-floating; } + Mod+Shift+U { move-workspace-down; } + Mod+Shift+Up { move-window-up; } + Mod+Shift+WheelScrollDown { focus-column-right; } + Mod+Shift+WheelScrollUp { focus-column-left; } + Mod+T { spawn "foot" "--title" "music" "--app-id" "mpd-control-foot" "ncmpcpp"; } + Mod+U { focus-workspace-up; } + Mod+Up { focus-window-up; } + Mod+V { spawn "/home/alyx/.binaries/wooz"; } + Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } + Mod+WheelScrollLeft { focus-column-left; } + Mod+WheelScrollRight { focus-column-right; } + Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } + Print { screenshot; } + XF86AudioLowerVolume { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%-"; } + XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; } + XF86AudioMute { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; } + XF86AudioNext { spawn "playerctl" "next"; } + XF86AudioPlay { spawn "playerctl" "play-pause"; } + XF86AudioPrev { spawn "playerctl" "previous"; } + XF86AudioRaiseVolume { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%+"; } + XF86AudioStop { spawn "playerctl" "stop"; } + XF86MonBrightnessDown { spawn "brightnessctl" "s" "10%-"; } + XF86MonBrightnessUp { spawn "brightnessctl" "s" "+10%"; } +} + +output "DP-3" { + mode "2560x1440@164.835" + scale 1.0 + position x=0 y=0 + focus-at-startup +} + +overview { + backdrop-color "#002428" +} + +spawn-at-startup "waybar" +spawn-at-startup "mpdscribble" +spawn-at-startup "corectrl" "--minimize-systray" +spawn-at-startup "swww-daemon" +spawn-at-startup "udiskie" "--appindicator" +spawn-at-startup "swaync" +spawn-at-startup "/usr/libexec/polkit-mate-authentication-agent-1" +spawn-at-startup "sh" "-c" "EPYTHON=python3.12 mpdlcd &" +window-rule { + match title="^launch$" + open-floating true + default-column-width { fixed 1000; } + default-window-height { fixed 800; } +} +window-rule { + match title="^music$" + open-floating true +} +window-rule { + match title="^(Picture-in-Picture)$" + open-floating true + default-column-width { fixed 480; } + default-window-height { fixed 270; } +} +window-rule { + match title="^music$" + open-floating true + default-column-width { fixed 1000; } + default-window-height { fixed 800; } +} +window-rule { + draw-border-with-background false + geometry-corner-radius 12.000000 12.000000 12.000000 12.000000 + clip-to-geometry true +} +animations { slowdown 0.500000; } diff --git a/home/wms/sway b/home/wms/sway new file mode 100644 index 0000000..83892c4 --- /dev/null +++ b/home/wms/sway @@ -0,0 +1,175 @@ +font pango:monospace 8.000000 +floating_modifier Mod4 +default_border pixel 2 +default_floating_border normal 2 +hide_edge_borders none +focus_wrapping no +focus_follows_mouse yes +focus_on_window_activation smart +mouse_warping output +workspace_layout default +workspace_auto_back_and_forth no +client.focused #4c7899 #285577 #ffffff #2e9ef4 #285577 +client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a +client.unfocused #333333 #222222 #888888 #292d2e #222222 +client.urgent #2f343a #900000 #ffffff #900000 #900000 +client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c +client.background #ffffff +bindsym Mod4+1 workspace number 1 +bindsym Mod4+0 workspace number 10 +bindsym Mod4+2 workspace number 2 +bindsym Mod4+3 workspace number 3 +bindsym Mod4+4 workspace number 4 +bindsym Mod4+5 workspace number 5 +bindsym Mod4+6 workspace number 6 +bindsym Mod4+7 workspace number 7 +bindsym Mod4+8 workspace number 8 +bindsym Mod4+9 workspace number 9 +bindsym Mod4+Control+h workspace prev_on_output +bindsym Mod4+Control+l workspace next_on_output +bindsym Mod4+Down focus down +bindsym Mod4+Left focus left +bindsym Mod4+Return exec foot +bindsym Mod4+Right focus right +bindsym Mod4+Shift+0 move container to workspace number 10 +bindsym Mod4+Shift+1 move container to workspace number 1 +bindsym Mod4+Shift+2 move container to workspace number 2 +bindsym Mod4+Shift+3 move container to workspace number 3 +bindsym Mod4+Shift+4 move container to workspace number 4 +bindsym Mod4+Shift+5 move container to workspace number 5 +bindsym Mod4+Shift+6 move container to workspace number 6 +bindsym Mod4+Shift+7 move container to workspace number 7 +bindsym Mod4+Shift+8 move container to workspace number 8 +bindsym Mod4+Shift+9 move container to workspace number 9 +bindsym Mod4+Shift+Down move down +bindsym Mod4+Shift+Left move left +bindsym Mod4+Shift+Right move right +bindsym Mod4+Shift+Up move up +bindsym Mod4+Shift+c reload +bindsym Mod4+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' +bindsym Mod4+Shift+h move left +bindsym Mod4+Shift+j move down +bindsym Mod4+Shift+k move up +bindsym Mod4+Shift+l move right +bindsym Mod4+Shift+minus move scratchpad +bindsym Mod4+Shift+q kill +bindsym Mod4+Shift+s move scratchpad +bindsym Mod4+Shift+space floating toggle +bindsym Mod4+Up focus up +bindsym Mod4+a focus parent +bindsym Mod4+b splith +bindsym Mod4+d exec foot --title launch --app-id fzf-launcher-foot bash -c 'compgen -c | sort -u | fzf --bind=enter:replace-query+print-query | xargs swaymsg exec --' +bindsym Mod4+e layout toggle split +bindsym Mod4+f fullscreen toggle +bindsym Mod4+h focus left +bindsym Mod4+j focus down +bindsym Mod4+k focus up +bindsym Mod4+l focus right +bindsym Mod4+minus scratchpad show +bindsym Mod4+r mode resize +bindsym Mod4+s scratchpad show +bindsym Mod4+space focus mode_toggle +bindsym Mod4+t exec foot --title music --app-id mpd-control-foot ncmpcpp +bindsym Mod4+v splitv + +bindsym Print exec grim -g "$(slurp)" ~/Pictures/screenshots/screenshot-`date +%F-%T`.png +bindsym Shift_L+Control_L+B exec playerctl position 10- +bindsym Shift_L+Control_L+F exec playerctl position 10+ +bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bindsym XF86AudioMedia exec vlc +bindsym XF86AudioMicMute exec wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle +bindsym XF86AudioMute exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bindsym XF86AudioNext exec playerctl next +bindsym XF86AudioPlay exec playerctl play-pause +bindsym XF86AudioPrev exec playerctl previous +bindsym XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ -l 1.0 +bindsym XF86AudioStop exec playerctl stop +bindsym XF86Launch1 exec nmcli device wifi rescan +bindsym XF86MonBrightnessDown exec brightnessctl s 10%- +bindsym XF86MonBrightnessUp exec brightnessctl s +10% + +input "type:keyboard" { + xkb_options caps:backspace +} + +input "type:pointer" { + accel_profile flat +} + +input "type:touchpad" { + accel_profile flat + dwt disabled + scroll_factor 0.3 +} + +input "1739:0:Synaptics_TM3075-002" { + click_method clickfinger + natural_scroll enabled +} + +input "2:10:TPPS/2_IBM_TrackPoint" { + scroll_factor 0.3 +} + +input "4152:6202:SteelSeries_SteelSeries_Aerox_3_Wireless" { + pointer_accel 0.1 +} + +output "Dell Inc. DELL P2411H MGMHG1681VAU" { + pos 0 1050 +} + +output "LG Display 0x0437 Unknown" { + scale 1.25 +} + +output "Samsung Electric Company SyncMaster HMDQ202016" { + pos 75 0 +} + +mode "resize" { + bindsym Down resize grow height 10 px + bindsym Escape mode default + bindsym Left resize shrink width 10 px + bindsym Return mode default + bindsym Right resize grow width 10 px + bindsym Up resize shrink height 10 px + bindsym h resize shrink width 10 px + bindsym j resize grow height 10 px + bindsym k resize shrink height 10 px + bindsym l resize grow width 10 px +} + +assign [app_id="vesktop"] 10: Messaging +assign [app_id="thunderbird"] 9: Mail +gaps inner 5 +gaps outer 7 +for_window [app_id="^fzf-launcher-foot$"] floating enable +for_window [app_id="^mpd-control-foot$"] floating enable +for_window [con_mark="DELTARUNE Chapter 1&2"] floating enable +exec waybar + +exec udiskie --appindicator -t + +exec kanshi + +exec swaync + +exec swaybg -m fill -i ~/.config/nixos/assets/twilight.png + +exec kde-indicator + +exec blueman-applet + +exec "/nix/store/pb9dhpk6qxjybb8p7prvs18ls2vxk51a-dbus-1.14.10/bin/dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP XDG_SESSION_TYPE NIXOS_OZONE_WL XCURSOR_THEME XCURSOR_SIZE; systemctl --user reset-failed && systemctl --user start sway-session.target && swaymsg -mt subscribe '[]' || true && systemctl --user stop sway-session.target" + +blur enable +corner_radius 10 +# shadows enable - not using this because of flicker +default_dim_inactive 0.3 +client.focused 000000 cba6f7 000000 cba6f7 +for_window [title="Picture-in-Picture"] dim_inactive 0.0 +for_window [title="Picture-in-Picture"] sticky enable +client.focused_inactive 000000 440C88 000000 440C88 +client.unfocused 000000 440C88 000000 440C88 +for_window [app_id="foot"] opacity 0.8 diff --git a/variables.nix b/variables.nix index 23c2162..e7ce2c3 100644 --- a/variables.nix +++ b/variables.nix @@ -3,17 +3,14 @@ options.var = with lib.types; { # host-specific options username = lib.mkOption { type = str; }; - hostname = lib.mkOption { type = str;}; - #[...] - # Variables shared by all hosts + hostname = lib.mkOption { type = str;}; locale = lib.mkOption { type = str;}; timezone = lib.mkOption { type = str;}; #[...] }; config.var = { # Variables shared by all hosts - locale = "de_DE.UTF-8"; - timezone = "Europe/Berlin"; + locale = "en_AU.UTF-8"; }; }