2026-03-28 13:42:35 +00:00
|
|
|
{ config, pkgs, lib, inputs, ... }:
|
2026-01-05 10:26:20 +00:00
|
|
|
|
2025-12-02 21:23:06 +00:00
|
|
|
{
|
2026-04-01 21:14:16 +01:00
|
|
|
config = lib.mkIf (config.networking.hostName == "FredOS-Macbook") {
|
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
|
tlp
|
|
|
|
|
vesktop
|
|
|
|
|
adwaita-icon-theme
|
|
|
|
|
mission-center
|
|
|
|
|
vlc
|
|
|
|
|
geary
|
2026-05-18 10:48:22 +01:00
|
|
|
proton-vpn
|
2026-04-01 21:14:16 +01:00
|
|
|
onlyoffice-desktopeditors
|
2026-05-02 00:38:42 -07:00
|
|
|
woeusb
|
2026-05-11 09:30:36 -07:00
|
|
|
vscodium
|
2026-04-01 21:14:16 +01:00
|
|
|
];
|
|
|
|
|
|
2026-05-16 12:42:27 +01:00
|
|
|
nix.settings.max-jobs = 0;
|
|
|
|
|
|
2026-04-01 21:14:16 +01:00
|
|
|
services.tlp.enable = false;
|
|
|
|
|
services.power-profiles-daemon.enable = true;
|
|
|
|
|
|
|
|
|
|
boot.loader.systemd-boot.configurationLimit = 5;
|
|
|
|
|
boot.initrd.systemd.enable = true;
|
2026-05-14 10:44:32 +01:00
|
|
|
|
2026-05-17 12:58:06 +01:00
|
|
|
# Allow video group (fred) to write to /sys/class/backlight and /sys/class/leds
|
|
|
|
|
# (screen brightness and keyboard backlight)
|
|
|
|
|
hardware.acpilight.enable = true;
|
|
|
|
|
|
2026-05-15 12:17:12 +01:00
|
|
|
services.logind.settings.Login = {
|
|
|
|
|
HandleLidSwitch = "suspend";
|
|
|
|
|
HandleLidSwitchExternalPower = "suspend";
|
2026-05-15 12:12:04 +01:00
|
|
|
};
|
|
|
|
|
|
2026-05-17 13:47:59 +01:00
|
|
|
home-manager.users.fred = { pkgs, ... }: {
|
2026-05-17 20:38:30 +01:00
|
|
|
wayland.windowManager.hyprland.settings.monitor = [{
|
|
|
|
|
output = "";
|
|
|
|
|
mode = "preferred";
|
|
|
|
|
position = "auto";
|
|
|
|
|
scale = "auto";
|
|
|
|
|
}];
|
2026-05-17 13:18:26 +01:00
|
|
|
|
2026-05-17 13:47:59 +01:00
|
|
|
# wob reads 0-100 integers from a FIFO and shows a progress bar overlay
|
|
|
|
|
systemd.user.services.wob = {
|
|
|
|
|
Unit = {
|
|
|
|
|
Description = "Wayland OSD Bar";
|
|
|
|
|
After = [ "graphical-session.target" ];
|
|
|
|
|
PartOf = [ "graphical-session.target" ];
|
|
|
|
|
};
|
|
|
|
|
Service = {
|
|
|
|
|
Type = "simple";
|
|
|
|
|
ExecStart = "${pkgs.writeShellScript "wob-start" ''
|
|
|
|
|
rm -f "%t/wob.fifo"
|
|
|
|
|
mkfifo "%t/wob.fifo"
|
|
|
|
|
tail -f "%t/wob.fifo" | ${pkgs.wob}/bin/wob
|
|
|
|
|
''}";
|
|
|
|
|
ExecStopPost = "${pkgs.coreutils}/bin/rm -f %t/wob.fifo";
|
|
|
|
|
Restart = "on-failure";
|
|
|
|
|
};
|
|
|
|
|
Install.WantedBy = [ "graphical-session.target" ];
|
|
|
|
|
};
|
|
|
|
|
|
2026-05-18 16:53:12 +01:00
|
|
|
systemd.user.services.ghostty-daemon = {
|
|
|
|
|
Unit = {
|
|
|
|
|
Description = "Ghostty warm instance (no window)";
|
|
|
|
|
After = [ "graphical-session.target" ];
|
|
|
|
|
PartOf = [ "graphical-session.target" ];
|
|
|
|
|
};
|
|
|
|
|
Service = {
|
|
|
|
|
Type = "simple";
|
|
|
|
|
ExecStart = "${pkgs.ghostty}/bin/ghostty --initial-window=false";
|
2026-05-18 16:57:05 +01:00
|
|
|
Restart = "always";
|
2026-05-18 16:53:12 +01:00
|
|
|
};
|
|
|
|
|
Install.WantedBy = [ "graphical-session.target" ];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
systemd.user.services.nemo-warmup = {
|
|
|
|
|
Unit = {
|
|
|
|
|
Description = "Pre-warm Nemo file manager libraries";
|
|
|
|
|
After = [ "graphical-session.target" ];
|
|
|
|
|
PartOf = [ "graphical-session.target" ];
|
|
|
|
|
};
|
|
|
|
|
Service = {
|
|
|
|
|
Type = "oneshot";
|
|
|
|
|
ExecStart = "${pkgs.nemo}/bin/nemo --quit";
|
|
|
|
|
};
|
|
|
|
|
Install.WantedBy = [ "graphical-session.target" ];
|
|
|
|
|
};
|
|
|
|
|
|
2026-05-17 13:18:26 +01:00
|
|
|
systemd.user.services.kbd-backlight-init = {
|
|
|
|
|
Unit = {
|
|
|
|
|
Description = "Set keyboard backlight to 10% on login";
|
|
|
|
|
After = [ "graphical-session.target" ];
|
|
|
|
|
PartOf = [ "graphical-session.target" ];
|
|
|
|
|
};
|
|
|
|
|
Service = {
|
|
|
|
|
Type = "oneshot";
|
|
|
|
|
ExecStart = "${pkgs.brightnessctl}/bin/brightnessctl -d smc::kbd_backlight set 10%";
|
|
|
|
|
};
|
|
|
|
|
Install.WantedBy = [ "graphical-session.target" ];
|
|
|
|
|
};
|
2026-05-14 10:44:32 +01:00
|
|
|
};
|
2026-04-01 21:14:16 +01:00
|
|
|
};
|
2025-12-02 21:23:06 +00:00
|
|
|
}
|