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

View file

@ -1,5 +1,6 @@
{
config,
modulesPath,
inputs,
pkgs,
lib,
@ -27,6 +28,8 @@ let
};
in
{
imports = [ "${modulesPath}/programs/firefox" ];
options.custom.programs.firefox = {
enable = lib.mkEnableOption "";
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 "";
config = lib.mkIf config.custom.programs.git.enable {

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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