hosts: explicitly declare home manager configs

This commit is contained in:
Aly Raffauf 2024-09-27 23:07:11 -04:00
parent 1ab96b8316
commit 1d36df0519
5 changed files with 161 additions and 134 deletions

View file

@ -1,13 +1,20 @@
{
home-manager.sharedModules = [
{
services.easyeffects = {
enable = true;
preset = "fw13-easy-effects";
};
{self, ...}: {
home-manager = {
sharedModules = [
{
services.easyeffects = {
enable = true;
preset = "fw13-easy-effects";
};
wayland.windowManager.sway.config.output = {"BOE 0x095F Unknown".scale = "1.5";};
ar.home.desktop.hyprland.laptopMonitors = ["desc:BOE 0x095F,preferred,auto,1.566667"];
}
];
wayland.windowManager.sway.config.output = {"BOE 0x095F Unknown".scale = "1.5";};
ar.home.desktop.hyprland.laptopMonitors = ["desc:BOE 0x095F,preferred,auto,1.566667"];
}
];
users = {
aly = self.homeManagerModules.aly;
dustin = self.homeManagerModules.dustin;
};
};
}

View file

@ -1,25 +1,33 @@
{lib, ...}: {
home-manager.sharedModules = [
{
wayland.windowManager.sway.config.output = {
"eDP-1" = {
adaptive_sync = "on";
scale = "2.0";
};
};
ar.home = {
desktop.hyprland.laptopMonitors = ["eDP-1,2880x1920@60, 0x0, 2, vrr, 0"];
services = {
easyeffects = {
enable = true;
preset = "fw13-easy-effects";
{
lib,
self,
...
}: {
home-manager = {
sharedModules = [
{
wayland.windowManager.sway.config.output = {
"eDP-1" = {
adaptive_sync = "on";
scale = "2.0";
};
gammastep.enable = lib.mkForce false;
};
};
}
];
ar.home = {
desktop.hyprland.laptopMonitors = ["eDP-1,2880x1920@60, 0x0, 2, vrr, 0"];
services = {
easyeffects = {
enable = true;
preset = "fw13-easy-effects";
};
gammastep.enable = lib.mkForce false;
};
};
}
];
users.aly = self.homeManagerModules.aly;
};
}

View file

@ -33,69 +33,73 @@
}
];
users.aly = lib.mkForce ({config, ...}: {
imports = [self.homeManagerModules.aly];
users = {
aly = {config, ...}: {
imports = [self.homeManagerModules.aly];
age.secrets = {
backblazeKeyId.file = ../../secrets/aly/backblaze/keyId.age;
backblazeKey.file = ../../secrets/aly/backblaze/key.age;
};
age.secrets = {
backblazeKeyId.file = ../../secrets/aly/backblaze/keyId.age;
backblazeKey.file = ../../secrets/aly/backblaze/key.age;
};
systemd.user = {
services.backblaze-sync = {
Unit.Description = "Backup to Backblaze.";
systemd.user = {
services.backblaze-sync = {
Unit.Description = "Backup to Backblaze.";
Service = {
Environment = [
"PATH=${
lib.makeBinPath (with pkgs; [
coreutils
backblaze-b2
])
}"
];
Service = {
Environment = [
"PATH=${
lib.makeBinPath (with pkgs; [
coreutils
backblaze-b2
])
}"
];
ExecStart = "${pkgs.writeShellScript "backblaze-sync" ''
declare -A backups
backups=(
['/home/aly/pics/camera']="b2://aly-camera"
['/home/aly/sync']="b2://aly-sync"
['/mnt/Media/Audiobooks']="b2://aly-audiobooks"
['/mnt/Media/Music']="b2://aly-music"
['/mnt/Archive/Movies']="b2://aly-movies"
['/mnt/Archive/Shows']="b2://aly-shows"
)
ExecStart = "${pkgs.writeShellScript "backblaze-sync" ''
declare -A backups
backups=(
['/home/aly/pics/camera']="b2://aly-camera"
['/home/aly/sync']="b2://aly-sync"
['/mnt/Media/Audiobooks']="b2://aly-audiobooks"
['/mnt/Media/Music']="b2://aly-music"
['/mnt/Archive/Movies']="b2://aly-movies"
['/mnt/Archive/Shows']="b2://aly-shows"
)
backblaze-b2 authorize_account `cat ${config.age.secrets.backblazeKeyId.path}` `cat ${config.age.secrets.backblazeKey.path}`
backblaze-b2 authorize_account `cat ${config.age.secrets.backblazeKeyId.path}` `cat ${config.age.secrets.backblazeKey.path}`
# Recursively backup folders to B2 with sanity checks.
for folder in "''${!backups[@]}"; do
if [ -d "$folder" ] && [ "$(ls -A "$folder")" ]; then
backblaze-b2 sync --delete $folder ''${backups[$folder]}
else
echo "$folder does not exist or is empty."
exit 1
fi
done
''}";
# Recursively backup folders to B2 with sanity checks.
for folder in "''${!backups[@]}"; do
if [ -d "$folder" ] && [ "$(ls -A "$folder")" ]; then
backblaze-b2 sync --delete $folder ''${backups[$folder]}
else
echo "$folder does not exist or is empty."
exit 1
fi
done
''}";
};
};
timers.backblaze-sync = {
Install.WantedBy = ["timers.target"];
Timer.OnCalendar = "*-*-* 03:00:00";
Unit.Description = "Daily backups to Backblaze.";
};
};
timers.backblaze-sync = {
Install.WantedBy = ["timers.target"];
Timer.OnCalendar = "*-*-* 03:00:00";
Unit.Description = "Daily backups to Backblaze.";
wayland.windowManager.hyprland.settings = {
general.layout = lib.mkForce "master";
master = {
mfact = 0.40;
orientation = "center";
};
};
};
wayland.windowManager.hyprland.settings = {
general.layout = lib.mkForce "master";
master = {
mfact = 0.40;
orientation = "center";
};
};
});
dustin = self.homeManagerModules.dustin;
};
};
}

View file

@ -4,51 +4,55 @@
self,
...
}: {
home-manager.sharedModules = [
{
wayland.windowManager = {
hyprland.settings = {
bind = [
",xf86launch2,exec,${lib.getExe pkgs.playerctl} play-pause"
];
home-manager = {
sharedModules = [
{
wayland.windowManager = {
hyprland.settings = {
bind = [
",xf86launch2,exec,${lib.getExe pkgs.playerctl} play-pause"
];
exec-once = [''${
lib.getExe self.inputs.iio-hyprland.packages.${pkgs.system}.default
} "desc:Samsung Display Corp. 0x4152"''];
exec-once = [''${
lib.getExe self.inputs.iio-hyprland.packages.${pkgs.system}.default
} "desc:Samsung Display Corp. 0x4152"''];
input = {
tablet.output = "eDP-1";
touchdevice.output = "eDP-1";
};
};
sway.config = {
input = {
"1386:21186:Wacom_HID_52C2_Finger" = {
map_to_output = "'Samsung Display Corp. 0x4152 Unknown'";
};
"1386:21186:Wacom_HID_52C2_Pen" = {
map_to_output = "'Samsung Display Corp. 0x4152 Unknown'";
input = {
tablet.output = "eDP-1";
touchdevice.output = "eDP-1";
};
};
keybindings = {
"XF86Launch2" = "exec ${lib.getExe pkgs.playerctl} play-pause";
sway.config = {
input = {
"1386:21186:Wacom_HID_52C2_Finger" = {
map_to_output = "'Samsung Display Corp. 0x4152 Unknown'";
};
"1386:21186:Wacom_HID_52C2_Pen" = {
map_to_output = "'Samsung Display Corp. 0x4152 Unknown'";
};
};
keybindings = {
"XF86Launch2" = "exec ${lib.getExe pkgs.playerctl} play-pause";
};
output = {"Samsung Display Corp. 0x4152 Unknown".scale = "2.0";};
};
output = {"Samsung Display Corp. 0x4152 Unknown".scale = "2.0";};
};
};
ar.home.desktop.hyprland = {
laptopMonitors = ["desc:Samsung Display Corp. 0x4152,preferred,auto,2,transform,0"];
ar.home.desktop.hyprland = {
laptopMonitors = ["desc:Samsung Display Corp. 0x4152,preferred,auto,2,transform,0"];
tabletMode = {
enable = true;
switches = ["Lenovo Yoga Tablet Mode Control switch"];
tabletMode = {
enable = true;
switches = ["Lenovo Yoga Tablet Mode Control switch"];
};
};
};
}
];
}
];
users.aly = self.homeManagerModules.aly;
};
}

View file

@ -1,16 +1,20 @@
{
home-manager.sharedModules = [
{
wayland.windowManager.sway.config.output = {"LG Display 0x0569 Unknown".scale = "1.25";};
{self, ...}: {
home-manager = {
sharedModules = [
{
wayland.windowManager.sway.config.output = {"LG Display 0x0569 Unknown".scale = "1.25";};
ar.home = {
desktop.hyprland.laptopMonitors = ["desc:LG Display 0x0569,preferred,auto,1.25"];
ar.home = {
desktop.hyprland.laptopMonitors = ["desc:LG Display 0x0569,preferred,auto,1.25"];
services.easyeffects = {
enable = true;
preset = "LoudnessEqualizer";
services.easyeffects = {
enable = true;
preset = "LoudnessEqualizer";
};
};
};
}
];
}
];
users.aly = self.homeManagerModules.aly;
};
}