Avoid possible infinite recursion
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
@@ -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;
|
||||
|
@@ -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" ];
|
||||
};
|
||||
|
@@ -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
|
||||
|
@@ -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";
|
||||
|
||||
|
@@ -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;
|
||||
|
@@ -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 = {
|
||||
|
@@ -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" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@@ -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;
|
||||
|
||||
|
@@ -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 = {
|
||||
|
@@ -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
|
||||
|
@@ -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"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@@ -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 = {
|
||||
|
@@ -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" ];
|
||||
};
|
||||
|
@@ -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" ];
|
||||
};
|
||||
}
|
||||
|
@@ -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 =
|
||||
|
@@ -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"
|
||||
];
|
||||
};
|
||||
|
@@ -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";
|
||||
|
@@ -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"
|
||||
|
@@ -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 = {
|
||||
|
@@ -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"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@@ -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"
|
||||
|
@@ -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 ];
|
||||
}
|
||||
|
@@ -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";
|
||||
};
|
||||
|
Reference in New Issue
Block a user