This commit is contained in:
Lucy Hochkamp 2025-08-26 00:58:27 +02:00
parent 414e830efa
commit d3a93fd115
No known key found for this signature in database
35 changed files with 1832 additions and 228 deletions

View file

@ -7,7 +7,7 @@
let
cfg = config.xyno.desktop.mako;
makoConf = pkgs.writeText "mako.conf" ''
font=Source Sans Pro Nerd Font 11
font=Source Sans 3 11
background-color=#1d2021ff
border-color=#3c3836FF
text-color=#ebdbb2ff

View file

@ -28,6 +28,7 @@ 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; };
options.xyno.desktop.niri.extraConfig = lib.mkOption { type = lib.types.lines; };
config = lib.mkIf cfg.enable {
xyno.desktop = {
foot.enable = lib.mkDefault true;
@ -38,6 +39,9 @@ in
waybar.enable = lib.mkDefault true;
wpaperd.enable = lib.mkDefault true;
};
nixpkgs.overlays = [
inputs.niri.overlays.default
];
home-manager.users.${config.xyno.system.user.name} =
lib.mkIf config.xyno.presets.home-manager.enable
(
@ -77,17 +81,11 @@ in
xwayland-satellite
];
programs.niri.enable = true;
programs.niri.package = inputs.niri.packages.${pkgs.system}.default.overrideAttrs (prev: {
patches = prev.patches ++ [
(pkgs.fetchurl {
url = "https://patch-diff.githubusercontent.com/raw/YaLTeR/niri/pull/1907.patch";
hash = "sha256-XhG8Ga1/QMPXrF0FjQuBk8KZISbof4Md4kM73cG1SYQ=";
})
];
});
environment.etc."niri/config.kdl".mode = "444"; # copy file so niri detects changes
environment.etc."niri/config.kdl".text = ''
xwayland-satellite {
path "${pkgs.xwayland-satellite}/bin/xwayland-satellite"
}
animations {
off
}
@ -351,11 +349,6 @@ in
// scratchpad
// workspace "scratchpad"
// Put swaybg inside the overview backdrop.
layer-rule {
match namespace="^wpaperd.*$"
place-within-backdrop true
}
screenshot-path "~/Pictures/screenshots/screenshot-%Y-%m-%d %H-%M-%S.png"
// Indicate screencasted windows with red colors.
@ -425,6 +418,7 @@ in
}
// autogenerated from here on
${matchFloat}
${cfg.extraConfig}
'';
};
}

View file

@ -10,7 +10,7 @@ let
waybarCfg = {
layer = "top";
position = "top";
height = 15;
height = 20;
modules-left =
(lib.optionals (cfg.mode == "river") [
"river/tags"
@ -50,7 +50,7 @@ let
max-length = 40;
};
"niri/window" = {
max-length = 40;
max-length = 80;
};
wireplumber = {
"format" = "{icon} {volume}%";
@ -66,7 +66,7 @@ let
};
"backlight" = {
"device" = "amdgpu_bl1";
"format" = "{icon} {percent}%";
"format" = "{icon} {percent}%";
"format-icons" = [
"󰃚"
"󰃛"
@ -91,7 +91,7 @@ let
"warning" = 30;
"critical" = 15;
};
"format" = "{icon} {capacity}%";
"format" = "{icon} {capacity}%";
"format-icons" = [
""
""
@ -112,11 +112,11 @@ let
};
memory = {
interval = 30;
format = " {used:0.0f}/{total:0.0f}GB";
format = " {used:0.0f}/{total:0.0f}GB";
};
clock = {
interval = 1;
format = "{:%Y-%m-%dT%H:%M:%S%z}";
format = "{:%a %Y-%m-%dT%H:%M:%S%z}";
"tooltip-format" = "<tt><small>{calendar}</small></tt>";
"calendar" = {
"mode" = "year";
@ -146,9 +146,9 @@ let
"on-click" =
"${pkgs.alacritty}/bin/alacritty --class floating-alacritty -e ${pkgs.impala}/bin/impala";
"format" = "{ifname}";
"format-wifi" = "󰖩 {essid}";
"format-ethernet" = "󰈀 {ifname}";
"format-disconnected" = "󰖪";
"format-wifi" = "󰖩 {essid}";
"format-ethernet" = "󰈀 {ifname}";
"format-disconnected" = "󰖪 ";
"tooltip-format" = "{ifname} via {gwaddr}\n{ipaddr}/{cidr}";
"tooltip-format-wifi" = "{essid} ({signaldBm} dBm) {frequency} GHz\n{ipaddr}/{cidr}";
"tooltip-format-ethernet" = "{ifname}\n{ipaddr}/{cidr}";
@ -161,17 +161,14 @@ let
* {
/* `otf-font-awesome` is required to be installed for icons */
font-family: "Source Sans Pro Nerd Font";
font-size: 12px;
font-family: "Source Sans 3";
font-size: 11px;
}
window#waybar {
/* background-color: rgba(43, 48, 59, 0.5);
border-bottom: 3px solid rgba(100, 114, 125, 0.5);*/
color: #a89984;
background-color: #1d2021;
/* transition-property: background-color;
transition-duration: .5s;*/
}
window#waybar.hidden {

View file

@ -26,6 +26,15 @@ in
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
xyno.desktop.niri.extraConfig = ''
// Put swww inside the overview backdrop.
layer-rule {
match namespace="^swww.*$"
place-within-backdrop true
}
'';
systemd.user.services.swww-daemon = {
unitConfig.PartOf = "graphical-session.target";
unitConfig.After = "graphical-session.target";
@ -42,6 +51,7 @@ in
serviceConfig.Restart = "on-failure";
wantedBy = [ "swww-daemon.service" ];
script = ''
set -eox
export DEFAULT_INTERVAL=300 # In seconds
export DIR=''$HOME/Pictures/backgrounds