chore: drop unused softwares
This commit is contained in:
@@ -61,8 +61,6 @@
|
|||||||
desktop.all.enable = true;
|
desktop.all.enable = true;
|
||||||
virt.moonlight.enable = true;
|
virt.moonlight.enable = true;
|
||||||
|
|
||||||
desktop.browser.librewolf.enable = lib.mkForce false;
|
|
||||||
|
|
||||||
i18n.fcitx5.enable = true;
|
i18n.fcitx5.enable = true;
|
||||||
|
|
||||||
xdg = {
|
xdg = {
|
||||||
|
|||||||
@@ -91,8 +91,6 @@
|
|||||||
coding.all.enable = true;
|
coding.all.enable = true;
|
||||||
desktop.all.enable = true;
|
desktop.all.enable = true;
|
||||||
|
|
||||||
desktop.browser.librewolf.enable = lib.mkForce false;
|
|
||||||
|
|
||||||
i18n.fcitx5.enable = true;
|
i18n.fcitx5.enable = true;
|
||||||
|
|
||||||
xdg = {
|
xdg = {
|
||||||
|
|||||||
21
flake.lock
generated
21
flake.lock
generated
@@ -1001,26 +1001,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"quickshell": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1753090730,
|
|
||||||
"narHash": "sha256-QG14m53ZGp2Gk7xD2Q+Tf7RYCKfk/BYRaBtX3X4IKbc=",
|
|
||||||
"ref": "refs/heads/master",
|
|
||||||
"rev": "db77c71c216530159c2dcf5b269ebb4706b2e2dd",
|
|
||||||
"revCount": 653,
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"chaotic": "chaotic",
|
"chaotic": "chaotic",
|
||||||
@@ -1040,7 +1020,6 @@
|
|||||||
"nixpkgs-stable": "nixpkgs-stable",
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"quickshell": "quickshell",
|
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"stylix": "stylix",
|
"stylix": "stylix",
|
||||||
"zen": "zen"
|
"zen": "zen"
|
||||||
|
|||||||
14
flake.nix
14
flake.nix
@@ -32,9 +32,6 @@
|
|||||||
niri.inputs.nixpkgs.follows = "nixpkgs";
|
niri.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
niri.inputs.nixpkgs-stable.follows = "nixpkgs-stable";
|
niri.inputs.nixpkgs-stable.follows = "nixpkgs-stable";
|
||||||
|
|
||||||
quickshell.url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
|
|
||||||
quickshell.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
|
|
||||||
darkly.url = "github:Bali10050/Darkly";
|
darkly.url = "github:Bali10050/Darkly";
|
||||||
darkly.inputs.nixpkgs.follows = "nixpkgs";
|
darkly.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
@@ -139,17 +136,6 @@
|
|||||||
darkly-qt5 = inputs.darkly.packages.${final.system}.darkly-qt5;
|
darkly-qt5 = inputs.darkly.packages.${final.system}.darkly-qt5;
|
||||||
darkly-qt6 = inputs.darkly.packages.${final.system}.darkly-qt6;
|
darkly-qt6 = inputs.darkly.packages.${final.system}.darkly-qt6;
|
||||||
})
|
})
|
||||||
(final: prev: {
|
|
||||||
quickshell = inputs.quickshell.packages.${final.system}.default.override {
|
|
||||||
withJemalloc = true;
|
|
||||||
withQtSvg = true;
|
|
||||||
withWayland = true;
|
|
||||||
withPipewire = false;
|
|
||||||
withPam = false;
|
|
||||||
withX11 = false;
|
|
||||||
withHyprland = false;
|
|
||||||
};
|
|
||||||
})
|
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
inherit lib;
|
inherit lib;
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ lib.my.makeSwitch {
|
|||||||
terminal.all.enable = true;
|
terminal.all.enable = true;
|
||||||
wm.all.enable = true;
|
wm.all.enable = true;
|
||||||
style.enable = true;
|
style.enable = true;
|
||||||
quickshell.enable = true;
|
|
||||||
wine.enable = true;
|
wine.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ lib.my.makeSwitch {
|
|||||||
config' = {
|
config' = {
|
||||||
my.desktop.browser = {
|
my.desktop.browser = {
|
||||||
firefox.enable = true;
|
firefox.enable = true;
|
||||||
librewolf.enable = true;
|
|
||||||
chromium.enable = true;
|
chromium.enable = true;
|
||||||
zen.enable = true;
|
zen.enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
{ config, lib, ... }:
|
|
||||||
lib.my.makeHomeProgramConfig {
|
|
||||||
inherit config;
|
|
||||||
programName = "librewolf";
|
|
||||||
optionPath = [
|
|
||||||
"desktop"
|
|
||||||
"browser"
|
|
||||||
"librewolf"
|
|
||||||
];
|
|
||||||
extraConfig = {
|
|
||||||
my.persist.homeDirs = [
|
|
||||||
".librewolf"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
import Quickshell
|
|
||||||
import Quickshell.Services.UPower
|
|
||||||
import QtQuick
|
|
||||||
import QtQuick.Layouts
|
|
||||||
import org.kde.kirigami
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
id: bat
|
|
||||||
|
|
||||||
Layout.preferredWidth: batIcon.width
|
|
||||||
Layout.fillHeight: true
|
|
||||||
color: 'transparent'
|
|
||||||
|
|
||||||
readonly property var battery: UPower.displayDevice
|
|
||||||
readonly property int percentage: Math.round(battery.percentage * 100)
|
|
||||||
property var size: height * 0.4
|
|
||||||
|
|
||||||
visible: battery.isLaptopBattery
|
|
||||||
|
|
||||||
Icon {
|
|
||||||
id: batIcon
|
|
||||||
anchors.centerIn: parent
|
|
||||||
|
|
||||||
implicitHeight: bat.size
|
|
||||||
implicitWidth: bat.size
|
|
||||||
|
|
||||||
// This recolors the entire svg, instead of only classless components.
|
|
||||||
// Hopefully in the future classes can be selected for recoloring.
|
|
||||||
isMask: true
|
|
||||||
color: 'white'
|
|
||||||
|
|
||||||
source: {
|
|
||||||
const nearestTen = Math.round(bat.percentage / 10) * 10;
|
|
||||||
const number = nearestTen.toString().padStart(2, "0");
|
|
||||||
let charging;
|
|
||||||
|
|
||||||
if (bat.battery.state == UPowerDeviceState.Charging) {
|
|
||||||
charging = "-charging";
|
|
||||||
} else if (bat.battery.state.toString() == UPowerDeviceState.FullyCharged) {
|
|
||||||
charging = "-charged";
|
|
||||||
} else {
|
|
||||||
charging = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
return Quickshell.iconPath(`battery-level-${number}${charging}-symbolic`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
import QtQuick
|
|
||||||
import QtQuick.Layouts
|
|
||||||
import "../../utils"
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
Layout.fillHeight: true
|
|
||||||
color: "transparent"
|
|
||||||
implicitWidth: clockText.width
|
|
||||||
|
|
||||||
Text {
|
|
||||||
id: clockText
|
|
||||||
text: Time.time
|
|
||||||
color: Colors.fg
|
|
||||||
anchors.centerIn: parent
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
import QtQuick
|
|
||||||
import QtQuick.Layouts
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
Layout.fillHeight: true
|
|
||||||
color: "salmon"
|
|
||||||
implicitWidth: mprisText.width
|
|
||||||
|
|
||||||
Text {
|
|
||||||
id: mprisText
|
|
||||||
text: "Mpris"
|
|
||||||
anchors.centerIn: parent
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
import QtQuick
|
|
||||||
import QtQuick.Layouts
|
|
||||||
import QtQuick.Controls
|
|
||||||
import "../../utils"
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
id: resources
|
|
||||||
|
|
||||||
Layout.fillHeight: true
|
|
||||||
color: "transparent"
|
|
||||||
implicitWidth: rowLayout.width
|
|
||||||
|
|
||||||
property int valueSize: 8
|
|
||||||
property int textSize: 6
|
|
||||||
|
|
||||||
property string valueColor: "white"
|
|
||||||
property string textColor: "lightgray"
|
|
||||||
|
|
||||||
RowLayout {
|
|
||||||
id: rowLayout
|
|
||||||
anchors.centerIn: parent
|
|
||||||
|
|
||||||
ColumnLayout {
|
|
||||||
id: cpuColumn
|
|
||||||
Label {
|
|
||||||
color: textColor
|
|
||||||
font.pointSize: textSize
|
|
||||||
text: "CPU"
|
|
||||||
Layout.alignment: Qt.AlignCenter
|
|
||||||
}
|
|
||||||
Label {
|
|
||||||
color: valueColor
|
|
||||||
font.pointSize: valueSize
|
|
||||||
text: Resources.cpu_percent + "%"
|
|
||||||
Layout.alignment: Qt.AlignCenter
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ColumnLayout {
|
|
||||||
Label {
|
|
||||||
color: textColor
|
|
||||||
font.pointSize: textSize
|
|
||||||
text: "MEM"
|
|
||||||
Layout.alignment: Qt.AlignCenter
|
|
||||||
}
|
|
||||||
Label {
|
|
||||||
color: valueColor
|
|
||||||
font.pointSize: valueSize
|
|
||||||
text: Resources.mem_percent + "%"
|
|
||||||
Layout.alignment: Qt.AlignCenter
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import QtQuick
|
|
||||||
|
|
||||||
Text {
|
|
||||||
renderType: Text.NativeRendering
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
import QtQuick
|
|
||||||
import QtQuick.Layouts
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
Layout.fillHeight: true
|
|
||||||
color: "lightblue"
|
|
||||||
implicitWidth: trayText.width
|
|
||||||
|
|
||||||
Text {
|
|
||||||
id: trayText
|
|
||||||
text: "Tray"
|
|
||||||
anchors.centerIn: parent
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
import QtQuick
|
|
||||||
import QtQuick.Layouts
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
id: ws
|
|
||||||
|
|
||||||
property bool hovered: false
|
|
||||||
|
|
||||||
Layout.preferredWidth: parent.height * 0.4
|
|
||||||
Layout.preferredHeight: parent.height * 0.4
|
|
||||||
Layout.alignment: Qt.AlignHCenter
|
|
||||||
radius: height / 2
|
|
||||||
|
|
||||||
MouseArea {
|
|
||||||
anchors.fill: parent
|
|
||||||
hoverEnabled: true
|
|
||||||
|
|
||||||
onEntered: () => {
|
|
||||||
ws.hovered = true;
|
|
||||||
}
|
|
||||||
onExited: () => {
|
|
||||||
ws.hovered = false;
|
|
||||||
}
|
|
||||||
onClicked: () => console.log(`workspace ?`)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
pragma ComponentBehavior: Bound
|
|
||||||
|
|
||||||
import QtQuick
|
|
||||||
import QtQuick.Layouts
|
|
||||||
import "../../../utils"
|
|
||||||
import Quickshell.Hyprland
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
id: workspaces
|
|
||||||
|
|
||||||
color: 'transparent'
|
|
||||||
|
|
||||||
width: workspacesRow.implicitWidth
|
|
||||||
Layout.fillHeight: true
|
|
||||||
|
|
||||||
RowLayout {
|
|
||||||
id: workspacesRow
|
|
||||||
|
|
||||||
height: parent.height
|
|
||||||
implicitWidth: (parent.height * 0.5 + spacing) * 2 - spacing
|
|
||||||
anchors.centerIn: parent
|
|
||||||
|
|
||||||
spacing: height / 7
|
|
||||||
|
|
||||||
Repeater {
|
|
||||||
id: repeater
|
|
||||||
|
|
||||||
model: HyprlandUtils.maxWorkspace
|
|
||||||
|
|
||||||
Workspace {
|
|
||||||
id: ws
|
|
||||||
required property int index
|
|
||||||
property HyprlandWorkspace currWorkspace: Hyprland.workspaces.values.find(e => e.id == index + 1) || null
|
|
||||||
property bool nonexistent: currWorkspace === null
|
|
||||||
property bool focused: index + 1 === Hyprland.focusedMonitor.activeWorkspace.id
|
|
||||||
|
|
||||||
Layout.preferredWidth: {
|
|
||||||
if (focused) {
|
|
||||||
return parent.height * 0.8;
|
|
||||||
} else {
|
|
||||||
return parent.height * 0.4;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
color: {
|
|
||||||
if (nonexistent) {
|
|
||||||
return Colors.bgBlur;
|
|
||||||
} else {
|
|
||||||
return Colors.monitorColors[Hyprland.monitors.values.indexOf(Hyprland.workspaces.values.find(e => e.id === index + 1).monitor)];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
import "./windows"
|
|
||||||
import Quickshell // for ShellRoot and PanelWindow
|
|
||||||
|
|
||||||
ShellRoot {
|
|
||||||
Bar {}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
import Quickshell
|
|
||||||
pragma Singleton
|
|
||||||
|
|
||||||
Singleton {
|
|
||||||
property var bgBar: Qt.rgba(0, 0, 0, 0.21)
|
|
||||||
property var bgBlur: Qt.rgba(0, 0, 0, 0.3)
|
|
||||||
property var fg: "white"
|
|
||||||
property list<var> monitorColors: ["#e06c75", "#e5c07b", "#98c379", "#61afef"]
|
|
||||||
}
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
pragma Singleton
|
|
||||||
|
|
||||||
import Quickshell
|
|
||||||
import Quickshell.Hyprland
|
|
||||||
import QtQuick
|
|
||||||
|
|
||||||
Singleton {
|
|
||||||
id: hyprland
|
|
||||||
|
|
||||||
property list<HyprlandWorkspace> workspaces: sortWorkspaces(Hyprland.workspaces.values)
|
|
||||||
property HyprlandWorkspace focusedWorkspace: Hyprland.focusedMonitor?.activeWorkspace
|
|
||||||
property int maxWorkspace: findMaxId()
|
|
||||||
|
|
||||||
function sortWorkspaces(ws) {
|
|
||||||
return [...ws].sort((a, b) => a?.id - b?.id);
|
|
||||||
}
|
|
||||||
|
|
||||||
function switchWorkspace(w: int): void {
|
|
||||||
console.log(`workspace: focus ${focusedWorkspace.id} -> ${w}`);
|
|
||||||
Hyprland.dispatch(`workspace ${w}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
function findMaxId(): int {
|
|
||||||
let num = hyprland.workspaces.length;
|
|
||||||
return hyprland.workspaces[num - 1]?.id;
|
|
||||||
}
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
target: Hyprland
|
|
||||||
function onRawEvent(event) {
|
|
||||||
// console.log("EVENT NAME", event.name);
|
|
||||||
// consow.wg("EVENT DATA", event.data);
|
|
||||||
let eventName = event.name;
|
|
||||||
|
|
||||||
switch (eventName) {
|
|
||||||
// Both of these are required in order to detect workspace changes
|
|
||||||
// even when switching monitors.
|
|
||||||
// case "workspacev2":
|
|
||||||
// {
|
|
||||||
// // hyprland.focusedWorkspace = Hyprland.focusedMonitor?.activeWorkspace;
|
|
||||||
// console.log(`workspace: ${hyprland.focusedWorkspace.id}`);
|
|
||||||
// console.log(`num workspaces ${hyprland.workspaces.length}`)
|
|
||||||
// console.log(`num workspaces (real) ${Hyprland.workspaces.values.length}`)
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// case "focusedmonv2":
|
|
||||||
// {
|
|
||||||
// // hyprland.focusedWorkspace = Hyprland.focusedMonitor?.activeWorkspace;
|
|
||||||
// console.log(`workspace: ${hyprland.focusedWorkspace.id}`);
|
|
||||||
// console.log(`num workspaces ${hyprland.workspaces.length}`)
|
|
||||||
// console.log(`num workspaces (real) ${Hyprland.workspaces.values.length}`)
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
case "createworkspacev2":
|
|
||||||
{
|
|
||||||
hyprland.workspaces = hyprland.sortWorkspaces(Hyprland.workspaces.values);
|
|
||||||
hyprland.maxWorkspace = findMaxId();
|
|
||||||
}
|
|
||||||
case "destroyworkspacev2":
|
|
||||||
{
|
|
||||||
hyprland.workspaces = hyprland.sortWorkspaces(Hyprland.workspaces.values);
|
|
||||||
hyprland.maxWorkspace = findMaxId();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
pragma Singleton
|
|
||||||
|
|
||||||
import Quickshell
|
|
||||||
import Quickshell.Io
|
|
||||||
import QtQuick
|
|
||||||
|
|
||||||
Singleton {
|
|
||||||
property int cpu_percent
|
|
||||||
property string cpu_freq
|
|
||||||
property int mem_percent
|
|
||||||
property string mem_used
|
|
||||||
|
|
||||||
Process {
|
|
||||||
id: process_cpu_percent
|
|
||||||
running: true
|
|
||||||
command: ["sh", "-c", "top -bn1 | rg '%Cpu' | awk '{print 100-$8}'"]
|
|
||||||
stdout: SplitParser {
|
|
||||||
onRead: data => cpu_percent = Math.round(data)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Process {
|
|
||||||
id: process_cpu_freq
|
|
||||||
running: true
|
|
||||||
command: ["sh", "-c", "lscpu --parse=MHZ"]
|
|
||||||
stdout: SplitParser {
|
|
||||||
onRead: data => {
|
|
||||||
// delete the first 4 lines (comments)
|
|
||||||
const mhz = data.split("\n").slice(4);
|
|
||||||
// compute mean frequency
|
|
||||||
const freq = mhz.reduce((acc, e) => acc + Number(e), 0) / mhz.length;
|
|
||||||
|
|
||||||
cpu_freq = Math.round(freq) + " MHz";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Process {
|
|
||||||
id: process_mem_percent
|
|
||||||
running: true
|
|
||||||
command: ["sh", "-c", "free | awk 'NR==2{print $3/$2*100}'"]
|
|
||||||
stdout: SplitParser {
|
|
||||||
onRead: data => mem_percent = Math.round(data)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Process {
|
|
||||||
id: process_mem_used
|
|
||||||
running: true
|
|
||||||
command: ["sh", "-c", "free --si -h | awk 'NR==2{print $3}'"]
|
|
||||||
stdout: SplitParser {
|
|
||||||
onRead: data => mem_used = data
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Timer {
|
|
||||||
interval: 2000
|
|
||||||
running: true
|
|
||||||
repeat: true
|
|
||||||
onTriggered: () => {
|
|
||||||
process_cpu_percent.running = true
|
|
||||||
process_cpu_freq.running = true
|
|
||||||
process_mem_percent.running = true
|
|
||||||
process_mem_used.running = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
pragma Singleton
|
|
||||||
|
|
||||||
import Quickshell
|
|
||||||
import Quickshell.Io
|
|
||||||
import QtQuick
|
|
||||||
|
|
||||||
Singleton {
|
|
||||||
property var locale: Qt.locale()
|
|
||||||
|
|
||||||
function createDate(): string {
|
|
||||||
let date = new Date();
|
|
||||||
let hh = date.getHours().toString().padStart(2, 0);
|
|
||||||
let mm = date.getMinutes().toString().padStart(2, 0)
|
|
||||||
let weekday = locale.dayName(date.getDay(), Locale.ShortFormat)
|
|
||||||
let month = locale.monthName(date.getMonth(), Locale.ShortFormat)
|
|
||||||
let day = date.getDate()
|
|
||||||
|
|
||||||
return `${weekday} ${month} ${day} ${hh}:${mm}`
|
|
||||||
}
|
|
||||||
|
|
||||||
property var time: createDate()
|
|
||||||
|
|
||||||
Timer {
|
|
||||||
interval: 1000
|
|
||||||
running: true
|
|
||||||
repeat: true
|
|
||||||
onTriggered: time = createDate()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
//@ pragma NativeTextRendering
|
|
||||||
|
|
||||||
import Quickshell
|
|
||||||
import QtQuick
|
|
||||||
import QtQuick.Layouts
|
|
||||||
import "../utils"
|
|
||||||
import "../components/bar"
|
|
||||||
import "../components/bar/workspaces"
|
|
||||||
|
|
||||||
Scope {
|
|
||||||
PanelWindow {
|
|
||||||
id: barWindow
|
|
||||||
screen: Quickshell.screens[0]
|
|
||||||
|
|
||||||
anchors {
|
|
||||||
top: true
|
|
||||||
left: true
|
|
||||||
right: true
|
|
||||||
}
|
|
||||||
height: 32
|
|
||||||
|
|
||||||
color: "transparent"
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
id: bar
|
|
||||||
anchors.fill: parent
|
|
||||||
|
|
||||||
color: Colors.bgBlur
|
|
||||||
|
|
||||||
// left
|
|
||||||
// RowLayout {
|
|
||||||
// id: barLeft
|
|
||||||
//
|
|
||||||
// anchors.bottom: parent.bottom
|
|
||||||
// anchors.left: parent.left
|
|
||||||
// anchors.top: parent.top
|
|
||||||
//
|
|
||||||
// anchors.leftMargin: height / 4
|
|
||||||
// anchors.rightMargin: height / 4
|
|
||||||
// spacing: height / 4
|
|
||||||
//
|
|
||||||
// Workspaces {}
|
|
||||||
// }
|
|
||||||
|
|
||||||
// middle
|
|
||||||
RowLayout {
|
|
||||||
id: barMiddle
|
|
||||||
|
|
||||||
anchors.bottom: parent.bottom
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
anchors.top: parent.top
|
|
||||||
|
|
||||||
anchors.leftMargin: height / 4
|
|
||||||
anchors.rightMargin: height / 4
|
|
||||||
spacing: height / 4
|
|
||||||
|
|
||||||
Mpris {}
|
|
||||||
}
|
|
||||||
|
|
||||||
// right
|
|
||||||
RowLayout {
|
|
||||||
id: barRight
|
|
||||||
|
|
||||||
anchors.bottom: parent.bottom
|
|
||||||
anchors.right: parent.right
|
|
||||||
anchors.top: parent.top
|
|
||||||
|
|
||||||
anchors.leftMargin: height / 4
|
|
||||||
anchors.rightMargin: height / 4
|
|
||||||
spacing: height / 4
|
|
||||||
|
|
||||||
Tray {}
|
|
||||||
Resources {}
|
|
||||||
Battery {}
|
|
||||||
Clock {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
lib.my.makeSwitch {
|
|
||||||
inherit config;
|
|
||||||
default = false;
|
|
||||||
optionName = "quickshell";
|
|
||||||
optionPath = [
|
|
||||||
"desktop"
|
|
||||||
"quickshell"
|
|
||||||
];
|
|
||||||
config' = {
|
|
||||||
my.home = {
|
|
||||||
home.packages = [ pkgs.quickshell ];
|
|
||||||
home.sessionVariables.QML2_IMPORT_PATH = lib.concatStringsSep ":" [
|
|
||||||
"${pkgs.quickshell}/lib/qt-6/qml"
|
|
||||||
"${pkgs.kdePackages.qtdeclarative}/lib/qt-6/qml"
|
|
||||||
"${pkgs.kdePackages.kirigami.unwrapped}/lib/qt-6/qml"
|
|
||||||
];
|
|
||||||
xdg.configFile."quickshell" = {
|
|
||||||
source = ./config;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -102,15 +102,20 @@ lib.my.makeSwitch {
|
|||||||
ignoreUserConfig = true;
|
ignoreUserConfig = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
nixpkgs.overlays = [(
|
nixpkgs.overlays = [
|
||||||
final: prev: lib.infuse prev (lib.genAttrs [ "qq" "vscodium" ] (pkg: {
|
(
|
||||||
${pkg}.__output.preInstall.__append = ''
|
final: prev:
|
||||||
gappsWrapperArgs+=(
|
lib.infuse prev (
|
||||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--wayland-text-input-version=3}}"
|
lib.genAttrs [ "qq" "vscodium" ] (pkg: {
|
||||||
)
|
${pkg}.__output.preInstall.__append = ''
|
||||||
'';
|
gappsWrapperArgs+=(
|
||||||
}))
|
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--wayland-text-input-version=3}}"
|
||||||
)];
|
)
|
||||||
|
'';
|
||||||
|
})
|
||||||
|
)
|
||||||
|
)
|
||||||
|
];
|
||||||
my.home.programs.niri.settings = {
|
my.home.programs.niri.settings = {
|
||||||
binds."Mod+Space".action.spawn = [
|
binds."Mod+Space".action.spawn = [
|
||||||
"fcitx5-remote"
|
"fcitx5-remote"
|
||||||
|
|||||||
Reference in New Issue
Block a user