Modularize with numtide/blueprint

This commit is contained in:
Julien Hémono 2025-12-06 13:58:07 +01:00
parent d0b1495ede
commit 5335a08eb5
17 changed files with 135 additions and 170 deletions

14
modules/home/base.nix Normal file
View file

@ -0,0 +1,14 @@
{
programs.bash.enable = true;
programs.fish = {
enable = true;
};
programs.helix = {
enable = true;
defaultEditor = true;
};
}

26
modules/home/git.nix Normal file
View file

@ -0,0 +1,26 @@
{ flake, ... }:
{ config, ... }:
{
imports = [ flake.homeModules.user ];
programs.git = {
enable = true;
settings = {
user = config.user;
};
};
programs.jujutsu = {
enable = true;
settings = {
user = config.user;
ui.default-command = "log";
};
};
programs.gh = {
enable = true;
};
}

17
modules/home/user.nix Normal file
View file

@ -0,0 +1,17 @@
{ lib, ... }:
{
options.user = {
name = lib.mkOption {
type = lib.types.str;
description = "User full name";
default = "Julien Hémono";
};
email = lib.mkOption {
type = lib.types.str;
description = "User full name";
default = "julien@hemono.fr";
};
};
}

16
modules/nixos/base.nix Normal file
View file

@ -0,0 +1,16 @@
{
nix = {
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
settings = {
experimental-features = [ "nix-command" "flakes" ];
auto-optimise-store = true;
};
channel.enable = false;
};
}

18
modules/nixos/jhemono.nix Normal file
View file

@ -0,0 +1,18 @@
{ inputs, config, lib, ... }:
let
username = "jhemono";
in
{
users.users.${username} = {
description = "Julien Hémono";
isNormalUser = true;
createHome = true;
extraGroups = [ "wheel" ];
# openssh.authorizedKeys.keys = info.authorizedKeys;
initialPassword = "cheval";
};
nix.settings.trusted-users = [ username ];
}