diff --git a/flake.lock b/flake.lock index 6344a88..45c9f89 100644 --- a/flake.lock +++ b/flake.lock @@ -324,11 +324,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1772833450, - "narHash": "sha256-W/2pHWOVr+jCr/Bzm1mndsZdg7kWjYsYsouLk1nCLLk=", + "lastModified": 1772891233, + "narHash": "sha256-+cnUpHEmPxu0IizoeLWT/WB7LX5+f5NRShZ0zzpHFOs=", "ref": "refs/heads/main", - "rev": "4152ac76d0813d9d0f67d2f04653a13fa6e17433", - "revCount": 6996, + "rev": "73fca55e7c9dd19222c8c0cc331ddebf4c4bfddf", + "revCount": 7000, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" diff --git a/homes/nathan/home-manager/dotfiles/default.nix b/homes/nathan/home-manager/dotfiles/default.nix index 3103f83..2067192 100644 --- a/homes/nathan/home-manager/dotfiles/default.nix +++ b/homes/nathan/home-manager/dotfiles/default.nix @@ -7,7 +7,6 @@ ".config/hyprpanel" = lib.mkIf config.homeconfig.hyprpanel.enable { source = ./hyprpanel; recursive = true; }; ".config/wal/templates" = lib.mkIf config.homeconfig.wal.enable { source = ./wal/templates; recursive = true; }; ".config/ohmyposh" = { source = ./ohmyposh; recursive = true; }; - ".config/quickshell" = lib.mkIf config.homeconfig.quickshell.enable { source = ./quickshell; recursive = true; }; "Pictures/Wallpaper" = lib.mkIf config.homeconfig.graphical { source = ./Wallpaper; recursive = true; }; }; diff --git a/homes/nathan/home-manager/dotfiles/hypr/main.conf b/homes/nathan/home-manager/dotfiles/hypr/main.conf index b99a272..1e97d90 100644 --- a/homes/nathan/home-manager/dotfiles/hypr/main.conf +++ b/homes/nathan/home-manager/dotfiles/hypr/main.conf @@ -10,7 +10,7 @@ # # #------------------------------------------------# -exec-once = hyprrun onSystemStart +exec-once = onSystemStart # Some default env vars. env = XCURSOR_SIZE,16 @@ -48,7 +48,7 @@ general { col.active_border = $color1 $color5 100deg col.inactive_border = $color0 - layout = dwindle + layout = scrolling } decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more @@ -77,7 +77,7 @@ animations { animation = border, 1, 10, default animation = borderangle, 1, 8, default animation = fade, 1, 7, default - animation = workspaces, 1, 6, default + animation = workspaces, 1, 6, default, slidevert } @@ -111,11 +111,11 @@ ecosystem { # Binds $mainMod = ALT -bind = $mainMod SHIFT, E, exec, colorPrefix hyprrun kitty +bind = $mainMod SHIFT, E, exec, colorPrefix kitty -bind = $mainMod, B, exec, hyprrun firefox +bind = $mainMod, B, exec, firefox -bind = $mainMod SHIFT, B, exec, hyprrun firefox --private-window +bind = $mainMod SHIFT, B, exec, firefox --private-window bind = $mainMod, Q, killactive, @@ -123,20 +123,20 @@ bind = $mainMod, Q, killactive, #bind = $mainMod SHIFT, R, exec, colorPrefix kitty -e _homeRebuild -bind = $mainMod, F, exec, hyprrun thunar +bind = $mainMod, F, exec, thunar bind = $mainMod SHIFT, F, fullscreen -bind = $mainMod SHIFT, semicolon, exec, colorPrefix hyprrun kitty -e lf +bind = $mainMod SHIFT, semicolon, exec, colorPrefix kitty -e lf -bind = $mainMod, Insert, exec, hyprrun libreoffice +bind = $mainMod, Insert, exec, libreoffice bind = $mainMod, V, togglefloating, -bind = $mainMod SHIFT, V, exec, hyprrun vlc +bind = $mainMod SHIFT, V, exec, vlc -bind = , Menu, exec, rofi -show drun -show-icons -run-command 'hyprrun {cmd}' +bind = , Menu, exec, rofi -show drun -show-icons -run-command '{cmd}' -bind = $mainMod, Menu, exec, hyprrun hyprpanel -q; hyprrun hyprpanel +bind = $mainMod, Menu, exec, hyprpanel -q; hyprpanel #bind = $mainMod, P, pseudo, # dwindle #bind = $mainMod, Z, togglesplit, # dwindle @@ -144,34 +144,34 @@ bind = $mainMod, Menu, exec, hyprrun hyprpanel -q; hyprrun hyprpanel bind = $mainMod, N, layoutmsg, rollnext # master bind = $mainMod, P, layoutmsg, rollprev # master -bind = $mainMod, M, exec, hyprrun spotify +bind = $mainMod, M, exec, spotify -bind = $mainMod SHIFT, M, exec, hyprrun firefox soundcloud.com/you/library +bind = $mainMod SHIFT, M, exec, firefox soundcloud.com/you/library -bind = $mainMod CTRL, M, exec, colorPrefix hyprrun kitty -e ncmpcpp -s browser +bind = $mainMod CTRL, M, exec, colorPrefix kitty -e ncmpcpp -s browser -bind = $mainMod, XF86AudioPlay, exec, hyprrun mpc load casual +bind = $mainMod, XF86AudioPlay, exec, mpc load casual -bind = , XF86AudioPlay, exec, hyprrun playerctl play-pause +bind = , XF86AudioPlay, exec, playerctl play-pause -bind = , XF86AudioPause, exec, hyprrun playerctl pause +bind = , XF86AudioPause, exec, playerctl pause -bind = , XF86AudioNext, exec, hyprrun playerctl next +bind = , XF86AudioNext, exec, playerctl next -bind = , XF86AudioPrev, exec, hyprrun playerctl previous +bind = , XF86AudioPrev, exec, playerctl previous -bind = , XF86Launch2, exec, hyprrun steam -bind = $mainMod, XF86Launch2, exec, hyprrun prismlauncher +bind = , XF86Launch2, exec, steam +bind = $mainMod, XF86Launch2, exec, prismlauncher -bind = , XF86Calculator, exec, hyprrun geogebra +bind = , XF86Calculator, exec, geogebra -bind = $mainMod SHIFT, Print, exec, hyprrun firefox localhost:631 +bind = $mainMod SHIFT, Print, exec, firefox localhost:631 -bind = $mainMod, Return, exec, hyprrun discord --enable-features=UseOzonePlatform --ozone-platform=wayland +bind = $mainMod, Return, exec, discord --enable-features=UseOzonePlatform --ozone-platform=wayland -bind = $mainMod CTRL, Return, exec, hyprrun firefox https://discord.com/app +bind = $mainMod CTRL, Return, exec, firefox https://discord.com/app -bind = , Home, exec, hyprrun setWallpaper +bind = , Home, exec, setWallpaper # Move focus with mainMod + arrow keys bind = $mainMod, W, movefocus, u @@ -207,26 +207,20 @@ bind = $mainMod SHIFT, 0, movetoworkspace, 10 bind = $mainMod SHIFT, Home, movetoworkspace, 11 # Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, right, workspace, e+1 -bind = $mainMod, left, workspace, e-1 +bind = $mainMod, down, workspace, e+1 +bind = $mainMod, up, workspace, e-1 +bind = $mainMod, left, layoutmsg, move -col +bind = $mainMod, right, layoutmsg, move +col -bind = $mainMod, H, exec, hyprctl keyword animation workspaces,1,6,default -bind = $mainMod, H, workspace, e-1 -bind = $mainMod, J, exec, hyprctl keyword animation workspaces,1,6,default,slidevert +bind = $mainMod, H, layoutmsg, move -col bind = $mainMod, J, workspace, e+1 -bind = $mainMod, K, exec, hyprctl keyword animation workspaces,1,6,default,slidevert bind = $mainMod, K, workspace, e-1 -bind = $mainMod, L, exec, hyprctl keyword animation workspaces,1,6,default -bind = $mainMod, L, workspace, e+1 +bind = $mainMod, L, layoutmsg, move +col -bind = $mainMod SHIFT, H, exec, hyprctl keyword animation workspaces,1,6,default -bind = $mainMod SHIFT, H, movetoworkspace, e-1 -bind = $mainMod SHIFT, J, exec, hyprctl keyword animation workspaces,1,6,default,slidevert +bind = $mainMod SHIFT, H, layoutmsg, swapcol l bind = $mainMod SHIFT, J, movetoworkspace, e+1 -bind = $mainMod SHIFT, K, exec, hyprctl keyword animation workspaces,1,6,default,slidevert bind = $mainMod SHIFT, K, movetoworkspace, e-1 -bind = $mainMod SHIFT, L, exec, hyprctl keyword animation workspaces,1,6,default -bind = $mainMod SHIFT, L, movetoworkspace, e+1 +bind = $mainMod SHIFT, L, layoutmsg, swapcol r #switch network connections bind = CTRL SHIFT, Escape, exec, nmcli device down wlo1 @@ -243,7 +237,7 @@ bind = , XF86MonBrightnessDown, exec, brightnessctl set 10%- binde = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_SINK@ 10%+ binde = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_SINK@ 10%- bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_SINK@ toggle -bind = $mainMod, F9, exec, hyprrun pavucontrol +bind = $mainMod, F9, exec, pavucontrol #screen lock key #bind = $mainMod, F12, exec, swaylock @@ -283,7 +277,7 @@ bind = $mainMod, E, exec, pypr toggle kitty bind = $mainMod, C, exec, pypr toggle calendar -bind = CTRL SHIFT, Home, exec, hyprrun ssh nathan@esotericbytes.com -fL 5900:localhost:5900 sleep 10; vncviewer localhost:5900 -fullscreen +bind = CTRL SHIFT, Home, exec, ssh nathan@esotericbytes.com -fL 5900:localhost:5900 sleep 10; vncviewer localhost:5900 -fullscreen bind = CTRL SHIFT, Home, submap, clean diff --git a/homes/nathan/home-manager/dotfiles/hyprpanel/config.json b/homes/nathan/home-manager/dotfiles/hyprpanel/config.json deleted file mode 100644 index d36b23f..0000000 --- a/homes/nathan/home-manager/dotfiles/hyprpanel/config.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "theme.font.name": "FiraCode Nerd Font Mono", - "theme.font.label": "FiraCode Nerd Font Mono Medium", - "theme.bar.floating": true, - "bar.layouts": { - "*": { - "left": [ - "dashboard", - "workspaces", - "windowtitle", - "submap", - "kbinput" - ], - "middle": [ - "volume", - "battery", - "hyprsunset", - "clock", - "hypridle", - "network", - "bluetooth" - ], - "right": [ - "ram", - "storage", - "systray", - "cava", - "notifications", - "power" - ] - } - }, - "theme.bar.opacity": 50, - "wallpaper.image": "/tmp/nathan/bg", - "wallpaper.enable": false, - "theme.matugen_settings.scheme_type": "content", - "theme.matugen_settings.variation": "standard_2", - "theme.matugen": true, - "bar.launcher.autoDetectIcon": true, - "bar.network.truncation_size": 10, - "bar.bluetooth.label": false, - "bar.clock.showIcon": false, - "bar.clock.format": "%A %H:%M:%S %m/%d/%C%y", - "bar.notifications.show_total": true, - "bar.notifications.hideCountWhenZero": true, - "menus.dashboard.shortcuts.left.shortcut2.command": "spotify", - "menus.dashboard.shortcuts.left.shortcut1.command": "$BROWSER", - "menus.dashboard.shortcuts.left.shortcut1.tooltip": "Browser", - "menus.dashboard.shortcuts.left.shortcut1.icon": "󰈹", - "menus.dashboard.directories.enabled": false, - "menus.dashboard.stats.enable_gpu": true, - "menus.power.lowBatteryNotification": true, - "bar.customModules.cava.leftClick": "menu:media", - "bar.customModules.cava.showIcon": false, - "bar.customModules.hypridle.label": false, - "bar.customModules.hyprsunset.label": false, - "bar.customModules.hyprsunset.temperature": "4000k", - "bar.customModules.netstat.dynamicIcon": true, - "bar.customModules.netstat.label": true, - "bar.workspaces.show_numbered": true, - "bar.workspaces.numbered_active_indicator": "highlight", - "bar.workspaces.ignored": "-\\d+", - "menus.clock.time.military": true, - "menus.clock.weather.enabled": false -} diff --git a/homes/nathan/home-manager/dotfiles/hyprpanel/modules.json b/homes/nathan/home-manager/dotfiles/hyprpanel/modules.json deleted file mode 100644 index 9e26dfe..0000000 --- a/homes/nathan/home-manager/dotfiles/hyprpanel/modules.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/homes/nathan/home-manager/dotfiles/hyprpanel/modules.scss b/homes/nathan/home-manager/dotfiles/hyprpanel/modules.scss deleted file mode 100644 index e69de29..0000000 diff --git a/homes/nathan/home-manager/dotfiles/quickshell/modules/ActiveWindow.qml b/homes/nathan/home-manager/dotfiles/quickshell/modules/ActiveWindow.qml deleted file mode 100644 index 099cbce..0000000 --- a/homes/nathan/home-manager/dotfiles/quickshell/modules/ActiveWindow.qml +++ /dev/null @@ -1,37 +0,0 @@ -import QtQuick // for Text -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell.Widgets -import Quickshell.Hyprland -import Quickshell - -Item { - implicitWidth: t.contentWidth + 10 - implicitHeight: 30 - - ClippingWrapperRectangle { - radius: 5 - anchors.fill: parent - Text { - id: t - verticalAlignment: Text.AlignVCenter - horizontalAlignment: Text.AlignHCenter - text: { - if(hws.toplevels.values.length > 0) { - return Hyprland.activeToplevel.title - } else { - return " Desktop" - } - } - - property HyprlandWorkspace hws: Hyprland.focusedWorkspace - - onHwsChanged: { - Hyprland.refreshToplevels() - Hyprland.refreshWorkspaces() - } - - font.pointSize: 11 - } - } -} diff --git a/homes/nathan/home-manager/dotfiles/quickshell/modules/Bar.qml b/homes/nathan/home-manager/dotfiles/quickshell/modules/Bar.qml deleted file mode 100644 index c2a9422..0000000 --- a/homes/nathan/home-manager/dotfiles/quickshell/modules/Bar.qml +++ /dev/null @@ -1,170 +0,0 @@ -import Quickshell // for PanelWindow -import QtQuick // for Text -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell.Io -import Quickshell.Widgets -import Quickshell.Wayland - -PanelWindow { - anchors { - top: true - //left: true - //right: true - //bottom: true - - } - - id: bar - - exclusionMode: ExclusionMode.Ignore - WlrLayershell.layer: WlrLayer.Background - - color: "#a0706050" - - - implicitHeight: 40 - implicitWidth: 1900 - - /*RowLayout { - width: bar.width - }*/ - RowLayout { - //Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter - id: left - x: 0 - y: parent.y + (parent.height - height) / 2 - //width: center.x - spacing: 0 - - Launcher { - id: l - Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter - Layout.preferredWidth: width - Layout.margins: 5 - } - - Workspaces { - id: ws - Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter - Layout.margins: 5 - } - - /*ActiveWindow { - id: aw - Layout.margins: 5 - - Layout.maximumWidth: Math.min(implicitWidth, center.x - (parent.x + x + Layout.margins)) - }*/ - - } - - RowLayout { - //Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter - id: center - x: (parent.width - cl.width) / 2 + parent.x - centerLeft.width - //y: parent.y + (parent.height - height) / 2 - y: parent.y + (parent.height - height) / 2 - spacing: 0 - - RowLayout { - id: centerLeft - spacing: 0 - - Volume { - id: v - window: bar - popupOffset: center.x - Layout.margins: 5 - } - - Battery { - id: bat - window: bar - popupOffset: center.x - Layout.margins: 5 - } - - Hyprsunset { - id: hs - Layout.margins: 5 - } - } - - - Clock { - id: cl - Layout.margins: 5 - } - - IdleInhibitor { - id: ii - Layout.margins: 5 - } - - Wifi { - id: wifi - window: bar - Layout.margins: 5 - } - - Bluetooth { - id: bt - window: bar - popupOffset: center.x + center.width - Layout.margins: 5 - } - - } - - - RowLayout { - //Layout.alignment: Qt.AlignRight | Qt.AlignVCenter - id: right - //implicitWidth: bar.width - (spacer.x + spacer.width) - x: bar.width - implicitWidth - y: parent.y + (parent.height - height) / 2 - //Layout.maximumWidth: bar.width - (center.x + center.width) - //Layout.preferredWidth: 10 - spacing: 0 - - Media { - Layout.alignment: Qt.AlignRight | Qt.AlignVCenter - id: media - - implicitWidth: Math.min(textWidth, bar.width - (righter.width) - (center.x + center.width) - 10) - - Layout.margins: 5 - } - - RowLayout { - id: righter - spacing: 0 - Tray { - id: tray - window: bar - Layout.alignment: Qt.AlignRight | Qt.AlignVCenter - Layout.margins: 5 - popupOffset: right.x + righter.x + x - } - - Notifications { - id: notif - window: bar - Layout.alignment: Qt.AlignRight | Qt.AlignVCenter - Layout.margins: 5 - } - - Power { - id: power - window: bar - popupOffset: bar.width - Layout.alignment: Qt.AlignRight | Qt.AlignVCenter - Layout.margins: 5 - } - } - } - - - -} diff --git a/homes/nathan/home-manager/dotfiles/quickshell/modules/Battery.qml b/homes/nathan/home-manager/dotfiles/quickshell/modules/Battery.qml deleted file mode 100644 index 2cf1f30..0000000 --- a/homes/nathan/home-manager/dotfiles/quickshell/modules/Battery.qml +++ /dev/null @@ -1,71 +0,0 @@ -import Quickshell // for PanelWindow -import QtQuick // for Text -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell.Io -import Quickshell.Widgets -import Quickshell.Hyprland -import Quickshell.Services.UPower - -ClippingWrapperRectangle { - radius: 5 - width: 100; height: 30 - color: "red" - Button { - id: button - text: "󰁹 " + Math.floor(UPower.displayDevice.percentage * 100) + "%" - font.pointSize: 12 - implicitHeight: parent.height - //icon.color: "red" - //icon.source: "/nix/store/c4dcn4vl0v5njv4d587sazrad1xgyd9h-rose-pine-icon-theme-unstable-2022-09-01/share/icons/rose-pine/symbolic/devices/battery-symbolic.svg" - onClicked: { - menu.visible = true - grab.active = true - } - } - - required property var window - required property real popupOffset - id: root - - PopupWindow { - - id: menu - - anchor.window: window - anchor.rect.x: popupOffset - anchor.rect.y: 50 - implicitWidth: 250 - implicitHeight: 150 - visible: false - - color: "transparent" - - ClippingWrapperRectangle { - radius: 5 - - implicitHeight: parent.height - 20 - implicitWidth: parent.width - - ColumnLayout { - - spacing: 0 - - Button { - Layout.topMargin: 5 - x: (parent.width - width) / 2 - implicitWidth: parent.width - 10 - implicitHeight: parent.height / 5 - parent.spacing - - text: 'shutdown' - } - } - } - - HyprlandFocusGrab { - id: grab - windows: [ menu ] - onCleared: menu.visible = false - } - } -} diff --git a/homes/nathan/home-manager/dotfiles/quickshell/modules/Bluetooth.qml b/homes/nathan/home-manager/dotfiles/quickshell/modules/Bluetooth.qml deleted file mode 100644 index e59d15f..0000000 --- a/homes/nathan/home-manager/dotfiles/quickshell/modules/Bluetooth.qml +++ /dev/null @@ -1,141 +0,0 @@ -import Quickshell // for PanelWindow -import QtQuick // for Text -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell.Io -import Quickshell.Widgets -import Quickshell.Hyprland -import Quickshell.Bluetooth - -ClippingWrapperRectangle { - - - radius: 5 - implicitWidth: 30; implicitHeight: 30 - Button { - id: button - text: "" - font.pointSize: 16 - - onClicked: { - menu.visible = true - grab.active = true - } - implicitHeight: parent.height - } - - required property PanelWindow window - required property real popupOffset - id: root - - PopupWindow { - - id: menu - - anchor.window: window - anchor.rect.x: popupOffset - width - anchor.rect.y: 50 - implicitWidth: 250 - implicitHeight: 150 - visible: false - - color: "transparent" - - ClippingWrapperRectangle { - radius: 5 - - implicitHeight: parent.height - 20 - implicitWidth: parent.width - - ColumnLayout { - - spacing: 0 - - ClippingWrapperRectangle { - radius: 5 - implicitWidth: parent.width - 2 * Layout.margins - implicitHeight: 30 - Layout.alignment: Qt.AlignHCenter | Qt.AlignTop - Layout.margins: 5 - color: "#ff3333aa" - - RowLayout { - Text { - text: 'Bluetooth' - Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter - Layout.margins: 5 - } - - Switch { - Layout.alignment: Qt.AlignRight | Qt.AlignVCenter - //Layout.margins: 5 - checked: Bluetooth.defaultAdapter.enabled - onClicked: Bluetooth.defaultAdapter.enabled = checked - } - } - - } - - ScrollView { - Layout.alignment: Qt.AlignHCenter | Qt.AlignTop - Layout.margins: 5 - - implicitWidth: parent.width - 4 * Layout.margins - implicitHeight: menu.height / 2 - - id: scroll - - ColumnLayout { - spacing: 0 - - Repeater { - - id: rep - - model: Bluetooth.devices.values - - ClippingWrapperRectangle { - radius: 5 - color: "#ff3333aa" - - implicitWidth: menu.width - 3 * scroll.x - implicitHeight: 40 - - Layout.alignment: Qt.AlignHCenter | Qt.AlignTop - Layout.margins: 5 - - RowLayout { - Text { - Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter - Layout.margins: 5 - - text: rep.model[index].name - } - - Button { - Layout.alignment: Qt.AlignRight | Qt.AlignVCenter - Layout.rightMargin: 5 - text: 'Connect' - - onClicked: rep.model[index].connected = !rep.model[index].connected - } - } - - - } - - } - } - - } - - } - } - - HyprlandFocusGrab { - id: grab - windows: [ menu ] - onCleared: menu.visible = false - } - } -} diff --git a/homes/nathan/home-manager/dotfiles/quickshell/modules/Clock.qml b/homes/nathan/home-manager/dotfiles/quickshell/modules/Clock.qml deleted file mode 100644 index eeec3d7..0000000 --- a/homes/nathan/home-manager/dotfiles/quickshell/modules/Clock.qml +++ /dev/null @@ -1,27 +0,0 @@ -import QtQuick // for Text -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell.Widgets -import Quickshell - -Item { - implicitWidth: t.contentWidth + 10 - implicitHeight: 30 - - ClippingWrapperRectangle { - radius: 5 - anchors.fill: parent - Text { - id: t - verticalAlignment: Text.AlignVCenter - horizontalAlignment: Text.AlignHCenter - text: Qt.formatDateTime(clock.date, "dddd HH:mm:ss MM/dd/yyyy") - font.pointSize: 11 - - SystemClock { - id: clock - precision: SystemClock.Seconds - } - } - } -} diff --git a/homes/nathan/home-manager/dotfiles/quickshell/modules/Hyprsunset.qml b/homes/nathan/home-manager/dotfiles/quickshell/modules/Hyprsunset.qml deleted file mode 100644 index 1983b27..0000000 --- a/homes/nathan/home-manager/dotfiles/quickshell/modules/Hyprsunset.qml +++ /dev/null @@ -1,30 +0,0 @@ -import Quickshell // for PanelWindow -import QtQuick // for Text -import QtQuick.Controls -import Quickshell.Io -import Quickshell.Widgets - -ClippingWrapperRectangle { - radius: 5 - implicitWidth: 30; height: 30 - Button { - id: button - text: "󰛨 " - font.pointSize: 16 - Process { - id: idlent - running: false - command: ["hyprsunset", "-t", "4000"] - - onExited: { - running = button.text == "󰛨 " ? false : true - } - } - - onClicked: { - idlent.running = button.text == "󰛨 " ? true : false - button.text = button.text == "󰛨 " ? "󱩌 " : "󰛨 " - } - implicitHeight: parent.height - } -} diff --git a/homes/nathan/home-manager/dotfiles/quickshell/modules/IdleInhibitor.qml b/homes/nathan/home-manager/dotfiles/quickshell/modules/IdleInhibitor.qml deleted file mode 100644 index 4166376..0000000 --- a/homes/nathan/home-manager/dotfiles/quickshell/modules/IdleInhibitor.qml +++ /dev/null @@ -1,34 +0,0 @@ -import Quickshell // for PanelWindow -import QtQuick // for Text -import QtQuick.Controls -import Quickshell.Io -import Quickshell.Widgets - -ClippingWrapperRectangle { - - property real interval: 100 - id: root - - radius: 5 - implicitWidth: 30; height: 30 - Button { - id: button - text: "󰒲 " - font.pointSize: 16 - Process { - id: idlent - running: false - command: ["systemd-inhibit", "--what=idle", "sleep", root.interval.toString()] - - onExited: { - running = button.text == "󰒲 " ? false : true - } - } - - onClicked: { - idlent.running = button.text == "󰒲 " ? true : false - button.text = button.text == "󰒲 " ? "󰒳 " : "󰒲 " - } - implicitHeight: parent.height - } -} diff --git a/homes/nathan/home-manager/dotfiles/quickshell/modules/Launcher.qml b/homes/nathan/home-manager/dotfiles/quickshell/modules/Launcher.qml deleted file mode 100644 index 9bda58f..0000000 --- a/homes/nathan/home-manager/dotfiles/quickshell/modules/Launcher.qml +++ /dev/null @@ -1,22 +0,0 @@ -import Quickshell // for PanelWindow -import QtQuick // for Text -import QtQuick.Controls -import Quickshell.Io -import Quickshell.Widgets - -ClippingWrapperRectangle { - radius: 5 - width: 30; height: 30 - Button { - id: button - text: " " - font.pointSize: 16 - Process { - id: launcher - running: false - command: ["rofi", "-show", "drun"] - } - onClicked: launcher.running = true - implicitHeight: parent.height - } -} diff --git a/homes/nathan/home-manager/dotfiles/quickshell/modules/Media.qml b/homes/nathan/home-manager/dotfiles/quickshell/modules/Media.qml deleted file mode 100644 index 5548b00..0000000 --- a/homes/nathan/home-manager/dotfiles/quickshell/modules/Media.qml +++ /dev/null @@ -1,48 +0,0 @@ -import QtQuick // for Text -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell.Services.Mpris -import Quickshell.Widgets - -Item { - id: media - height: 30 - - readonly property real textWidth: info.contentWidth + 10 - - ClippingWrapperRectangle { - radius: 5 - anchors.fill: parent - Text { - - verticalAlignment: Text.AlignVCenter - horizontalAlignment: Text.AlignHCenter - - id: info - - text: { - let s = '' - let players = [] - - Mpris.players.values.forEach((p) => { - if(p.isPlaying) players.push(p) - }) - - if(players[0]?.trackTitle) { - s += players[0].trackTitle - } - if(players[0]?.trackAlbum) { - s += ' - ' + players[0].trackAlbum - } - if(players[0]?.trackArtist) { - s += ' - ' + players[0].trackArtist - } - - media.visible = players.length > 0 - - return s - } - font.pointSize: 11 - } - } -} diff --git a/homes/nathan/home-manager/dotfiles/quickshell/modules/Notif.qml b/homes/nathan/home-manager/dotfiles/quickshell/modules/Notif.qml deleted file mode 100644 index e69de29..0000000 diff --git a/homes/nathan/home-manager/dotfiles/quickshell/modules/Notifications.qml b/homes/nathan/home-manager/dotfiles/quickshell/modules/Notifications.qml deleted file mode 100644 index 94d0e34..0000000 --- a/homes/nathan/home-manager/dotfiles/quickshell/modules/Notifications.qml +++ /dev/null @@ -1,183 +0,0 @@ -import Quickshell -import QtQuick // for Text -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell.Services.Notifications -import Quickshell.Io -import Quickshell.Widgets -import Quickshell.Hyprland - -Item { - width: 50 - height: 30 - - ClippingWrapperRectangle { - id: barbutton - radius: 5 - anchors.fill: parent - Button { - id: button - text: "󰂚" - //text: server.trackedNotifications.values.length == 0 ? "󰂚" : '󱅫 ' + server.trackedNotifications.values.length - //icon.source: '' - font.pointSize: 16 - - onClicked: { - - - menu.visible = true - grab.active = true - } - implicitHeight: parent.height - } - } - - NotificationServer { - id: server - persistenceSupported: true - imageSupported: true - actionsSupported: true - bodyImagesSupported: true - bodySupported: true - bodyHyperlinksSupported: true - inlineReplySupported: true - actionIconsSupported: true - - onNotification: (n) => { - n.tracked = true - console.log(n?.body) - button.text = '󱅫 ' + (server.trackedNotifications.values.length + 1) - } - - } - - required property PanelWindow window - id: root - - PopupWindow { - - id: menu - - anchor.window: window - anchor.rect.x: window.width - width - anchor.rect.y: 50 - implicitWidth: 400 - implicitHeight: 1080 - anchor.rect.y - visible: false - - color: "transparent" - - ClippingWrapperRectangle { - radius: 5 - - color: "#ff706050" - - implicitHeight: parent.height - 20 - implicitWidth: parent.width - - ColumnLayout { - id: lay - - spacing: 10 - - ClippingWrapperRectangle { - radius: 5 - Layout.margins: 5 - Layout.alignment: Qt.AlignVCenter | Qt.AlignTop - implicitWidth: menu.width - 2 * Layout.margins - - RowLayout { - width: parent.width - Text { - Layout.margins: 5 - Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter - text: 'Notifications' - } - Button { - Layout.alignment: Qt.AlignRight | Qt.AlignVCenter - Layout.margins: 5 - implicitWidth: 20 - implicitHeight: 20 - - text: 'x' - - onClicked: { - while(server.trackedNotifications.values.length > 0) { - server.trackedNotifications.values[0].dismiss() - } - } - } - } - } - - - Repeater { - id: rep - - model: server.trackedNotifications.values - ClippingWrapperRectangle { - Layout.alignment: Qt.AlignHCenter | Qt.AlignTop - Layout.margins: 5 - radius: 10 - implicitWidth: parent.width - 2 * Layout.margins - implicitHeight: 100 - MouseArea { - anchors.fill: parent - - RowLayout { - Image { - //anchors.fill: parent - source: { - let icon = rep.model[index].image - if (icon.includes("?path=")) { - const [name, path] = icon.split("?path="); - icon = Qt.resolvedUrl(`${path}/${name.slice(name.lastIndexOf("/") + 1)}`); - } - return icon - } - - Layout.maximumWidth: 100 - Layout.maximumHeight: 100 - } - - ColumnLayout { - Layout.topMargin: 10 - Layout.alignment: Qt.AlignLeft | Qt.AlignTop - Text { - Layout.alignment: Qt.AlignLeft | Qt.AlignTop - text: rep.model[index].summary - Layout.leftMargin: 10 - font.pointSize: 14 - } - Text { - Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter - text: rep.model[index].body - Layout.leftMargin: 10 - font.pointSize: 12 - } - } - } - - acceptedButtons: Qt.LeftButton | Qt.RightButton - - onClicked: mouse => { - if(mouse.button == Qt.LeftButton) { - button.text = rep.count - 1 <= 0 ? "󰂚" : '󱅫 ' + (rep.count - 1) - rep.model[index].dismiss() - //button.text = server.trackedNotifications.values.length == 0 ? "󰂚" : '󱅫 ' + server.trackedNotifications.values.length - } else if(mouse.button == Qt.RightButton) { - } - } - } - } - } - } - } - - HyprlandFocusGrab { - id: grab - windows: [ menu ] - onCleared: menu.visible = false - } - } -} diff --git a/homes/nathan/home-manager/dotfiles/quickshell/modules/Power.qml b/homes/nathan/home-manager/dotfiles/quickshell/modules/Power.qml deleted file mode 100644 index b988b90..0000000 --- a/homes/nathan/home-manager/dotfiles/quickshell/modules/Power.qml +++ /dev/null @@ -1,96 +0,0 @@ -import Quickshell -import QtQuick // for Text -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell.Hyprland -import Quickshell.Io -import Quickshell.Widgets - -Item { - width: 30 - height: 30 - - id: root - - required property PanelWindow window - required property real popupOffset - - ClippingWrapperRectangle { - radius: 5 - width: 30; height: 30 - Button { - id: button - text: " " - font.pointSize: 16 - - onClicked: { - menu.visible = true - grab.active = true - } - implicitHeight: parent.height - } - } - - PopupWindow { - - id: menu - - anchor.window: window - anchor.rect.x: popupOffset - anchor.rect.y: 50 - implicitWidth: 150 - implicitHeight: 250 - visible: false - - color: "transparent" - - ClippingWrapperRectangle { - radius: 5 - - implicitHeight: parent.height - 20 - implicitWidth: parent.width - - ColumnLayout { - - spacing: 0 - - Button { - Layout.topMargin: 5 - x: (parent.width - width) / 2 - implicitWidth: parent.width - 10 - implicitHeight: parent.height / 5 - parent.spacing - - text: 'shutdown' - } - - Button { - x: (parent.width - width) / 2 - implicitWidth: parent.width - 10 - implicitHeight: parent.height / 5 - parent.spacing - text: 'reboot' - } - - Button { - x: (parent.width - width) / 2 - implicitWidth: parent.width - 10 - implicitHeight: parent.height / 5 - parent.spacing - text: 'logout' - } - - Button { - Layout.bottomMargin: 10 - x: (parent.width - width) / 2 - implicitWidth: parent.width - 10 - implicitHeight: parent.height / 5 - parent.spacing - text: 'sleep' - } - } - } - - HyprlandFocusGrab { - id: grab - windows: [ menu ] - onCleared: menu.visible = false - } - } -} diff --git a/homes/nathan/home-manager/dotfiles/quickshell/modules/Tray.qml b/homes/nathan/home-manager/dotfiles/quickshell/modules/Tray.qml deleted file mode 100644 index f4c7e47..0000000 --- a/homes/nathan/home-manager/dotfiles/quickshell/modules/Tray.qml +++ /dev/null @@ -1,62 +0,0 @@ -import QtQuick // for Text -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell.Services.SystemTray -import Quickshell.Widgets - -Item { - implicitWidth: 10 + rep.count * (2 * lay.spacing + 20) - height: 30 - visible: SystemTray.items.values.length != 0 - - id: root - required property var window - required property real popupOffset - - ClippingWrapperRectangle { - radius: 5 - anchors.fill: parent - RowLayout { - id: lay - spacing: 4 - Repeater { - id: rep - - model: SystemTray.items - ClippingWrapperRectangle { - Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter - radius: 10 - implicitWidth: 20 - implicitHeight: 20 - MouseArea { - anchors.fill: parent - - Image { - anchors.fill: parent - source: { - let icon = SystemTray.items.values[index].icon - if (icon.includes("?path=")) { - const [name, path] = icon.split("?path="); - icon = Qt.resolvedUrl(`${path}/${name.slice(name.lastIndexOf("/") + 1)}`); - } - return icon - } - } - - acceptedButtons: Qt.LeftButton | Qt.RightButton - - onClicked: (mouse) => { - if(mouse.button == Qt.LeftButton) { - SystemTray.items.values[index].activate() - } else if(mouse.button == Qt.RightButton) { - SystemTray.items.values[index].display(root.window, popupOffset, 40) - } - } - } - } - } - } - - - } -} diff --git a/homes/nathan/home-manager/dotfiles/quickshell/modules/Volume.qml b/homes/nathan/home-manager/dotfiles/quickshell/modules/Volume.qml deleted file mode 100644 index bf1b253..0000000 --- a/homes/nathan/home-manager/dotfiles/quickshell/modules/Volume.qml +++ /dev/null @@ -1,97 +0,0 @@ -import Quickshell // for PanelWindow -import QtQuick // for Text -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell.Io -import Quickshell.Widgets -import Quickshell.Hyprland -import Quickshell.Services.Pipewire - -ClippingWrapperRectangle { - radius: 5 - width: 100; height: 30 - Button { - id: button - text: " " + Math.floor(Pipewire.defaultAudioSink?.audio?.volume * 100) + "%" - font.pointSize: 12 - implicitHeight: parent.height - - PwObjectTracker { - objects: [ Pipewire.defaultAudioSink ] - } - - onClicked: { - menu.visible = true - grab.active = true - } - - } - - required property var window - required property real popupOffset - id: root - - PopupWindow { - - id: menu - - anchor.window: window - anchor.rect.x: popupOffset - anchor.rect.y: 50 - implicitWidth: 250 - implicitHeight: 150 - visible: false - - color: "transparent" - - ClippingWrapperRectangle { - radius: 5 - - implicitHeight: parent.height - 20 - implicitWidth: parent.width - - ScrollView { - ColumnLayout { - - spacing: 0 - - Text { - text: 'Output Devices' - } - - ColumnLayout { - - } - - Text { - text: 'Input Devices' - } - - ColumnLayout { - /*Repeater { - id: in - - model: { - set = [] - Pipewire.nodes.values.forEach(n => { !n.isSink && !n.isStream ? set.push(n) : return }) - return set - } - - Text { - text: in.model[index].nickname - } - }*/ - } - - } - } - - } - - HyprlandFocusGrab { - id: grab - windows: [ menu ] - onCleared: menu.visible = false - } - } -} diff --git a/homes/nathan/home-manager/dotfiles/quickshell/modules/Wifi.qml b/homes/nathan/home-manager/dotfiles/quickshell/modules/Wifi.qml deleted file mode 100644 index 99a66af..0000000 --- a/homes/nathan/home-manager/dotfiles/quickshell/modules/Wifi.qml +++ /dev/null @@ -1,72 +0,0 @@ -import Quickshell -import QtQuick // for Text -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell.Hyprland -import Quickshell.Io -import Quickshell.Widgets - -Item { - implicitWidth: 30 - implicitHeight: 30 - - ClippingWrapperRectangle { - radius: 5 - anchors.fill: parent - Button { - id: button - text: "󰤨 " - font.pointSize: 16 - - onClicked: { - menu.visible = true - grab.active = true - } - implicitHeight: parent.height - } - } - - property var window: null - id: root - - PopupWindow { - - id: menu - - anchor.window: window - anchor.rect.x: root.parent.x + root.parent.width - width - anchor.rect.y: 50 - implicitWidth: 250 - implicitHeight: 150 - visible: false - - color: "transparent" - - ClippingWrapperRectangle { - radius: 5 - - implicitHeight: parent.height - 20 - implicitWidth: parent.width - - ColumnLayout { - - spacing: 0 - - Button { - Layout.topMargin: 5 - x: (parent.width - width) / 2 - implicitWidth: parent.width - 10 - implicitHeight: parent.height / 5 - parent.spacing - - text: 'shutdown' - } - } - } - - HyprlandFocusGrab { - id: grab - windows: [ menu ] - onCleared: menu.visible = false - } - } -} diff --git a/homes/nathan/home-manager/dotfiles/quickshell/modules/Workspaces.qml b/homes/nathan/home-manager/dotfiles/quickshell/modules/Workspaces.qml deleted file mode 100644 index 46ade8c..0000000 --- a/homes/nathan/home-manager/dotfiles/quickshell/modules/Workspaces.qml +++ /dev/null @@ -1,46 +0,0 @@ -import QtQuick // for Text -import QtQuick.Controls -import QtQuick.Layouts -import Quickshell.Hyprland -import Quickshell.Widgets - -Item { - implicitWidth: 10 + rep.count * (2 * lay.spacing + 25) - implicitHeight: 30 - - Component.onCompleted: Hyprland.refreshWorkspaces() - - ClippingWrapperRectangle { - radius: 5 - anchors.fill: parent - RowLayout { - id: lay - Repeater { - id: rep - - property var ws: { - let arr = []; - Hyprland.workspaces.values.forEach((w) => { if(w.id > 0) arr.push(w) }) - return arr; - } - - model: ws - ClippingWrapperRectangle { - Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter - radius: 10 - implicitWidth: 25 - Button { - background: Rectangle { - color: Hyprland.focusedWorkspace.id == rep.model[index].id ? "#ffff00ff" : "#ff7744dd" - anchors.fill: parent - } - text: rep.model[index].id - onClicked: rep.model[index].activate() - } - } - } - } - - - } -} diff --git a/homes/nathan/home-manager/dotfiles/quickshell/shell.qml b/homes/nathan/home-manager/dotfiles/quickshell/shell.qml deleted file mode 100644 index c84555d..0000000 --- a/homes/nathan/home-manager/dotfiles/quickshell/shell.qml +++ /dev/null @@ -1,14 +0,0 @@ -//@ pragma Env QS_NO_RELOAD_POPUP=1 -//@ pragma Env QSG_RENDER_LOOP=threaded -//@ pragma Env QT_QUICK_FLICKABLE_WHEEL_DECELERATION=10000 - -//@ pragma UseQApplication - -import Quickshell // for ShellRoot -import qs.modules - -ShellRoot { - Bar { - id: bar - } -} diff --git a/homes/nathan/home-manager/programs/hyprland/default.nix b/homes/nathan/home-manager/programs/hyprland/default.nix index 2c064e7..1dc18bc 100644 --- a/homes/nathan/home-manager/programs/hyprland/default.nix +++ b/homes/nathan/home-manager/programs/hyprland/default.nix @@ -34,7 +34,7 @@ enable = true; systemd = { - enable = false; + enable = true; variables = [ "--all" ]; }; diff --git a/homes/nathan/home-manager/programs/hyprpanel/default.nix b/homes/nathan/home-manager/programs/hyprpanel/default.nix deleted file mode 100644 index 461e9c9..0000000 --- a/homes/nathan/home-manager/programs/hyprpanel/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ ... }: { - - flake.homeModules.nathan = { config, lib, ... }: { - - options.homeconfig.hyprpanel.enable = with lib; mkOption { - type = with types; bool; - default = false; - }; - - config = lib.mkIf config.homeconfig.hyprpanel.enable { - - programs.hyprpanel = { - enable = true; - }; - }; - }; -} diff --git a/homes/nathan/home-manager/programs/quickshell/default.nix b/homes/nathan/home-manager/programs/quickshell/default.nix deleted file mode 100644 index 1d8ad56..0000000 --- a/homes/nathan/home-manager/programs/quickshell/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ ... }: { - - flake.homeModules.nathan = { config, lib, ... }: { - - options.homeconfig.quickshell.enable = with lib; mkOption { - type = with types; bool; - default = false; - }; - - config = lib.mkIf config.homeconfig.quickshell.enable { - - programs.quickshell = { - enable = true; - - configs = { - - default = config.homeDirectory + "/${config.home.file.".config/quickshell".target}"; - }; - - systemd = { - enable = true; - target = lib.mkIf config.homeconfig.hyprland.enable "wayland-session@Hyprland.target"; - }; - - activeConfig = "default"; - }; - }; - }; -} diff --git a/machines/laptop b/machines/laptop index 740f36e..1a3f864 160000 --- a/machines/laptop +++ b/machines/laptop @@ -1 +1 @@ -Subproject commit 740f36e4ee9c88d95fad2eceeb70072b48f5f0ca +Subproject commit 1a3f86475526eeacf4206dd029cc6c13caf4f82f diff --git a/system/programs/hyprland/default.nix b/system/programs/hyprland/default.nix index a526f75..56f5c11 100644 --- a/system/programs/hyprland/default.nix +++ b/system/programs/hyprland/default.nix @@ -16,7 +16,7 @@ programs.hyprland = { enable = true; - withUWSM = true; + withUWSM = false; xwayland.enable = true;