Merge plasma config into desktop.nix
Remove sway, some misc cleanup as well
This commit is contained in:
parent
d81b038001
commit
34ea27db26
|
@ -1,6 +1,5 @@
|
||||||
{ pkgs, username, ... }:
|
{ pkgs, username, ... }:
|
||||||
{
|
{
|
||||||
imports = [ ./plasma.nix ];
|
|
||||||
home-manager.users.${username}.imports = [ ./home/desktop.nix ];
|
home-manager.users.${username}.imports = [ ./home/desktop.nix ];
|
||||||
nixpkgs.config.chromium.commandLineArgs = "--password-store='gnome-libsecret' --enable-features=UseOzonePlatform --ozone-platform=wayland";
|
nixpkgs.config.chromium.commandLineArgs = "--password-store='gnome-libsecret' --enable-features=UseOzonePlatform --ozone-platform=wayland";
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
|
@ -16,6 +15,11 @@
|
||||||
hunspell
|
hunspell
|
||||||
hunspellDicts.en_GB-large
|
hunspellDicts.en_GB-large
|
||||||
];
|
];
|
||||||
|
plasma6.excludePackages = with pkgs.kdePackages; [
|
||||||
|
plasma-browser-integration
|
||||||
|
konsole
|
||||||
|
kate
|
||||||
|
];
|
||||||
};
|
};
|
||||||
security = {
|
security = {
|
||||||
polkit.enable = true;
|
polkit.enable = true;
|
||||||
|
@ -36,7 +40,14 @@
|
||||||
};
|
};
|
||||||
gtk.iconCache.enable = true;
|
gtk.iconCache.enable = true;
|
||||||
services = {
|
services = {
|
||||||
dbus.packages = [ pkgs.gcr ];
|
displayManager.sddm = {
|
||||||
|
enable = true;
|
||||||
|
wayland.enable = true;
|
||||||
|
};
|
||||||
|
desktopManager.plasma6 = {
|
||||||
|
enable = true;
|
||||||
|
enableQt5Integration = true;
|
||||||
|
};
|
||||||
flatpak.enable = true;
|
flatpak.enable = true;
|
||||||
printing.enable = true;
|
printing.enable = true;
|
||||||
pipewire = {
|
pipewire = {
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 112 KiB |
Binary file not shown.
Before Width: | Height: | Size: 84 KiB |
Binary file not shown.
Before Width: | Height: | Size: 64 KiB |
Binary file not shown.
Before Width: | Height: | Size: 24 KiB |
Binary file not shown.
Before Width: | Height: | Size: 89 KiB |
|
@ -1,13 +0,0 @@
|
||||||
lib: string:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
chars =
|
|
||||||
let
|
|
||||||
lc = strings.splitString "" string;
|
|
||||||
in
|
|
||||||
(lists.sublist 1 (lists.length lc - 2) lc);
|
|
||||||
in
|
|
||||||
(strings.concatStringsSep "" (
|
|
||||||
(lists.singleton (strings.toUpper (lists.elemAt chars 0)))
|
|
||||||
++ (lists.sublist 1 (lists.length chars) chars)
|
|
||||||
))
|
|
|
@ -1,257 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [ ./waybar/default.nix ];
|
|
||||||
stylix.targets.swaylock.useImage = false; # Using swaylock-effects instead
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
libreoffice-fresh
|
|
||||||
ffmpeg
|
|
||||||
grim
|
|
||||||
slurp
|
|
||||||
swappy
|
|
||||||
wl-clipboard
|
|
||||||
swayimg
|
|
||||||
swaybg
|
|
||||||
(writeShellScriptBin "swaylockfx" ''
|
|
||||||
${swaylock-effects}/bin/swaylock --screenshots --clock --indicator --effect-blur 7x5 --effect-vignette 0.5:0.5
|
|
||||||
'')
|
|
||||||
(writeShellScriptBin "protonmail-setup-bridge" ''
|
|
||||||
pkill -9 -f protonmail-bridge
|
|
||||||
${protonmail-bridge}/bin/protonmail-bridge -c
|
|
||||||
swaymsg exec "${protonmail-bridge}/bin/protonmail-bridge -n"
|
|
||||||
'')
|
|
||||||
];
|
|
||||||
programs = {
|
|
||||||
waybar.systemd.target = "sway-session.target";
|
|
||||||
fuzzel = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
main = {
|
|
||||||
icon-theme = config.gtk.iconTheme.name;
|
|
||||||
icons-enabled = true;
|
|
||||||
fields = "filename,name,generic,categories";
|
|
||||||
fuzzy = true;
|
|
||||||
filter-desktop = true;
|
|
||||||
terminal = "${config.programs.alacritty.package}/bin/alacritty -e";
|
|
||||||
lines = 24;
|
|
||||||
width = 80;
|
|
||||||
tabs = 4;
|
|
||||||
layer = "overlay";
|
|
||||||
};
|
|
||||||
border = {
|
|
||||||
width = 1;
|
|
||||||
radius = 5;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
swaylock = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.swaylock-effects;
|
|
||||||
};
|
|
||||||
wlogout = {
|
|
||||||
enable = true;
|
|
||||||
layout = [
|
|
||||||
{
|
|
||||||
label = "reboot";
|
|
||||||
action = "systemctl reboot";
|
|
||||||
text = "Reboot";
|
|
||||||
keybind = "r";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
label = "shutdown";
|
|
||||||
action = "systemctl poweroff";
|
|
||||||
text = "Shutdown";
|
|
||||||
keybind = "s";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
label = "logout";
|
|
||||||
action = "swaymsg exit";
|
|
||||||
text = "Logout";
|
|
||||||
keybind = "l";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
services = {
|
|
||||||
kanshi.systemdTarget = "sway-session.target";
|
|
||||||
gpg-agent.pinentryPackage = pkgs.pinentry-gnome3;
|
|
||||||
avizo = {
|
|
||||||
enable = true;
|
|
||||||
settings.default.image-opacity = lib.mkForce "1.0";
|
|
||||||
};
|
|
||||||
kdeconnect = {
|
|
||||||
enable = true;
|
|
||||||
indicator = true;
|
|
||||||
};
|
|
||||||
mako = {
|
|
||||||
enable = true;
|
|
||||||
anchor = "top-right";
|
|
||||||
width = 600;
|
|
||||||
height = 600;
|
|
||||||
layer = "top";
|
|
||||||
markup = true;
|
|
||||||
maxVisible = 10;
|
|
||||||
icons = true;
|
|
||||||
iconPath = with config.gtk.iconTheme; "${package}/share/icons/${name}";
|
|
||||||
borderRadius = 5;
|
|
||||||
borderSize = 1;
|
|
||||||
defaultTimeout = 0;
|
|
||||||
};
|
|
||||||
swayidle = {
|
|
||||||
enable = true;
|
|
||||||
timeouts = [
|
|
||||||
{
|
|
||||||
timeout = 60 * 15; # 15 minutes
|
|
||||||
command = "swaylockfx";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
udiskie = {
|
|
||||||
enable = true;
|
|
||||||
notify = true;
|
|
||||||
automount = true;
|
|
||||||
tray = "never";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
wayland.windowManager.sway = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.swayfx.overrideAttrs (old: {
|
|
||||||
passthru.providedSessions = [ "sway" ];
|
|
||||||
});
|
|
||||||
swaynag.enable = true;
|
|
||||||
systemd.enable = true;
|
|
||||||
xwayland = true;
|
|
||||||
checkConfig = false;
|
|
||||||
config = {
|
|
||||||
input = {
|
|
||||||
"*" = {
|
|
||||||
xkb_layout = "gb";
|
|
||||||
xkb_options = "ctrl:nocaps";
|
|
||||||
};
|
|
||||||
"type:touchpad" = {
|
|
||||||
tap = "enabled";
|
|
||||||
natural_scroll = "enabled";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
seat = {
|
|
||||||
"seat0" = {
|
|
||||||
xcursor_theme = "${config.gtk.cursorTheme.name} ${toString config.gtk.cursorTheme.size}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
modifier = "Mod4";
|
|
||||||
terminal = "${config.programs.alacritty.package}/bin/alacritty";
|
|
||||||
menu = "${config.programs.fuzzel.package}/bin/fuzzel";
|
|
||||||
workspaceAutoBackAndForth = true;
|
|
||||||
bars = [ ];
|
|
||||||
gaps = {
|
|
||||||
inner = 5;
|
|
||||||
outer = 0;
|
|
||||||
};
|
|
||||||
startup = [
|
|
||||||
{ command = "${pkgs.libsForQt5.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"; }
|
|
||||||
{ command = "${pkgs.protonmail-bridge}/bin/protonmail-bridge -n"; }
|
|
||||||
{ command = "${pkgs.dex}/bin/dex -a"; }
|
|
||||||
{ command = "${config.services.mako.package}/bin/mako"; }
|
|
||||||
];
|
|
||||||
window = {
|
|
||||||
border = 1;
|
|
||||||
titlebar = false;
|
|
||||||
commands = [
|
|
||||||
{
|
|
||||||
criteria.window_role = "(?:pop-up|bubble|dialog)";
|
|
||||||
command = "floating enable";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria.app_id = "(?:org\.kde\.polkit-kde-authentication-agent-1|Pinentry|pavucontrol|\.blueman-manager-wrapped|nm-connection-editor)";
|
|
||||||
command = "floating enable";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria.class = "(?:[Mm]atplotlib|.*\.py|Idl)";
|
|
||||||
command = "floating enable";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
# Catch-all for file dialog windows
|
|
||||||
criteria.title = "(?:Open|Save) (?:File|Folder|As)";
|
|
||||||
command = "floating enable, resize set width 1030 height 710";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
# Inhibit idle when watching vidoes
|
|
||||||
criteria.app_id = "(?:firefox|mpv)";
|
|
||||||
command = "inhibit_idle fullscreen";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
# Window rules for game sessions.
|
|
||||||
# Note: controllers don't reset idle timer
|
|
||||||
criteria.class = "(?:steam_app|Minecraft).*";
|
|
||||||
command = "floating enable, fullscreen enable, inhibit_idle focus";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
floating.border = 1;
|
|
||||||
keybindings =
|
|
||||||
let
|
|
||||||
modifier = config.wayland.windowManager.sway.config.modifier;
|
|
||||||
in
|
|
||||||
lib.mkOptionDefault {
|
|
||||||
# Movement
|
|
||||||
"${modifier}+comma" = "workspace prev";
|
|
||||||
"${modifier}+period" = "workspace next";
|
|
||||||
"${modifier}+shift+comma" = "move workspace prev";
|
|
||||||
"${modifier}+shift+period" = "move workspace next";
|
|
||||||
"${modifier}+bracketleft" = "move workspace to output left";
|
|
||||||
"${modifier}+bracketright" = "move workspace to output right";
|
|
||||||
|
|
||||||
# Function keys
|
|
||||||
## Screenshot
|
|
||||||
"Print" = "exec ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" - | ${pkgs.swappy}/bin/swappy -f -";
|
|
||||||
|
|
||||||
## Sound
|
|
||||||
"XF86AudioMute" = "exec ${config.services.avizo.package}/bin/volumectl %";
|
|
||||||
"XF86AudioMicMute" = "exec ${config.services.avizo.package}/bin/volumectl -m %";
|
|
||||||
"XF86AudioRaiseVolume" = "exec ${config.services.avizo.package}/bin/volumectl -u + 5";
|
|
||||||
"XF86AudioLowerVolume" = "exec ${config.services.avizo.package}/bin/volumectl -u - 5";
|
|
||||||
|
|
||||||
## Playback
|
|
||||||
"XF86AudioPlay" = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
|
|
||||||
"XF86AudioStop" = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
|
|
||||||
"XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl previous";
|
|
||||||
"XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl next";
|
|
||||||
|
|
||||||
## Brightness
|
|
||||||
"XF86MonBrightnessUp" = "exec ${config.services.avizo.package}/bin/lightctl + 5";
|
|
||||||
"XF86MonBrightnessDown" = "exec ${config.services.avizo.package}/bin/lightctl - 5";
|
|
||||||
|
|
||||||
# System utilities
|
|
||||||
"Mod4+Mod1+l" = "exec swaylockfx";
|
|
||||||
"${modifier}+z" = "exec ${config.services.mako.package}/bin/makoctl restore";
|
|
||||||
"${modifier}+Shift+z" = "exec ${config.services.mako.package}/bin/makoctl dismiss -a";
|
|
||||||
"${modifier}+Shift+p" = "exec ${config.programs.wlogout.package}/bin/wlogout";
|
|
||||||
"${modifier}+Shift+Return" = "exec ${config.programs.emacs.finalPackage}/bin/emacsclient -c";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
extraConfig = ''
|
|
||||||
bindgesture swipe:right workspace prev
|
|
||||||
bindgesture swipe:left workspace next
|
|
||||||
corner_radius 5
|
|
||||||
blur enable
|
|
||||||
blur_xray disable
|
|
||||||
blur_passes 3
|
|
||||||
blur_radius 5
|
|
||||||
shadows enable
|
|
||||||
shadow_blur_radius 5
|
|
||||||
layer_effects "system-menu" blur enable; blur_ignore_transparent enable; shadows enable
|
|
||||||
layer_effects "gtk-layer-shell" blur enable; blur_ignore_transparent enable; shadows enable
|
|
||||||
layer_effects "notifications" blur enable; blur_ignore_transparent enable; shadows enable
|
|
||||||
layer_effects "launcher" blur enable; blur_ignore_transparent enable; shadows enable
|
|
||||||
layer_effects "logout_dialog" blur enable; blur_ignore_transparent enable; shadows enable
|
|
||||||
layer_effects "waybar" blur enable; blur_ignore_transparent enable; shadows enable
|
|
||||||
layer_effects "avizo" blur enable; blur_ignore_transparent enable; shadows enable
|
|
||||||
titlebar_separator enable
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
xdg.configFile."swappy/config".source = ./swappy.conf;
|
|
||||||
}
|
|
|
@ -1,10 +0,0 @@
|
||||||
[Default]
|
|
||||||
save_dir=$HOME/Pictures/Screenshots/
|
|
||||||
save_filename_format=swappy-%Y%m%d-%H%M%S.png
|
|
||||||
show_panel=false
|
|
||||||
line_size=5
|
|
||||||
text_size=20
|
|
||||||
text_font=sans-serif
|
|
||||||
paint_mode=brush
|
|
||||||
early_exit=false
|
|
||||||
fill_shape=false
|
|
|
@ -1,390 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
stylix.targets.waybar.enable = false;
|
|
||||||
systemd.user.targets.tray.Unit = {
|
|
||||||
Description = "Home Manager System Tray";
|
|
||||||
Requires = [ "graphical-session.target" ];
|
|
||||||
};
|
|
||||||
programs.waybar = {
|
|
||||||
enable = true;
|
|
||||||
systemd.enable = true;
|
|
||||||
settings.main = {
|
|
||||||
name = "main";
|
|
||||||
layer = "top";
|
|
||||||
position = "top";
|
|
||||||
# Layout
|
|
||||||
"modules-left" = [
|
|
||||||
"sway/window"
|
|
||||||
"mpris"
|
|
||||||
];
|
|
||||||
"modules-center" = [ "sway/workspaces" ];
|
|
||||||
"modules-right" = [
|
|
||||||
"custom/notification"
|
|
||||||
"pulseaudio"
|
|
||||||
"network"
|
|
||||||
"bluetooth"
|
|
||||||
"clock#calendar"
|
|
||||||
"clock"
|
|
||||||
"backlight"
|
|
||||||
"battery"
|
|
||||||
"custom/weather"
|
|
||||||
"tray"
|
|
||||||
];
|
|
||||||
# Module config
|
|
||||||
"sway/workspaces" = {
|
|
||||||
format = "{icon}";
|
|
||||||
format-icons = {
|
|
||||||
"1" = " ";
|
|
||||||
"2" = " ";
|
|
||||||
"3" = " ";
|
|
||||||
"4" = " ";
|
|
||||||
"5" = " ";
|
|
||||||
"6" = " ";
|
|
||||||
default = " ";
|
|
||||||
urgent = " ";
|
|
||||||
};
|
|
||||||
all-outputs = false;
|
|
||||||
persistent-workspaces = {
|
|
||||||
"1" = [ ];
|
|
||||||
"2" = [ ];
|
|
||||||
"3" = [ ];
|
|
||||||
"4" = [ ];
|
|
||||||
"5" = [ ];
|
|
||||||
"6" = [ ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"sway/window" = {
|
|
||||||
"format" = "{title}";
|
|
||||||
"max-length" = 50;
|
|
||||||
"rewrite" = {
|
|
||||||
"(.*) - GNU Emacs at (.*)" = " $1 [$2]";
|
|
||||||
"(alacritty.*)" = " $1";
|
|
||||||
"(.*) - mpv" = " $1";
|
|
||||||
"swayimg: (.*)" = " $1";
|
|
||||||
"swappy" = " swappy";
|
|
||||||
"(btm)" = " Resource Usage [$1]";
|
|
||||||
"(cava)" = " Music Visualiser [$1]";
|
|
||||||
"(.*) - Thunar" = " $1";
|
|
||||||
"Mozilla Firefox" = " $1";
|
|
||||||
"(.*) — Mozilla Firefox" = " $1";
|
|
||||||
"Nyxt - (.*)" = " $1";
|
|
||||||
"(.*) - Chromium" = " $1";
|
|
||||||
"(Signal.*)" = " $1";
|
|
||||||
"((?:.*)WebCord.*)" = " $1";
|
|
||||||
"(Cartridges.*)" = " $1";
|
|
||||||
"([Ss]team.*)" = " $1";
|
|
||||||
"(Prism Launcher.*)" = " Minecraft ($1)";
|
|
||||||
"(.*)(?: *)PrusaSlicer-(.*)" = " $1 PrusaSlicer ($2)";
|
|
||||||
"(.*)(?: *)PrusaSlicer G-code Viewer-(.*)" = " $1 G-code Viewer ($2)";
|
|
||||||
"FreeCAD (.*)" = " FreeCAD $1";
|
|
||||||
"(.*) - Blender.* " = " $1";
|
|
||||||
"(X2Go Client)" = " $1";
|
|
||||||
"(NoMachine|Nxplayer.bin) (.*)" = " $1 $2";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
mpris = {
|
|
||||||
"format" = "{player_icon} {artist} - {title} {status_icon}";
|
|
||||||
"tooltip-format" = "{player_icon} ({player}) {dynamic}";
|
|
||||||
"title-len" = 64;
|
|
||||||
"interval" = 1;
|
|
||||||
"dynamic-order" = [
|
|
||||||
"album"
|
|
||||||
"artist"
|
|
||||||
"title"
|
|
||||||
"position"
|
|
||||||
"length"
|
|
||||||
];
|
|
||||||
"player-icons" = {
|
|
||||||
"default" = " ";
|
|
||||||
"emms" = " ";
|
|
||||||
"firefox" = " ";
|
|
||||||
"mpv" = " ";
|
|
||||||
};
|
|
||||||
"status-icons" = {
|
|
||||||
"playing" = "";
|
|
||||||
"paused" = "";
|
|
||||||
"stopped" = "";
|
|
||||||
};
|
|
||||||
"ignored-players" = [ ];
|
|
||||||
};
|
|
||||||
pulseaudio = {
|
|
||||||
scroll-step = 5;
|
|
||||||
format = "{format_source}{icon}{volume}%";
|
|
||||||
format-muted = "{format_source} ";
|
|
||||||
format-source = " ";
|
|
||||||
format-source-muted = " ";
|
|
||||||
format-icons = {
|
|
||||||
car = " ";
|
|
||||||
default = [
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
];
|
|
||||||
hands-free = " ";
|
|
||||||
headset = " ";
|
|
||||||
phone = " ";
|
|
||||||
portable = " ";
|
|
||||||
headphone = " ";
|
|
||||||
};
|
|
||||||
on-click = "${pkgs.pavucontrol}/bin/pavucontrol";
|
|
||||||
on-click-right = "${pkgs.pamixer}/bin/pamixer -t";
|
|
||||||
on-scroll-up = "${pkgs.pamixer}/bin/pamixer -i 5";
|
|
||||||
on-scroll-down = "${pkgs.pamixer}/bin/pamixer -d 5";
|
|
||||||
};
|
|
||||||
disk = {
|
|
||||||
format = " {percentage_used}%";
|
|
||||||
path = config.home.homeDirectory;
|
|
||||||
};
|
|
||||||
cpu = {
|
|
||||||
format = " {usage}%";
|
|
||||||
tooltip = false;
|
|
||||||
};
|
|
||||||
memory = {
|
|
||||||
format = " {}%";
|
|
||||||
};
|
|
||||||
temperature = {
|
|
||||||
critical-threshold = 80;
|
|
||||||
format = "{icon} {temperatureC}°C";
|
|
||||||
format-icons = [
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
};
|
|
||||||
network = {
|
|
||||||
format-icons = [
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
];
|
|
||||||
format-wifi = "{icon}";
|
|
||||||
format-ethernet = " ";
|
|
||||||
format-linked = " ";
|
|
||||||
format-disconnected = " ";
|
|
||||||
tooltip-format = "{essid} ({signalStrength}%)";
|
|
||||||
on-click = "${pkgs.networkmanagerapplet}/bin/nm-connection-editor";
|
|
||||||
};
|
|
||||||
bluetooth = {
|
|
||||||
format = "";
|
|
||||||
format-disabled = "";
|
|
||||||
format-off = "";
|
|
||||||
format-on = "";
|
|
||||||
format-connected = "";
|
|
||||||
tooltip-format = "{status} | {device_alias}";
|
|
||||||
on-click = "${pkgs.blueman}/bin/blueman-manager";
|
|
||||||
};
|
|
||||||
"clock#calendar" = {
|
|
||||||
format = " {:%Y-%m-%d}";
|
|
||||||
tooltip-format = "<tt>{calendar}</tt>";
|
|
||||||
calendar = {
|
|
||||||
mode = "month";
|
|
||||||
mode-mon-col = 3;
|
|
||||||
weeks-pos = "left";
|
|
||||||
on-scroll = 1;
|
|
||||||
format =
|
|
||||||
let
|
|
||||||
scheme = config.lib.stylix.scheme.withHashtag;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
months = "<span color='${scheme.red}'><b>{}</b></span>";
|
|
||||||
weeks = "<span color='${scheme.cyan}'><b>W{}</b></span>";
|
|
||||||
weekdays = "<span color='${scheme.orange}'><b>{}</b></span>";
|
|
||||||
days = "<span color='${scheme.base05}'><b>{}</b></span>";
|
|
||||||
today = "<span color='${scheme.base0D}'><b><i>{}</i></b></span>";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
actions = {
|
|
||||||
on-scroll-up = "shift_up";
|
|
||||||
on-scroll-down = "shift_down";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
clock.format = " {:%R}";
|
|
||||||
backlight = {
|
|
||||||
format = "{icon}";
|
|
||||||
tooltip-format = "{percent}%";
|
|
||||||
format-icons = [
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
];
|
|
||||||
};
|
|
||||||
battery = {
|
|
||||||
states = {
|
|
||||||
warning = 20;
|
|
||||||
critical = 10;
|
|
||||||
};
|
|
||||||
format = "{icon}";
|
|
||||||
format-time = "{H}:{m}";
|
|
||||||
format-charging = " ({time})";
|
|
||||||
format-plugged = " ";
|
|
||||||
format-warning = "{icon}{capacity}%";
|
|
||||||
format-critical = "{icon}{capacity}% ({time})";
|
|
||||||
tooltip-format = "{capacity}% | {power}W | {time}";
|
|
||||||
format-icons = [
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"custom/notification" =
|
|
||||||
let
|
|
||||||
makoctl = "${config.services.mako.package}/bin/makoctl";
|
|
||||||
jq = "${pkgs.jq}/bin/jq";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
exec = "( ${makoctl} list | ${jq} -e '.data[] | length > 0' >/dev/null && echo ' ' ) || echo ' ' ";
|
|
||||||
format = "{}";
|
|
||||||
on-click = "${makoctl} dismiss -a";
|
|
||||||
interval = 3;
|
|
||||||
};
|
|
||||||
"custom/weather" =
|
|
||||||
let
|
|
||||||
date-format = "%Y-%m-%d";
|
|
||||||
custom-indicator = "{ICON}{temp_C}({FeelsLikeC})";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
format = "{}°";
|
|
||||||
tooltip = true;
|
|
||||||
interval = 900; # Every 15 minutes
|
|
||||||
exec = ''${pkgs.wttrbar}/bin/wttrbar --location Didcot --date-format "${date-format}" --custom-indicator "${custom-indicator}"'';
|
|
||||||
return-type = "json";
|
|
||||||
};
|
|
||||||
tray = {
|
|
||||||
icon-size = 20;
|
|
||||||
show-passive-items = true;
|
|
||||||
spacing = 5;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
style =
|
|
||||||
let
|
|
||||||
scheme = config.lib.stylix.scheme.withHashtag;
|
|
||||||
alpha = "0.8";
|
|
||||||
in
|
|
||||||
''
|
|
||||||
* {
|
|
||||||
all: unset;
|
|
||||||
font-family: ${config.stylix.fonts.monospace.name};
|
|
||||||
font-size: ${toString config.stylix.fonts.sizes.popups}px;
|
|
||||||
}
|
|
||||||
|
|
||||||
window {
|
|
||||||
background: transparent;
|
|
||||||
box-shadow: none;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
window > box {
|
|
||||||
color: ${scheme.base05};
|
|
||||||
background: ${scheme.base00};
|
|
||||||
margin: 5px 5px 0px;
|
|
||||||
padding: 0px;
|
|
||||||
border-top: 1px solid ${scheme.base04};
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
tooltip {
|
|
||||||
background: alpha(${scheme.base00}, ${alpha});
|
|
||||||
border: 1px solid ${scheme.base0D};
|
|
||||||
border-radius: 5px;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
tooltip label {
|
|
||||||
color: ${scheme.base05};
|
|
||||||
border: none;
|
|
||||||
padding: 5px;
|
|
||||||
margin: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces,
|
|
||||||
#window,
|
|
||||||
#mpris,
|
|
||||||
#pulseaudio,
|
|
||||||
#network,
|
|
||||||
#bluetooth,
|
|
||||||
#backlight,
|
|
||||||
#battery,
|
|
||||||
#clock,
|
|
||||||
#custom-notification,
|
|
||||||
#custom-weather,
|
|
||||||
#tray {
|
|
||||||
margin: 0px;
|
|
||||||
padding: 1px 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces,
|
|
||||||
#window,
|
|
||||||
#tray,
|
|
||||||
#backlight,
|
|
||||||
#battery,
|
|
||||||
#custom-weather {
|
|
||||||
color: ${scheme.base05};
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
background: transparent;
|
|
||||||
color: ${scheme.base05};
|
|
||||||
margin: 0px;
|
|
||||||
padding: 0px 5px;
|
|
||||||
}
|
|
||||||
#workspaces button.persistent {
|
|
||||||
color: ${scheme.base03};
|
|
||||||
}
|
|
||||||
#workspaces button.focused {
|
|
||||||
color: ${scheme.base0D};
|
|
||||||
}
|
|
||||||
#workspaces button.urgent {
|
|
||||||
color: ${scheme.base09};
|
|
||||||
}
|
|
||||||
|
|
||||||
#mpris {
|
|
||||||
color: ${scheme.base04};
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-notification {
|
|
||||||
color: ${scheme.base08};
|
|
||||||
}
|
|
||||||
#pulseaudio {
|
|
||||||
color: ${scheme.base09};
|
|
||||||
}
|
|
||||||
#network {
|
|
||||||
color: ${scheme.base0A};
|
|
||||||
}
|
|
||||||
#bluetooth {
|
|
||||||
color: ${scheme.base0B};
|
|
||||||
}
|
|
||||||
#clock.calendar {
|
|
||||||
color: ${scheme.base0C};
|
|
||||||
}
|
|
||||||
#clock {
|
|
||||||
color: ${scheme.base0D};
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.warning {
|
|
||||||
color: ${scheme.base09};
|
|
||||||
}
|
|
||||||
#battery.critical {
|
|
||||||
color: ${scheme.base08};
|
|
||||||
}
|
|
||||||
#battery.charging,
|
|
||||||
#battery.plugged {
|
|
||||||
color: ${scheme.base0B};
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
|
||||||
plasma-browser-integration
|
|
||||||
konsole
|
|
||||||
kate
|
|
||||||
];
|
|
||||||
services = {
|
|
||||||
displayManager.sddm = {
|
|
||||||
enable = true;
|
|
||||||
wayland.enable = true;
|
|
||||||
};
|
|
||||||
desktopManager.plasma6 = {
|
|
||||||
enable = true;
|
|
||||||
enableQt5Integration = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,49 +0,0 @@
|
||||||
{ pkgs, username, ... }:
|
|
||||||
{
|
|
||||||
environment = {
|
|
||||||
sessionVariables.GRIM_DEFAULT_DIR = "$HOME/Pictures/Screenshots";
|
|
||||||
systemPackages = [ pkgs.xarchiver ];
|
|
||||||
};
|
|
||||||
programs = {
|
|
||||||
thunar = {
|
|
||||||
enable = true;
|
|
||||||
plugins = with pkgs.xfce; [
|
|
||||||
thunar-archive-plugin
|
|
||||||
thunar-volman
|
|
||||||
];
|
|
||||||
};
|
|
||||||
sway.enable = true;
|
|
||||||
};
|
|
||||||
services = {
|
|
||||||
tumbler.enable = true;
|
|
||||||
udisks2.enable = true;
|
|
||||||
gvfs = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.gnome3.gvfs;
|
|
||||||
};
|
|
||||||
greetd = {
|
|
||||||
enable = true;
|
|
||||||
settings =
|
|
||||||
let
|
|
||||||
default_session.command = "sway";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
inherit default_session;
|
|
||||||
initial_session = {
|
|
||||||
inherit (default_session) command;
|
|
||||||
user = username;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
qt = {
|
|
||||||
enable = true;
|
|
||||||
style = "adwaita";
|
|
||||||
platformTheme = "gnome";
|
|
||||||
};
|
|
||||||
xdg.portal = {
|
|
||||||
enable = true;
|
|
||||||
config.common.default = "*"; # TODO change for xdg-desktop-portal > 1.17 changes
|
|
||||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in a new issue