Commit graph

1253 commits

Author SHA1 Message Date
67cb9fb3ba Update movetoworkspace to Movetoworkspacesilent 2026-05-12 19:33:52 +01:00
219b20a32f Maybe fix ollama. 2026-05-12 19:26:49 +01:00
27be8e3452 Maybe fix failing dependency? 2026-05-12 15:31:26 +01:00
f202e7001e Formatting changes. 2026-05-12 15:28:38 +01:00
d23db30b7e Testing ollama fix 2026-05-12 15:17:01 +01:00
forgejo-actions[bot]
09352b26eb flake: update inputs 2026-05-12 13:02:17 +00:00
156d091ec3 Add cuda-maintainers cache. 2026-05-12 14:00:46 +01:00
528189e87e Setting up open-webui for ollama. 2026-05-12 13:54:08 +01:00
a3d4cb0d1d Adding cuda acceleration to ollama. 2026-05-12 13:44:55 +01:00
227c2c8678 adding ; 2026-05-12 13:34:38 +01:00
505a50bf74 Adding ollama to server. 2026-05-12 13:34:07 +01:00
ca34fd61c8 waybar: restore network icons with monochrome Material Design glyphs
The Nerd Font icons in the earlier waybar config got stripped through
a round-trip — the wifi format was rendering as two spaces and the
others as empty. Reinstate them with the cleaner mdi-wifi /
mdi-ethernet / mdi-wifi-off codepoints (U+F05A9 / F0200 / F05AA) which
render single-colour and read more as outline glyphs than the busier
FontAwesome originals.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 12:06:38 +01:00
5caf3d733f waybar: add a power menu module
Click the ⏻ glyph on the right edge of the bar; a fuzzel dmenu pops up
with Lock / Logout / Reboot / Shutdown. Lock runs hyprlock, logout
exits Hyprland, the others go through systemctl. Hover state turns the
icon base08 (red) as a soft warning.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 11:49:44 +01:00
af647e2a1e stylix: switch cursor to Bibata-Modern-Ice
Updates stylix.cursor and the three places that hardcode the cursor
name as env vars / hyprctl arg / XCURSOR_PATH so they stay aligned.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 11:48:28 +01:00
5e479cc394 stylix: pull Papirus folder variants into the recoloured icon theme
Adwaita's scalable/places ships only the generic folder.svg, so
Downloads, Pictures, Music etc. all rendered as the same icon. Copy
Papirus' places at every size into WallpaperAdwaita and recolour the
Papirus blues to the stylix primary. Declare the sized places
directories in index.theme so GTK actually looks at them.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 09:44:48 +01:00
forgejo-actions[bot]
a3e91d4fe6 flake: update inputs 2026-05-12 04:01:36 +00:00
4bc3e3b3f6 stylix: drop the base03..07 override
Now that we're on a different wallpaper with better-derived colours,
the foreground neutralisation isn't needed — let stylix's
wallpaper-derived palette stand on its own.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 22:41:15 +01:00
d0c2e4084e Upload files to "walls" 2026-05-11 13:53:13 -07:00
09dcc8cefa stylix: keep wallpaper tints in surfaces, neutralise foreground only
Previous override was too aggressive — neutralising every base00..07
slot stripped the wallpaper character out of backgrounds. Narrow the
override to base03..07 so surfaces (base00..02) keep the tint while
text and muted foreground go neutral. Accents stay wallpaper-derived.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 21:44:07 +01:00
4cb30ada85 stylix: neutralise surface tones while keeping wallpaper accents
stylix.override pins base00..07 to greyscale so backgrounds, sidebars
and body text stop picking up the wallpaper's warm cream / teal tint.
Accent slots (base08..0F) stay wallpaper-derived for character.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 21:24:17 +01:00
d839fe0c3e vscodium: wire through HM programs.vscode so stylix can theme it
Stylix's vscode target injects workbench.colorCustomizations via the
HM programs.vscode module — it can't reach a system-package install.
Move vscodium to programs.vscode with mutableExtensionsDir = true so
GUI-installed extensions stay put, and preserve the six user settings
that aren't colour-related.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 21:16:47 +01:00
f55c0b9df6 stylix: feed stylix base16 colours into the zen and vesktop CSS templates
Neither app has a native stylix target, but their existing matugen
templates are just CSS with Material You placeholders. Read the
templates at Nix-eval time and substitute the placeholders with the
closest stylix.colors.base0X slot (primary=base0D, surface=base00,
on_surface=base05, etc.). Same outcome as the old matugen post-hook,
just sourced from stylix.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 20:08:36 +01:00
8ea4e666cc gnome: revert qt.platformTheme to "gnome"
The deprecation warning suggested "adwaita" but 25.11's qt module
doesn't accept that value yet — only gnome/gtk2/kde/lxqt/qt5ct.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 20:03:34 +01:00
2d631c86da gnome: route headerbar CSS through stylix.targets.gtk.extraCss
Plain gtk.gtk{3,4}.extraCss is silently dropped once stylix owns the
theme — stylix prints an evaluation warning and writes nothing. Move
the headerbar-shrink customisations to stylix.targets.gtk.extraCss so
they actually apply.

Also switch qt.platformTheme from the deprecated "gnome" to "adwaita".

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 19:59:19 +01:00
7d5965a884 waybar: reference stylix @base00..05 tokens instead of hardcoded hex
Stylix's waybar target injects @define-color base00..base0F at the top
of style.css; our hardcoded RGB values were ignoring them. Swap the
hand-picked greys for the stylix tokens so the bar follows the
wallpaper palette.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 19:56:05 +01:00
7881dedec0 gnome: drop wallpaper dconf entry — stylix sets it
Stylix's gnome HM target writes the same desktop.background picture-uri.
Conflict resolved by letting stylix own it.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 19:47:25 +01:00
b08c74f361 hyprland: let stylix own hyprpaper.conf
Stylix's hyprpaper target writes the same wallpaper we were setting by
hand. Removing our home.file resolves the managed-file conflict.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 19:46:15 +01:00
1bf08d2097 stylix: full migration off matugen
Flips stylix.autoEnable on so every supported target picks up colours
from the wallpaper-derived base16 palette, and tears out the per-app
matugen plumbing it replaces:

- fred.nix: drop the matugen config.toml block and the .keep files;
  move btop and ghostty to programs.* with the colour-bearing options
  removed (stylix owns those).
- gnome.nix: remove the matugen and jq packages, the hand-written
  gtk.css home.file overrides (replaced by gtk.gtk{3,4}.extraCss layered
  on top of stylix's theme), the WallpaperShell user-themes override,
  and the gtk-theme/cursor-theme/accent-color dconf entries that stylix
  now writes.
- stylix.nix: add a home.activation hook that recolours Adwaita folder
  SVGs using stylix.colors.base0D and pulls in Papirus mimetypes —
  same outcome as the old matugen post-hook but driven by stylix.
- common.nix: drop the matugen invocation from the `update` alias.

Leftover matugen-only behaviour intentionally dropped: Vesktop CSS,
the GNOME accent hue-mapping, the VSCodium colour-merge (stylix's
vscode target handles that natively). Templates in templates/ are kept
on disk for now; can be removed in a follow-up.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 19:44:19 +01:00
727eefb20a Update hosts/FredOS-Macbook.nix 2026-05-11 09:30:36 -07:00
0d08ab10e9 hyprland: drop the snap config — too subtle to be useful
Alignment snap fires only at the very last few pixels of drag with no
visual feedback. Not what we wanted; revert.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 15:15:52 +01:00
a2d51e3625 hyprland: actually enable the floating-window snap (the previous commit
ended up just toggling blur back on)

Adds the general.snap block — alignment snap to screen edges and other
floating windows with a 10px gap.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 15:10:56 +01:00
a8139890c5 hyprland: enable floating-window edge snap
Drag-to-align for floating windows — they'll snap to monitor edges or
to nearby floating windows when dragged close, with a 10px gap. Doesn't
do GNOME-style "drag to edge to maximize/half-snap"; that's not in
Hyprland yet.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 15:10:20 +01:00
eb5e3915a9 stylix: configure sans/serif fonts, drop fuzzel font override
Stylix's fuzzel target writes main.font from stylix.fonts.sansSerif and
collided with our explicit FiraMono. Pin sansSerif/serif to Inter
(cleaner than DejaVu) and remove the per-app font from fuzzel so stylix
can apply consistently.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 13:44:50 +01:00
783d32264e hyprland: drop hardcoded fuzzel colors — stylix owns them now
Phase 1 of the stylix migration enabled targets.fuzzel.enable, which
defines programs.fuzzel.settings.colors. Our hand-picked dark colors
collided with stylix's wallpaper-derived ones. Remove ours so stylix's
take effect.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 13:42:08 +01:00
90c9d16d62 stylix: don't double-import the HM module
Stylix's NixOS module already wires homeModules.stylix into each
home-manager user via its nixos/common.nix. Importing it again ourselves
produced "stylix.base16 is read-only, set multiple times" at evaluation.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 13:37:30 +01:00
cc4216117a stylix: phase 1 — add input and target waybar/fuzzel/mako/hyprlock/hyprland
Adds nix-community/stylix on its release-25.11 branch (master references
options that don't exist in 25.11's nixpkgs). autoEnable=false so
matugen keeps owning every app it currently themes; we only opt in to
the five targets matugen doesn't cover.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 13:32:18 +01:00
56e6041670 hyprland: theme fuzzel, bind Super+L to hyprlock
Moves fuzzel from system package to home-manager so we can give it a
dark/translucent look matching the waybar. Frees Super+L (was a
redundant movefocus-right that arrow keys already cover) and points it
at hyprlock for screen locking.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 12:50:51 +01:00
772073454d hyprland: start waybar via systemd user unit, not exec-once
exec-once raced Wayland session init — waybar tried to connect before
the display was ready and exited silently. Enable HM's
programs.waybar.systemd.enable so the unit waits on
graphical-session.target.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 12:46:53 +01:00
4940a6f44a hyprland: fix 0.55.0 option/dispatcher renames
Confirmed against the live 0.55.0 binary:
- misc:vfr → debug:vfr (release notes were right; my earlier probe was
  on the still-running 0.52.1 process, which is why I thought debug:vfr
  didn't exist)
- togglesplit isn't a top-level dispatcher anymore; it's a dwindle
  layoutmsg argument

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 12:40:52 +01:00
f88c7a19e0 hyprland: prefer native Wayland backends in client apps
Adds the standard env-var set so Electron, Mozilla, Qt, SDL and Java
apps use Wayland directly instead of XWayland. Improves Vesktop,
VSCodium, Zen, and anything Qt; doesn't touch Hearthstone (not in any
of these families).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 12:33:47 +01:00
333577331a hyprland: keep misc:vfr — 0.55.0 didn't actually move it
Release notes claimed misc:vfr moved to debug:vfr but the live compositor
returns "no such option" for debug:vfr and still exposes misc:vfr. Move
it back.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 12:26:30 +01:00
5a2b5954fa hyprland: drop duplicate portal from extraPortals
programs.hyprland.portalPackage already registers the hyprland portal's
systemd user unit. Listing the same portal in xdg.portal.extraPortals
made nixos-rebuild fail at user-units symlink creation. Keep the gtk
portal there since that one isn't otherwise registered.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 12:25:00 +01:00
7859ac8589 hyprland: use the Adwaita cursor to match the GNOME session
Sets XCURSOR_* and HYPRCURSOR_* in Hyprland's env list so apps inherit
the same Adwaita cursor the GNOME session uses, and calls
`hyprctl setcursor` at exec-once to apply it compositor-side too.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 11:51:45 +01:00
92de9cc76b hyprland: adapt to 0.55.0 breaking changes
0.55.0 keeps traditional config syntax — Lua is added, not required —
but two of our settings broke:
- misc:vfr moved to debug:vfr
- dwindle:pseudotile removed (it was a no-op anyway)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 11:49:55 +01:00
968f7d8be5 hyprland: pin to upstream flake for 0.55.0 (includes resize-lag fix)
nixos-25.11 ships 0.52.1; the fix for XWayland resize lag landed in
0.52.2, and upstream is already on 0.55.0 by now. Add hyprwm/Hyprland
as a flake input and route programs.hyprland and the HM wayland module
through it. Doesn't `follows` our nixpkgs — upstream Hyprland needs
newer stdenv than 25.11 provides.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 11:48:36 +01:00
9dda5b6371 hyprland: force zero-scaling for XWayland surfaces
Long-shot attempt at the Hearthstone-after-resize lag. Tells Hyprland
not to scale XWayland windows compositor-side, which is the
better-tested path for Wine games and sometimes makes resize-state
recovery less broken.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 11:26:55 +01:00
75c3674b77 hyprland: stop windows yanking the cursor on focus changes
Two pairings:
- misc.focus_on_activate = false so apps demanding attention show as
  urgent instead of stealing focus
- cursor.no_warps = true so Hyprland never teleports the cursor onto a
  newly-focused window

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 11:17:03 +01:00
deaa4b8d9c hyprland: replace bundled waybar config with a minimal Hyprland one
The bundled waybar config assumes sway and pulls in modules that don't
apply here (battery, backlight, sway/*), tries to read /dev/input/* the
user can't open, and crashes the media module — which surfaced as
"media stopped unexpectedly" and an unrendered bar.

Switch to programs.waybar with our own settings: hyprland/workspaces,
clock, pulseaudio, network, tray. No IP, no CPU/RAM, no temp, no power
profile. Style is a thin transparent bar, white-on-grey workspace
numbers, FiraMono Nerd Font for the volume/network glyphs.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 10:53:59 +01:00
4754c5ceb0 hyprland: drop cursor flips that didn't move the needle
no_hardware_cursors and enable_hyprcursor were chased while debugging
input latency; neither made a perceptible difference. Falling back to
defaults keeps the config honest about what's load-bearing. vrr=2 and
render.direct_scanout stay — direct_scanout is a real fullscreen win
and vrr=2 is a harmless no-op until a driver update lets it engage.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 10:46:48 +01:00
3c9678ea74 hyprland: swap wofi for fuzzel, drop animations to 0.1s
wofi reparses .desktop entries on every launch, which is sluggish on a
fat NixOS package set. fuzzel caches its index and opens in ~30 ms.
Also tightens animation speeds from 0.2 s to 0.1 s for a more
instant-feeling desktop.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 10:45:42 +01:00