nix-managed-macbook/programs/default.nix
Abhinav Sarkar 3860b368d2 flake.lock: Update
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)
2025-04-11 22:20:25 +05:30

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"
];
};
};
};
}