|
|
|
@ -1,6 +1,8 @@ |
|
|
|
|
{ config, pkgs, ... }: |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
imports = [ ./programs ./launchd.nix ./nix.nix ]; |
|
|
|
|
|
|
|
|
|
home.username = "abhinav"; |
|
|
|
|
home.homeDirectory = "/Users/abhinav"; |
|
|
|
|
home.stateVersion = "22.05"; |
|
|
|
@ -16,182 +18,4 @@ |
|
|
|
|
|
|
|
|
|
home.sessionVariables = { EDITOR = "micro"; }; |
|
|
|
|
|
|
|
|
|
nixpkgs.config.allowUnfree = true; |
|
|
|
|
nix.package = pkgs.nixUnstable; |
|
|
|
|
nix.settings = { |
|
|
|
|
experimental-features = "nix-command flakes"; |
|
|
|
|
max-jobs = 6; |
|
|
|
|
cores = 2; |
|
|
|
|
auto-optimise-store = true; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
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; |
|
|
|
|
|
|
|
|
|
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"; |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
{ |
|
|
|
|
name = "fzf"; |
|
|
|
|
src = pkgs.fetchFromGitHub { |
|
|
|
|
owner = "PatrickF1"; |
|
|
|
|
repo = "fzf.fish"; |
|
|
|
|
rev = "2bb6f712b0b99fc5cc40ca78b6b3ba8b2529b0f7"; |
|
|
|
|
hash = "sha256-XmRGe39O3xXmTvfawwT2mCwLIyXOlQm7f40mH5tzz+s="; |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
]; |
|
|
|
|
interactiveShellInit = '' |
|
|
|
|
fzf_configure_bindings --git_status=\cs --history=\cr --variables=\cv --directory=\cf --git_log=\cg |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
''; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
programs.bat = { |
|
|
|
|
enable = true; |
|
|
|
|
config = { |
|
|
|
|
italic-text = "always"; |
|
|
|
|
paging = "always"; |
|
|
|
|
tabs = "2"; |
|
|
|
|
theme = "DarkNeon"; |
|
|
|
|
}; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
programs.fzf = { |
|
|
|
|
enable = true; |
|
|
|
|
enableFishIntegration = true; |
|
|
|
|
fileWidgetCommand = "fd --type f --no-ignore"; |
|
|
|
|
historyWidgetOptions = [ "--reverse" "--sort" "--exact" ]; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
programs.micro = { |
|
|
|
|
enable = true; |
|
|
|
|
settings = { |
|
|
|
|
autoindent = true; |
|
|
|
|
colorcolumn = 100; |
|
|
|
|
colorscheme = "gotham"; |
|
|
|
|
diffgutter = true; |
|
|
|
|
hlsearch = true; |
|
|
|
|
mkparents = true; |
|
|
|
|
savecursor = true; |
|
|
|
|
softwrap = true; |
|
|
|
|
tabsize = 2; |
|
|
|
|
tabstospaces = true; |
|
|
|
|
# plugins |
|
|
|
|
manipulator = true; |
|
|
|
|
}; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
# Packages to install |
|
|
|
|
home.packages = with pkgs; [ |
|
|
|
|
broot |
|
|
|
|
cloc |
|
|
|
|
cloudflare-dyndns |
|
|
|
|
config.nix.package |
|
|
|
|
coreutils |
|
|
|
|
delta |
|
|
|
|
dua |
|
|
|
|
entr |
|
|
|
|
fd |
|
|
|
|
gitui |
|
|
|
|
graphviz-nox |
|
|
|
|
haskellPackages.cabal-plan |
|
|
|
|
haskellPackages.graphmod |
|
|
|
|
httpie |
|
|
|
|
mosh |
|
|
|
|
micro |
|
|
|
|
niv |
|
|
|
|
nixfmt |
|
|
|
|
statix |
|
|
|
|
tree |
|
|
|
|
|
|
|
|
|
# fonts |
|
|
|
|
fira-mono |
|
|
|
|
inconsolata |
|
|
|
|
jetbrains-mono |
|
|
|
|
nanum-gothic-coding |
|
|
|
|
roboto-mono |
|
|
|
|
source-code-pro |
|
|
|
|
(import ./dm-mono.nix { inherit lib fetchzip; }) |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
launchd.agents.dyndns-updater = { |
|
|
|
|
enable = true; |
|
|
|
|
config = { |
|
|
|
|
Program = "${pkgs.cloudflare-dyndns}/bin/cloudflare-dyndns"; |
|
|
|
|
ProgramArguments = [ |
|
|
|
|
"${pkgs.cloudflare-dyndns}/bin/cloudflare-dyndns" |
|
|
|
|
"--api-token" |
|
|
|
|
(builtins.readFile ./.cloudflare_dns_updater_api_token) |
|
|
|
|
"--debug" |
|
|
|
|
"home.abhinavsarkar.net" |
|
|
|
|
]; |
|
|
|
|
StandardErrorPath = "/tmp/cloudflare-dyndns.log"; |
|
|
|
|
StandardOutPath = "/tmp/cloudflare-dyndns.log"; |
|
|
|
|
StartInterval = 600; |
|
|
|
|
ProcessType = "Background"; |
|
|
|
|
}; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|