all
This commit is contained in:
@@ -59,6 +59,7 @@
|
|||||||
telegram-desktop
|
telegram-desktop
|
||||||
obsidian
|
obsidian
|
||||||
];
|
];
|
||||||
|
programs.home-manager.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,71 +25,46 @@
|
|||||||
};
|
};
|
||||||
systemd.user.services =
|
systemd.user.services =
|
||||||
let
|
let
|
||||||
mergedSet = lib.mergeAttrsList [
|
audio-set = lib.mkIf settings.audio {
|
||||||
(
|
pw-discordaudio-virtual-device = {
|
||||||
let
|
Unit = {
|
||||||
set = lib.mkIf settings.audio {
|
Description = "OBS daemon";
|
||||||
pw-discordaudio-virtual-device = {
|
After = [ "hyprland-session.target" ];
|
||||||
Unit = {
|
};
|
||||||
Description = "OBS daemon";
|
Install = {
|
||||||
After = [ "hyprland-session.target" ];
|
WantedBy = [ "default.target" ];
|
||||||
};
|
};
|
||||||
Install = {
|
Service = {
|
||||||
WantedBy = [ "default.target" ];
|
ExecStart = "${pkgs.writeShellScript "discord_audio_virt_device" ''
|
||||||
};
|
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=DiscordSink' -n DiscordSink
|
||||||
Service = {
|
''}";
|
||||||
ExecStart = "${pkgs.writeShellScript "discord_audio_virt_device" ''
|
Restart = "on-failure";
|
||||||
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=DiscordSink' -n DiscordSink
|
RestartSec = "5s";
|
||||||
''}";
|
};
|
||||||
Restart = "on-failure";
|
};
|
||||||
RestartSec = "5s";
|
pw-gameaudio-virtual-device = {
|
||||||
};
|
Unit = {
|
||||||
};
|
Description = "OBS daemon";
|
||||||
pw-gameaudio-virtual-device = {
|
After = [ "hyprland-session.target" ];
|
||||||
Unit = {
|
};
|
||||||
Description = "OBS daemon";
|
Install = {
|
||||||
After = [ "hyprland-session.target" ];
|
WantedBy = [ "default.target" ];
|
||||||
};
|
};
|
||||||
Install = {
|
Service = {
|
||||||
WantedBy = [ "default.target" ];
|
ExecStart = "${pkgs.writeShellScript "game_audio_virt_device" ''
|
||||||
};
|
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=GameAudioSink' -n GameAudioSink
|
||||||
Service = {
|
''}";
|
||||||
ExecStart = "${pkgs.writeShellScript "game_audio_virt_device" ''
|
Restart = "on-failure";
|
||||||
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=GameAudioSink' -n GameAudioSink
|
RestartSec = "5s";
|
||||||
''}";
|
};
|
||||||
Restart = "on-failure";
|
};
|
||||||
RestartSec = "5s";
|
};
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
set
|
|
||||||
)
|
|
||||||
(
|
|
||||||
let
|
|
||||||
set = lib.mkIf settings.autostart {
|
|
||||||
obs-autostart = {
|
|
||||||
Unit = {
|
|
||||||
Description = "OBS daemon";
|
|
||||||
After = [ "hyprland-session.target" ];
|
|
||||||
};
|
|
||||||
Install = {
|
|
||||||
WantedBy = [ "default.target" ];
|
|
||||||
};
|
|
||||||
Service = {
|
|
||||||
# wait for hyprland to start
|
|
||||||
ExecStart = "${config.programs.obs-studio.finalPackage}/bin/obs --startreplaybuffer";
|
|
||||||
Restart = "on-failure";
|
|
||||||
RestartSec = "5s";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
set
|
|
||||||
)
|
|
||||||
];
|
|
||||||
in
|
in
|
||||||
mergedSet;
|
lib.mergeAttrsList [ audio-set ];
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland.settings = {
|
||||||
|
exec-once = [ "${config.programs.obs-studio.finalPackage}/bin/obs --startreplaybuffer" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,30 +28,36 @@ Scope {
|
|||||||
left: parent.left
|
left: parent.left
|
||||||
right: parent.right
|
right: parent.right
|
||||||
// bottomMargin: 2
|
// bottomMargin: 2
|
||||||
leftMargin: 5
|
leftMargin: 0
|
||||||
rightMargin: 5
|
rightMargin: 0
|
||||||
}
|
}
|
||||||
RowLayout {
|
RowLayout {
|
||||||
// Left
|
// Left
|
||||||
Layout.alignment: Qt.AlignLeft
|
Layout.alignment: Qt.AlignLeft
|
||||||
|
// To make sure no children mess with the height of all the other children.
|
||||||
|
// because if one widget is too height, it'll ofset all the other children in the bar
|
||||||
|
Layout.preferredHeight: 20
|
||||||
|
Workspaces {}
|
||||||
}
|
}
|
||||||
RowLayout {
|
RowLayout {
|
||||||
// Center
|
// Center
|
||||||
Layout.alignment: Qt.AlignCenter
|
Layout.alignment: Qt.AlignCenter
|
||||||
|
Layout.preferredHeight: 20
|
||||||
}
|
}
|
||||||
RowLayout {
|
RowLayout {
|
||||||
// Right
|
// Right
|
||||||
Layout.alignment: Qt.AlignRight
|
Layout.alignment: Qt.AlignRight
|
||||||
|
Layout.preferredHeight: 20
|
||||||
Rectangle {
|
Rectangle {
|
||||||
width: meow.width
|
width: clockText.width
|
||||||
height: meow.height
|
height: clockText.height
|
||||||
radius: 3.5
|
radius: 3.5
|
||||||
|
|
||||||
color: "white"
|
color: "white"
|
||||||
|
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
Text {
|
Text {
|
||||||
id: meow
|
id: clockText
|
||||||
// font.pointSize: 24
|
// font.pointSize: 24
|
||||||
text: Clock.time
|
text: Clock.time
|
||||||
}
|
}
|
||||||
|
|||||||
17
config/modules/quickshell/quickshell/Workspaces.qml
Normal file
17
config/modules/quickshell/quickshell/Workspaces.qml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
// Bar.qml
|
||||||
|
import Quickshell
|
||||||
|
import Quickshell.Io
|
||||||
|
import QtQuick
|
||||||
|
import QtQuick.Layouts
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: root
|
||||||
|
width: content.width
|
||||||
|
height: content.height
|
||||||
|
Rectangle {
|
||||||
|
id: content
|
||||||
|
width: 30
|
||||||
|
height: 30
|
||||||
|
color: "red"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
imports = [ inputs.stylix.nixosModules.stylix ];
|
imports = [ inputs.stylix.nixosModules.stylix ];
|
||||||
stylix.enable = true;
|
stylix.enable = false;
|
||||||
stylix.autoEnable = false;
|
stylix.autoEnable = false;
|
||||||
stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml";
|
stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml";
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user