Adds initial home manager config

nix-darwin
Abhinav Sarkar 2022-09-25 00:54:06 +05:30
commit 8c40b6d5aa
1 changed files with 133 additions and 0 deletions

133
home.nix Normal file
View File

@ -0,0 +1,133 @@
{ config, pkgs, ... }:
{
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.username = "abhinav";
home.homeDirectory = "/Users/abhinav";
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards
# incompatible changes.
#
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "22.05";
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
programs.htop = {
enable = true;
settings = {
hide_kernel_threads = true;
hide_threads = true;
hide_userland_threads = true;
highlight_base_name = true;
show_program_path = false;
tree_view = true;
};
};
programs.exa = {
enable = true;
enableAliases = true;
};
programs.direnv = {
enable = true;
nix-direnv = { enable = true; };
};
programs.nix-index = {
enable = true;
enableFishIntegration = true;
};
programs.just = {
enable = true;
enableFishIntegration = true;
};
programs.fish = {
enable = true;
shellAliases = {
j = "just";
g = "git";
};
plugins = [
{
name = "foreign-env";
src = pkgs.fetchFromGitHub {
owner = "oh-my-fish";
repo = "plugin-foreign-env";
rev = "b3dd471bcc885b597c3922e4de836e06415e52dd";
sha256 = "00xqlyl3lffc5l0viin1nyp819wf81fncqyz87jx8ljjdhilmgbs";
};
}
{
name = "agnoster";
src = pkgs.fetchFromGitHub {
owner = "oh-my-fish";
repo = "theme-agnoster";
rev = "43860ce1536930bca689470e26083b0a5b7bd6ae";
sha256 = "16k94hz3s6wayass6g1lhlcjmbpf2w8mzx90qrrqp120h80xwp25";
};
}
];
interactiveShellInit = ''
set EDITOR micro
'';
shellInit = ''
# nix
if test -e /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
fenv source /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
end
# home-manager
if test -e $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
fenv source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
end
'';
loginShellInit = ''
fish_add_path --move --prepend --path $HOME/.nix-profile/bin /run/wrappers/bin /etc/profiles/per-user/$USER/bin /run/current-system/sw/bin /nix/var/nix/profiles/default/bin # https://github.com/LnL7/nix-darwin/issues/122
'';
};
programs.micro = {
enable = true;
settings = {
"colorscheme" = "zenburn";
"tabsize" = 2;
"tabstospaces" = true;
};
};
# Packages to install
home.packages = with pkgs; [
# pkgs is the set of all packages in the default home.nix implementation
cloc
cloudflare-dyndns
coreutils
delta
entr
gitui
graphviz-nox
haskellPackages.cabal-plan
haskellPackages.graphmod
httpie
mosh
micro
niv
nixfmt
statix
tree
];
}