forked from colonelpanic/dotfiles
[NixOS] Add functions autoload
This commit is contained in:
42
nixos/environment.nix
Normal file
42
nixos/environment.nix
Normal file
@@ -0,0 +1,42 @@
|
||||
{ config, pkgs, options, lib, ... }:
|
||||
with lib;
|
||||
{
|
||||
options = {
|
||||
dotfiles-directory = mkOption {
|
||||
type = types.str;
|
||||
default = "/home/imalison/dotfiles";
|
||||
};
|
||||
};
|
||||
|
||||
config = let libDir = "${config.dotfiles-directory}/dotfiles/lib";
|
||||
in {
|
||||
# Shell configuration
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
syntaxHighlighting = {
|
||||
enable = true;
|
||||
};
|
||||
ohMyZsh = {
|
||||
enable = true;
|
||||
plugins = [ "git" "sudo" "pip" ];
|
||||
};
|
||||
spaceship-prompt.enable = true;
|
||||
shellInit = ''
|
||||
fpath+="${libDir}/functions"
|
||||
for file in "${libDir}/functions/"*
|
||||
do
|
||||
autoload "''${file##*/}"
|
||||
done
|
||||
'';
|
||||
};
|
||||
|
||||
environment = {
|
||||
homeBinInPath = true;
|
||||
localBinInPath = true;
|
||||
extraInit = ''
|
||||
export PATH="${libDir}/bin:$PATH"
|
||||
export PATH="${libDir}/functions:$PATH"
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user