.dotfiles/nix/pkgs/home.nix
Martin Lasson 31ff307bfd Fix symlinks which arent tied to store for dotfiles. This means we can
change them without rebuilding. Additionally, this means that lazy lock
works.
2025-01-29 18:45:00 +01:00

113 lines
1.6 KiB
Nix

{
pkgs,
config,
neovim-flake,
...
}:
let
dotfiles = [
[
".zshrc"
"zsh/.zshrc"
]
[
".config/nvim"
"nvim"
]
[
".config/yazi"
"yazi"
]
[
".config/starship.toml"
"starship/starship.toml"
]
[
".tmux.conf"
"tmux/.tmux.conf"
]
[
".config/tmux"
"tmux"
]
[
".config/bat"
"bat"
]
[
".config/ghostty"
"ghostty"
]
[
".config/confutils"
"confutils"
]
[
".config/wallpapers"
"wallpapers"
]
];
symlinkFiles = builtins.listToAttrs (
map (file: {
name = builtins.elemAt file 0;
value = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dev/git/.dotfiles/${builtins.elemAt file 1}";
};
}) dotfiles
);
in
{
programs = {
zsh = {
enable = true;
};
};
home = {
stateVersion = "24.05";
packages = with pkgs; [
neovim-flake.packages.${system}.neovim
fzf
bat
git
yazi
tmux
eza
curl
wget
ripgrep
fd
jq
starship
fastfetch
clang
clang-tools
nixfmt-rfc-style
luajit
zoxide
rustup
zig
zls
nil
lldb
gopls
delve
golangci-lint
cmake
cmake-language-server
cmake-format
cmake-lint
python313Packages.debugpy
pyright
lua-language-server
gnumake
ninja
tldr
nerd-fonts.caskaydia-mono
];
file = symlinkFiles;
};
}