280 lines
11 KiB
Nix
280 lines
11 KiB
Nix
{
|
|
osConfig,
|
|
pkgs,
|
|
config,
|
|
...
|
|
}: {
|
|
#TODO: make the creation of the command file easier, for now this is a nice solution though
|
|
systemd.user.services."set-kde-connect-commands" = {
|
|
Install = {
|
|
WantedBy = ["default.target"];
|
|
};
|
|
Service = {
|
|
Type = "OneShot";
|
|
ExecStart = "${pkgs.writeShellScript "set-kde-connect-commands" ''
|
|
#!/run/current-system/sw/bin/bash
|
|
find ${config.home.homeDirectory}/.config/kdeconnect/ -type d -name 'kdeconnect_runcommand' -execdir mkdir -p {}/config \; -execdir cp ${builtins.toPath ./kde-connect-commands} {}/config \;
|
|
''}";
|
|
RemainAfterExit = true;
|
|
};
|
|
};
|
|
home.file = {
|
|
".config/kdeconnect/config" = {
|
|
text = ''
|
|
[General]
|
|
keyAlgorithm=EC
|
|
name=${osConfig.networking.hostName}
|
|
customDevices=10.0.0.2,10.0.0.3,10.0.0.4,10.0.0.5
|
|
'';
|
|
target = ".config/kdeconnect/config";
|
|
force = true;
|
|
};
|
|
"Games/.directory" = {
|
|
text = ''
|
|
[Desktop Entry]
|
|
Icon=folder-games
|
|
'';
|
|
target = "Games/.directory";
|
|
force = true;
|
|
};
|
|
"Code/.directory" = {
|
|
text = ''
|
|
[Desktop Entry]
|
|
Icon=folder-script
|
|
'';
|
|
target = "Code/.directory";
|
|
force = true;
|
|
};
|
|
"Writing/.directory" = {
|
|
text = ''
|
|
[Desktop Entry]
|
|
Icon=folder-notes
|
|
'';
|
|
target = "Writing/.directory";
|
|
force = true;
|
|
};
|
|
"mimeapps.list" = {
|
|
text = ''
|
|
[Added Associations]
|
|
x-scheme-handler/http=librewolf.desktop;
|
|
x-scheme-handler/https=librewolf.desktop;
|
|
|
|
[Default Applications]
|
|
x-scheme-handler/discord=vesktop.desktop
|
|
x-scheme-handler/http=librewolf.desktop;
|
|
x-scheme-handler/https=librewolf.desktop;
|
|
x-scheme-handler/sgnl=signal.desktop
|
|
x-scheme-handler/signalcaptcha=signal.desktop
|
|
x-scheme-handler/email=thunderbird.desktop
|
|
x-scheme-handler/text=helix.desktop
|
|
'';
|
|
target = ".config/mimeapps.list";
|
|
force = true;
|
|
};
|
|
"librewolf.desktop" = {
|
|
target = ".config/autostart/librewolf.desktop";
|
|
source = "${pkgs.librewolf}/share/applications/librewolf.desktop";
|
|
};
|
|
"signal.desktop" = {
|
|
target = ".config/autostart/signal.desktop";
|
|
source = "${pkgs.signal-desktop}/share/applications/signal.desktop";
|
|
};
|
|
"foot.desktop" = {
|
|
target = ".config/autostart/foot.desktop";
|
|
source = "${pkgs.foot}/share/applications/foot.desktop";
|
|
};
|
|
"vesktop.desktop" = {
|
|
target = ".config/autostart/vesktop.desktop";
|
|
source = "${pkgs.vesktop}/share/applications/vesktop.desktop";
|
|
};
|
|
"com.nextcloud.desktopclient.nextcloud.desktop" = {
|
|
target = ".config/autostart/com.nextcloud.desktopclient.nextcloud.desktop";
|
|
source = "${pkgs.nextcloud-client}/share/applications/com.nextcloud.desktopclient.nextcloud.desktop";
|
|
};
|
|
};
|
|
programs.plasma = {
|
|
# workspace = {
|
|
# lookAndFeel = "Catppuccin-Macchiato-Mauve";
|
|
# colorScheme = "CatppuccinMacchiatoMauve";
|
|
# cursor.theme = "catppuccin-macchiato-mauve-cursors";
|
|
# };
|
|
enable = true;
|
|
desktop.mouseActions.verticalScroll = "switchVirtualDesktop";
|
|
kscreenlocker.appearance.wallpaper = "${osConfig.stylix.image}";
|
|
fonts = {
|
|
fixedWidth = {
|
|
pointSize = 11;
|
|
family = "${osConfig.stylix.fonts.monospace.name}";
|
|
};
|
|
general = {
|
|
pointSize = 11;
|
|
family = "${osConfig.stylix.fonts.serif.name}";
|
|
};
|
|
menu = {
|
|
pointSize = 11;
|
|
family = "${osConfig.stylix.fonts.sansSerif.name}";
|
|
};
|
|
small = {
|
|
pointSize = 11;
|
|
family = "${osConfig.stylix.fonts.sansSerif.name}";
|
|
};
|
|
toolbar = {
|
|
pointSize = 11;
|
|
family = "${osConfig.stylix.fonts.sansSerif.name}";
|
|
};
|
|
windowTitle = {
|
|
pointSize = 11;
|
|
family = "${osConfig.stylix.fonts.sansSerif.name}";
|
|
};
|
|
};
|
|
panels = [
|
|
{
|
|
alignment = "left";
|
|
floating = true;
|
|
height = 38;
|
|
location = "top";
|
|
screen = "all";
|
|
widgets = [
|
|
"org.kde.plasma.appmenu"
|
|
"org.kde.plasma.panelspacer"
|
|
"org.kde.milou"
|
|
"org.kde.plasma.panelspacer"
|
|
"org.kde.plasma.colorpicker"
|
|
{
|
|
systemTray.items = {
|
|
# We explicitly show bluetooth and battery
|
|
shown = [
|
|
"org.kde.plasma.volume"
|
|
"org.kde.plasma.bluetooth"
|
|
"org.kde.plasma.brightness"
|
|
"org.kde.plasma.devicenotifier"
|
|
"org.kde.kscreen"
|
|
"org.kde.kdeconnect"
|
|
"org.kde.plasma.networkmanagement"
|
|
"org.kde.plasma.battery"
|
|
"org.kde.plasma.clipboard"
|
|
"org.kde.plasma.mediacontroller"
|
|
"org.kde.plasma.notifications"
|
|
"org.kde.plasma.weather"
|
|
];
|
|
# And explicitly hide networkmanagement and volume
|
|
hidden = [
|
|
"Xwayland Video Bridge_pipewireToXProxy"
|
|
"org.kde.plasma.devicenotifier"
|
|
"org.kde.plasma.keyboardindicator"
|
|
"org.kde.plasma.keyboardlayout"
|
|
"org.kde.kscreen"
|
|
"org.kde.plasma.printmanager"
|
|
"chrome_status_icon_1"
|
|
"proton-vpn-app"
|
|
"Nitrokey App"
|
|
"qBittorrent"
|
|
"vlc"
|
|
"obs"
|
|
"steam"
|
|
"nitrokey-app"
|
|
];
|
|
};
|
|
}
|
|
{
|
|
digitalClock = {
|
|
calendar.firstDayOfWeek = "monday";
|
|
time.format = "24h";
|
|
date = {
|
|
enable = true;
|
|
format = "isoDate";
|
|
position = "belowTime";
|
|
};
|
|
timeZone.selected = ["Europe/Amsterdam"];
|
|
};
|
|
}
|
|
"org.kde.plasma.lock_logout"
|
|
];
|
|
}
|
|
{
|
|
alignment = "center";
|
|
floating = true;
|
|
height = 44;
|
|
hiding = "autohide";
|
|
maxLength = 1920;
|
|
minLength = 1200;
|
|
location = "bottom";
|
|
screen = "all";
|
|
widgets = [
|
|
"org.kde.plasma.kickoff"
|
|
"org.kde.plasma.panelspacer"
|
|
{
|
|
name = "org.kde.plasma.icontasks";
|
|
config = {
|
|
General = {
|
|
launchers = [
|
|
"applications:librewolf.desktop"
|
|
"applications:systemsettings.desktop"
|
|
"applications:org.kde.dolphin.desktop"
|
|
"applications:signal.desktop"
|
|
"applications:vesktop.desktop"
|
|
"applications:thunderbird.desktop"
|
|
"applications:steam.desktop"
|
|
"applications:noisetorch.desktop"
|
|
"applications:org.kde.plasma-systemmonitor.desktop"
|
|
"applications:foot.desktop"
|
|
"applications:freetube.desktop"
|
|
];
|
|
};
|
|
};
|
|
}
|
|
"org.kde.plasma.panelspacer"
|
|
"org.kde.plasma.minimizeall"
|
|
];
|
|
}
|
|
];
|
|
|
|
shortcuts = {
|
|
"kmix"."decrease_volume_small" = "Shift+Volume Down";
|
|
"kmix"."increase_volume_small" = "Shift+Volume Up";
|
|
"kwin"."Window One Desktop Down" = "Meta+Ctrl+Shift+Down";
|
|
"kwin"."Window One Desktop Up" = "Meta+Ctrl+Shift+Up";
|
|
"kwin"."Window One Desktop to the Left" = "Meta+Ctrl+Shift+Left";
|
|
"kwin"."Window One Desktop to the Right" = "Meta+Ctrl+Shift+Right";
|
|
"kwin"."Window Operations Menu" = "Alt+F3";
|
|
"kwin"."Window Quick Tile Bottom" = "Meta+Down";
|
|
"kwin"."Window Quick Tile Left" = "Meta+Left";
|
|
"kwin"."Window Quick Tile Right" = "Meta+Right";
|
|
"kwin"."Window Quick Tile Top" = "Meta+Up";
|
|
"kwin"."Window to Next Screen" = "Meta+Shift+Right";
|
|
"kwin"."Window to Previous Desktop" = "none,,Window to Previous Desktop";
|
|
"kwin"."Window to Previous Screen" = "Meta+Shift+Left";
|
|
"org_kde_powerdevil"."Decrease Screen Brightness" = ["Monitor Brightness Down" "Ctrl+Volume Down"];
|
|
"org_kde_powerdevil"."Decrease Screen Brightness Small" = ["Monitor Brightness Down" "Ctrl+Shift+Volume Down"];
|
|
"org_kde_powerdevil"."Increase Screen Brightness" = ["Monitor Brightness Up" "Ctrl+Volume Up"];
|
|
"org_kde_powerdevil"."Increase Screen Brightness Small" = ["Shift+Monitor Brightness Up" "Ctrl+Shift+Volume Up"];
|
|
"services/org.kde.krunner.desktop"."_launch" = ["Alt+Space" "Alt+F2" "Ctrl+Shift+Space" "Search"];
|
|
"services/org.kde.plasma-systemmonitor.desktop"."_launch" = "Ctrl+Esc";
|
|
"services/org.kde.spectacle.desktop"."ActiveWindowScreenShot" = ["Meta+Print" "Ctrl+!"];
|
|
"services/org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = "Ctrl+#";
|
|
"services/org.kde.spectacle.desktop"."FullScreenScreenShot" = ["Ctrl+$" "Shift+Print"];
|
|
"services/org.kde.spectacle.desktop"."OpenWithoutScreenshot" = "Ctrl+^";
|
|
"services/org.kde.spectacle.desktop"."RectangularRegionScreenShot" = ["Ctrl+@" "Meta+Shift+Print"];
|
|
"services/org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = ["Meta+Ctrl+Print" "Ctrl+%"];
|
|
"services/org.kde.spectacle.desktop"."_launch" = "Print";
|
|
"services/services.org.kde.plasma-systemmonitor.desktop"."_launch" = "Ctrl+Esc";
|
|
"services/services.org.kde.spectacle.desktop"."ActiveWindowScreenShot" = ["" "" "" "" "" "" "Meta+Print" "Ctrl+!"];
|
|
"services/services.org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = "Ctrl+#";
|
|
"services/services.org.kde.spectacle.desktop"."FullScreenScreenShot" = ["" "" "" "" "" "" "Ctrl+$" "Shift+Print"];
|
|
"services/services.org.kde.spectacle.desktop"."OpenWithoutScreenshot" = "Ctrl+^";
|
|
"services/services.org.kde.spectacle.desktop"."RecordWindow" = [];
|
|
"services/services.org.kde.spectacle.desktop"."RectangularRegionScreenShot" = ["" "" "" "" "" "" "Ctrl+@" "Meta+Shift+Print"];
|
|
"services/services.org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = ["" "" "" "" "" "" "Meta+Ctrl+Print" "Ctrl+%"];
|
|
"services/services.org.kde.spectacle.desktop"."_launch" = "Print";
|
|
"services/services.services.org.kde.plasma-systemmonitor.desktop"."_launch" = "Ctrl+Esc";
|
|
"services/services.services.org.kde.spectacle.desktop"."ActiveWindowScreenShot" = ["" "" "" "" "" "" "" "Meta+Print" "Ctrl+!"];
|
|
"services/services.services.org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = "Ctrl+#";
|
|
"services/services.services.org.kde.spectacle.desktop"."FullScreenScreenShot" = ["" "" "" "" "" "" "" "Ctrl+$" "Shift+Print"];
|
|
"services/services.services.org.kde.spectacle.desktop"."OpenWithoutScreenshot" = "Ctrl+^";
|
|
"services/services.services.org.kde.spectacle.desktop"."RecordWindow" = [];
|
|
"services/services.services.org.kde.spectacle.desktop"."RectangularRegionScreenShot" = ["" "" "" "" "" "" "" "Ctrl+@" "Meta+Shift+Print"];
|
|
"services/services.services.org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = ["" "" "" "" "" "" "" "Meta+Ctrl+Print" "Ctrl+%"];
|
|
"services/services.services.org.kde.spectacle.desktop"."_launch" = "Print";
|
|
};
|
|
};
|
|
}
|