home-manager: Use minimal module set and import everything else manually

This commit is contained in:
SebastianStork 2026-02-19 18:05:49 +01:00
parent 0b87addc97
commit 0c25e7fd34
Signed by: SebastianStork
SSH key fingerprint: SHA256:tRrGdjYOwgHxpSc/wTOZQZEjxcb15P0tyXRsbAfd+2Q
18 changed files with 98 additions and 6 deletions

View file

@ -1,11 +1,17 @@
{ {
config, config,
osConfig, osConfig,
modulesPath,
pkgs, pkgs,
lib, lib,
... ...
}: }:
{ {
imports = [
"${modulesPath}/services/window-managers/hyprland.nix"
"${modulesPath}/services/dunst.nix"
];
options.custom.de.hyprland.enable = lib.mkEnableOption "" // { options.custom.de.hyprland.enable = lib.mkEnableOption "" // {
default = osConfig.custom.de.hyprland.enable; default = osConfig.custom.de.hyprland.enable;
}; };

View file

@ -1,5 +1,12 @@
{ config, lib, ... }:
{ {
config,
modulesPath,
lib,
...
}:
{
imports = [ "${modulesPath}/programs/btop.nix" ];
options.custom.programs.btop.enable = lib.mkEnableOption ""; options.custom.programs.btop.enable = lib.mkEnableOption "";
config = lib.mkIf config.custom.programs.btop.enable { config = lib.mkIf config.custom.programs.btop.enable {

View file

@ -1,5 +1,6 @@
{ {
config, config,
modulesPath,
inputs, inputs,
pkgs, pkgs,
lib, lib,
@ -27,6 +28,8 @@ let
}; };
in in
{ {
imports = [ "${modulesPath}/programs/firefox" ];
options.custom.programs.firefox = { options.custom.programs.firefox = {
enable = lib.mkEnableOption ""; enable = lib.mkEnableOption "";
extensions = lib.mkOption { extensions = lib.mkOption {

View file

@ -1,5 +1,22 @@
{ config, lib, ... }:
{ {
config,
modulesPath,
lib,
...
}:
{
imports = [
"${modulesPath}/programs/git.nix"
"${modulesPath}/programs/lazygit.nix"
"${modulesPath}/programs/delta.nix"
"${modulesPath}/programs/jujutsu.nix"
"${modulesPath}/programs/diff-highlight.nix"
"${modulesPath}/programs/diff-so-fancy.nix"
"${modulesPath}/programs/difftastic.nix"
"${modulesPath}/programs/patdiff.nix"
"${modulesPath}/programs/riff.nix"
];
options.custom.programs.git.enable = lib.mkEnableOption ""; options.custom.programs.git.enable = lib.mkEnableOption "";
config = lib.mkIf config.custom.programs.git.enable { config = lib.mkIf config.custom.programs.git.enable {

View file

@ -1,6 +1,7 @@
{ {
config, config,
osConfig, osConfig,
modulesPath,
pkgs-unstable, pkgs-unstable,
lib, lib,
... ...
@ -9,6 +10,8 @@ let
cfg = config.custom.programs.hyprlock; cfg = config.custom.programs.hyprlock;
in in
{ {
imports = [ "${modulesPath}/programs/hyprlock.nix" ];
options.custom.programs.hyprlock = { options.custom.programs.hyprlock = {
enable = lib.mkEnableOption ""; enable = lib.mkEnableOption "";
fprintAuth = lib.mkEnableOption "" // { fprintAuth = lib.mkEnableOption "" // {

View file

@ -1,10 +1,13 @@
{ {
config, config,
modulesPath,
pkgs, pkgs,
lib, lib,
... ...
}: }:
{ {
imports = [ "${modulesPath}/programs/kitty.nix" ];
options.custom.programs.kitty.enable = lib.mkEnableOption ""; options.custom.programs.kitty.enable = lib.mkEnableOption "";
config = lib.mkIf config.custom.programs.kitty.enable { config = lib.mkIf config.custom.programs.kitty.enable {

View file

@ -1,10 +1,13 @@
{ {
config, config,
modulesPath,
pkgs, pkgs,
lib, lib,
... ...
}: }:
{ {
imports = [ "${modulesPath}/programs/zoxide.nix" ];
options.custom.programs.shell.aliases.enable = lib.mkEnableOption ""; options.custom.programs.shell.aliases.enable = lib.mkEnableOption "";
config = lib.mkIf config.custom.programs.shell.aliases.enable { config = lib.mkIf config.custom.programs.shell.aliases.enable {

View file

@ -1,11 +1,14 @@
{ {
config, config,
osConfig, osConfig,
modulesPath,
pkgs, pkgs,
lib, lib,
... ...
}: }:
{ {
imports = [ "${modulesPath}/programs/atuin.nix" ];
options.custom.programs.shell.atuin.enable = lib.mkEnableOption ""; options.custom.programs.shell.atuin.enable = lib.mkEnableOption "";
config = lib.mkIf config.custom.programs.shell.atuin.enable { config = lib.mkIf config.custom.programs.shell.atuin.enable {

View file

@ -1,5 +1,12 @@
{ config, lib, ... }:
{ {
config,
modulesPath,
lib,
...
}:
{
imports = [ "${modulesPath}/programs/direnv.nix" ];
options.custom.programs.shell.direnv.enable = lib.mkEnableOption ""; options.custom.programs.shell.direnv.enable = lib.mkEnableOption "";
config = lib.mkIf config.custom.programs.shell.direnv.enable { config = lib.mkIf config.custom.programs.shell.direnv.enable {

View file

@ -1,10 +1,16 @@
{ {
config, config,
modulesPath,
pkgs, pkgs,
lib, lib,
... ...
}: }:
{ {
imports = [
"${modulesPath}/programs/fish.nix"
"${modulesPath}/programs/fzf.nix"
"${modulesPath}/programs/man.nix"
];
options.custom.programs.shell.zsh.enable = lib.mkEnableOption ""; options.custom.programs.shell.zsh.enable = lib.mkEnableOption "";
config = lib.mkIf config.custom.programs.shell.zsh.enable { config = lib.mkIf config.custom.programs.shell.zsh.enable {

View file

@ -1,11 +1,14 @@
{ {
config, config,
osConfig, osConfig,
modulesPath,
self, self,
lib, lib,
... ...
}: }:
{ {
imports = [ "${modulesPath}/programs/ssh.nix" ];
options.custom.programs.ssh = { options.custom.programs.ssh = {
enable = lib.mkEnableOption ""; enable = lib.mkEnableOption "";
publicKeyPath = lib.mkOption { publicKeyPath = lib.mkOption {

View file

@ -1,11 +1,14 @@
{ {
config, config,
modulesPath,
inputs, inputs,
pkgs, pkgs,
lib, lib,
... ...
}: }:
{ {
imports = [ "${modulesPath}/programs/vscode" ];
options.custom.programs.vscode.enable = lib.mkEnableOption ""; options.custom.programs.vscode.enable = lib.mkEnableOption "";
config = lib.mkIf config.custom.programs.vscode.enable { config = lib.mkIf config.custom.programs.vscode.enable {

View file

@ -1,10 +1,13 @@
{ {
config, config,
modulesPath,
pkgs, pkgs,
lib, lib,
... ...
}: }:
{ {
imports = [ "${modulesPath}/services/cliphist.nix" ];
options.custom.services.cliphist.enable = lib.mkEnableOption ""; options.custom.services.cliphist.enable = lib.mkEnableOption "";
config = lib.mkIf config.custom.services.cliphist.enable { config = lib.mkIf config.custom.services.cliphist.enable {

View file

@ -1,10 +1,13 @@
{ {
config, config,
modulesPath,
pkgs-unstable, pkgs-unstable,
lib, lib,
... ...
}: }:
{ {
imports = [ "${modulesPath}/services/hypridle.nix" ];
options.custom.services.hypridle.enable = lib.mkEnableOption ""; options.custom.services.hypridle.enable = lib.mkEnableOption "";
config = lib.mkIf config.custom.services.hypridle.enable { config = lib.mkIf config.custom.services.hypridle.enable {

View file

@ -1,5 +1,12 @@
{ config, lib, ... }:
{ {
config,
modulesPath,
lib,
...
}:
{
imports = [ "${modulesPath}/services/hyprpaper.nix" ];
options.custom.services.hyprpaper.enable = lib.mkEnableOption ""; options.custom.services.hyprpaper.enable = lib.mkEnableOption "";
config = lib.mkIf config.custom.services.hyprpaper.enable { config = lib.mkIf config.custom.services.hyprpaper.enable {

View file

@ -1,5 +1,12 @@
{ config, lib, ... }:
{ {
config,
modulesPath,
lib,
...
}:
{
imports = [ "${modulesPath}/programs/waybar.nix" ];
options.custom.services.waybar.enable = lib.mkEnableOption ""; options.custom.services.waybar.enable = lib.mkEnableOption "";
config = lib.mkIf config.custom.services.waybar.enable { config = lib.mkIf config.custom.services.waybar.enable {

View file

@ -1,5 +1,12 @@
{ config, lib, ... }:
{ {
config,
modulesPath,
lib,
...
}:
{
imports = [ "${modulesPath}/services/wpaperd.nix" ];
options.custom.services.wpaperd.enable = lib.mkEnableOption ""; options.custom.services.wpaperd.enable = lib.mkEnableOption "";
config = lib.mkIf config.custom.services.wpaperd.enable { config = lib.mkIf config.custom.services.wpaperd.enable {

View file

@ -34,6 +34,7 @@
users.users.seb.shell = pkgs.zsh; users.users.seb.shell = pkgs.zsh;
home-manager = { home-manager = {
minimal = true;
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
extraSpecialArgs = { inherit inputs self pkgs-unstable; }; extraSpecialArgs = { inherit inputs self pkgs-unstable; };