Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/0f5908daf890c3d7e7052bef1d6deb0f2710aaa1' (2025-04-04) → 'github:nix-community/home-manager/e43c6bcb101ba3301522439c459288c4a248f624' (2025-04-11) • Updated input 'nix-darwin': 'github:LnL7/nix-darwin/73d59580d01e9b9f957ba749f336a272869c42dd' (2025-04-01) → 'github:LnL7/nix-darwin/113883e37d985d26ecb65282766e5719f2539103' (2025-04-09) • Updated input 'nix-index-database': 'github:nix-community/nix-index-database/b3696bfb6c24aa61428839a99e8b40c53ac3a82d' (2025-03-30) → 'github:nix-community/nix-index-database/a36f6a7148aec2c77d78e4466215cceb2f5f4bfb' (2025-04-06) • Updated input 'nix-vscode-extensions': 'github:nix-community/nix-vscode-extensions/2a7a2b80740dd1dbb8b4e1d5b2ae6ad9b7fbd5e3' (2025-04-05) → 'github:nix-community/nix-vscode-extensions/f0555ec37883d2bddca658cad7bfe995bc195217' (2025-04-11) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/2bfc080955153be0be56724be6fa5477b4eefabb' (2025-04-03) → 'github:nixos/nixpkgs/d19cf9dfc633816a437204555afeb9e722386b76' (2025-04-10) • Updated input 'nixpkgs-stable': 'github:nixos/nixpkgs/5051ae6744b993fcfab221e8bd38f8bc26f88393' (2025-04-02) → 'github:nixos/nixpkgs/cd4d63bf9485ba66a1f5d036118b053289b153e4' (2025-04-10)
212 lines
4.1 KiB
Nix
212 lines
4.1 KiB
Nix
{
|
|
inputs,
|
|
config,
|
|
pkgs,
|
|
pkgs-ghostty,
|
|
# nixd,
|
|
...
|
|
}:
|
|
|
|
let
|
|
leanHaskellBinary = pkgs.haskell.lib.compose.overrideCabal (old: {
|
|
isLibrary = false;
|
|
doHaddock = false;
|
|
enableLibraryProfiling = false;
|
|
enableSharedLibraries = false;
|
|
enableSeparateBinOutput = true;
|
|
});
|
|
opaComplete = name: pkgs.haskellPackages.generateOptparseApplicativeCompletions [ name ];
|
|
nixPackages = with pkgs; [
|
|
config.nix.package
|
|
niv
|
|
nix
|
|
nix-tree
|
|
nixfmt-rfc-style
|
|
nvd
|
|
nixd
|
|
statix
|
|
cachix
|
|
nix-output-monitor
|
|
];
|
|
networkingPackages = with pkgs; [
|
|
curl
|
|
dig
|
|
httpie
|
|
openssh
|
|
mosh
|
|
];
|
|
cmdLineUtilPackages = with pkgs; [
|
|
bash
|
|
broot
|
|
coreutils-full
|
|
fd
|
|
glow
|
|
gnugrep
|
|
less
|
|
ranger
|
|
tree
|
|
unixtools.watch
|
|
];
|
|
miscPackages = with pkgs; [
|
|
as-tree
|
|
binutils
|
|
brotli
|
|
cabal2nix
|
|
(opaComplete "cabal-plan" (leanHaskellBinary haskellPackages.cabal-plan))
|
|
cloc
|
|
difftastic
|
|
dua
|
|
entr
|
|
hyperfine
|
|
git-absorb
|
|
graphviz-nox
|
|
iterm2
|
|
jless
|
|
just
|
|
mas
|
|
micro
|
|
fastfetch
|
|
proselint
|
|
shellcheck
|
|
typos
|
|
typos-lsp
|
|
xmlformat
|
|
];
|
|
fonts = with pkgs; [
|
|
fira-mono
|
|
inconsolata
|
|
jetbrains-mono
|
|
nanum-gothic-coding
|
|
roboto-mono
|
|
source-code-pro
|
|
(pkgs.callPackage ../packages/dm-mono.nix { dm-mono-src = "${inputs.dm-mono-font}"; })
|
|
monaspace
|
|
nerd-fonts.iosevka
|
|
];
|
|
in
|
|
{
|
|
imports = [
|
|
./fish.nix
|
|
./git.nix
|
|
./starship.nix
|
|
./vscode.nix
|
|
./zed.nix
|
|
];
|
|
|
|
home.packages = nixPackages ++ networkingPackages ++ cmdLineUtilPackages ++ miscPackages ++ fonts;
|
|
|
|
programs = {
|
|
tmux = {
|
|
enable = true;
|
|
prefix = "C-a";
|
|
clock24 = true;
|
|
historyLimit = 100000000;
|
|
mouse = true;
|
|
shell = "/etc/profiles/per-user/abhinav/bin/fish";
|
|
terminal = "tmux-256color";
|
|
plugins = with pkgs; [ tmuxPlugins.better-mouse-mode ];
|
|
extraConfig = ''
|
|
set -g status off
|
|
'';
|
|
};
|
|
|
|
htop = {
|
|
enable = true;
|
|
settings = {
|
|
hide_kernel_threads = true;
|
|
hide_threads = true;
|
|
hide_userland_threads = true;
|
|
highlight_base_name = true;
|
|
show_program_path = false;
|
|
sort_direction = false;
|
|
sort_key = "PERCENT_CPU";
|
|
tree_view = true;
|
|
};
|
|
};
|
|
|
|
eza = {
|
|
enable = true;
|
|
git = true;
|
|
};
|
|
|
|
direnv = {
|
|
enable = true;
|
|
nix-direnv = {
|
|
enable = true;
|
|
};
|
|
};
|
|
|
|
nix-index = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
};
|
|
|
|
bat = {
|
|
enable = true;
|
|
config = {
|
|
italic-text = "always";
|
|
paging = "always";
|
|
tabs = "2";
|
|
theme = "DarkNeon";
|
|
};
|
|
};
|
|
|
|
fzf = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
fileWidgetCommand = "fd --type f --no-ignore";
|
|
historyWidgetOptions = [
|
|
"--reverse"
|
|
"--sort"
|
|
"--exact"
|
|
];
|
|
};
|
|
|
|
micro = {
|
|
enable = true;
|
|
settings = {
|
|
autoindent = true;
|
|
colorcolumn = 100;
|
|
colorscheme = "gruvbox";
|
|
diffgutter = true;
|
|
hlsearch = true;
|
|
mkparents = true;
|
|
savecursor = true;
|
|
softwrap = true;
|
|
tabsize = 2;
|
|
tabstospaces = true;
|
|
# plugins
|
|
manipulator = true;
|
|
};
|
|
};
|
|
|
|
zoxide.enable = true;
|
|
|
|
ghostty = {
|
|
enable = true;
|
|
package = pkgs-ghostty.ghostty;
|
|
enableFishIntegration = true;
|
|
enableBashIntegration = true;
|
|
installBatSyntax = false;
|
|
settings = {
|
|
background-opacity = 0.95;
|
|
command = "/etc/profiles/per-user/abhinav/bin/tmux new";
|
|
copy-on-select = true;
|
|
font-family = "PragmataPro Mono";
|
|
font-size = 14;
|
|
macos-titlebar-style = "hidden";
|
|
minimum-contrast = 1.05;
|
|
mouse-hide-while-typing = true;
|
|
quick-terminal-position = "right";
|
|
quit-after-last-window-closed = false;
|
|
scrollback-limit = 100000000;
|
|
shell-integration = "detect";
|
|
theme = "ayu";
|
|
keybind = [
|
|
"global:cmd+shift+a=toggle_quick_terminal"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|