refactor homeModules

This commit is contained in:
Romain Paquet 2026-01-27 14:36:11 +01:00
parent 0603a85579
commit 4a870d4a18
26 changed files with 126 additions and 65 deletions

View file

@ -3,29 +3,30 @@
outputs =
inputs@{
nixpkgs,
clan-core,
flake-parts,
...
}:
flake-parts.lib.mkFlake { inherit inputs; } ({
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [
clan-core.flakeModules.default
inputs.home-manager.flakeModules.home-manager
inputs.terranix.flakeModule
./clan/flake-module.nix
./clanServices/flake-module.nix
./devShells/flake-module.nix
./home-manager/flake-module.nix
./homeModules/flake-module.nix
./infra/flake-module.nix
./modules/flake-module.nix
./packages/flake-module.nix
./flakeModules/flake-module.nix
];
systems = [
"x86_64-linux"
"aarch64-linux"
];
});
};
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";

16
flakeModules/atuin.nix Normal file
View file

@ -0,0 +1,16 @@
{
flake.nixosModules.atuin-config = {
clan.core.vars.generators.atuin = {
prompts.key.persist = true;
files.key.owner = "rpqt";
};
};
flake.homeModules.atuin-config =
{ config, osConfig, ... }:
{
programs.atuin.enable = true;
xdg.dataFile."atuin/key".source =
config.lib.file.mkOutOfStoreSymlink osConfig.clan.core.vars.generators.atuin.files.key.path;
};
}

View file

@ -0,0 +1,5 @@
{
imports = [
./atuin.nix
];
}

View file

@ -1,13 +0,0 @@
{ pkgs, ... }:
{
home.packages = [
pkgs.nerd-fonts.jetbrains-mono
pkgs.noto-fonts-color-emoji
];
fonts.fontconfig.enable = true;
fonts.fontconfig.defaultFonts = {
sansSerif = [ "Adwaita Sans" ];
monospace = [ "Adwaita Mono" ];
};
}

View file

@ -1,14 +0,0 @@
{ pkgs, ... }:
{
home.packages = [
pkgs.pass
pkgs.gnupg
pkgs.pinentry-gnome3
];
programs.gpg.enable = true;
services.gpg-agent = {
enable = true;
pinentry.package = pkgs.pinentry-gnome3;
};
}

View file

@ -1,5 +0,0 @@
{
flake.homeManagerModules = {
dotfiles.imports = [ ./dotfiles.nix ];
};
}

View file

@ -6,7 +6,7 @@
}:
{
imports = [
self.homeManagerModules.dotfiles
self.homeModules.dotfiles
];
home.packages = with pkgs; [ senpai ];

View file

@ -21,7 +21,7 @@ let
in
{
imports = [
self.homeManagerModules.dotfiles
self.homeModules.dotfiles
];
home.packages = with pkgs; [
@ -53,10 +53,6 @@ in
programs.starship.enable = true;
programs.bat.enable = true;
programs.atuin.enable = true;
xdg.dataFile."atuin/key".source =
config.lib.file.mkOutOfStoreSymlink osConfig.clan.core.vars.generators.atuin.files.key.path;
programs.zsh = {
enable = true;
syntaxHighlighting.enable = true;
@ -68,6 +64,33 @@ in
inherit shellAliases;
};
programs.zellij.enable = true;
# programs.khal = {
# enable = true;
# };
# accounts.calendar.basePath = ".calendar";
# programs.pimsync.enable = true;
# accounts.calendar.accounts.personal = {
# pimsync.enable = true;
# khal.enable = true;
# thunderbird.enable = true;
# remote = {
# url = "https://cloud.rpqt.fr/remote.php/dav/calendars/rpqt/personal/";
# type = "caldav";
# userName = "rpqt@rpqt.fr";
# passwordCommand = [
# "sh"
# "-c"
# "passage web/cloud.rpqt.fr | head -n 1"
# ];
# };
# };
xdg.configFile."git".source = "${config.dotfiles.path}/.config/git";
xdg.configFile."jj/config.toml".source = "${config.dotfiles.path}/.config/jj/config.toml";
xdg.configFile."task/taskrc".source = "${config.dotfiles.path}/.config/task/taskrc";

View file

@ -0,0 +1,7 @@
{ pkgs, ... }:
{
home.packages = [
pkgs.nerd-fonts.jetbrains-mono
pkgs.noto-fonts-color-emoji
];
}

View file

@ -0,0 +1,20 @@
{ pkgs, ... }:
let
pass-alias = pkgs.writeShellScriptBin "pass" ''
exec ${pkgs.passage}/bin/passage "$@"
'';
in
{
home.packages = [
# pkgs.pass
pass-alias
pkgs.gnupg
pkgs.pinentry-gnome3
];
# programs.gpg.enable = true;
services.gpg-agent = {
enable = false;
pinentry.package = pkgs.pinentry-gnome3;
};
}

View file

@ -6,7 +6,7 @@
}:
{
imports = [
self.homeManagerModules.dotfiles
self.homeModules.dotfiles
];
home.packages = [

View file

@ -8,8 +8,9 @@
imports = [
./cli.nix
./helix.nix
self.homeManagerModules.dotfiles
self.homeModules.dotfiles
self.inputs.direnv-instant.homeModules.direnv-instant
self.homeModules.atuin-config
];
home.packages = with pkgs; [

View file

@ -0,0 +1,27 @@
{ lib, ... }:
{
flake.homeModules =
(builtins.readDir ./.)
|> lib.filterAttrs (
path: type:
(type == "directory" && lib.filesystem.pathIsRegularFile (./${path}/default.nix))
|| (type == "regular" && (lib.hasSuffix ".nix" path))
)
|> lib.mapAttrs' (
path: type:
if type == "directory" then
{
name = path;
value = {
imports = [ ./${path} ];
};
}
else
{
name = lib.removeSuffix ".nix" path;
value = {
imports = [ ./${path} ];
};
}
);
}

View file

@ -6,7 +6,7 @@
}:
{
imports = [
self.homeManagerModules.dotfiles
self.homeModules.dotfiles
];
home.packages = [ pkgs.helix ];

View file

@ -1,8 +1,7 @@
{ self, config, ... }:
{
imports = [
self.homeManagerModules.dotfiles
./wayland.nix
self.homeModules.dotfiles
];
xdg.configFile."niri".source = "${config.dotfiles.path}/.config/niri";

View file

@ -15,8 +15,8 @@
./network.nix
./syncthing.nix
self.nixosModules.atuin-config
self.nixosModules.desktop
self.nixosModules.dev
self.nixosModules.lanzaboote
self.nixosModules.nix-defaults
@ -26,7 +26,6 @@
home-manager.useUserPackages = true;
home-manager.users.rpqt = ./home.nix;
home-manager.extraSpecialArgs = {
inherit (self) inputs;
inherit self;
};
}

View file

@ -1,14 +1,15 @@
{ self, ... }:
{
imports = [
../../home-manager/chat.nix
../../home-manager/common.nix
../../home-manager/desktop
../../home-manager/dev.nix
../../home-manager/helix.nix
../../home-manager/mail
../../home-manager/minecraft.nix
../../home-manager/desktop
../../home-manager/desktop/niri.nix
../../home-manager/desktop/vicinae.nix
self.homeModules.chat
self.homeModules.common
self.homeModules.desktop
self.homeModules.dev
self.homeModules.helix
self.homeModules.mail
self.homeModules.minecraft
self.homeModules.desktop
self.homeModules.niri
self.homeModules.vicinae
];
}

View file

@ -1,6 +0,0 @@
{
clan.core.vars.generators.atuin = {
prompts.key.persist = true;
files.key.owner = "rpqt";
};
}