mirror of
https://github.com/danbulant/dotfiles
synced 2026-06-21 15:51:51 +00:00
basic quickshell config
This commit is contained in:
parent
99f4cef832
commit
3fc1005c35
19 changed files with 760 additions and 580 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
114
.config/quickshell/components/Bar.qml
Normal file
114
.config/quickshell/components/Bar.qml
Normal file
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
39
.config/quickshell/components/HyprlandWorkspace.qml
Normal file
39
.config/quickshell/components/HyprlandWorkspace.qml
Normal file
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
10
.config/quickshell/components/Notification.qml
Normal file
10
.config/quickshell/components/Notification.qml
Normal file
|
|
@ -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}`
|
||||
}
|
||||
100
.config/quickshell/components/NotificationPanel.qml
Normal file
100
.config/quickshell/components/NotificationPanel.qml
Normal file
|
|
@ -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<QtObject> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
21
.config/quickshell/services/Time.qml
Normal file
21
.config/quickshell/services/Time.qml
Normal file
|
|
@ -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()
|
||||
}
|
||||
}
|
||||
9
.config/quickshell/shell.qml
Normal file
9
.config/quickshell/shell.qml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
import Quickshell
|
||||
import QtQuick
|
||||
import "./components"
|
||||
import "./widgets"
|
||||
import "./services"
|
||||
|
||||
ShellRoot {
|
||||
Bar {}
|
||||
}
|
||||
39
.config/quickshell/widgets/AudioWidget.qml
Normal file
39
.config/quickshell/widgets/AudioWidget.qml
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
import QtQuick
|
||||
import Quickshell.Services.Pipewire
|
||||
|
||||
Text {
|
||||
required property PwNode node
|
||||
property list<string> 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
|
||||
}
|
||||
}
|
||||
6
.config/quickshell/widgets/ClockWidget.qml
Normal file
6
.config/quickshell/widgets/ClockWidget.qml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
import QtQuick
|
||||
import "../services"
|
||||
|
||||
Text {
|
||||
text: Time.time
|
||||
}
|
||||
33
.config/quickshell/widgets/HyprlandWorkspacesWidget.qml
Normal file
33
.config/quickshell/widgets/HyprlandWorkspacesWidget.qml
Normal file
|
|
@ -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")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
57
.config/quickshell/widgets/NetworkWidget.qml
Normal file
57
.config/quickshell/widgets/NetworkWidget.qml
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
import QtQuick
|
||||
import Quickshell
|
||||
import Quickshell.Io
|
||||
|
||||
Text {
|
||||
id: network
|
||||
property int quality
|
||||
property string name
|
||||
property list<string> 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
|
||||
}
|
||||
}
|
||||
43
.config/quickshell/widgets/NotificationsWidget.qml
Normal file
43
.config/quickshell/widgets/NotificationsWidget.qml
Normal file
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
179
.config/quickshell/widgets/PlayingWidget.qml
Normal file
179
.config/quickshell/widgets/PlayingWidget.qml
Normal file
|
|
@ -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
|
||||
// }
|
||||
// }
|
||||
|
|
@ -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
|
||||
|
|
|
|||
561
flake.lock
561
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,
|
||||
|
|
|
|||
28
flake.nix
28
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
|
||||
# ];
|
||||
# };
|
||||
};
|
||||
}
|
||||
|
|
|
|||
34
home.nix
34
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
|
||||
];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue