fe508d9cd8
Hyprland - Switch wayland.windowManager.hyprland to configType = "lua" (Hyprland 0.56) - Convert settings, env, monitors, window rules, gesture, animations (hl.curve/hl.animation) and all keybinds to hl.* calls - Add home/system/hyprland/lib.nix with exec/bind/execOnce helpers; every exec-once now runs from a hyprland.start hook - Drop hard-coded default_monitor = "eDP-2" Flake - Remove blog, awesome-wallpapers and default-creds inputs (their repos no longer ship a flake.nix and broke `nix flake update`), along with the server modules and Glance links that used them - Update flake.lock - Replace removed `gcr` with `gcr_4` Fixes - Point configDirectory at /etc/nixos/nixy on home-pc and thinkpad - Fix home-pc git email typo - Remove conflicting openpgp signing format, make pull.rebase a boolean, replace hx/peco in git aliases with nvim/sk - Fix zsh NUL alias (2>&1) and stop forcing bat colors in the cat alias - Require a password for sudo again (nixos-rebuild stays NOPASSWD) - Remove duplicate hardware.graphics block from home-pc flake - Delete unused zen .old files, run alejandra on host files
83 lines
2.1 KiB
Nix
83 lines
2.1 KiB
Nix
# Caelestia Shell Home Manager Configuration
|
|
# See https://github.com/caelestia-dots/shell
|
|
{
|
|
pkgs,
|
|
inputs,
|
|
lib,
|
|
...
|
|
}: let
|
|
hl = import ../hyprland/lib.nix {inherit lib;};
|
|
in {
|
|
imports = [
|
|
inputs.caelestia-shell.homeManagerModules.default
|
|
./bar.nix
|
|
./launcher.nix
|
|
./appearance.nix
|
|
./scheme.nix
|
|
./swappy.nix
|
|
];
|
|
|
|
programs.caelestia = {
|
|
enable = true;
|
|
systemd.enable = false;
|
|
settings = {
|
|
services.weatherLocation = "Paris";
|
|
general = {
|
|
apps = {
|
|
terminal = ["ghostty"];
|
|
audio = ["pavucontrol"];
|
|
explorer = ["thunar"];
|
|
};
|
|
idle = {
|
|
timeouts = [];
|
|
};
|
|
};
|
|
};
|
|
cli = {
|
|
enable = true;
|
|
settings.theme = {
|
|
enableTerm = false;
|
|
enableDiscord = false;
|
|
enableSpicetify = false;
|
|
enableBtop = false;
|
|
enableCava = false;
|
|
enableHypr = false;
|
|
enableGtk = false;
|
|
enableQt = false;
|
|
};
|
|
};
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
gpu-screen-recorder
|
|
];
|
|
|
|
wayland.windowManager.hyprland.settings.on = hl.execOnce [
|
|
"uwsm app -- caelestia resizer -d"
|
|
"uwsm app -- caelestia shell -d"
|
|
"caelestia scheme set -n onedark"
|
|
"caelestia scheme set -n custom"
|
|
];
|
|
|
|
# shell.json is managed by home-manager (read-only symlink) but caelestia
|
|
# needs to write to it at runtime: replace the symlink with a mutable copy.
|
|
# The stale .hm-backup must be removed before linkGeneration so HM can
|
|
# back up the runtime-modified shell.json without hitting a conflict.
|
|
home.activation.caelestiaCleanBackup = lib.hm.dag.entryBefore ["linkGeneration"] ''
|
|
$DRY_RUN_CMD rm -f "$HOME/.config/caelestia/shell.json.hm-backup"
|
|
'';
|
|
|
|
home.activation.caelestiaWritableShellConfig = lib.hm.dag.entryAfter ["linkGeneration"] ''
|
|
if [ -L "$HOME/.config/caelestia/shell.json" ]; then
|
|
$DRY_RUN_CMD cp --remove-destination \
|
|
"$(readlink -f "$HOME/.config/caelestia/shell.json")" \
|
|
"$HOME/.config/caelestia/shell.json"
|
|
fi
|
|
'';
|
|
|
|
services.cliphist = {
|
|
enable = true;
|
|
allowImages = true;
|
|
};
|
|
}
|