clean up niri.nix: gate noctalia/non-noctalia config, move desktop files to home.nix

This commit is contained in:
2026-06-20 17:12:40 +02:00
parent 6c9288bf4f
commit 870b1d40d8
2 changed files with 85 additions and 72 deletions
+5
View File
@@ -253,6 +253,11 @@
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nixos-dotfiles/config/nvim";
};
xdg.dataFile."applications/switch-wallpaper.desktop".source = ./config/applications/switch-wallpaper.desktop;
xdg.dataFile."applications/signal.desktop".source = ./config/applications/signal.desktop;
xdg.dataFile."applications/vesktop.desktop".source = ./config/applications/vesktop.desktop;
xdg.dataFile."applications/steam.desktop".source = ./config/applications/steam.desktop;
# ── Packages ─────────────────────────────────────────────────────────────────
home.packages = with pkgs; [
# general
+80 -72
View File
@@ -7,80 +7,88 @@
config = let
useNoctalia = config.niri.useNoctalia;
in {
# ── Niri desktop environment ─────────────────────────────────────────────────
xdg.configFile."niri" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nixos-dotfiles/config/niri";
};
xdg.configFile."noctalia" = lib.mkIf useNoctalia {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nixos-dotfiles/config/noctalia";
};
xdg.configFile."foot".source = ./config/foot;
xdg.configFile."waybar" = lib.mkIf (!useNoctalia) { source = ./config/waybar; };
xdg.configFile."fuzzel/fuzzel.ini" = lib.mkIf (!useNoctalia) { source = ./config/fuzzel/fuzzel.ini; };
home.file.".local/bin/wallpaper.sh" = {
source = ./config/niri/wallpaper.sh;
executable = true;
};
home.file.".local/bin/waybar-network.sh" = lib.mkIf (!useNoctalia) {
source = ./config/waybar/network.sh;
executable = true;
};
home.file.".local/bin/waybar-weather.sh" = lib.mkIf (!useNoctalia) {
source = ./config/waybar/weather.sh;
executable = true;
};
xdg.dataFile."applications/switch-wallpaper.desktop".source = ./config/applications/switch-wallpaper.desktop;
xdg.dataFile."applications/signal.desktop".source = ./config/applications/signal.desktop;
xdg.dataFile."applications/vesktop.desktop".source = ./config/applications/vesktop.desktop;
xdg.dataFile."applications/steam.desktop".source = ./config/applications/steam.desktop;
systemd.user.services.xwayland-satellite = {
Unit = {
Description = "Xwayland for niri";
BindsTo = [ "graphical-session.target" ];
After = [ "graphical-session.target" ];
in lib.mkMerge [
# ── Niri (shared) ────────────────────────────────────────────────────────────
{
xdg.configFile."niri" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nixos-dotfiles/config/niri";
};
Service = {
ExecStart = "${pkgs.xwayland-satellite}/bin/xwayland-satellite";
Restart = "on-failure";
};
Install.WantedBy = [ "graphical-session.target" ];
};
xdg.configFile."foot".source = ./config/foot;
services.mako = {
enable = true;
settings = {
background-color = "#0a0a0a99";
text-color = "#f3eeea";
border-color = "#cd0a00";
border-radius = 8;
border-size = 1;
default-timeout = 7500;
max-icon-size = 64;
padding = "10,14";
font = "JetBrains Mono 12";
systemd.user.services.xwayland-satellite = {
Unit = {
Description = "Xwayland for niri";
BindsTo = [ "graphical-session.target" ];
After = [ "graphical-session.target" ];
};
Service = {
ExecStart = "${pkgs.xwayland-satellite}/bin/xwayland-satellite";
Restart = "on-failure";
};
Install.WantedBy = [ "graphical-session.target" ];
};
};
home.packages = with pkgs; [
# wayland / desktop
libnotify
wl-clipboard
slurp
grim
satty
wlogout
brightnessctl
awww
lxqt.lxqt-policykit
] ++ lib.optionals (!useNoctalia) [
fuzzel
waybar
] ++ lib.optionals useNoctalia [
noctalia-shell
];
};
home.packages = with pkgs; [
libnotify
wl-clipboard
slurp
grim
satty
brightnessctl
lxqt.lxqt-policykit
];
}
# ── Noctalia ─────────────────────────────────────────────────────────────────
(lib.mkIf useNoctalia {
xdg.configFile."noctalia" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nixos-dotfiles/config/noctalia";
};
home.packages = with pkgs; [
noctalia-shell
];
})
# ── Non-noctalia ─────────────────────────────────────────────────────────────
(lib.mkIf (!useNoctalia) {
xdg.configFile."waybar".source = ./config/waybar;
xdg.configFile."fuzzel/fuzzel.ini".source = ./config/fuzzel/fuzzel.ini;
home.file.".local/bin/wallpaper.sh" = {
source = ./config/niri/wallpaper.sh;
executable = true;
};
home.file.".local/bin/waybar-network.sh" = {
source = ./config/waybar/network.sh;
executable = true;
};
home.file.".local/bin/waybar-weather.sh" = {
source = ./config/waybar/weather.sh;
executable = true;
};
services.mako = {
enable = true;
settings = {
background-color = "#0a0a0a99";
text-color = "#f3eeea";
border-color = "#cd0a00";
border-radius = 8;
border-size = 1;
default-timeout = 7500;
max-icon-size = 64;
padding = "10,14";
font = "JetBrains Mono 12";
};
};
home.packages = with pkgs; [
awww
wlogout
fuzzel
waybar
];
})
];
}