From 3fc1005c35a0e999d9083f254a0c21894ad20059 Mon Sep 17 00:00:00 2001 From: Daniel Bulant Date: Thu, 19 Jun 2025 21:21:43 +0200 Subject: [PATCH] basic quickshell config --- .config/hypr/hyprland.conf | 50 +- .config/nushell/base-config.nu | 8 +- .config/quickshell/components/Bar.qml | 114 ++++ .../components/HyprlandWorkspace.qml | 39 ++ .../quickshell/components/Notification.qml | 10 + .../components/NotificationPanel.qml | 100 ++++ .config/quickshell/services/Time.qml | 21 + .config/quickshell/shell.qml | 9 + .config/quickshell/widgets/AudioWidget.qml | 39 ++ .config/quickshell/widgets/ClockWidget.qml | 6 + .../widgets/HyprlandWorkspacesWidget.qml | 33 ++ .config/quickshell/widgets/NetworkWidget.qml | 57 ++ .../widgets/NotificationsWidget.qml | 43 ++ .config/quickshell/widgets/PlayingWidget.qml | 179 ++++++ configuration.nix | 7 +- flake.lock | 561 +++--------------- flake.nix | 28 +- home.nix | 34 +- remove-old-nix.sh | 2 +- 19 files changed, 760 insertions(+), 580 deletions(-) create mode 100644 .config/quickshell/components/Bar.qml create mode 100644 .config/quickshell/components/HyprlandWorkspace.qml create mode 100644 .config/quickshell/components/Notification.qml create mode 100644 .config/quickshell/components/NotificationPanel.qml create mode 100644 .config/quickshell/services/Time.qml create mode 100644 .config/quickshell/shell.qml create mode 100644 .config/quickshell/widgets/AudioWidget.qml create mode 100644 .config/quickshell/widgets/ClockWidget.qml create mode 100644 .config/quickshell/widgets/HyprlandWorkspacesWidget.qml create mode 100644 .config/quickshell/widgets/NetworkWidget.qml create mode 100644 .config/quickshell/widgets/NotificationsWidget.qml create mode 100644 .config/quickshell/widgets/PlayingWidget.qml diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index f03757b..9d3f54a 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -1,10 +1,3 @@ -# -# Please note not all available settings / options are set here. -# For a full list, see the wiki -# - -#autogenerated = 1 # remove this line to remove the warning - #env=LIBSEAT_BACKEND,seatd # env = HYPRLAND_LOG_WLR,1 #env = WLR_DRM_DEVICES,$HOME/.config/hypr/nvidia:$HOME/.config/hypr/amd @@ -25,9 +18,9 @@ monitor=,preferred,auto,1 # env = GBM_BACKEND,nvidia-drm # env = __GLX_VENDOR_LIBRARY_NAME,nvidia -# cursor { -# no_hardware_cursors = true -# } +cursor { + no_hardware_cursors = true +} source = ~/.config/hypr/monitors.conf source = ~/.config/hypr/workspaces.conf @@ -75,7 +68,8 @@ exec-once=lorri daemon #exec-once=wlsunset -S 6:00 -s 21:30 exec-once=swaybg -m fill -i ~/.config/hypr/wallpapers/sunflowers.jpg -exec-once=waybar +# exec-once=waybar +exec-once=quickshell exec-once=blueman-applet exec-once=dunst exec-once=udev-block-notify @@ -100,9 +94,9 @@ env = QT_AUTO_SCREEN_SCALE_FACTOR,1 env = QT_ENABLE_HIGHDPI_SCALING,1 env = QT_QPA_PLATFORM,wayland;xcb env = XCURSOR_SIZE,24 -#env = LIBVA_DRIVER_NAME,nvidia +env = LIBVA_DRIVER_NAME,nvidia env = XDG_SESSION_TYPE,wayland -#env = __GLX_VENDOR_LIBRARY_NAME,nvidia +env = __GLX_VENDOR_LIBRARY_NAME,nvidia #env = WLR_NO_HARDWARE_CURSORS,1 env = WLR_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0 env = GDK_SCALE,1 @@ -243,19 +237,19 @@ misc { mouse_move_enables_dpms=true } -windowrule=float,blueman -windowrule=float,Anydesk -windowrule=float,file_progress -windowrule=float,confirm -windowrule=float,dialog -windowrule=float,download -windowrule=float,notification -windowrule=float,error -windowrule=float,splash -windowrule=float,confirmreset +windowrule=float,class:blueman +windowrule=float,class:Anydesk +windowrule=float,class:file_progress +windowrule=float,class:confirm +windowrule=float,class:dialog +windowrule=float,class:download +windowrule=float,class:notification +windowrule=float,class:error +windowrule=float,class:splash +windowrule=float,class:confirmreset windowrule=float,title:Open File windowrule=float,title:branchdialog -windowrule=tile,*vivaldi* +windowrule=tile,title:*vivaldi* blurls=gtk-layer-shell blurls=lockscreen @@ -419,7 +413,7 @@ decoration { #windowrule = nofullscreenrequest,flameshot -windowrule = float,flameshot -windowrule = monitor 1,flameshot -windowrule = move 0 0,flameshot -windowrule = noanim,flameshot +windowrule = float,title:flameshot +windowrule = monitor 1,title:flameshot +windowrule = move 0 0,title:flameshot +windowrule = noanim,title:flameshot diff --git a/.config/nushell/base-config.nu b/.config/nushell/base-config.nu index 4ba3e87..9dc9fc1 100644 --- a/.config/nushell/base-config.nu +++ b/.config/nushell/base-config.nu @@ -254,10 +254,10 @@ $env.config = { } } - filesize: { - metric: true # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard) - format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, auto - } + # filesize: { + # metric: true # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard) + # format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, auto + # } cursor_shape: { emacs: line # block, underscore, line, blink_block, blink_underscore, blink_line (line is the default) diff --git a/.config/quickshell/components/Bar.qml b/.config/quickshell/components/Bar.qml new file mode 100644 index 0000000..790823f --- /dev/null +++ b/.config/quickshell/components/Bar.qml @@ -0,0 +1,114 @@ +import Quickshell +import Quickshell.Hyprland +// import Quickshell.Services.SystemTray +import Quickshell.Services.Pipewire +import Quickshell.Services.Notifications +import QtQuick +import "../widgets" +import QtQuick.Layouts + +Scope { + property font customFont: Qt.font({ + bold: true, + pointSize: 12, + family: "FantasqueSansMNerdFont" + }) + + Variants { + model: Quickshell.screens + + PanelWindow { + id: root + property var modelData + screen: modelData + + anchors { + top: true + left: true + right: true + } + + margins { + top: 10 + left: 10 + right: 10 + } + + height: 50 + color: "#171a18" + + RowLayout { + spacing: 15 + + anchors { + left: parent.left + verticalCenter: parent.verticalCenter + leftMargin: 30 + } + + Text { + font: customFont + color: "#8ec07c" + text: "" + } + + HyprlandWorkspacesWidget { + font: customFont + default_color: "#689D6A" + active_color: "#8ec07c" + empty_color: "#928374" + spacing: 15 + } + } + + RowLayout { + anchors.centerIn: parent + spacing: 15 + + ClockWidget { + font: customFont + color: "#8ec07c" + } + + NotificationsWidget { + font: customFont + color: "#8ec07c" + } + } + + RowLayout { + anchors { + right: parent.right + verticalCenter: parent.verticalCenter + rightMargin: 30 + } + spacing: 15 + + // Image { + // Layout.fillHeight: true + // Layout.maximumHeight: 20 + // + // source: SystemTray.items.values[0].icon + // fillMode: Image.PreserveAspectFit + // } + + PlayingWidget { + custom_font: customFont + hover_color: "#928374" + default_color: "#8ec07c" + } + + NetworkWidget { + font: customFont + color: "#8ec07c" + } + + AudioWidget { + font: customFont + color: "#8ec07c" + node: Pipewire.defaultAudioSink + } + } + } + } +} diff --git a/.config/quickshell/components/HyprlandWorkspace.qml b/.config/quickshell/components/HyprlandWorkspace.qml new file mode 100644 index 0000000..1b9cf91 --- /dev/null +++ b/.config/quickshell/components/HyprlandWorkspace.qml @@ -0,0 +1,39 @@ +import QtQuick +import Quickshell.Hyprland + +Text { + id: text + required property int id + required property string icon + required property color default_color + required property color empty_color + required property color active_color + + text: icon + color: empty_color + + Component.onCompleted: { + Hyprland.rawEvent.connect(hyprEvent) + colorWorkspace() + } + + function hyprEvent(e) { + if (e.name == "workspace") { + if (e.data == id) { + text.color = text.active_color + } else { + colorWorkspace() + } + } + } + + function colorWorkspace() { + if (Hyprland.workspaces.values.some((w) => { + return w.id == id && w.lastIpcObject.windows > 0 + })) { + text.color = text.default_color + } else { + text.color = text.empty_color + } + } +} diff --git a/.config/quickshell/components/Notification.qml b/.config/quickshell/components/Notification.qml new file mode 100644 index 0000000..80499a5 --- /dev/null +++ b/.config/quickshell/components/Notification.qml @@ -0,0 +1,10 @@ +import QtQuick + +Text { + required property int id + required property string body + required property string summary + property int margin + + text: `- ${summary}: ${body}` +} diff --git a/.config/quickshell/components/NotificationPanel.qml b/.config/quickshell/components/NotificationPanel.qml new file mode 100644 index 0000000..51583c0 --- /dev/null +++ b/.config/quickshell/components/NotificationPanel.qml @@ -0,0 +1,100 @@ +import QtQuick +import QtQuick.Layouts +import QtQuick.Controls +import Quickshell +import Quickshell.Wayland +import Quickshell.Services.Notifications + +PanelWindow { + required property font custom_font + required property color text_color + property list notification_objects + + width: 500 + height: 600 + + color: "#171a18" + + WlrLayershell.layer: WlrLayer.Overlay + + Rectangle { + border.width: 5 + border.color: "#8ec07c" + anchors.fill: parent + color: "transparent" + + ColumnLayout { + id: content + anchors { + left: parent.left + leftMargin: 10 + right: parent.right + rightMargin: 10 + top: parent.top + topMargin: 10 + } + + RowLayout { + Layout.fillWidth: true + + Text { + Layout.fillWidth: true + text: "Notifications:" + font: custom_font + color: text_color + } + + Text { + text: "clear" + font: custom_font + color: text_color + + TapHandler { + id: tapHandler + gesturePolicy: TapHandler.ReleaseWithinBounds + onTapped: { + server.trackedNotifications.values.forEach((notification) => { + notification.tracked = false + }) + notification_objects.forEach((object) => { + object.destroy(); + }) + notification_objects = []; + } + } + + HoverHandler { + id: mouse + acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad + cursorShape: Qt.PointingHandCursor + } + } + } + } + } + + NotificationServer { + id: server + onNotification: (notification) => { + notification.tracked = true + console.log(JSON.stringify(notification)); + var notification_component = Qt.createComponent("Notification.qml"); + var notification_object = notification_component + .createObject(content, + { + id: notification.id, + body: notification.body, + summary: notification.summary, + font: custom_font, + color: text_color, + margin: 10 + } + ) + if (notification_object == null) { + console.log("Error creating notification") + } else { + notification_objects.push(notification_object); + } + } + } +} diff --git a/.config/quickshell/services/Time.qml b/.config/quickshell/services/Time.qml new file mode 100644 index 0000000..3cee957 --- /dev/null +++ b/.config/quickshell/services/Time.qml @@ -0,0 +1,21 @@ +pragma Singleton + +import Quickshell +import Quickshell.Io +import QtQuick + +Singleton { + property var date: new Date() + property string time: date.getHours() + + ":" + date.getMinutes().toString().padStart(2, "0") + + " - " + date.getDate() + + "/" + (date.getMonth() + 1).toString().padStart(2, "0") + + "/" + date.getFullYear() + + Timer { + interval: 1000 + running: true + repeat: true + onTriggered: date = new Date() + } +} diff --git a/.config/quickshell/shell.qml b/.config/quickshell/shell.qml new file mode 100644 index 0000000..c47c3a4 --- /dev/null +++ b/.config/quickshell/shell.qml @@ -0,0 +1,9 @@ +import Quickshell +import QtQuick +import "./components" +import "./widgets" +import "./services" + +ShellRoot { + Bar {} +} diff --git a/.config/quickshell/widgets/AudioWidget.qml b/.config/quickshell/widgets/AudioWidget.qml new file mode 100644 index 0000000..18c4d15 --- /dev/null +++ b/.config/quickshell/widgets/AudioWidget.qml @@ -0,0 +1,39 @@ +import QtQuick +import Quickshell.Services.Pipewire + +Text { + required property PwNode node + property list icons: [ + "", + "", + "" + ] + + PwObjectTracker { + objects: [node] + } + + HoverHandler { + id: mouse + acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad + cursorShape: Qt.PointingHandCursor + } + + TapHandler { + id: tapHandler + gesturePolicy: TapHandler.ReleaseWithinBounds + onTapped: node.audio.muted = !node.audio.muted + } + + text: { + var icon_id = Math.floor(node.audio.volume*icons.length) + var output = icon_id >= icons.length ? icons[icons.length-1] : icons[icon_id] + if (mouse.hovered) { + output = output + " " + Math.round(node.audio.volume*100) + "%" + } + if (node.audio.muted) { + output = "" + } + return output + } +} diff --git a/.config/quickshell/widgets/ClockWidget.qml b/.config/quickshell/widgets/ClockWidget.qml new file mode 100644 index 0000000..01d8329 --- /dev/null +++ b/.config/quickshell/widgets/ClockWidget.qml @@ -0,0 +1,6 @@ +import QtQuick +import "../services" + +Text { + text: Time.time +} diff --git a/.config/quickshell/widgets/HyprlandWorkspacesWidget.qml b/.config/quickshell/widgets/HyprlandWorkspacesWidget.qml new file mode 100644 index 0000000..f07762d --- /dev/null +++ b/.config/quickshell/widgets/HyprlandWorkspacesWidget.qml @@ -0,0 +1,33 @@ +import Quickshell.Hyprland +import QtQuick +import QtQuick.Layouts + +RowLayout { + id: container + property var icons: {1: "一", 2: "二", 3: "三", 4: "四", 5: "五"} + property int nWorkspaces: 5 + property font font + property color default_color + property color empty_color + property color active_color + + Component.onCompleted: { + var workspaceComponent = Qt.createComponent("../components/HyprlandWorkspace.qml"); + for (var i = 1; i <= nWorkspaces; i++) { + var workspace = workspaceComponent + .createObject(container, + { + id: i, + icon: icons[i], + font: font, + default_color: default_color, + empty_color: empty_color, + active_color: active_color + } + ) + if (workspace == null) { + console.log("Error creating workspace") + } + } + } +} diff --git a/.config/quickshell/widgets/NetworkWidget.qml b/.config/quickshell/widgets/NetworkWidget.qml new file mode 100644 index 0000000..f624b75 --- /dev/null +++ b/.config/quickshell/widgets/NetworkWidget.qml @@ -0,0 +1,57 @@ +import QtQuick +import Quickshell +import Quickshell.Io + +Text { + id: network + property int quality + property string name + property list icons: [ + "󰤯", + "󰤟", + "󰤢", + "󰤥", + "󰤨" + ] + property string no_connection: "󰤭" + + text: { + var output = network.no_connection + if (name != "") { + var icon_id = Math.floor((quality*icons.length)/100) + output = icon_id >= icons.length ? icons[icons.length-1] : icons[icon_id] + if (mouse.hovered) { + output = output + " " + name + } + } + return output + } + + Process { + id: nmcliProc + command: ["sh", "-c", "nmcli device wifi rescan | nmcli -t -f IN-USE,SSID,SIGNAL device wifi list | grep '^*'"] + running: true + + stdout: SplitParser { + onRead: data => { + data = data.split(":") + name = data[1] + quality = data[2] + } + } + } + + Timer { + interval: 1000 + running: true + repeat: true + onTriggered: { + nmcliProc.running = true + } + } + + HoverHandler { + id: mouse + acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad + } +} diff --git a/.config/quickshell/widgets/NotificationsWidget.qml b/.config/quickshell/widgets/NotificationsWidget.qml new file mode 100644 index 0000000..ee7aba1 --- /dev/null +++ b/.config/quickshell/widgets/NotificationsWidget.qml @@ -0,0 +1,43 @@ +import QtQuick +import Quickshell.Services.Notifications +import "../components" + +Text { + id: root + property bool showNotification: false + + text: " " + notifServer.trackedNotifications.values.length + + NotificationServer { + id: notifServer + onNotification: (notification) => { + notification.tracked = true + } + } + + HoverHandler { + id: mouse + acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad + cursorShape: Qt.PointingHandCursor + } + + TapHandler { + id: tapHandler + gesturePolicy: TapHandler.ReleaseWithinBounds + onTapped: showNotification = !showNotification + } + + NotificationPanel { + custom_font: root.font + text_color: root.color + visible: showNotification + + anchors { + top: parent.top + } + + margins { + top: 10 + } + } +} diff --git a/.config/quickshell/widgets/PlayingWidget.qml b/.config/quickshell/widgets/PlayingWidget.qml new file mode 100644 index 0000000..7ae65ab --- /dev/null +++ b/.config/quickshell/widgets/PlayingWidget.qml @@ -0,0 +1,179 @@ +import QtQuick +import QtQuick.Layouts +import Quickshell.Services.Mpris + +RowLayout { + id: root + required property font custom_font + property color default_color: "#8ec07c" + property color hover_color: "#928374" + property int text_width: 100 + + spacing: 10 + + Rectangle { + id: bounding + height: content.height + color: "transparent" + clip: true + Layout.minimumWidth: text_width + width: text_width + + Text { + id: content + color: mouse.hovered ? hover_color : default_color + font: custom_font + text: (Mpris.players.values.length > 0 && Mpris.players.values[0].trackTitle.length > 0) ? Mpris.players.values[0].trackTitle : "" + clip: true + + } + } + + Text { + text: (Mpris.players.values.length > 0 && Mpris.players.values[0].trackTitle.length > 0) ? "" : "󰝛" + color: mouse.hovered ? hover_color : default_color + font: custom_font + z: 1 + + Text { + visible: mouse.hovered + color: default_color + font: parent.font + x: -(parent.width + text_width/2) + + text: { + var state = ""; + if (Mpris.players.values.length > 0 && Mpris.players.values[0].trackTitle.length > 0) { + switch (Mpris.players.values[0].playbackState) { + case 1: + state = ""; + break; + case 2: + state = ""; + break; + default: + state = ""; + } + } + return state + } + } + } + + Timer { + interval: 50 + running: true + repeat: true + onTriggered: { + if (content.width > text_width) { + if (content.x <= -content.width) { + content.x = text_width; + } else { + content.x = content.x - 1; + } + } + } + } + + TapHandler { + id: tapHandler + gesturePolicy: TapHandler.ReleaseWithinBounds + onTapped: { + if (Mpris.players.values.length > 0) { + if (Mpris.players.values[0].playbackState == 1) { + Mpris.players.values[0].pause(); + } else { + Mpris.players.values[0].play(); + } + } + } + } + + HoverHandler { + id: mouse + acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad + cursorShape: Qt.PointingHandCursor + enabled: Mpris.players.values.length > 0 && Mpris.players.values[0].trackTitle.length > 0 + } +} + +// Text { +// property int tStart: 0 +// property int nChar: 15 +// property int countStopped: 15 +// property int counter: 0 +// property color default_color: "#8ec07c" +// property color hover_color: "#689D6A" +// +// color: mouse.hovered ? hover_color : default_color +// +// text: { +// var output = ""; +// if (Mpris.players.values.length > 0 && Mpris.players.values[0].trackTitle.length > 0) { +// output = Mpris.players.values[0].trackTitle; +// output = ` ${output.substr(tStart, nChar)}`; +// } else { +// output = "󰝛"; +// } +// return output +// } +// +// Text { +// visible: mouse.hovered +// color: default_color +// font: parent.font +// anchors.centerIn: parent +// text: { +// var state = ""; +// switch (Mpris.players.values[0].playbackState) { +// case 1: +// state = ""; +// break; +// case 2: +// state = ""; +// break; +// default: +// state = ""; +// } +// return state +// } +// } +// +// Timer { +// interval: 250 +// running: true +// repeat: true +// onTriggered: { +// if (counter < countStopped) { +// counter++; +// tStart = 0; +// } else { +// if (tStart + nChar < Mpris.players.values[0].trackTitle.length) { +// tStart++; +// } else { +// counter = 0; +// } +// } +// } +// } +// +// TapHandler { +// id: tapHandler +// gesturePolicy: TapHandler.ReleaseWithinBounds +// onTapped: { +// if (Mpris.players.values.length > 0) { +// if (Mpris.players.values[0].playbackState == 1) { +// Mpris.players.values[0].pause(); +// } else { +// Mpris.players.values[0].play(); +// } +// } +// } +// } +// +// HoverHandler { +// id: mouse +// acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad +// cursorShape: Qt.PointingHandCursor +// } +// } diff --git a/configuration.nix b/configuration.nix index 701797b..e1e4b2d 100644 --- a/configuration.nix +++ b/configuration.nix @@ -3,7 +3,7 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ config, pkgs, hyprland, options, hyprland-plugins, nixpkgs-unstable, lib, nixos-hardware, zen-browser/*, kwin-effects-forceblur*/, ... }: +{ config, pkgs, /*hyprland,*/ options, /*hyprland-plugins, nixpkgs-unstable,*/ lib, nixos-hardware, zen-browser/*, kwin-effects-forceblur*/, ... }: # let # unstable-pkgs = nixpkgs-unstable.legacyPackages.x86_64-linux; #import nixpkgs-unstable.nixosModules.readOnlyPkgs {}; # unstable-pkgs = hyprland.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system}; @@ -120,6 +120,7 @@ services.localtimed.enable = true; services.lorri.enable = true; services.blueman.enable = true; + qt.enable = true; hardware.bluetooth.enable = true; hardware.bluetooth.powerOnBoot = true; programs.wireshark.enable = true; @@ -320,15 +321,17 @@ 57621 # Spotify app discovery 42000 42001 + 1716 # kdeconnect ]; networking.firewall.allowedUDPPorts = [ 5353 # Google cast discovery 42000 # warpinator 42001 # warpinator 67 68 # dhcp + 1716 # kdeconnect ]; # Or disable the firewall altogether. - # networking.firewall.enable = false; + networking.firewall.enable = false; services.udev.extraRules = '' # Wooting One Legacy diff --git a/flake.lock b/flake.lock index 0fb3b31..06b3de7 100644 --- a/flake.lock +++ b/flake.lock @@ -1,39 +1,6 @@ { "nodes": { "aquamarine": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1742213273, - "narHash": "sha256-0l0vDb4anfsBu1rOs94bC73Hub+xEivgBAo6QXl2MmU=", - "owner": "hyprwm", - "repo": "aquamarine", - "rev": "484b732195cc53f4536ce4bd59a5c6402b1e7ccf", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "aquamarine", - "type": "github" - } - }, - "aquamarine_2": { "inputs": { "hyprutils": [ "hyprland-plugins", @@ -106,32 +73,16 @@ "type": "github" } }, - "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "lastModified": 1749398372, + "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", "type": "github" }, "original": { @@ -141,28 +92,6 @@ } }, "gitignore": { - "inputs": { - "nixpkgs": [ - "hyprland", - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "gitignore_2": { "inputs": { "nixpkgs": [ "hyprland-plugins", @@ -192,50 +121,21 @@ ] }, "locked": { - "lastModified": 1747331121, - "narHash": "sha256-3MmiUN/jOHBHQUnjqzg6qKArc17j2OS6jisEppDY4g8=", + "lastModified": 1749154018, + "narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=", "owner": "nix-community", "repo": "home-manager", - "rev": "1eec32f0efe3b830927989767a9e6ece0d82d608", + "rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-24.11", + "ref": "release-25.05", "repo": "home-manager", "type": "github" } }, "hyprcursor": { - "inputs": { - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1742215578, - "narHash": "sha256-zfs71PXVVPEe56WEyNi2TJQPs0wabU4WAlq0XV7GcdE=", - "owner": "hyprwm", - "repo": "hyprcursor", - "rev": "2fd36421c21aa87e2fe3bee11067540ae612f719", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprcursor", - "type": "github" - } - }, - "hyprcursor_2": { "inputs": { "hyprlang": [ "hyprland-plugins", @@ -268,35 +168,6 @@ } }, "hyprgraphics": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1739049071, - "narHash": "sha256-3+7TpXMrbsUXSwgr5VAKAnmkzMb6JO+Rvc9XRb5NMg4=", - "owner": "hyprwm", - "repo": "hyprgraphics", - "rev": "175c6b29b6ff82100539e7c4363a35a02c74dd73", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprgraphics", - "type": "github" - } - }, - "hyprgraphics_2": { "inputs": { "hyprutils": [ "hyprland-plugins", @@ -344,23 +215,22 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1743178567, - "narHash": "sha256-MRgOvqs+bqS7I72N/1CJUShaXxej1m1XzheH60t1xLs=", + "lastModified": 1746637327, + "narHash": "sha256-6aBqHP+pa8bqhORp/c8Y/Sw/KacWTow2qvOYNoAQ7M8=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "29e2e59fdbab8ed2cc23a20e3c6043d5decb5cdc", + "rev": "6abb5b0c7e98e064c752075b78cb7389ea818f46", "type": "github" }, "original": { "owner": "hyprwm", - "ref": "v0.48.1", "repo": "Hyprland", "type": "github" } }, "hyprland-plugins": { "inputs": { - "hyprland": "hyprland_2", + "hyprland": "hyprland", "nixpkgs": [ "nixpkgs" ], @@ -371,11 +241,11 @@ ] }, "locked": { - "lastModified": 1747595918, - "narHash": "sha256-5wjvmFtk85uBJLnrKZbfrgo9OTTQlFP18ZNgfBwFsz0=", + "lastModified": 1750357661, + "narHash": "sha256-ODKLzMO/y79mHpUL5+6/6S6GTNAzanoIWUAwiyVnwm8=", "owner": "hyprwm", "repo": "hyprland-plugins", - "rev": "4dea1029e837ae642979ab509eb2eddc959470d0", + "rev": "a65f46c5646b11451a8ef462f9780e89f809cd5d", "type": "github" }, "original": { @@ -385,31 +255,6 @@ } }, "hyprland-protocols": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1738422629, - "narHash": "sha256-5v+bv75wJWvahyM2xcMTSNNxmV8a7hb01Eey5zYnBJw=", - "owner": "hyprwm", - "repo": "hyprland-protocols", - "rev": "755aef8dab49d0fc4663c715fa4ad221b2aedaed", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-protocols", - "type": "github" - } - }, - "hyprland-protocols_2": { "inputs": { "nixpkgs": [ "hyprland-plugins", @@ -437,38 +282,6 @@ } }, "hyprland-qt-support": { - "inputs": { - "hyprlang": [ - "hyprland", - "hyprland-qtutils", - "hyprlang" - ], - "nixpkgs": [ - "hyprland", - "hyprland-qtutils", - "nixpkgs" - ], - "systems": [ - "hyprland", - "hyprland-qtutils", - "systems" - ] - }, - "locked": { - "lastModified": 1737634706, - "narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=", - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "rev": "8810df502cdee755993cb803eba7b23f189db795", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "type": "github" - } - }, - "hyprland-qt-support_2": { "inputs": { "hyprlang": [ "hyprland-plugins", @@ -506,42 +319,6 @@ "hyprland-qtutils": { "inputs": { "hyprland-qt-support": "hyprland-qt-support", - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "hyprutils": [ - "hyprland", - "hyprland-qtutils", - "hyprlang", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1739048983, - "narHash": "sha256-REhTcXq4qs3B3cCDtLlYDz0GZvmsBSh947Ub6pQWGTQ=", - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "rev": "3504a293c8f8db4127cb0f7cfc1a318ffb4316f8", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "type": "github" - } - }, - "hyprland-qtutils_2": { - "inputs": { - "hyprland-qt-support": "hyprland-qt-support_2", "hyprlang": [ "hyprland-plugins", "hyprland", @@ -579,65 +356,7 @@ "type": "github" } }, - "hyprland_2": { - "inputs": { - "aquamarine": "aquamarine_2", - "hyprcursor": "hyprcursor_2", - "hyprgraphics": "hyprgraphics_2", - "hyprland-protocols": "hyprland-protocols_2", - "hyprland-qtutils": "hyprland-qtutils_2", - "hyprlang": "hyprlang_2", - "hyprutils": "hyprutils_2", - "hyprwayland-scanner": "hyprwayland-scanner_2", - "nixpkgs": "nixpkgs_2", - "pre-commit-hooks": "pre-commit-hooks_2", - "systems": "systems_2", - "xdph": "xdph_2" - }, - "locked": { - "lastModified": 1746637327, - "narHash": "sha256-6aBqHP+pa8bqhORp/c8Y/Sw/KacWTow2qvOYNoAQ7M8=", - "owner": "hyprwm", - "repo": "Hyprland", - "rev": "6abb5b0c7e98e064c752075b78cb7389ea818f46", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "Hyprland", - "type": "github" - } - }, "hyprlang": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1741191527, - "narHash": "sha256-kM+11Nch47Xwfgtw2EpRitJuORy4miwoMuRi5tyMBDY=", - "owner": "hyprwm", - "repo": "hyprlang", - "rev": "72df3861f1197e41b078faa3e38eedd60e00018d", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprlang", - "type": "github" - } - }, - "hyprlang_2": { "inputs": { "hyprutils": [ "hyprland-plugins", @@ -670,31 +389,6 @@ } }, "hyprutils": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1741534688, - "narHash": "sha256-EV3945SnjOCuRVbGRghsWx/9D89FyshnSO1Q6/TuQ14=", - "owner": "hyprwm", - "repo": "hyprutils", - "rev": "dd1f720cbc2dbb3c71167c9598045dd3261d27b3", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprutils", - "type": "github" - } - }, - "hyprutils_2": { "inputs": { "nixpkgs": [ "hyprland-plugins", @@ -722,31 +416,6 @@ } }, "hyprwayland-scanner": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1739870480, - "narHash": "sha256-SiDN5BGxa/1hAsqhgJsS03C3t2QrLgBT8u+ENJ0Qzwc=", - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "rev": "206367a08dc5ac4ba7ad31bdca391d098082e64b", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "type": "github" - } - }, - "hyprwayland-scanner_2": { "inputs": { "nixpkgs": [ "hyprland-plugins", @@ -776,14 +445,14 @@ "nix-gaming": { "inputs": { "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1747620037, - "narHash": "sha256-M5yyl1Cp5rolwGBuCEKXG6qJj9lao16lshqPF83z0qs=", + "lastModified": 1750353630, + "narHash": "sha256-WQe6vTVEQnreMUUiLkv7Ro8oxQfaMiecWJFAD+HRXWA=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "5d7985a2d5c877f6a276a2b024fff6bb2995ff24", + "rev": "f32963b465a2d1f31cdf53929bb46413950efde0", "type": "github" }, "original": { @@ -799,11 +468,11 @@ ] }, "locked": { - "lastModified": 1747540584, - "narHash": "sha256-cxCQ413JTUuRv9Ygd8DABJ1D6kuB/nTfQqC0Lu9C0ls=", + "lastModified": 1749960154, + "narHash": "sha256-EWlr9MZDd+GoGtZB4QsDzaLyaDQPGnRY03MFp6u2wSg=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "ec179dd13fb7b4c6844f55be91436f7857226dce", + "rev": "424a40050cdc5f494ec45e46462d288f08c64475", "type": "github" }, "original": { @@ -814,11 +483,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1747129300, - "narHash": "sha256-L3clA5YGeYCF47ghsI7Tcex+DnaaN/BbQ4dR2wzoiKg=", + "lastModified": 1750083401, + "narHash": "sha256-ynqbgIYrg7P1fAKYqe8I/PMiLABBcNDYG9YaAP/d/C4=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "e81fd167b33121269149c57806599045fd33eeed", + "rev": "61837d2a33ccc1582c5fabb7bf9130d39fee59ad", "type": "github" }, "original": { @@ -828,53 +497,6 @@ } }, "nixpkgs": { - "locked": { - "lastModified": 1742069588, - "narHash": "sha256-C7jVfohcGzdZRF6DO+ybyG/sqpo1h6bZi9T56sxLy+k=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "c80f6a7e10b39afcc1894e02ef785b1ad0b0d7e5", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1743296961, - "narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixpkgs-unstable": { - "locked": { - "lastModified": 1747542820, - "narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { "locked": { "lastModified": 1746141548, "narHash": "sha256-IgBWhX7A2oJmZFIrpRuMnw5RAufVnfvOgHWgIdds+hc=", @@ -890,13 +512,44 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs-lib": { "locked": { - "lastModified": 1747426788, - "narHash": "sha256-N4cp0asTsJCnRMFZ/k19V9akkxb7J/opG+K+jU57JGc=", + "lastModified": 1748740939, + "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "656a64127e9d791a334452c6b6606d17539476e2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1750134718, + "narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "12a55407652e04dcf2309436eb06fef0d3713ef3", + "rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1749871736, + "narHash": "sha256-K9yBph93OLTNw02Q6e9CYFGrUhvEXnh45vrZqIRWfvQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "6afe187897bef7933475e6af374c893f4c84a293", "type": "github" }, "original": { @@ -906,23 +559,23 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { - "lastModified": 1747485343, - "narHash": "sha256-YbsZyuRE1tobO9sv0PUwg81QryYo3L1F3R3rF9bcG38=", + "lastModified": 1750133334, + "narHash": "sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9b5ac7ad45298d58640540d0323ca217f32a6762", + "rev": "36ab78dab7da2e4e27911007033713bab534187b", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_4": { "locked": { "lastModified": 1727348695, "narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=", @@ -942,29 +595,6 @@ "inputs": { "flake-compat": "flake-compat", "gitignore": "gitignore", - "nixpkgs": [ - "hyprland", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1742058297, - "narHash": "sha256-b4SZc6TkKw8WQQssbN5O2DaCEzmFfvSTPYHlx/SFW9Y=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "59f17850021620cd348ad2e9c0c64f4e6325ce2a", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "pre-commit-hooks_2": { - "inputs": { - "flake-compat": "flake-compat_2", - "gitignore": "gitignore_2", "nixpkgs": [ "hyprland-plugins", "hyprland", @@ -989,12 +619,11 @@ "inputs": { "dolphin-overlay": "dolphin-overlay", "home-manager": "home-manager", - "hyprland": "hyprland", "hyprland-plugins": "hyprland-plugins", "nix-gaming": "nix-gaming", "nix-index-database": "nix-index-database", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_3", "nixpkgs-unstable": "nixpkgs-unstable", "zen-browser": "zen-browser" } @@ -1014,63 +643,7 @@ "type": "github" } }, - "systems_2": { - "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - }, "xdph": { - "inputs": { - "hyprland-protocols": [ - "hyprland", - "hyprland-protocols" - ], - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1741934139, - "narHash": "sha256-ZhTcTH9FoeAtbPfWGrhkH7RjLJZ7GeF18nygLAMR+WE=", - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "rev": "150b0b6f52bb422a1b232a53698606fe0320dde0", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "type": "github" - } - }, - "xdph_2": { "inputs": { "hyprland-protocols": [ "hyprland-plugins", @@ -1119,7 +692,7 @@ }, "zen-browser": { "inputs": { - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_4" }, "locked": { "lastModified": 1727721329, diff --git a/flake.nix b/flake.nix index 4d01392..d6b8d07 100644 --- a/flake.nix +++ b/flake.nix @@ -1,11 +1,10 @@ { inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; zen-browser.url = "github:MarceColl/zen-browser-flake"; nixos-hardware.url = "github:NixOS/nixos-hardware"; - #hyprland.url = "github:hyprwm/Hyprland/v0.44.1-b"; - hyprland.url = "github:hyprwm/Hyprland/v0.48.1"; + # hyprland.url = "github:hyprwm/Hyprland/v0.48.1"; hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; # inputs.hyprland.follows = "hyprland"; @@ -15,12 +14,8 @@ url = "github:rumboon/dolphin-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; -# suyu = { -# url = "git+https://git.suyu.dev/suyu/nix-flake"; -# inputs.nixpkgs.follows = "nixpkgs"; -# }; home-manager = { - url = "github:nix-community/home-manager/release-24.11"; + url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -30,7 +25,7 @@ nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = { nixpkgs, dolphin-overlay, hyprland-plugins, hyprland, home-manager, nixpkgs-unstable, nix-gaming,/* suyu, */nix-index-database, ... }@attrs: { + outputs = { nixpkgs, dolphin-overlay, hyprland-plugins, /*hyprland,*/ home-manager, nixpkgs-unstable, nix-gaming,nix-index-database, ... }@attrs: { nixosConfigurations.lenovo-nix = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = attrs; @@ -42,7 +37,7 @@ home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.users.dan = (import ./home.nix) { inherit nixpkgs-unstable nix-gaming /*suyu */hyprland-plugins hyprland; }; + home-manager.users.dan = (import ./home.nix) { inherit nixpkgs-unstable nix-gaming /*suyu hyprland*/ hyprland-plugins; }; home-manager.backupFileExtension = "backup"; } ./configuration.nix @@ -50,18 +45,5 @@ { programs.nix-index-database.comma.enable = true; } ]; }; - - # homeConfigurations.lenovo-nix = home-manager.lib.homeManagerConfiguration { - # pkgs = import nixpkgs { - # system = "x86_64-linux"; - # config.allowUnfree = true; - # }; - - # extraSpecialArgs = {inherit attrs;}; - - # modules = [ - # ./home.nix - # ]; - # }; }; } diff --git a/home.nix b/home.nix index 509801e..4bd7414 100644 --- a/home.nix +++ b/home.nix @@ -1,4 +1,4 @@ -{ nix-gaming, nixpkgs-unstable,/* suyu, */hyprland-plugins, hyprland, ... }: +{ nix-gaming, nixpkgs-unstable,/* suyu, */hyprland-plugins/*, hyprland*/, ... }: { pkgs, inputs, ...}: let @@ -15,8 +15,8 @@ in stateVersion = "24.05"; packages = with pkgs; [ -# davinci-resolve # builds spidermonkey for some reason bruh -# robot3t + unstable.quickshell + minikube nebula nixpkgs-unstable.legacyPackages.${system}.jet-pilot k9s @@ -28,17 +28,12 @@ in anki-bin xournalpp simple-scan - dotnet-sdk - # acpilight - #kdePackages.plasma-workspace godot_4 rar wootility surrealdb - #surrealist pico-sdk elf2uf2-rs - # nix-gaming.packages.${pkgs.system}.osu-lazer-bin obsidian betaflight-configurator home-manager @@ -50,7 +45,8 @@ in inter fira fira-code - fira-code-nerdfont + # fira-code-nerdfont + nerd-fonts.fira-code iosevka kitty rofi-wayland @@ -61,7 +57,6 @@ in meslo-lgs-nf waybar chromium - # firefox dunst sccache swaybg @@ -70,12 +65,8 @@ in kubectl duf dust - jetbrains.rust-rover jetbrains.webstorm - jetbrains.phpstorm - jetbrains.pycharm-community-bin jetbrains.clion - jetbrains.goland jetbrains.datagrip jetbrains.rider datovka @@ -97,7 +88,7 @@ in kdePackages.kinfocenter kdePackages.kirigami-addons kdePackages.ark - #xorg.xbacklight + kdePackages.qtdeclarative cachix playerctl libcanberra-gtk3 # sound events @@ -117,7 +108,6 @@ in cinny-desktop gping gparted - # redisinsight valgrind caddy jq @@ -127,14 +117,12 @@ in erlang terraform nodejs - # nodePackages.pnpm corepack ansible aria2 qbittorrent audacity bettercap - # bitwarden duperemove ffmpeg flameshot @@ -147,8 +135,6 @@ in nheko quickemu qemu - # uwufetch - # vagrant socat websocat whois @@ -164,7 +150,6 @@ in nixpkgs-unstable.legacyPackages.${system}.zed-editor nixpkgs-unstable.legacyPackages.${system}.pineflash unstable.nosql-booster - # suyu.packages.${pkgs.stdenv.hostPlatform.system}.suyu android-tools hyperfine @@ -207,13 +192,6 @@ in lsof carapace - # (python312.withPackages (ps: with ps; [ - # pyquery - # pygobject3 - # ])) - # pipx - # gobject-introspection - crate2nix ]; }; diff --git a/remove-old-nix.sh b/remove-old-nix.sh index addc45a..46abfa8 100644 --- a/remove-old-nix.sh +++ b/remove-old-nix.sh @@ -1,4 +1,4 @@ # sudo nix profile wipe-history --profile /nix/var/nix/profiles/system --older-than 30d # nix-env --delete-generations 30d # nix-collect-garbage -nh clean all -k 2 # -K 10d +nh clean all -k 1 # -K 10d