more work
This commit is contained in:
parent
423e99886d
commit
a03240d99d
36 changed files with 843 additions and 842 deletions
53
modules/home/shell/default.nix
Normal file
53
modules/home/shell/default.nix
Normal file
|
@ -0,0 +1,53 @@
|
|||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
inherit (lib) attrValues mkIf mkMerge mkOption mkEnableOption;
|
||||
inherit (lib.types) nullOr enum;
|
||||
|
||||
cfg = config.${namespace}.shell;
|
||||
in
|
||||
{
|
||||
options.${namespace}.shell = {
|
||||
default = mkOption {
|
||||
type = nullOr (enum ["fish" "zsh" "bash"]);
|
||||
default = null;
|
||||
description = "Default system shell";
|
||||
};
|
||||
|
||||
corePkgs.enable = mkEnableOption "core shell packages";
|
||||
};
|
||||
|
||||
config = mkMerge [
|
||||
(mkIf (cfg.default != null) {
|
||||
users.defaultUserShell = pkgs."${cfg.default}";
|
||||
})
|
||||
|
||||
(mkIf cfg.corePkgs.enable {
|
||||
${namespace}.shell.toolset = {
|
||||
bat.enable = true;
|
||||
btop.enable = true;
|
||||
eza.enable = true;
|
||||
fzf.enable = true;
|
||||
git.enable = true;
|
||||
starship.enable = true;
|
||||
tmux.enable = true;
|
||||
yazi.enable = true;
|
||||
zoxide.enable = true;
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [ any-nix-shell pwgen yt-dlp ripdrag fd (ripgrep.override {withPCRE2 = true;}) ];
|
||||
|
||||
programs = {
|
||||
direnv = {
|
||||
enable = true;
|
||||
config.global = {
|
||||
load_dotenv = true;
|
||||
strict_env = true;
|
||||
hide_env_diff = true;
|
||||
};
|
||||
nix-direnv.enable = true;
|
||||
config.whitelist.prefix = ["/home"];
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue