diff --git a/flake.lock b/flake.lock index ef1c06b..bec760d 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ ] }, "locked": { - "lastModified": 1767024902, - "narHash": "sha256-sMdk6QkMDhIOnvULXKUM8WW8iyi551SWw2i6KQHbrrU=", + "lastModified": 1765900596, + "narHash": "sha256-+hn8v9jkkLP9m+o0Nm5SiEq10W0iWDSotH2XfjU45fA=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "b8a0c5ba5a9fbd2c660be7dd98bdde0ff3798556", + "rev": "d83c97f8f5c0aae553c1489c7d9eff3eadcadace", "type": "github" }, "original": { @@ -43,11 +43,11 @@ ] }, "locked": { - "lastModified": 1768182537, - "narHash": "sha256-1Ff3WJ57qPtX8D5srMKzXbsWD+bmC0sZzWIIRdAkmNo=", + "lastModified": 1767198468, + "narHash": "sha256-FxDbqVgsT/ofpcVD4oNSO4YyPK0bu0/w4TGr/p87E4A=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "35a115b97a6dfc196cc479c676556ce3c874ee81", + "rev": "ff02fe1802aa90146fe3c236ec504c788825b152", "type": "github" }, "original": { @@ -59,15 +59,15 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1767039857, - "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", - "owner": "NixOS", + "lastModified": 1761588595, + "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", + "owner": "edolstra", "repo": "flake-compat", - "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "edolstra", "repo": "flake-compat", "type": "github" } @@ -122,11 +122,11 @@ ] }, "locked": { - "lastModified": 1768068402, - "narHash": "sha256-bAXnnJZKJiF7Xr6eNW6+PhBf1lg2P1aFUO9+xgWkXfA=", + "lastModified": 1767104570, + "narHash": "sha256-GKgwu5//R+cLdKysZjGqvUEEOGXXLdt93sNXeb2M/Lk=", "owner": "nix-community", "repo": "home-manager", - "rev": "8bc5473b6bc2b6e1529a9c4040411e1199c43b4c", + "rev": "e4e78a2cbeaddd07ab7238971b16468cc1d14daf", "type": "github" }, "original": { @@ -180,11 +180,11 @@ ] }, "locked": { - "lastModified": 1766946335, - "narHash": "sha256-MRD+Jr2bY11MzNDfenENhiK6pvN+nHygxdHoHbZ1HtE=", + "lastModified": 1763733840, + "narHash": "sha256-JnET78yl5RvpGuDQy3rCycOCkiKoLr5DN1fPhRNNMco=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "4af02a3925b454deb1c36603843da528b67ded6c", + "rev": "8f1bec691b2d198c60cccabca7a94add2df4ed1a", "type": "github" }, "original": { @@ -218,11 +218,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1768144432, - "narHash": "sha256-6fc6FyEmfwT1Ke+2ib/80XPshc1h2lapIB/HlsaxyP4=", + "lastModified": 1767201430, + "narHash": "sha256-2FF66EaIbsc7CL1jKHbRFslSePDq40fzlTTbUlm5v3k=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "fbf421df889ceff3bac08a9f4b9493def5eecc4d", + "rev": "48a024e0322bbd7c4c88126498ec478444ec4cb2", "type": "github" }, "original": { @@ -264,11 +264,11 @@ ] }, "locked": { - "lastModified": 1767023960, - "narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=", + "lastModified": 1765643131, + "narHash": "sha256-CCGohW5EBIRy4B7vTyBMqPgsNcaNenVad/wszfddET0=", "owner": "hyprwm", "repo": "hyprland-guiutils", - "rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660", + "rev": "e50ae912813bdfa8372d62daf454f48d6df02297", "type": "github" }, "original": { @@ -284,11 +284,11 @@ ] }, "locked": { - "lastModified": 1767957561, - "narHash": "sha256-N0kFdc6tSE0yFeQ/Iit3KNrz4nf2K5xvP3juL7SUyhc=", + "lastModified": 1766381032, + "narHash": "sha256-Wuk2MULnGfgAbP1N/Rp6H6k7zG/ynDiy54mPvkt/4bM=", "owner": "outfoxxed", "repo": "hy3", - "rev": "3287049e79e9e51431de8c09f9192a18afa1bf35", + "rev": "50643d625829f303239f9ec019021f17d7e9f3fc", "type": "github" }, "original": { @@ -335,11 +335,11 @@ ] }, "locked": { - "lastModified": 1767983607, - "narHash": "sha256-8C2co8NYfR4oMOUEsPROOJ9JHrv9/ktbJJ6X1WsTbXc=", + "lastModified": 1764612430, + "narHash": "sha256-54ltTSbI6W+qYGMchAgCR6QnC1kOdKXN6X6pJhOWxFg=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "d4037379e6057246b408bbcf796cf3e9838af5b2", + "rev": "0d00dc118981531aa731150b6ea551ef037acddd", "type": "github" }, "original": { @@ -464,11 +464,11 @@ ] }, "locked": { - "lastModified": 1767473322, - "narHash": "sha256-RGOeG+wQHeJ6BKcsSB8r0ZU77g9mDvoQzoTKj2dFHwA=", + "lastModified": 1766253200, + "narHash": "sha256-26qPwrd3od+xoYVywSB7hC2cz9ivN46VPLlrsXyGxvE=", "owner": "hyprwm", "repo": "hyprwire", - "rev": "d5e7d6b49fe780353c1cf9a1cf39fa8970bd9d11", + "rev": "1079777525b30a947c8d657fac158e00ae85de9d", "type": "github" }, "original": { @@ -519,11 +519,11 @@ ] }, "locked": { - "lastModified": 1767942797, - "narHash": "sha256-ypny6yOP3Buh7UBmETW3R/el3nHdzYNOCMhVnCdm9U4=", + "lastModified": 1730724501, + "narHash": "sha256-zvNdomPM86fUf0iAwJV1RQC8yAqDCKbCDJKIs4iIPy0=", "ref": "refs/heads/master", - "rev": "8bdd6351a130f8ed8fe13c9ec87ed965c4d9912b", - "revCount": 2, + "rev": "8f897ffb4a1575252c536c63db8be72f22b6a494", + "revCount": 1, "type": "git", "url": "https://git.outfoxxed.me/outfoxxed/nix-qml-support" }, @@ -534,11 +534,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1768127708, - "narHash": "sha256-1Sm77VfZh3mU0F5OqKABNLWxOuDeHIlcFjsXeeiPazs=", + "lastModified": 1766902085, + "narHash": "sha256-coBu0ONtFzlwwVBzmjacUQwj3G+lybcZ1oeNSQkgC0M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ffbc9f8cbaacfb331b6017d5a5abb21a492c9a38", + "rev": "c0b0e0fddf73fd517c3471e546c0df87a42d53f4", "type": "github" }, "original": { @@ -555,11 +555,11 @@ ] }, "locked": { - "lastModified": 1768203973, - "narHash": "sha256-bf+HggwDgQRt47maAe9fbv2sH6uwZnzVy4tTb2nonP8=", + "lastModified": 1767202981, + "narHash": "sha256-XF68CQaLfPcCk5DVAP/OLbyqchc9uj4E65AEf363HI8=", "owner": "nix-community", "repo": "NUR", - "rev": "7a7b3e1d25b93474d988915412e69c6f2401a0b7", + "rev": "8666a7d3d9d26a7a3031ba4d5688ba4e6f83d6bd", "type": "github" }, "original": { @@ -578,11 +578,11 @@ ] }, "locked": { - "lastModified": 1767281941, - "narHash": "sha256-6MkqajPICgugsuZ92OMoQcgSHnD6sJHwk8AxvMcIgTE=", + "lastModified": 1765911976, + "narHash": "sha256-t3T/xm8zstHRLx+pIHxVpQTiySbKqcQbK+r+01XVKc0=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "f0927703b7b1c8d97511c4116eb9b4ec6645a0fa", + "rev": "b68b780b69702a090c8bb1b973bab13756cc7a27", "type": "github" }, "original": { @@ -598,11 +598,11 @@ ] }, "locked": { - "lastModified": 1768204289, - "narHash": "sha256-aXPr9W8AEmPz9+dH8CHIwrppKIjtS3mHyOXR2ppH/aw=", + "lastModified": 1766725085, + "narHash": "sha256-O2aMFdDUYJazFrlwL7aSIHbUSEm3ADVZjmf41uBJfHs=", "ref": "refs/heads/master", - "rev": "db37dc580afc9db1bc598436649c650138b6166d", - "revCount": 723, + "rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff", + "revCount": 715, "type": "git", "url": "https://git.outfoxxed.me/quickshell/quickshell" }, @@ -631,11 +631,11 @@ }, "stable": { "locked": { - "lastModified": 1767313136, - "narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=", + "lastModified": 1767051569, + "narHash": "sha256-0MnuWoN+n1UYaGBIpqpPs9I9ZHW4kynits4mrnh1Pk4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ac62194c3917d5f474c1a844b6fd6da2db95077d", + "rev": "40ee5e1944bebdd128f9fbada44faefddfde29bd", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index c296088..4bc5921 100755 --- a/flake.nix +++ b/flake.nix @@ -48,18 +48,6 @@ inputs.hyprland.follows = "hyprland"; }; - /*hyprqt6engine = { - url = "github:hyprwm/hyprqt6engine"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.hyprutils.follows = "hyprutils"; - inputs.hyprlang.follows = "hyprlang"; - };*/ - - /*qt6engine = { - url = "github:kosslan/qt6engine"; - inputs.nixpkgs.follows = "nixpkgs"; - };*/ - quickshell = { url = "git+https://git.outfoxxed.me/quickshell/quickshell"; inputs.nixpkgs.follows = "nixpkgs"; @@ -91,7 +79,6 @@ ./modules/hyprland ./modules/xserver ./systems/msi - #(inputs.vps-testing.nixosConfigurations.localHostModule) ]; }; @@ -108,19 +95,6 @@ ]; }; - userland = nixpkgs.lib.nixosSystem rec { - system = "x86_64-linux"; - specialArgs = { inherit self system inputs; }; - - modules = [ - ./modules/impurity.nix - ./modules/preserve-system.nix - ./modules/system.nix - ./modules/hyprland - ./systems/userland - ]; - }; - msi-impure = self.nixosConfigurations.msi.extendModules { modules = [ { impurity.enable = true; } ]; }; lenovo-impure = self.nixosConfigurations.lenovo.extendModules { modules = [ { impurity.enable = true; } ]; }; }; diff --git a/modules/emacs/default.nix b/modules/emacs/default.nix index 519e826..c4c5f5f 100644 --- a/modules/emacs/default.nix +++ b/modules/emacs/default.nix @@ -102,7 +102,13 @@ use-package vertico which-key - melpaPackages.ws-butler + (melpaPackages.ws-butler.overrideAttrs { # https://github.com/nix-community/emacs-overlay/issues/499 + src = pkgs.fetchFromSavannah { + repo = "emacs/nongnu"; + rev = "9ee5a7657a22e836618813c2e2b64a548d27d2f"; + hash = "sha256-S9aFJcFMkyB1KozJc9hpwKjAMkOyEnCZ6Wf3JVZ8d0c="; + }; + }) minuet zig-ts-mode ])); diff --git a/modules/overlay-pkgs/tws.nix b/modules/overlay-pkgs/tws.nix index 871f076..1cc42a5 100644 --- a/modules/overlay-pkgs/tws.nix +++ b/modules/overlay-pkgs/tws.nix @@ -74,7 +74,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "https://download2.interactivebrokers.com/installers/tws/latest-standalone/tws-latest-standalone-linux-x64.sh"; - hash = "sha256-c+PptydEHvVkntDzX1Eod06hSE7prhuoXiTFZK+7dTI="; + hash = "sha256-QN7dSe+R2kfDjtJWa9TIGbc8zCSC3XNmxSxOZOjOB2o="; }; nativeBuildInputs = [ diff --git a/modules/system.nix b/modules/system.nix index aebdc34..e3c32f3 100644 --- a/modules/system.nix +++ b/modules/system.nix @@ -22,7 +22,6 @@ git git-lfs vim - android-tools ]; services.ntp.enable = true; @@ -70,6 +69,7 @@ # removable disks in file manager services.udisks2.enable = true; + programs.adb.enable = true; users.users.${config.main-user}.extraGroups = [ "adbusers" ]; services.tailscale.enable = true; diff --git a/modules/user/dev-support.nix b/modules/user/dev-support.nix index 3109db6..41ba047 100644 --- a/modules/user/dev-support.nix +++ b/modules/user/dev-support.nix @@ -7,7 +7,7 @@ typescript-language-server astro-language-server haskell-language-server - #glslls + glslls zls eslint diff --git a/modules/user/modules/quickshell/shell/bar/audio/AudioControl.qml b/modules/user/modules/quickshell/shell/bar/audio/AudioControl.qml index 3ce604b..4e33856 100644 --- a/modules/user/modules/quickshell/shell/bar/audio/AudioControl.qml +++ b/modules/user/modules/quickshell/shell/bar/audio/AudioControl.qml @@ -10,12 +10,6 @@ ClickableIcon { PwObjectTracker { objects: [ node ] } - PwNodePeakMonitor { - id: peakMonitor - node: root.node - enabled: tooltip.visible - } - implicitHeight: width; acceptedButtons: Qt.LeftButton | Qt.RightButton; fillWindowWidth: true @@ -61,7 +55,6 @@ ClickableIcon { //enabled: !node.audio.muted value: node.audio.volume - peak: peakMonitor.peak onValueChanged: node.audio.volume = value } } diff --git a/modules/user/modules/quickshell/shell/bar/audio/Mixer.qml b/modules/user/modules/quickshell/shell/bar/audio/Mixer.qml index bb0bb2a..1a44257 100644 --- a/modules/user/modules/quickshell/shell/bar/audio/Mixer.qml +++ b/modules/user/modules/quickshell/shell/bar/audio/Mixer.qml @@ -45,7 +45,6 @@ ColumnLayout { required property PwLinkGroup modelData; node: trackedNode.isSink ? modelData.source : modelData.target; state: modelData.state; - peakDetect: trackedNode.isSink image: { let icon = ""; diff --git a/modules/user/modules/quickshell/shell/bar/audio/MixerEntryBase.qml b/modules/user/modules/quickshell/shell/bar/audio/MixerEntryBase.qml index 531b497..52d3278 100644 --- a/modules/user/modules/quickshell/shell/bar/audio/MixerEntryBase.qml +++ b/modules/user/modules/quickshell/shell/bar/audio/MixerEntryBase.qml @@ -9,7 +9,6 @@ RowLayout { required property PwNode node; required property string image; required property Item headerComponent; - property bool peakDetect: true; property int state: PwLinkState.Unlinked; @@ -22,12 +21,6 @@ RowLayout { PwObjectTracker { objects: [ node ] } - PwNodePeakMonitor { - id: peakMonitor - node: root.node - enabled: root.peakDetect - } - ClickableIcon { image: root.image asynchronous: true @@ -51,7 +44,6 @@ RowLayout { Layout.fillWidth: true value: node.audio.volume - peak: root.peakDetect ? peakMonitor.peak : 1 onValueChanged: node.audio.volume = value } } diff --git a/modules/user/modules/quickshell/shell/bar/audio/VolumeSlider.qml b/modules/user/modules/quickshell/shell/bar/audio/VolumeSlider.qml index 04701cd..1e22f73 100644 --- a/modules/user/modules/quickshell/shell/bar/audio/VolumeSlider.qml +++ b/modules/user/modules/quickshell/shell/bar/audio/VolumeSlider.qml @@ -7,13 +7,11 @@ Item { property real to: 1.5 property real warning: 1.0 property real value: 0.0 - property real peak: 1.0 implicitWidth: groove.implicitWidth implicitHeight: 20 property real __valueOffset: ((value - from) / (to - from)) * groove.width - property real __peakOffset: peak * __valueOffset property real __wheelValue: -1 MouseArea { @@ -57,24 +55,10 @@ Item { } radius: 5 - color: "#40ceffff" + color: "#80ceffff" width: __valueOffset } - Rectangle { - id: peakFill - - anchors { - left: groove.left - top: groove.top - bottom: groove.bottom - } - - radius: 5 - color: "#60ceffff" - width: __peakOffset - } - Rectangle { id: groove diff --git a/modules/user/modules/quickshell/shell/bar/connections/Connections.qml b/modules/user/modules/quickshell/shell/bar/connections/Connections.qml index c326e70..c3c9a98 100644 --- a/modules/user/modules/quickshell/shell/bar/connections/Connections.qml +++ b/modules/user/modules/quickshell/shell/bar/connections/Connections.qml @@ -15,11 +15,6 @@ BarWidgetInner { margins: 5 } - Network { - Layout.fillWidth: true - bar: root.bar - } - Bluetooth { Layout.fillWidth: true bar: root.bar diff --git a/modules/user/modules/quickshell/shell/bar/connections/Network.qml b/modules/user/modules/quickshell/shell/bar/connections/Network.qml deleted file mode 100644 index 51fa325..0000000 --- a/modules/user/modules/quickshell/shell/bar/connections/Network.qml +++ /dev/null @@ -1,132 +0,0 @@ -pragma ComponentBehavior: Bound -import QtQuick -import QtQuick.Layouts -import QtQuick.Controls -import Quickshell -import Quickshell.Widgets -import Quickshell.Networking -import qs -import qs.bar - -ClickableIcon { - id: root - required property var bar; - readonly property NetworkDevice adapter: Networking.devices.values[0] - readonly property bool connected: adapter.connected - readonly property WifiNetwork activeNetwork: adapter.networks.values.find(network => network.connected) - - property bool showMenu: false - - onPressed: event => { - event.accepted = true; - if (event.button === Qt.RightButton) { - showMenu = !showMenu; - } - } - - onClicked: event => { - if (event.button === Qt.LeftButton) { - Networking.wifiEnabled = !Networking.wifiEnabled; - } - } - - showPressed: showMenu || (pressedButtons & ~Qt.RightButton) - - implicitHeight: width - fillWindowWidth: true - acceptedButtons: Qt.LeftButton | Qt.RightButton - image: Networking.wifiEnabled - ? (connected ? `root:/icons/wifi-${Math.round(root.activeNetwork.signalStrength * 3)}.svg` : "root:/icons/wifi-x.svg") - : "root:/icons/wifi-slash.svg" - - property var tooltip: TooltipItem { - tooltip: bar.tooltip - owner: root - show: root.containsMouse - - Label { text: "Network" } - } - - property var rightclickMenu: TooltipItem { - id: rightclickMenu - tooltip: bar.tooltip - owner: root - - isMenu: true - show: root.showMenu - onClose: root.showMenu = false - - Loader { - width: 400 - active: root.showMenu || rightclickMenu.visible - - sourceComponent: Column { - spacing: 5 - - move: Transition { - SmoothedAnimation { property: "y"; velocity: 350 } - } - - RowLayout { - width: parent.width - - ClickableIcon { - image: root.image - implicitHeight: 40 - implicitWidth: height - onClicked: root.adapter.enabled = !root.adapter.enabled - } - - Label { - text: `Wifi (${root.adapter.name})` - } - - Item { Layout.fillWidth: true } - - ClickableIcon { - image: Networking.wifiEnabled ? "root:/icons/wifi-slash.svg" : "root:/icons/wifi-x.svg" - implicitHeight: 24 - implicitWidth: height - onClicked: Networking.wifiEnabled = !Networking.wifiEnabled - } - - ActivityButton { - image: "root:/icons/binoculars.svg" - implicitHeight: 24 - implicitWidth: height - onClicked: root.adapter.scannerEnabled = !root.adapter.scannerEnabled - showAction: root.adapter.scannerEnabled - Layout.rightMargin: 4 - } - } - - Rectangle { - width: parent.width - implicitHeight: 1 - visible: root.adapter.networks.values.length > 0 - - color: ShellGlobals.colors.separator - } - - Repeater { - model: ScriptModel { - values: [...root.adapter.networks.values].sort((a, b) => { - if (a.connected && !b.connected) return -1; - if (b.connected && !a.connected) return 1; - if (a.bonded && !b.bonded) return -1; - if (b.bonded && !a.bonded) return 1; - return b.name - a.name; - }) - } - - delegate: NetworkDelegate { - required property var modelData - device: root.adapter - network: modelData - width: parent.width - } - } - } - } - } -} diff --git a/modules/user/modules/quickshell/shell/bar/connections/NetworkDelegate.qml b/modules/user/modules/quickshell/shell/bar/connections/NetworkDelegate.qml deleted file mode 100644 index 896b896..0000000 --- a/modules/user/modules/quickshell/shell/bar/connections/NetworkDelegate.qml +++ /dev/null @@ -1,63 +0,0 @@ -import QtQuick -import QtQuick.Layouts -import QtQuick.Controls -import Quickshell -import Quickshell.Widgets -import Quickshell.Networking -import qs -import qs.bar - -WrapperMouseArea { - id: root - required property NetworkDevice device - required property WifiNetwork network - property bool menuOpen: false - readonly property bool showBg: false - hoverEnabled: true - - onClicked: menuOpen = !menuOpen - - WrapperRectangle { - color: root.showBg ? ShellGlobals.colors.widget : "transparent" - border.width: 1 - border.color: root.showBg ? ShellGlobals.colors.widgetOutline : "transparent" - radius: 4 - rightMargin: 2 - - ColumnLayout { - RowLayout { - ClickableIcon { - image: `root:/icons/wifi-${Math.round(root.network.signalStrength * 3)}` - implicitHeight: 40 - implicitWidth: height - } - - Label { - text: root.network.name - } - - Item { Layout.fillWidth: true } - - ActivityButton { - image: root.network.connected ? "root:/icons/plugs-connected.svg" : "root:/icons/plugs.svg" - implicitHeight: 24 - implicitWidth: height - showAction: root.network.stateChanging - onClicked: { - if (showAction) return; - else if (root.network.connected) root.device.disconnect(); - else root.network.connect(); - } - } - - ClickableIcon { - image: "root:/icons/trash.svg" - implicitHeight: 24 - implicitWidth: height - visible: root.network.known - onClicked: root.network.forget() - } - } - } - } -}