This commit is contained in:
Lucy Hochkamp 2025-04-11 15:34:25 +02:00
parent 44307a3f6f
commit b69b80c93f
No known key found for this signature in database
13 changed files with 237 additions and 123 deletions

View file

@ -22,6 +22,7 @@ in
# systemd.user.services.foot.wantedBy = lib.mkForce [ cfg.wantedBy ];
# systemd.user.sockets.foot.wantedBy = lib.mkForce [ cfg.wantedBy ];
systemd.packages = [ cfg.package ];
xyno.desktop.niri.term = lib.mkDefault "footclient";
programs.foot = {
enable = true;
package = cfg.package;

View file

@ -0,0 +1,49 @@
{
pkgs,
config,
lib,
...
}:
let
cfg = config.xyno.desktop.fuzzel;
in
{
options.xyno.desktop.fuzzel.enable = lib.mkEnableOption "enable fuzzel launcher";
options.xyno.desktop.fuzzel.wantedBy = lib.mkOption {
type = lib.types.str;
default = "niri.service";
};
options.xyno.desktop.fuzzel.package = lib.mkOption {
type = lib.types.package;
default = pkgs.fuzzel;
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
xyno.desktop.niri.launcher = lib.mkDefault "fuzzel";
environment.etc."xdg/fuzzel/fuzzel.ini".text = ''
font=JetBrains Mono Nerd Font:size=10
dpi-aware=yes
# prompt=>
icon-theme=hicolor
icons-enabled=yes
match-mode=fuzzy
launch-prefix=systemd-run --user --scope
width=80
horizontal-pad=10
vertical-pad=10
inner-pad=10
line-height=18
[colors]
background=000000AA
text=efefefef
match=fabd2fff
selection-match=fabd2fff
selection=666666ff
selection-text=efefefef
border=33eeffee
[border]
width=2
radius=3
'';
};
}

View file

@ -25,6 +25,7 @@ in
default = pkgs.mako;
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package pkgs.libnotify ];
systemd.user.services.mako = {
unitConfig.PartOf = "graphical-session.target";
unitConfig.After = "graphical-session.target";

View file

@ -24,14 +24,17 @@ let
in
{
options.xyno.desktop.niri.enable = lib.mkEnableOption "enable the niri desktop with xynos config";
options.xyno.desktop.niri.launcher = lib.mkOption { type = lib.types.str; };
options.xyno.desktop.niri.term = lib.mkOption { type = lib.types.str; };
config = lib.mkIf cfg.enable {
xyno.desktop = {
waybar.enable = lib.mkDefault true;
foot.enable = lib.mkDefault true;
fuzzel.enable = lib.mkDefault true;
mako.enable = lib.mkDefault true;
shikane.enable = lib.mkDefault true;
swayidle.enable = lib.mkDefault true;
waybar.enable = lib.mkDefault true;
wpaperd.enable = lib.mkDefault true;
foot.enable = lib.mkDefault true;
};
home-manager.users.${config.xyno.system.user.name} =
lib.mkIf config.xyno.presets.home-manager.enable
@ -47,35 +50,6 @@ in
# wlr.enable = true;
# };
programs.niri.enable = true;
environment.systemPackages = with pkgs; [
fuzzel
libnotify
];
environment.etc."xdg/fuzzel/fuzzel.ini".text = ''
font=JetBrains Mono Nerd Font:size=10
dpi-aware=yes
# prompt=>
icon-theme=hicolor
icons-enabled=yes
match-mode=fuzzy
launch-prefix=systemd-run --user --scope
width=80
horizontal-pad=10
vertical-pad=10
inner-pad=10
line-height=18
[colors]
background=000000AA
text=efefefef
match=fabd2fff
selection-match=fabd2fff
selection=666666ff
selection-text=efefefef
border=33eeffee
[border]
width=2
radius=3
'';
environment.etc."niri/config.kdl".mode = "444"; # copy file so niri detects changes
environment.etc."niri/config.kdl".text = ''
// xwayland
@ -85,10 +59,10 @@ in
}
// keybinds
binds {
Mod+D { spawn "fuzzel"; }
Mod+D { spawn "${cfg.launcher}"; }
Mod+Alt+L { spawn "lock"; }
Mod+T { spawn "footclient"; }
Mod+Y { spawn "footclient yazi"; }
Mod+T { spawn "${cfg.term}"; }
Mod+Y { spawn "${cfg.term} yazi"; }
Mod+P { spawn "keepassxc"; }
XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; }
XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; }
@ -375,7 +349,7 @@ in
// Place steam notifications in the bottom right
window-rule {
match app-id="steam" title="^notificationtoasts_[\\d]+_desktop$"
default-floating-position x=o y=o relative-to="bottom-right"
default-floating-position x=0 y=0 relative-to="bottom-right"
}
input {

View file

@ -424,7 +424,7 @@ in
};
options.xyno.desktop.waybar.package = lib.mkOption {
type = lib.types.package;
default = pkgs.unstable.waybar;
default = pkgs.unstable.waybar.override { hyprlandSupport = false; }; # we don't use it and hyprland seems to not build on current master
};
options.xyno.desktop.waybar.mode = lib.mkOption {
type = lib.types.str;