Avoid possible infinite recursion

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-07-16 17:46:58 +03:00
parent df781012fd
commit 566b4e0157
38 changed files with 216 additions and 187 deletions

View File

@@ -1,5 +1,5 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{
config,
@@ -9,11 +9,11 @@
...
}:
let
hmConfig = config.home-manager.users.${user.name};
hmConfig = config.home-manager.users.${username};
agsConfig = import ./config { inherit pkgs; };
in
{
home-manager.users.${user.name} = {
home-manager.users.${username} = {
imports = [ inputs.ags.homeManagerModules.default ];
programs.ags.enable = true;

View File

@@ -1,5 +1,5 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{
config,
@@ -10,7 +10,7 @@
{
services.blueman.enable = true;
home-manager.users.${user.name} = {
home-manager.users.${username} = {
services.blueman-applet.enable = true;
systemd.user.services.blueman-applet.Unit.After = [ "graphical-session.target" ];
};

View File

@@ -1,9 +1,14 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{ lib, pkgs, ... }:
{
home-manager.users.${user.name}.wayland.windowManager.hyprland.settings.bindle =
users.users.${username}.extraGroups = [
"video"
"inputs"
];
home-manager.users.${username}.wayland.windowManager.hyprland.settings.bindle =
let
brightnessctl = lib.meta.getExe pkgs.brightnessctl;
in

View File

@@ -1,5 +1,5 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{
config,
@@ -8,10 +8,10 @@
...
}:
let
hmConfig = config.home-manager.users.${user.name};
hmConfig = config.home-manager.users.${username};
in
{
home-manager.users.${user.name} = {
home-manager.users.${username} = {
programs = {
btop.settings.color_theme = "matugen";

View File

@@ -1,5 +1,5 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{
config,
@@ -8,7 +8,7 @@
...
}:
{
home-manager.users.${user.name} = {
home-manager.users.${username} = {
services.cbatticon = {
enable = true;
lowLevelPercent = 20;

View File

@@ -1,5 +1,5 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{
config,
@@ -8,16 +8,19 @@
...
}:
let
hmConfig = config.home-manager.users.${user.name};
userConfig = config.users.users.${username};
hmConfig = config.home-manager.users.${username};
in
{
home-manager.users.${user.name} = {
home-manager.users.${username} = {
home = {
packages = with pkgs; [
wl-clipboard
cliphist
];
persistence."/cache${user.home}".directories = [ "${hmConfig.xdg.relativeCacheHome}/cliphist" ];
persistence."/cache${userConfig.home}".directories = [
"${hmConfig.xdg.relativeCacheHome}/cliphist"
];
};
systemd.user.services = {

View File

@@ -1,9 +1,17 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{ lib, pkgs, ... }:
{
home-manager.users.${user.name} = {
config,
lib,
pkgs,
...
}:
let
userConfig = config.users.users.${username};
in
{
home-manager.users.${username} = {
programs.firefox = {
enable = true;
@@ -122,8 +130,8 @@
wayland.windowManager.hyprland.settings.bind = [ "$mod, b, exec, ${lib.meta.getExe pkgs.firefox}" ];
home.persistence = {
"/persist${user.home}".directories = [ ".mozilla" ];
"/cache${user.home}".directories = [ ".cache/mozilla" ];
"/persist${userConfig.home}".directories = [ ".mozilla" ];
"/cache${userConfig.home}".directories = [ ".cache/mozilla" ];
};
};
}

View File

@@ -1,5 +1,5 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{
config,
@@ -8,10 +8,10 @@
...
}:
let
hmConfig = config.home-manager.users.${user.name};
hmConfig = config.home-manager.users.${username};
in
{
home-manager.users.${user.name} = {
home-manager.users.${username} = {
gtk = {
enable = true;

View File

@@ -1,5 +1,5 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{
config,
@@ -8,12 +8,12 @@
...
}:
let
hmConfig = config.home-manager.users.${user.name};
hmConfig = config.home-manager.users.${username};
in
{
programs.hyprland.enable = true;
home-manager.users.${user.name} = {
home-manager.users.${username} = {
imports = [ ./options.nix ];
wayland.windowManager.hyprland = {

View File

@@ -1,5 +1,5 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{
config,
@@ -8,10 +8,10 @@
...
}:
let
hmConfig = config.home-manager.users.${user.name};
hmConfig = config.home-manager.users.${username};
in
{
home-manager.users.${user.name} = {
home-manager.users.${username} = {
home = {
packages = with pkgs; [
hyprshot

View File

@@ -1,5 +1,5 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{
config,
@@ -8,10 +8,11 @@
...
}:
let
hmConfig = config.home-manager.users.${user.name};
userConfig = config.users.users.${username};
hmConfig = config.home-manager.users.${username};
in
{
home-manager.users.${user.name} = {
home-manager.users.${username} = {
programs = {
kitty = {
enable = true;
@@ -44,6 +45,8 @@ in
)
} &";
home.persistence."/cache${user.home}".directories = [ "${hmConfig.xdg.relativeCacheHome}/kitty" ];
home.persistence."/cache${userConfig.home}".directories = [
"${hmConfig.xdg.relativeCacheHome}/kitty"
];
};
}

View File

@@ -1,5 +1,5 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{
config,
@@ -8,10 +8,10 @@
...
}:
let
hmConfig = config.home-manager.users.${user.name};
hmConfig = config.home-manager.users.${username};
in
{
home-manager.users.${user.name} = {
home-manager.users.${username} = {
imports = [ ./options.nix ];
programs.matugen = {

View File

@@ -1,9 +1,9 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{ ... }:
{
home-manager.users.${user.name} = {
home-manager.users.${username} = {
services.network-manager-applet.enable = true;
systemd.user.services.network-manager-applet.Unit.After = [ "graphical-session.target" ];
};

View File

@@ -1,5 +1,5 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{
config,
@@ -8,10 +8,11 @@
...
}:
let
hmConfig = config.home-manager.users.${user.name};
userConfig = config.users.users.${username};
hmConfig = config.home-manager.users.${username};
in
{
home-manager.users.${user.name} = {
home-manager.users.${username} = {
imports = [ ./options.nix ];
programs = {
@@ -71,10 +72,10 @@ in
matugen.settings.templates = builtins.mapAttrs (name: _: {
input_path = ./theme.json;
output_path = "${user.home}/${name}/.obsidian/plugins/obsidian-style-settings/data.json";
output_path = "${userConfig.home}/${name}/.obsidian/plugins/obsidian-style-settings/data.json";
}) hmConfig.programs.obsidian.vaults;
};
home.persistence."/cache${user.home}".directories = [ ".config/obsidian" ];
home.persistence."/cache${userConfig.home}".directories = [ ".config/obsidian" ];
};
}

View File

@@ -1,9 +1,9 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{ lib, pkgs, ... }:
{
home-manager.users.${user.name} = {
home-manager.users.${username} = {
home.packages = with pkgs; [ pavucontrol ];
wayland.windowManager.hyprland.settings =

View File

@@ -1,5 +1,5 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{
lib,
@@ -8,16 +8,17 @@
...
}:
let
hmConfig = config.home-manager.users.${user.name};
userConfig = config.users.users.${username};
hmConfig = config.home-manager.users.${username};
qalculate-gtk = pkgs.qalculate-gtk.overrideAttrs (oldAttrs: {
patches = oldAttrs.patches or [ ] ++ [ ./skip-save-prefs.patch ];
});
in
{
home-manager.users.${user.name} = {
home-manager.users.${username} = {
home = {
packages = [ qalculate-gtk ];
persistence."/cache${user.home}".files = [
persistence."/cache${userConfig.home}".files = [
"${hmConfig.xdg.relativeConfigHome}/qalculate/qalculate-gtk.history"
];
};

View File

@@ -1,5 +1,5 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{
config,
@@ -8,10 +8,10 @@
...
}:
let
hmConfig = config.home-manager.users.${user.name};
hmConfig = config.home-manager.users.${username};
in
{
home-manager.users.${user.name} = {
home-manager.users.${username} = {
qt = {
enable = true;
platformTheme.name = "qtct";

View File

@@ -1,5 +1,5 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{
config,
@@ -8,17 +8,20 @@
...
}:
let
hmConfig = config.home-manager.users.${user.name};
userConfig = config.users.users.${username};
hmConfig = config.home-manager.users.${username};
in
{
home-manager.users.${user.name} = {
home-manager.users.${username} = {
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;
font = builtins.head hmConfig.theme.font.monospace.names;
};
home.persistence."/cache${user.home}".directories = [ "${hmConfig.xdg.relativeCacheHome}/rofi" ];
home.persistence."/cache${userConfig.home}".directories = [
"${hmConfig.xdg.relativeCacheHome}/rofi"
];
wayland.windowManager.hyprland.settings.bind = [
"$mod, r, exec, ${lib.meta.getExe pkgs.rofi-wayland} -cache-dir ${hmConfig.xdg.cacheHome}/rofi -show drun"

View File

@@ -1,5 +1,5 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{
config,
@@ -8,7 +8,8 @@
...
}:
let
hmConfig = config.home-manager.users.${user.name};
userConfig = config.users.users.${username};
hmConfig = config.home-manager.users.${username};
themeSwww = lib.meta.getExe (
pkgs.writeShellApplication {
name = "theme-swww";
@@ -21,10 +22,10 @@ let
);
in
{
home-manager.users.${user.name} = {
home-manager.users.${username} = {
home = {
packages = with pkgs; [ swww ];
persistence."/cache${user.home}".directories = [ "${hmConfig.xdg.relativeCacheHome}/swww" ];
persistence."/cache${userConfig.home}".directories = [ "${hmConfig.xdg.relativeCacheHome}/swww" ];
};
systemd.user.services.swww = {

View File

@@ -1,5 +1,5 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{
config,
@@ -9,11 +9,12 @@
...
}:
let
hmConfig = config.home-manager.users.${user.name};
userConfig = config.users.users.${username};
hmConfig = config.home-manager.users.${username};
themeBin = lib.meta.getExe hmConfig.theme.pkg;
in
{
home-manager.users.${user.name} = {
home-manager.users.${username} = {
imports = [ ./options.nix ];
theme.enable = true;
@@ -27,7 +28,9 @@ in
activation.themeInit = inputs.home-manager.lib.hm.dag.entryAfter [
"writeBoundary"
] "run ${themeBin}";
persistence."/persist${user.home}".directories = [ "${hmConfig.xdg.relativeConfigHome}/theme" ];
persistence."/persist${userConfig.home}".directories = [
"${hmConfig.xdg.relativeConfigHome}/theme"
];
};
};
}

View File

@@ -1,5 +1,5 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{
config,
@@ -9,10 +9,11 @@
...
}:
let
hmConfig = config.home-manager.users.${user.name};
userConfig = config.users.users.${username};
hmConfig = config.home-manager.users.${username};
in
{
home-manager.users.${user.name} = {
home-manager.users.${username} = {
programs.vscode = {
enable = true;
@@ -82,9 +83,9 @@ in
imports = [ ./langs/nix.nix ];
home.persistence = {
"/persist${user.home}".directories = [ ".config/Code" ];
"/persist${userConfig.home}".directories = [ ".config/Code" ];
# Bastard: https://github.com/microsoft/vscode/issues/3884
"/cache${user.home}".directories = [
"/cache${userConfig.home}".directories = [
".config/Code/Cache"
".config/Code/CachedConfigurations"
".config/Code/CachedData"

View File

@@ -1,7 +1,7 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{ pkgs, ... }:
{
home-manager.users.${user.name}.home.packages = with pkgs; [ wev ];
home-manager.users.${username}.home.packages = with pkgs; [ wev ];
}

View File

@@ -1,12 +1,12 @@
{
user ? throw "user argument is required",
username ? throw "username argument is required",
}:
{ config, ... }:
let
hmConfig = config.home-manager.users.${user.name};
hmConfig = config.home-manager.users.${username};
in
{
home-manager.users.${user.name} = {
home-manager.users.${username} = {
home.pointerCursor.x11.enable = true;
xresources.path = "${hmConfig.xdg.configHome}/X11/xresources";
};