Make flake self-contained - consolidate installer-replication

BREAKING CHANGE: Remove external dots-hyprland dependency

- Imported all essential configs from dots-hyprland/installer-replication
- Added complete configs/ directory with:
  - hypr/ - Hyprland configuration
  - quickshell/ - Quickshell widgets and config
  - applications/ - Application configurations
  - scripts/ - Utility scripts
  - matugen/ - Material You theming
- Updated flake.nix to use local ./configs instead of external repo
- Simplified update-flake script (removed external repo management)
- Updated README to reflect self-contained architecture
- All builds pass with local configurations

Benefits:
- No external repository dependencies
- Faster builds (no network dependencies)
- Version controlled configs in single repo
- Easier maintenance and development
- Complete installer replication in one place
This commit is contained in:
Celes Renata
2025-08-08 22:26:47 -07:00
parent 22b65891ac
commit ac6d3adeb9
710 changed files with 81319 additions and 115 deletions
@@ -0,0 +1,215 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import Quickshell
// Main Settings Window
// Integrates transparency settings and other configuration options
ApplicationWindow {
id: settingsWindow
title: "dots-hyprland Settings"
width: 500
height: 700
visible: false
color: "#1e1e2e"
// Make window float and center it
flags: Qt.Window | Qt.WindowStaysOnTopHint
Component.onCompleted: {
// Center the window
x = (Screen.width - width) / 2
y = (Screen.height - height) / 2
}
TabBar {
id: tabBar
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
height: 50
background: Rectangle {
color: "#313244"
}
TabButton {
text: "Effects"
width: implicitWidth
background: Rectangle {
color: parent.checked ? "#45475a" : "transparent"
radius: 4
}
contentItem: Text {
text: parent.text
color: "#cdd6f4"
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}
}
TabButton {
text: "Appearance"
width: implicitWidth
background: Rectangle {
color: parent.checked ? "#45475a" : "transparent"
radius: 4
}
contentItem: Text {
text: parent.text
color: "#cdd6f4"
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}
}
TabButton {
text: "Keybinds"
width: implicitWidth
background: Rectangle {
color: parent.checked ? "#45475a" : "transparent"
radius: 4
}
contentItem: Text {
text: parent.text
color: "#cdd6f4"
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}
}
}
StackLayout {
anchors.top: tabBar.bottom
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
anchors.margins: 10
currentIndex: tabBar.currentIndex
// Effects Tab (Transparency & Blur)
Item {
TransparencyUI {
anchors.fill: parent
color: "transparent"
border.width: 0
}
}
// Appearance Tab (Future: themes, colors, etc.)
Item {
Rectangle {
anchors.fill: parent
color: "#313244"
radius: 8
Text {
anchors.centerIn: parent
text: "Appearance settings\n(Coming soon)"
color: "#a6adc8"
horizontalAlignment: Text.AlignHCenter
}
}
}
// Keybinds Tab (Future: keybind customization)
Item {
Rectangle {
anchors.fill: parent
color: "#313244"
radius: 8
Text {
anchors.centerIn: parent
text: "Keybind settings\n(Coming soon)"
color: "#a6adc8"
horizontalAlignment: Text.AlignHCenter
}
}
}
}
// Close button
Button {
anchors.top: parent.top
anchors.right: parent.right
anchors.margins: 10
width: 30
height: 30
text: "×"
background: Rectangle {
color: parent.hovered ? "#f38ba8" : "#45475a"
radius: 15
}
contentItem: Text {
text: parent.text
color: "white"
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
font.pixelSize: 16
font.bold: true
}
onClicked: settingsWindow.close()
}
// IPC Handler for external control
IpcHandler {
target: "settings"
function show() {
settingsWindow.show()
settingsWindow.raise()
settingsWindow.requestActivate()
}
function hide() {
settingsWindow.hide()
}
function toggle() {
if (settingsWindow.visible) {
settingsWindow.hide()
} else {
settingsWindow.show()
settingsWindow.raise()
settingsWindow.requestActivate()
}
}
function showEffects() {
tabBar.currentIndex = 0
settingsWindow.show()
settingsWindow.raise()
settingsWindow.requestActivate()
}
function showAppearance() {
tabBar.currentIndex = 1
settingsWindow.show()
settingsWindow.raise()
settingsWindow.requestActivate()
}
function showKeybinds() {
tabBar.currentIndex = 2
settingsWindow.show()
settingsWindow.raise()
settingsWindow.requestActivate()
}
}
}