pin to nixos 26.05, drop hyprland/anyrun flakes

Stable restore point before 26.05 — last known good unstable config.

Unify all hosts on nixos-26.05 + home-manager release-26.05.
Drop hyprland, anyrun, nixpkgs-stable, home-manager-stable,
stylix-stable inputs. Hyprland 0.55.2 and anyrun 25.12.0 from
nixpkgs. Anyrun config via xdg.configFile (no HM module in 26.05).
Stylix on master until release-26.05 branch exists.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
rope 2026-05-30 11:11:33 +01:00
parent f5d7fd440e
commit 72246fc440
5 changed files with 104 additions and 1048 deletions

View file

@ -1,9 +1,6 @@
# settings/hyprland.nix
{ config, pkgs, lib, inputs, ... }:
let
hyprland-pkgs = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system};
anyrun-pkgs = inputs.anyrun.packages.${pkgs.stdenv.hostPlatform.system};
isMacbook = config.networking.hostName == "FredOS-Macbook";
isGaming = !isMacbook;
@ -13,8 +10,6 @@ in
programs.hyprland = {
enable = true;
xwayland.enable = true;
package = hyprland-pkgs.hyprland;
portalPackage = hyprland-pkgs.xdg-desktop-portal-hyprland;
};
xdg.portal = {
@ -61,20 +56,12 @@ in
pavucontrol
polkit_gnome
quickshell
anyrun
qt6.qt5compat
zenity
libcanberra-gtk3
];
# Use upstream anyrun flake's HM module instead of the built-in one
# for working daemon mode.
home-manager.sharedModules = [
({ modulesPath, ... }: {
disabledModules = [ "${modulesPath}/programs/anyrun.nix" ];
})
inputs.anyrun.homeManagerModules.default
];
home-manager.users.fred = { config, lib, pkgs, inputs, ... }:
let
c = config.lib.stylix.colors;
@ -96,7 +83,6 @@ in
enable = true;
configType = "lua";
systemd.variables = [ "--all" ];
package = hyprland-pkgs.hyprland;
settings = {
# hl.config({...}) — all static named-section configuration.
@ -192,8 +178,8 @@ in
$'\uf08b Logout' \
$'\uf01e Reboot' \
$'\uf011 Shutdown' \
| ${anyrun-pkgs.anyrun}/bin/anyrun \
--plugins "${anyrun-pkgs.stdin}/lib/libstdin.so" \
| ${pkgs.anyrun}/bin/anyrun \
--plugins "${pkgs.anyrun}/lib/libstdin.so" \
--show-results-immediately true \
--hide-plugin-info true \
--close-on-click true)
@ -343,64 +329,6 @@ in
'';
};
programs.anyrun = {
enable = true;
config = {
plugins = [ anyrun-pkgs.applications ];
x.fraction = 0.5;
y.fraction = 0.25;
width.absolute = 350;
height.absolute = 0;
hideIcons = false;
ignoreExclusiveZones = false;
layer = "overlay";
hidePluginInfo = true;
closeOnClick = true;
maxEntries = 8;
};
extraCss =
let c = config.lib.stylix.colors; in
''
* { all: unset; font-family: "FiraMono Nerd Font", monospace; font-size: 13px; }
window { background: transparent; }
box.main {
background: #${c.base00};
border: 1px solid #${c.base03};
border-radius: 10px;
padding: 8px;
margin: 16px;
}
text {
background: #${c.base01};
color: #${c.base05};
caret-color: #${c.base0D};
padding: 8px 16px;
border-radius: 6px;
min-height: 0;
}
list.plugin { background: transparent; }
.matches { background: transparent; }
.match {
padding: 4px 16px;
border-radius: 6px;
color: #${c.base05};
background: transparent;
}
.match:selected {
background: #${c.base02};
border: none;
}
label.match.description { color: #${c.base04}; font-size: 11px; }
'';
extraConfigFiles."applications.ron".text = ''
Config(
desktop_actions: false,
max_entries: 8,
terminal: Some("ghostty"),
)
'';
};
programs.hyprlock = {
enable = true;
settings = {
@ -2445,6 +2373,64 @@ in
}
'';
};
# anyrun config — written manually since HM 26.05 has no anyrun module.
"anyrun/config.ron".text = ''
Config(
x: Fraction(0.5),
y: Fraction(0.25),
width: Absolute(350),
height: Absolute(0),
hide_icons: false,
ignore_exclusive_zones: false,
layer: Overlay,
hide_plugin_info: true,
close_on_click: true,
max_entries: 8,
plugins: [
"${pkgs.anyrun}/lib/libapplications.so",
],
)
'';
"anyrun/style.css".text = ''
* { all: unset; font-family: "FiraMono Nerd Font", monospace; font-size: 13px; }
window { background: transparent; }
box.main {
background: #${c.base00};
border: 1px solid #${c.base03};
border-radius: 10px;
padding: 8px;
margin: 16px;
}
text {
background: #${c.base01};
color: #${c.base05};
caret-color: #${c.base0D};
padding: 8px 16px;
border-radius: 6px;
min-height: 0;
}
list.plugin { background: transparent; }
.matches { background: transparent; }
.match {
padding: 4px 16px;
border-radius: 6px;
color: #${c.base05};
background: transparent;
}
.match:selected {
background: #${c.base02};
border: none;
}
label.match.description { color: #${c.base04}; font-size: 11px; }
'';
"anyrun/applications.ron".text = ''
Config(
desktop_actions: false,
max_entries: 8,
terminal: Some("ghostty"),
)
'';
};
};