simplified namespace cause I dont wanna type that much and introduce colored man pages
This commit is contained in:
parent
fdbb3a8f3b
commit
70fdb9173a
15 changed files with 54 additions and 126 deletions
134
modules/nixos/desktop/addons/rofi/config.rasi
Normal file
134
modules/nixos/desktop/addons/rofi/config.rasi
Normal file
|
@ -0,0 +1,134 @@
|
|||
/*Dracula theme based on the Purple official rofi theme*/
|
||||
/* https://github.com/dracula/rofi/tree/main */
|
||||
|
||||
configuration {
|
||||
show-icons: true;
|
||||
display-drun: "";
|
||||
disable-history: false;
|
||||
}
|
||||
|
||||
* {
|
||||
font: "Jetbrains Mono 12";
|
||||
foreground: #f8f8f2;
|
||||
background-color: #282a36;
|
||||
active-background: #6272a4;
|
||||
urgent-background: #ff5555;
|
||||
urgent-foreground: #282a36;
|
||||
selected-background: @active-background;
|
||||
selected-urgent-background: @urgent-background;
|
||||
selected-active-background: @active-background;
|
||||
separatorcolor: @active-background;
|
||||
bordercolor: @active-background;
|
||||
}
|
||||
|
||||
#window {
|
||||
background-color: @background-color;
|
||||
border: 3;
|
||||
border-radius: 6;
|
||||
border-color: @bordercolor;
|
||||
padding: 15;
|
||||
}
|
||||
#mainbox {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#message {
|
||||
border: 0px;
|
||||
border-color: @separatorcolor;
|
||||
padding: 1px;
|
||||
}
|
||||
#textbox {
|
||||
text-color: @foreground;
|
||||
}
|
||||
#listview {
|
||||
fixed-height: 0;
|
||||
border: 0px;
|
||||
border-color: @bordercolor;
|
||||
spacing: 2px ;
|
||||
scrollbar: false;
|
||||
padding: 2px 0px 0px ;
|
||||
}
|
||||
#element {
|
||||
border: 0;
|
||||
padding: 3px ;
|
||||
}
|
||||
#element.normal.normal {
|
||||
background-color: @background-color;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#element.normal.urgent {
|
||||
background-color: @urgent-background;
|
||||
text-color: @urgent-foreground;
|
||||
}
|
||||
#element.normal.active {
|
||||
background-color: @active-background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#element.selected.normal {
|
||||
background-color: @selected-background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#element.selected.urgent {
|
||||
background-color: @selected-urgent-background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#element.selected.active {
|
||||
background-color: @selected-active-background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#element.alternate.normal {
|
||||
background-color: @background-color;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#element.alternate.urgent {
|
||||
background-color: @urgent-background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#element.alternate.active {
|
||||
background-color: @active-background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#scrollbar {
|
||||
width: 2px ;
|
||||
border: 0;
|
||||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
#sidebar {
|
||||
border: 2px dash 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
#button.selected {
|
||||
background-color: @selected-background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#inputbar {
|
||||
spacing: 0;
|
||||
text-color: @foreground;
|
||||
padding: 1px ;
|
||||
}
|
||||
#case-indicator {
|
||||
spacing: 0;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#entry {
|
||||
spacing: 0;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#prompt {
|
||||
spacing: 0;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#inputbar {
|
||||
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
|
||||
}
|
||||
#textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: ">";
|
||||
margin: 0px 0.3em 0em 0em ;
|
||||
text-color: @foreground;
|
||||
}
|
||||
element-text, element-icon {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
35
modules/nixos/desktop/addons/rofi/default.nix
Normal file
35
modules/nixos/desktop/addons/rofi/default.nix
Normal file
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
config,
|
||||
namespace,
|
||||
options,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.${namespace}.desktop.addons.rofi;
|
||||
|
||||
inherit (lib)
|
||||
mkIf
|
||||
mkEnableOption
|
||||
mkOption
|
||||
types
|
||||
;
|
||||
in
|
||||
{
|
||||
options.${namespace}.desktop.addons.rofi = {
|
||||
enable = mkEnableOption "Rofi";
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.rofi;
|
||||
description = "The package to use for Rofi";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
wyrdgard.home.file = {
|
||||
".config/rofi/config.rasi".source = ./config.rasi;
|
||||
};
|
||||
};
|
||||
}
|
39
modules/nixos/desktop/addons/waybar/config
Normal file
39
modules/nixos/desktop/addons/waybar/config
Normal file
|
@ -0,0 +1,39 @@
|
|||
{
|
||||
"height": 24, // Waybar height (to be removed for auto height)
|
||||
"modules-left": ["hyprland/workspaces"],
|
||||
"modules-center": ["hyprland/window"],
|
||||
"modules-right": ["tray", "idle_inhibitor", "pulseaudio", "clock"],
|
||||
"hyprland/window": {
|
||||
"separate-outputs": true
|
||||
},
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
// "icon-size": 21,
|
||||
"spacing": 10
|
||||
},
|
||||
"clock": {
|
||||
"timezone": "Europe/Berlin",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format": "{:L%Y-%m-%d<small> [%a] </small>%H:%M}"
|
||||
},
|
||||
"pulseaudio": {
|
||||
"scroll-step": 5, // %, can be a float
|
||||
"format": "{icon} {volume}% {format_source}",
|
||||
"format-bluetooth": " {icon} {volume}% {format_source}",
|
||||
"format-bluetooth-muted": " {icon} {format_source}",
|
||||
"format-muted": "{format_source}",
|
||||
"format-source": " {volume}%",
|
||||
"format-source-muted": "",
|
||||
"format-icons": {
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pavucontrol",
|
||||
"on-click-right": "foot -a pw-top pw-top"
|
||||
},
|
||||
}
|
37
modules/nixos/desktop/addons/waybar/default.nix
Normal file
37
modules/nixos/desktop/addons/waybar/default.nix
Normal file
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
options,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.${namespace}.desktop.addons.waybar;
|
||||
|
||||
inherit (lib)
|
||||
mkEnableOption
|
||||
mkOption
|
||||
mkIf
|
||||
types
|
||||
;
|
||||
in
|
||||
{
|
||||
options.${namespace}.desktop.addons.waybar = {
|
||||
enable = mkEnableOption "Waybar";
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.waybar;
|
||||
description = "The package to use for Waybar";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
wyrdgard.home.file = {
|
||||
".config/waybar/config".source = ./config;
|
||||
".config/waybar/style.css".source = ./style.css;
|
||||
};
|
||||
};
|
||||
}
|
182
modules/nixos/desktop/addons/waybar/style.css
Normal file
182
modules/nixos/desktop/addons/waybar/style.css
Normal file
|
@ -0,0 +1,182 @@
|
|||
window#waybar {
|
||||
background: transparent;
|
||||
/* background-color: rgba(43, 48, 59, 0.5); */
|
||||
/* border-bottom: 3px solid rgba(100, 114, 125, 0.5); */
|
||||
color: #ffffff;
|
||||
transition-property: background-color;
|
||||
transition-duration: .5s;
|
||||
}
|
||||
|
||||
window#waybar.hidden {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
#waybar.empty #window {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
}
|
||||
|
||||
#window {
|
||||
margin: 2px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
background-color: rgba(0,0,0,0.3);
|
||||
font-size:14px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
button {
|
||||
/* Use box-shadow instead of border so the text isn't offset */
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
/* Avoid rounded borders under each button name */
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||
button:hover {
|
||||
background: inherit;
|
||||
border-top: 2px solid #c9545d;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 4px;
|
||||
/* background-color: rgba(0,0,0,0.3); */
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
/* box-shadow: inset 0 -2px #c9545d; */
|
||||
background-color: rgba(0,0,0,0.3);
|
||||
color:#c9545d;
|
||||
border-top: 2px solid #c9545d;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background-color: #64727D;
|
||||
border-bottom: 3px solid #ffffff;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#battery,
|
||||
#cpu,
|
||||
#memory,
|
||||
#disk,
|
||||
#temperature,
|
||||
#backlight,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#wireplumber,
|
||||
#custom-media,
|
||||
#tray,
|
||||
#mode,
|
||||
#idle_inhibitor,
|
||||
#scratchpad,
|
||||
#mpd {
|
||||
margin: 2px;
|
||||
padding-left: 4px;
|
||||
padding-right: 4px;
|
||||
background-color: rgba(0,0,0,0.3);
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
/* If workspaces is the leftmost module, omit left margin */
|
||||
.modules-left > widget:first-child > #workspaces {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* If workspaces is the rightmost module, omit right margin */
|
||||
.modules-right > widget:last-child > #workspaces {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#clock {
|
||||
font-size:14px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#battery icon {
|
||||
color: red;
|
||||
}
|
||||
|
||||
#battery.charging, #battery.plugged {
|
||||
color: #ffffff;
|
||||
background-color: #26A65B;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #ffffff;
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
|
||||
#battery.warning:not(.charging) {
|
||||
background-color: #f53c3c;
|
||||
color: #ffffff;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: #f53c3c;
|
||||
color: #ffffff;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
label:focus {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
background-color: #f53c3c;
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#idle_inhibitor.activated {
|
||||
background-color: #ecf0f1;
|
||||
color: #2d3436;
|
||||
}
|
||||
|
||||
#tray > .passive {
|
||||
-gtk-icon-effect: dim;
|
||||
}
|
||||
|
||||
#tray > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
window#waybar.solo {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
window#waybar.termite {
|
||||
background-color: #3F3F3F;
|
||||
}
|
||||
|
||||
window#waybar.chromium {
|
||||
background-color: #000000;
|
||||
border: none;
|
||||
}
|
||||
*/
|
290
modules/nixos/desktop/hyprland/default.nix
Normal file
290
modules/nixos/desktop/hyprland/default.nix
Normal file
|
@ -0,0 +1,290 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
system,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib.wyrdgard;
|
||||
let
|
||||
inherit (lib)
|
||||
mkIf
|
||||
mkEnableOption
|
||||
mkOption
|
||||
mkMerge
|
||||
types
|
||||
;
|
||||
cfg = config.${namespace}.desktop.hyprland;
|
||||
|
||||
cachix-url = "https://hyprland.cachix.org";
|
||||
cachix-key = "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=";
|
||||
|
||||
hyprland-package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
|
||||
focus-1password = pkgs.writeShellScriptBin "focus-or-open-1pass" ''
|
||||
running=$(hyprctl -j clients | jq -r '.[] | select(.class == "1password") | .workspace.id')
|
||||
|
||||
if [[ $running != "" ]]; then
|
||||
hyprctl dispatch workspace $running
|
||||
else
|
||||
# always open on w/space 4
|
||||
hyprctl dispatch workspace 4
|
||||
1password&
|
||||
fi
|
||||
'';
|
||||
in
|
||||
{
|
||||
options.${namespace}.desktop.hyprland = {
|
||||
enable = mkEnableOption "Whether to enable hyprland";
|
||||
settings = mkOption {
|
||||
type = types.attrs;
|
||||
default = { };
|
||||
description = "Additional Hyprland settings to apply.";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
polkit-kde-agent
|
||||
|
||||
wl-clipboard
|
||||
wl-screenrec
|
||||
wlr-randr
|
||||
grimblast
|
||||
xfce.thunar
|
||||
dunst
|
||||
|
||||
elegant-sddm
|
||||
|
||||
jq
|
||||
focus-1password
|
||||
];
|
||||
|
||||
programs = {
|
||||
hyprland = {
|
||||
enable = true;
|
||||
package = hyprland-package;
|
||||
portalPackage =
|
||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
xserver = enabled;
|
||||
displayManager.sddm = {
|
||||
enable = true;
|
||||
theme = "Elegant";
|
||||
};
|
||||
};
|
||||
|
||||
wyrdgard = {
|
||||
desktop.addons = {
|
||||
waybar = enabled;
|
||||
rofi = {
|
||||
enable = true;
|
||||
package = pkgs.rofi-wayland-unwrapped;
|
||||
};
|
||||
};
|
||||
|
||||
nix.extra-substituters.${cachix-url} = {
|
||||
key = cachix-key;
|
||||
};
|
||||
|
||||
home.extraOptions = {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
package = hyprland-package;
|
||||
plugins = [ inputs.hy3.packages.${system}.hy3 ];
|
||||
settings = mkMerge [
|
||||
{
|
||||
"$mod" = "SUPER";
|
||||
|
||||
exec-once = [
|
||||
"waybar"
|
||||
"dunst"
|
||||
"systemctl --user start plasma-polkit-agent"
|
||||
|
||||
"[workspace 3 silent] steam"
|
||||
"[workspace 2 silent] discord"
|
||||
"[workspace 2 silent] noisetorch -i"
|
||||
"[workspace 4 silent] 1password"
|
||||
"[workspace 1 silent] zen"
|
||||
];
|
||||
|
||||
windowrulev2 = [
|
||||
#stean is a bit wierd, since it opens in multiple phases, so just move the last window to the workspace
|
||||
"workspace 3 silent, class:^(steam)$, title:^(Steam)"
|
||||
];
|
||||
|
||||
general = {
|
||||
layout = "hy3";
|
||||
gaps_in = 5;
|
||||
gaps_out = 5;
|
||||
border_size = 1;
|
||||
"col.active_border" = "rgba(88888888)";
|
||||
"col.inactive_border" = "rgba(00000088)";
|
||||
|
||||
allow_tearing = true;
|
||||
resize_on_border = true;
|
||||
};
|
||||
|
||||
misc = {
|
||||
# hyprchan
|
||||
force_default_wallpaper = 2;
|
||||
# focus new windows that want to be focused
|
||||
focus_on_activate = true;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 16;
|
||||
blur = {
|
||||
enabled = true;
|
||||
brightness = 1.0;
|
||||
contrast = 1.0;
|
||||
noise = 1.0e-2;
|
||||
|
||||
vibrancy = 0.2;
|
||||
vibrancy_darkness = 0.5;
|
||||
|
||||
passes = 4;
|
||||
size = 7;
|
||||
|
||||
popups = true;
|
||||
popups_ignorealpha = 0.2;
|
||||
};
|
||||
|
||||
drop_shadow = true;
|
||||
shadow_ignore_window = true;
|
||||
shadow_offset = "0 15";
|
||||
shadow_range = 100;
|
||||
shadow_render_power = 2;
|
||||
shadow_scale = 0.97;
|
||||
"col.shadow" = "rgba(00000055)";
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = true;
|
||||
animation = [
|
||||
"border, 1, 2, default"
|
||||
"fade, 1, 4, default"
|
||||
"windows, 1, 3, default, popin 80%"
|
||||
"workspaces, 1, 2, default, slide"
|
||||
];
|
||||
};
|
||||
|
||||
bind =
|
||||
[
|
||||
# compositor commands
|
||||
"$mod SHIFT, R, exec, hyprctl reload"
|
||||
"$mod SHIFT, Q, killactive,"
|
||||
"$mod SHIFT, E, exec, pkill Hyprland"
|
||||
|
||||
"$mod, F, fullscreen,"
|
||||
"$mod, G, togglegroup,"
|
||||
"$mod SHIFT, N, changegroupactive, f"
|
||||
"$mod SHIFT, P, changegroupactive, b"
|
||||
"$mod, R, togglesplit,"
|
||||
"$mod, T, togglefloating,"
|
||||
"$mod, P, pseudo,"
|
||||
"$mod ALT, ,resizeactive,"
|
||||
|
||||
"$mod CTRL, left, movecurrentworkspacetomonitor, l"
|
||||
"$mod CTRL, right, movecurrentworkspacetomonitor, r"
|
||||
|
||||
# move focus
|
||||
"$mod, h, hy3:movefocus, l"
|
||||
"$mod, j, hy3:movefocus, d"
|
||||
"$mod, k, hy3:movefocus, u"
|
||||
"$mod, l, hy3:movefocus, r"
|
||||
"$mod, left, hy3:movefocus, l"
|
||||
"$mod, down, hy3:movefocus, d"
|
||||
"$mod, up, hy3:movefocus, u"
|
||||
"$mod, right, hy3:movefocus, r"
|
||||
|
||||
# move focus
|
||||
"$mod SHIFT, h, hy3:movewindow, l, once"
|
||||
"$mod SHIFT, j, hy3:movewindow, d, once"
|
||||
"$mod SHIFT, k, hy3:movewindow, u, once"
|
||||
"$mod SHIFT, l, hy3:movewindow, r, once"
|
||||
"$mod SHIFT, left, hy3:movewindow, l, once"
|
||||
"$mod SHIFT, down, hy3:movewindow, d, once"
|
||||
"$mod SHIFT, up, hy3:movewindow, u, once"
|
||||
"$mod SHIFT, right, hy3:movewindow, r, once"
|
||||
|
||||
#run important programs
|
||||
"$mod, Return, exec, kitty"
|
||||
"$mod, Z, exec, zen"
|
||||
"$mod, D, exec, rofi -show drun"
|
||||
"$mod, P, exec, focus-or-open-1pass"
|
||||
# "$mod, D, exec, rofi -show combi"
|
||||
|
||||
#screenshot
|
||||
", Print, exec, grimblast copy area"
|
||||
]
|
||||
++ (
|
||||
# workspaces
|
||||
# binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
|
||||
builtins.concatLists (
|
||||
builtins.genList (
|
||||
i:
|
||||
let
|
||||
ws = i + 1;
|
||||
in
|
||||
[
|
||||
"$mod, code:1${toString i}, workspace, ${toString ws}"
|
||||
"$mod SHIFT, code:1${toString i}, hy3:movetoworkspace, ${toString ws}"
|
||||
]
|
||||
) 9
|
||||
)
|
||||
);
|
||||
|
||||
# mouse movements
|
||||
bindm = [
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, resizewindow"
|
||||
"$mod ALT, mouse:272, resizewindow"
|
||||
];
|
||||
|
||||
bindl = [
|
||||
# volume
|
||||
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
|
||||
];
|
||||
|
||||
bindle = [
|
||||
# volume
|
||||
", XF86AudioRaiseVolume, exec, wpctl set-volume -l '1.0' @DEFAULT_AUDIO_SINK@ 6%+"
|
||||
", XF86AudioLowerVolume, exec, wpctl set-volume -l '1.0' @DEFAULT_AUDIO_SINK@ 6%-"
|
||||
];
|
||||
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
|
||||
# focus change on cursor move
|
||||
follow_mouse = 2;
|
||||
accel_profile = "flat";
|
||||
};
|
||||
|
||||
plugin = {
|
||||
hy3 = {
|
||||
autotile = {
|
||||
enable = true;
|
||||
trigger_width = 800;
|
||||
trigger_height = 500;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
cfg.settings
|
||||
];
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
}
|
29
modules/nixos/desktop/kde/default.nix
Normal file
29
modules/nixos/desktop/kde/default.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.wyrdgard;
|
||||
let
|
||||
cfg = config.${namespace}.desktop.kde;
|
||||
in
|
||||
{
|
||||
options.${namespace}.desktop.kde = with types; {
|
||||
enable = mkEnableOption "Whether to enable a kde plasma6";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
xdg-utils
|
||||
kdePackages.qtbase
|
||||
];
|
||||
|
||||
services = {
|
||||
xserver = enabled;
|
||||
desktopManager.plasma6 = enabled;
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue