Compare commits
2 commits
a377ad8176
...
6292a84a01
| Author | SHA1 | Date | |
|---|---|---|---|
| 6292a84a01 | |||
| 28c64bd454 |
12 changed files with 405 additions and 121 deletions
|
|
@ -194,7 +194,6 @@
|
|||
./roles/desktop
|
||||
./roles/kde
|
||||
./roles/gaming
|
||||
./roles/school
|
||||
];
|
||||
SurfaceGo.modules = [
|
||||
nixos-hardware.nixosModules.microsoft-surface-go
|
||||
|
|
@ -214,7 +213,6 @@
|
|||
./roles/desktop
|
||||
./roles/kde
|
||||
./roles/gaming
|
||||
./roles/school
|
||||
];
|
||||
Everest = {
|
||||
stable = true;
|
||||
|
|
@ -225,7 +223,6 @@
|
|||
iMac.modules = [
|
||||
./roles/desktop
|
||||
./roles/gnome
|
||||
./roles/school
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
|||
193
roles/kde/patches/kwin/pr7429.patch
Normal file
193
roles/kde/patches/kwin/pr7429.patch
Normal file
|
|
@ -0,0 +1,193 @@
|
|||
diff --git a/autotests/integration/lockscreen.cpp b/autotests/integration/lockscreen.cpp
|
||||
index 8d3b5d1a72..4786617ca6 100644
|
||||
--- a/autotests/integration/lockscreen.cpp
|
||||
+++ b/autotests/integration/lockscreen.cpp
|
||||
@@ -665,18 +665,18 @@ void LockScreenTest::testAxisShortcut()
|
||||
|
||||
// try to trigger the shortcut
|
||||
quint32 timestamp = 1;
|
||||
-#define PERFORM(expectedCount) \
|
||||
- do { \
|
||||
- Test::keyboardKeyPressed(KEY_LEFTMETA, timestamp++); \
|
||||
- if (direction == Qt::Vertical) \
|
||||
- Test::pointerAxisVertical(sign * 5.0, timestamp++); \
|
||||
- else \
|
||||
- Test::pointerAxisHorizontal(sign * 5.0, timestamp++); \
|
||||
- QCoreApplication::instance()->processEvents(); \
|
||||
- QCOMPARE(actionSpy.count(), expectedCount); \
|
||||
- Test::keyboardKeyReleased(KEY_LEFTMETA, timestamp++); \
|
||||
- QCoreApplication::instance()->processEvents(); \
|
||||
- QCOMPARE(actionSpy.count(), expectedCount); \
|
||||
+#define PERFORM(expectedCount) \
|
||||
+ do { \
|
||||
+ Test::keyboardKeyPressed(KEY_LEFTMETA, timestamp++); \
|
||||
+ if (direction == Qt::Vertical) \
|
||||
+ Test::pointerAxisVertical(sign * 15.0, timestamp++); \
|
||||
+ else \
|
||||
+ Test::pointerAxisHorizontal(sign * 15.0, timestamp++); \
|
||||
+ QCoreApplication::instance()->processEvents(); \
|
||||
+ QCOMPARE(actionSpy.count(), expectedCount); \
|
||||
+ Test::keyboardKeyReleased(KEY_LEFTMETA, timestamp++); \
|
||||
+ QCoreApplication::instance()->processEvents(); \
|
||||
+ QCOMPARE(actionSpy.count(), expectedCount); \
|
||||
} while (false)
|
||||
|
||||
PERFORM(1);
|
||||
diff --git a/src/globalshortcuts.cpp b/src/globalshortcuts.cpp
|
||||
index 5682e2a797..40b99d2018 100644
|
||||
--- a/src/globalshortcuts.cpp
|
||||
+++ b/src/globalshortcuts.cpp
|
||||
@@ -240,17 +240,16 @@ bool GlobalShortcutsManager::processKeyRelease(Qt::KeyboardModifiers mods, int k
|
||||
}
|
||||
|
||||
template<typename ShortcutKind, typename... Args>
|
||||
-bool match(QList<GlobalShortcut> &shortcuts, Args... args)
|
||||
+GlobalShortcut *match(QList<GlobalShortcut> &shortcuts, Args... args)
|
||||
{
|
||||
for (auto &sc : shortcuts) {
|
||||
if (std::holds_alternative<ShortcutKind>(sc.shortcut())) {
|
||||
if (std::get<ShortcutKind>(sc.shortcut()) == ShortcutKind{args...}) {
|
||||
- sc.invoke();
|
||||
- return true;
|
||||
+ return ≻
|
||||
}
|
||||
}
|
||||
}
|
||||
- return false;
|
||||
+ return nullptr;
|
||||
}
|
||||
|
||||
// TODO(C++20): use ranges for a nicer way of filtering by shortcut type
|
||||
@@ -266,10 +265,14 @@ bool GlobalShortcutsManager::processPointerPressed(Qt::KeyboardModifiers mods, Q
|
||||
Q_ARG(Qt::MouseButtons, pointerButtons));
|
||||
}
|
||||
#endif
|
||||
- return match<PointerButtonShortcut>(m_shortcuts, mods, pointerButtons);
|
||||
+ GlobalShortcut *shortcut = match<PointerButtonShortcut>(m_shortcuts, mods, pointerButtons);
|
||||
+ if (shortcut) {
|
||||
+ shortcut->invoke();
|
||||
+ }
|
||||
+ return shortcut != nullptr;
|
||||
}
|
||||
|
||||
-bool GlobalShortcutsManager::processAxis(Qt::KeyboardModifiers mods, PointerAxisDirection axis)
|
||||
+bool GlobalShortcutsManager::processAxis(Qt::KeyboardModifiers mods, PointerAxisDirection axis, qreal delta)
|
||||
{
|
||||
#if KWIN_BUILD_GLOBALSHORTCUTS
|
||||
// currently only used to better support modifier only shortcuts
|
||||
@@ -281,7 +284,11 @@ bool GlobalShortcutsManager::processAxis(Qt::KeyboardModifiers mods, PointerAxis
|
||||
Q_ARG(int, axis));
|
||||
}
|
||||
#endif
|
||||
- return match<PointerAxisShortcut>(m_shortcuts, mods, axis);
|
||||
+ GlobalShortcut *shortcut = match<PointerAxisShortcut>(m_shortcuts, mods, axis);
|
||||
+ if (shortcut && std::abs(delta) >= 1.0f) {
|
||||
+ shortcut->invoke();
|
||||
+ }
|
||||
+ return shortcut != nullptr;
|
||||
}
|
||||
|
||||
void GlobalShortcutsManager::processSwipeStart(DeviceType device, uint fingerCount)
|
||||
diff --git a/src/globalshortcuts.h b/src/globalshortcuts.h
|
||||
index 13c4239cae..4a2748cf39 100644
|
||||
--- a/src/globalshortcuts.h
|
||||
+++ b/src/globalshortcuts.h
|
||||
@@ -98,7 +98,7 @@ public:
|
||||
* @param axis The axis direction which has triggered this event
|
||||
* @return @c true if a shortcut triggered, @c false otherwise
|
||||
*/
|
||||
- bool processAxis(Qt::KeyboardModifiers modifiers, PointerAxisDirection axis);
|
||||
+ bool processAxis(Qt::KeyboardModifiers modifiers, PointerAxisDirection axis, qreal delta);
|
||||
|
||||
void processSwipeStart(DeviceType device, uint fingerCount);
|
||||
void processSwipeUpdate(DeviceType device, const QPointF &delta);
|
||||
diff --git a/src/input.cpp b/src/input.cpp
|
||||
index 52dd7be865..4bc5b7f719 100644
|
||||
--- a/src/input.cpp
|
||||
+++ b/src/input.cpp
|
||||
@@ -976,6 +976,29 @@ private:
|
||||
QMap<quint32, QPointF> m_touchPoints;
|
||||
};
|
||||
|
||||
+class MouseWheelAccumulator
|
||||
+{
|
||||
+public:
|
||||
+ qreal accumulate(PointerAxisEvent *event)
|
||||
+ {
|
||||
+ const qreal delta = event->deltaV120 != 0 ? event->deltaV120 / 120.0 : event->delta / 15.0;
|
||||
+ if (std::signbit(m_scrollDistance) != std::signbit(delta)) {
|
||||
+ m_scrollDistance = 0;
|
||||
+ }
|
||||
+ m_scrollDistance += delta;
|
||||
+ if (std::abs(m_scrollDistance) >= 1.0) {
|
||||
+ const qreal ret = m_scrollDistance;
|
||||
+ m_scrollDistance = std::fmod(m_scrollDistance, 1.0f);
|
||||
+ return ret - m_scrollDistance;
|
||||
+ } else {
|
||||
+ return 0;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+private:
|
||||
+ qreal m_scrollDistance = 0;
|
||||
+};
|
||||
+
|
||||
#if KWIN_BUILD_GLOBALSHORTCUTS
|
||||
class GlobalShortcutFilter : public InputEventFilter
|
||||
{
|
||||
@@ -1008,15 +1031,15 @@ public:
|
||||
} else if (event->delta > 0) {
|
||||
direction = PointerAxisLeft;
|
||||
}
|
||||
+ return input()->shortcuts()->processAxis(event->modifiers, direction, m_horizontalAccumulator.accumulate(event));
|
||||
} else {
|
||||
if (event->delta < 0) {
|
||||
direction = PointerAxisDown;
|
||||
} else if (event->delta > 0) {
|
||||
direction = PointerAxisUp;
|
||||
}
|
||||
+ return input()->shortcuts()->processAxis(event->modifiers, direction, m_verticalAccumulator.accumulate(event));
|
||||
}
|
||||
-
|
||||
- return input()->shortcuts()->processAxis(event->modifiers, direction);
|
||||
}
|
||||
bool keyboardKey(KeyboardKeyEvent *event) override
|
||||
{
|
||||
@@ -1229,6 +1252,8 @@ private:
|
||||
QPointF m_lastAverageDistance;
|
||||
QMap<int32_t, QPointF> m_touchPoints;
|
||||
int m_touchpadGestureFingerCount = 0;
|
||||
+ MouseWheelAccumulator m_horizontalAccumulator;
|
||||
+ MouseWheelAccumulator m_verticalAccumulator;
|
||||
|
||||
QTimer m_powerDown;
|
||||
};
|
||||
@@ -1515,28 +1540,6 @@ private:
|
||||
QList<QWindowSystemInterface::TouchPoint> m_touchPoints;
|
||||
};
|
||||
|
||||
-class MouseWheelAccumulator
|
||||
-{
|
||||
-public:
|
||||
- float accumulate(PointerAxisEvent *event)
|
||||
- {
|
||||
- m_scrollV120 += event->deltaV120;
|
||||
- m_scrollDistance += event->delta;
|
||||
- if (std::abs(m_scrollV120) >= 120 || (!event->deltaV120 && std::abs(m_scrollDistance) >= 15)) {
|
||||
- float ret = m_scrollDistance;
|
||||
- m_scrollV120 = 0;
|
||||
- m_scrollDistance = 0;
|
||||
- return ret;
|
||||
- } else {
|
||||
- return 0;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
-private:
|
||||
- float m_scrollDistance = 0;
|
||||
- int m_scrollV120 = 0;
|
||||
-};
|
||||
-
|
||||
class DecorationEventFilter : public InputEventFilter
|
||||
{
|
||||
public:
|
||||
151
roles/kde/patches/kwin/pr7430.patch
Normal file
151
roles/kde/patches/kwin/pr7430.patch
Normal file
|
|
@ -0,0 +1,151 @@
|
|||
diff --git a/autotests/integration/decoration_input_test.cpp b/autotests/integration/decoration_input_test.cpp
|
||||
index 7390b34aab..61312a389b 100644
|
||||
--- a/autotests/integration/decoration_input_test.cpp
|
||||
+++ b/autotests/integration/decoration_input_test.cpp
|
||||
@@ -655,9 +655,9 @@ void DecorationInputTest::testModifierScrollOpacity()
|
||||
}
|
||||
QFETCH(int, modifierKey);
|
||||
Test::keyboardKeyPressed(modifierKey, timestamp++);
|
||||
- Test::pointerAxisVertical(-5, timestamp++);
|
||||
+ Test::pointerAxisVertical(-15, timestamp++);
|
||||
QCOMPARE(window->opacity(), 0.6);
|
||||
- Test::pointerAxisVertical(5, timestamp++);
|
||||
+ Test::pointerAxisVertical(15, timestamp++);
|
||||
QCOMPARE(window->opacity(), 0.5);
|
||||
Test::keyboardKeyReleased(modifierKey, timestamp++);
|
||||
if (capsLock) {
|
||||
diff --git a/autotests/integration/internal_window.cpp b/autotests/integration/internal_window.cpp
|
||||
index 338ad6eca9..8ebd191e9a 100644
|
||||
--- a/autotests/integration/internal_window.cpp
|
||||
+++ b/autotests/integration/internal_window.cpp
|
||||
@@ -291,9 +291,9 @@ void InternalWindowTest::testPointerAxis()
|
||||
quint32 timestamp = 1;
|
||||
Test::pointerMotion(QPoint(50, 50), timestamp++);
|
||||
|
||||
- Test::pointerAxisVertical(5.0, timestamp++);
|
||||
+ Test::pointerAxisVertical(15.0, timestamp++);
|
||||
QTRY_COMPARE(wheelSpy.count(), 1);
|
||||
- Test::pointerAxisHorizontal(5.0, timestamp++);
|
||||
+ Test::pointerAxisHorizontal(15.0, timestamp++);
|
||||
QTRY_COMPARE(wheelSpy.count(), 2);
|
||||
}
|
||||
|
||||
@@ -465,9 +465,9 @@ void InternalWindowTest::testModifierScroll()
|
||||
QCOMPARE(internalWindow->opacity(), 0.5);
|
||||
quint32 timestamp = 1;
|
||||
Test::keyboardKeyPressed(KEY_LEFTMETA, timestamp++);
|
||||
- Test::pointerAxisVertical(-5, timestamp++);
|
||||
+ Test::pointerAxisVertical(-15, timestamp++);
|
||||
QCOMPARE(internalWindow->opacity(), 0.6);
|
||||
- Test::pointerAxisVertical(5, timestamp++);
|
||||
+ Test::pointerAxisVertical(15, timestamp++);
|
||||
QCOMPARE(internalWindow->opacity(), 0.5);
|
||||
Test::keyboardKeyReleased(KEY_LEFTMETA, timestamp++);
|
||||
}
|
||||
diff --git a/autotests/integration/lockscreen.cpp b/autotests/integration/lockscreen.cpp
|
||||
index 8d3b5d1a72..62fe990550 100644
|
||||
--- a/autotests/integration/lockscreen.cpp
|
||||
+++ b/autotests/integration/lockscreen.cpp
|
||||
@@ -339,7 +339,7 @@ void LockScreenTest::testPointerAxis()
|
||||
// and simulate axis
|
||||
Test::pointerAxisHorizontal(5.0, timestamp++);
|
||||
QVERIFY(!axisChangedSpy.wait(10));
|
||||
- Test::pointerAxisVertical(5.0, timestamp++);
|
||||
+ Test::pointerAxisVertical(15.0, timestamp++);
|
||||
QVERIFY(!axisChangedSpy.wait(10));
|
||||
|
||||
// and unlock
|
||||
@@ -348,9 +348,9 @@ void LockScreenTest::testPointerAxis()
|
||||
QCOMPARE(enteredSpy.count(), 2);
|
||||
|
||||
// and move axis again
|
||||
- Test::pointerAxisHorizontal(5.0, timestamp++);
|
||||
+ Test::pointerAxisHorizontal(15.0, timestamp++);
|
||||
QVERIFY(axisChangedSpy.wait());
|
||||
- Test::pointerAxisVertical(5.0, timestamp++);
|
||||
+ Test::pointerAxisVertical(15.0, timestamp++);
|
||||
QVERIFY(axisChangedSpy.wait());
|
||||
}
|
||||
|
||||
diff --git a/autotests/integration/no_global_shortcuts_test.cpp b/autotests/integration/no_global_shortcuts_test.cpp
|
||||
index 5e5ea1676b..65add952ea 100644
|
||||
--- a/autotests/integration/no_global_shortcuts_test.cpp
|
||||
+++ b/autotests/integration/no_global_shortcuts_test.cpp
|
||||
@@ -177,9 +177,9 @@ void NoGlobalShortcutsTest::testAxisShortcut()
|
||||
quint32 timestamp = 1;
|
||||
Test::keyboardKeyPressed(KEY_LEFTMETA, timestamp++);
|
||||
if (direction == Qt::Vertical) {
|
||||
- Test::pointerAxisVertical(sign * 5.0, timestamp++);
|
||||
+ Test::pointerAxisVertical(sign * 15.0, timestamp++);
|
||||
} else {
|
||||
- Test::pointerAxisHorizontal(sign * 5.0, timestamp++);
|
||||
+ Test::pointerAxisHorizontal(sign * 15.0, timestamp++);
|
||||
}
|
||||
QCoreApplication::instance()->processEvents();
|
||||
QCOMPARE(actionSpy.count(), 0);
|
||||
diff --git a/autotests/integration/pointer_constraints_test.cpp b/autotests/integration/pointer_constraints_test.cpp
|
||||
index 06ab277863..497bb5ac73 100644
|
||||
--- a/autotests/integration/pointer_constraints_test.cpp
|
||||
+++ b/autotests/integration/pointer_constraints_test.cpp
|
||||
@@ -189,9 +189,9 @@ void TestPointerConstraints::testConfinedPointer()
|
||||
QCOMPARE(window->opacity(), 0.5);
|
||||
|
||||
// pointer is confined so shortcut should not work
|
||||
- Test::pointerAxisVertical(-5, timestamp++);
|
||||
+ Test::pointerAxisVertical(-15, timestamp++);
|
||||
QCOMPARE(window->opacity(), 0.5);
|
||||
- Test::pointerAxisVertical(5, timestamp++);
|
||||
+ Test::pointerAxisVertical(15, timestamp++);
|
||||
QCOMPARE(window->opacity(), 0.5);
|
||||
|
||||
Test::keyboardKeyReleased(KEY_LEFTALT, timestamp++);
|
||||
diff --git a/autotests/integration/pointer_input.cpp b/autotests/integration/pointer_input.cpp
|
||||
index f444471562..12c8c5736b 100644
|
||||
--- a/autotests/integration/pointer_input.cpp
|
||||
+++ b/autotests/integration/pointer_input.cpp
|
||||
@@ -695,9 +695,9 @@ void PointerInputTest::testModifierScrollOpacity()
|
||||
}
|
||||
QFETCH(int, modifierKey);
|
||||
Test::keyboardKeyPressed(modifierKey, timestamp++);
|
||||
- Test::pointerAxisVertical(-5, timestamp++);
|
||||
+ Test::pointerAxisVertical(-15, timestamp++);
|
||||
QCOMPARE(window->opacity(), 0.6);
|
||||
- Test::pointerAxisVertical(5, timestamp++);
|
||||
+ Test::pointerAxisVertical(15, timestamp++);
|
||||
QCOMPARE(window->opacity(), 0.5);
|
||||
Test::keyboardKeyReleased(modifierKey, timestamp++);
|
||||
if (capsLock) {
|
||||
@@ -753,9 +753,9 @@ void PointerInputTest::testModifierScrollOpacityGlobalShortcutsDisabled()
|
||||
// simulate modifier+wheel
|
||||
quint32 timestamp = 1;
|
||||
Test::keyboardKeyPressed(KEY_LEFTMETA, timestamp++);
|
||||
- Test::pointerAxisVertical(-5, timestamp++);
|
||||
+ Test::pointerAxisVertical(-15, timestamp++);
|
||||
QCOMPARE(window->opacity(), 0.5);
|
||||
- Test::pointerAxisVertical(5, timestamp++);
|
||||
+ Test::pointerAxisVertical(15, timestamp++);
|
||||
QCOMPARE(window->opacity(), 0.5);
|
||||
Test::keyboardKeyReleased(KEY_LEFTMETA, timestamp++);
|
||||
|
||||
@@ -800,7 +800,7 @@ void PointerInputTest::testScrollAction()
|
||||
|
||||
quint32 timestamp = 1;
|
||||
QVERIFY(!window1->isActive());
|
||||
- Test::pointerAxisVertical(5, timestamp++);
|
||||
+ Test::pointerAxisVertical(15, timestamp++);
|
||||
QVERIFY(window1->isActive());
|
||||
|
||||
// but also the wheel event should be passed to the window
|
||||
diff --git a/autotests/integration/touch_input_test.cpp b/autotests/integration/touch_input_test.cpp
|
||||
index 8f739ff2a5..df68e1b47e 100644
|
||||
--- a/autotests/integration/touch_input_test.cpp
|
||||
+++ b/autotests/integration/touch_input_test.cpp
|
||||
@@ -146,7 +146,7 @@ void TouchInputTest::testTouchHidesCursor()
|
||||
QCOMPARE(Cursors::self()->isCursorHidden(), true);
|
||||
|
||||
// wheel should also show
|
||||
- Test::pointerAxisVertical(1.0, timestamp++);
|
||||
+ Test::pointerAxisVertical(15.0, timestamp++);
|
||||
QCOMPARE(Cursors::self()->isCursorHidden(), false);
|
||||
}
|
||||
|
||||
61
roles/kde/patches/kwin/pr7441.patch
Normal file
61
roles/kde/patches/kwin/pr7441.patch
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
From 2022febc84989dba04a4677f3c187a057dece522 Mon Sep 17 00:00:00 2001
|
||||
From: Aleix Pol <aleixpol@kde.org>
|
||||
Date: Fri, 4 Apr 2025 00:59:29 +0200
|
||||
Subject: [PATCH] screenedge: Hardcode the cornerOffset value
|
||||
|
||||
At the moment we were using fonts to calculate it which would slow us
|
||||
down at startup for little pay-off.
|
||||
We were using visual metrics for a touch scaling which is wrong so let's
|
||||
just hardcode a value.
|
||||
On my system (running default fonts) gridUnit was 9 and thus was
|
||||
resulting on 36, rounded up to 40.
|
||||
---
|
||||
src/screenedge.cpp | 9 +--------
|
||||
src/screenedge.h | 2 +-
|
||||
2 files changed, 2 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/src/screenedge.cpp b/src/screenedge.cpp
|
||||
index adbac936f20..fb42ecc9330 100644
|
||||
--- a/src/screenedge.cpp
|
||||
+++ b/src/screenedge.cpp
|
||||
@@ -42,12 +42,6 @@
|
||||
#include <QAbstractEventDispatcher>
|
||||
#include <QAction>
|
||||
#include <QDBusInterface>
|
||||
-#include <QDBusPendingCall>
|
||||
-#include <QFontDatabase>
|
||||
-#include <QFontMetrics>
|
||||
-#include <QTextStream>
|
||||
-#include <QTimer>
|
||||
-#include <QWidget>
|
||||
#include <span>
|
||||
|
||||
using namespace std::chrono_literals;
|
||||
@@ -766,10 +760,9 @@ ScreenEdges::ScreenEdges()
|
||||
, m_actionBottom(ElectricActionNone)
|
||||
, m_actionBottomLeft(ElectricActionNone)
|
||||
, m_actionLeft(ElectricActionNone)
|
||||
+ , m_cornerOffset(40)
|
||||
, m_gestureRecognizer(new GestureRecognizer(this))
|
||||
{
|
||||
- const int gridUnit = QFontMetrics(QFontDatabase::systemFont(QFontDatabase::GeneralFont)).boundingRect(QLatin1Char('M')).height();
|
||||
- m_cornerOffset = 4 * gridUnit;
|
||||
}
|
||||
|
||||
void ScreenEdges::init()
|
||||
diff --git a/src/screenedge.h b/src/screenedge.h
|
||||
index b208edf3c98..8417f2aee57 100644
|
||||
--- a/src/screenedge.h
|
||||
+++ b/src/screenedge.h
|
||||
@@ -388,7 +388,7 @@ private:
|
||||
ElectricBorderAction m_actionBottomLeft;
|
||||
ElectricBorderAction m_actionLeft;
|
||||
QMap<ElectricBorder, ElectricBorderAction> m_touchCallbacks;
|
||||
- int m_cornerOffset;
|
||||
+ const int m_cornerOffset;
|
||||
GestureRecognizer *m_gestureRecognizer;
|
||||
bool m_remainActiveOnFullscreen = false;
|
||||
};
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
imports = [
|
||||
./programs
|
||||
./services
|
||||
];
|
||||
home-manager.users.toast.home.packages = with pkgs; [
|
||||
jetbrains.idea-ultimate
|
||||
jetbrains.webstorm
|
||||
nodejs
|
||||
insomnia
|
||||
];
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
programs.adb.enable = true;
|
||||
users.users.toast.extraGroups = ["adbusers"];
|
||||
home-manager.users.toast.home.packages = with pkgs; [
|
||||
android-studio
|
||||
];
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
imports = [
|
||||
./android-studio.nix
|
||||
./helix.nix
|
||||
];
|
||||
home-manager.users.toast.home.packages = [pkgs.mongodb-compass];
|
||||
}
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
home-manager.users.toast = {
|
||||
programs.helix = {
|
||||
extraPackages = with pkgs; [
|
||||
typescript-language-server
|
||||
prettierd
|
||||
];
|
||||
languages.language = let
|
||||
mkPrettierdConfig = (
|
||||
langName: fileExt: {
|
||||
name = langName;
|
||||
formatter = {
|
||||
command = "prettierd";
|
||||
args = [".${fileExt}"];
|
||||
};
|
||||
}
|
||||
);
|
||||
in [
|
||||
(mkPrettierdConfig "javascript" "js")
|
||||
(mkPrettierdConfig "typescript" "ts")
|
||||
(mkPrettierdConfig "tsx" "tsx")
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
{...}: {
|
||||
imports = [
|
||||
./networkmanager.nix
|
||||
./syncthing.nix
|
||||
./mysql.nix
|
||||
];
|
||||
}
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
services.mysql = {
|
||||
enable = true;
|
||||
package = pkgs.mysql84;
|
||||
user = "toast";
|
||||
group = "users";
|
||||
};
|
||||
|
||||
# Don't autostart MySQL
|
||||
systemd.services.mysql.wantedBy = lib.mkForce [];
|
||||
|
||||
security.polkit.extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (
|
||||
action.id == "org.freedesktop.systemd1.manage-units" &&
|
||||
action.lookup("unit") == "mysql.service" &&
|
||||
subject.user == "${config.services.mysql.user}"
|
||||
)
|
||||
{
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
})
|
||||
'';
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# mycli
|
||||
];
|
||||
}
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
{...}: {
|
||||
networking.networkmanager.ensureProfiles = {
|
||||
profiles."school-wifi" = {
|
||||
connection = {
|
||||
id = "Progresa";
|
||||
type = "wifi";
|
||||
};
|
||||
wifi = {
|
||||
mode = "infrastructure";
|
||||
ssid = ".Progresa Invitados";
|
||||
};
|
||||
wifi-security = {
|
||||
auth-alg = "open";
|
||||
key-mgmt = "wpa-psk";
|
||||
psk = "$SCHOOL";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
{...}: {
|
||||
services.syncthing.settings.folders. "school-things" = {
|
||||
label = "School things";
|
||||
id = "btsth-vdu9c";
|
||||
devices = ["server" "pc" "winmax2" "imac"];
|
||||
path = "~/Documents/School things";
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue