refactor homeModules
This commit is contained in:
parent
0603a85579
commit
4a870d4a18
26 changed files with 126 additions and 65 deletions
|
|
@ -3,29 +3,30 @@
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
inputs@{
|
inputs@{
|
||||||
nixpkgs,
|
|
||||||
clan-core,
|
clan-core,
|
||||||
flake-parts,
|
flake-parts,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
flake-parts.lib.mkFlake { inherit inputs; } ({
|
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||||
imports = [
|
imports = [
|
||||||
clan-core.flakeModules.default
|
clan-core.flakeModules.default
|
||||||
|
inputs.home-manager.flakeModules.home-manager
|
||||||
inputs.terranix.flakeModule
|
inputs.terranix.flakeModule
|
||||||
./clan/flake-module.nix
|
./clan/flake-module.nix
|
||||||
./clanServices/flake-module.nix
|
./clanServices/flake-module.nix
|
||||||
./devShells/flake-module.nix
|
./devShells/flake-module.nix
|
||||||
./home-manager/flake-module.nix
|
./homeModules/flake-module.nix
|
||||||
./infra/flake-module.nix
|
./infra/flake-module.nix
|
||||||
./modules/flake-module.nix
|
./modules/flake-module.nix
|
||||||
./packages/flake-module.nix
|
./packages/flake-module.nix
|
||||||
|
./flakeModules/flake-module.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
systems = [
|
systems = [
|
||||||
"x86_64-linux"
|
"x86_64-linux"
|
||||||
"aarch64-linux"
|
"aarch64-linux"
|
||||||
];
|
];
|
||||||
});
|
};
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||||
|
|
|
||||||
16
flakeModules/atuin.nix
Normal file
16
flakeModules/atuin.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
||||||
5
flakeModules/flake-module.nix
Normal file
5
flakeModules/flake-module.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./atuin.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -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" ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
flake.homeManagerModules = {
|
|
||||||
dotfiles.imports = [ ./dotfiles.nix ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
self.homeManagerModules.dotfiles
|
self.homeModules.dotfiles
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [ senpai ];
|
home.packages = with pkgs; [ senpai ];
|
||||||
|
|
@ -21,7 +21,7 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
self.homeManagerModules.dotfiles
|
self.homeModules.dotfiles
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
@ -53,10 +53,6 @@ in
|
||||||
programs.starship.enable = true;
|
programs.starship.enable = true;
|
||||||
programs.bat.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 = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
syntaxHighlighting.enable = true;
|
syntaxHighlighting.enable = true;
|
||||||
|
|
@ -68,6 +64,33 @@ in
|
||||||
inherit shellAliases;
|
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."git".source = "${config.dotfiles.path}/.config/git";
|
||||||
xdg.configFile."jj/config.toml".source = "${config.dotfiles.path}/.config/jj/config.toml";
|
xdg.configFile."jj/config.toml".source = "${config.dotfiles.path}/.config/jj/config.toml";
|
||||||
xdg.configFile."task/taskrc".source = "${config.dotfiles.path}/.config/task/taskrc";
|
xdg.configFile."task/taskrc".source = "${config.dotfiles.path}/.config/task/taskrc";
|
||||||
7
homeModules/desktop/fonts.nix
Normal file
7
homeModules/desktop/fonts.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = [
|
||||||
|
pkgs.nerd-fonts.jetbrains-mono
|
||||||
|
pkgs.noto-fonts-color-emoji
|
||||||
|
];
|
||||||
|
}
|
||||||
20
homeModules/desktop/pass.nix
Normal file
20
homeModules/desktop/pass.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
self.homeManagerModules.dotfiles
|
self.homeModules.dotfiles
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = [
|
home.packages = [
|
||||||
|
|
@ -8,8 +8,9 @@
|
||||||
imports = [
|
imports = [
|
||||||
./cli.nix
|
./cli.nix
|
||||||
./helix.nix
|
./helix.nix
|
||||||
self.homeManagerModules.dotfiles
|
self.homeModules.dotfiles
|
||||||
self.inputs.direnv-instant.homeModules.direnv-instant
|
self.inputs.direnv-instant.homeModules.direnv-instant
|
||||||
|
self.homeModules.atuin-config
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
27
homeModules/flake-module.nix
Normal file
27
homeModules/flake-module.nix
Normal 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} ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
self.homeManagerModules.dotfiles
|
self.homeModules.dotfiles
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = [ pkgs.helix ];
|
home.packages = [ pkgs.helix ];
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
{ self, config, ... }:
|
{ self, config, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
self.homeManagerModules.dotfiles
|
self.homeModules.dotfiles
|
||||||
./wayland.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
xdg.configFile."niri".source = "${config.dotfiles.path}/.config/niri";
|
xdg.configFile."niri".source = "${config.dotfiles.path}/.config/niri";
|
||||||
|
|
@ -15,8 +15,8 @@
|
||||||
./network.nix
|
./network.nix
|
||||||
./syncthing.nix
|
./syncthing.nix
|
||||||
|
|
||||||
|
self.nixosModules.atuin-config
|
||||||
self.nixosModules.desktop
|
self.nixosModules.desktop
|
||||||
self.nixosModules.dev
|
|
||||||
self.nixosModules.lanzaboote
|
self.nixosModules.lanzaboote
|
||||||
self.nixosModules.nix-defaults
|
self.nixosModules.nix-defaults
|
||||||
|
|
||||||
|
|
@ -26,7 +26,6 @@
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.users.rpqt = ./home.nix;
|
home-manager.users.rpqt = ./home.nix;
|
||||||
home-manager.extraSpecialArgs = {
|
home-manager.extraSpecialArgs = {
|
||||||
inherit (self) inputs;
|
|
||||||
inherit self;
|
inherit self;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,15 @@
|
||||||
|
{ self, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../home-manager/chat.nix
|
self.homeModules.chat
|
||||||
../../home-manager/common.nix
|
self.homeModules.common
|
||||||
../../home-manager/desktop
|
self.homeModules.desktop
|
||||||
../../home-manager/dev.nix
|
self.homeModules.dev
|
||||||
../../home-manager/helix.nix
|
self.homeModules.helix
|
||||||
../../home-manager/mail
|
self.homeModules.mail
|
||||||
../../home-manager/minecraft.nix
|
self.homeModules.minecraft
|
||||||
../../home-manager/desktop
|
self.homeModules.desktop
|
||||||
../../home-manager/desktop/niri.nix
|
self.homeModules.niri
|
||||||
../../home-manager/desktop/vicinae.nix
|
self.homeModules.vicinae
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
clan.core.vars.generators.atuin = {
|
|
||||||
prompts.key.persist = true;
|
|
||||||
files.key.owner = "rpqt";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue