85 lines
2.0 KiB
Nix
85 lines
2.0 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
let
|
|
fromGitHub = ref: repo: pkgs.vimUtils.buildVimPlugin {
|
|
pname = "${lib.strings.sanitizeDerivationName repo}";
|
|
version = ref;
|
|
src = builtins.fetchGit {
|
|
url = "https://github.com/${repo}.git";
|
|
ref = ref;
|
|
};
|
|
};
|
|
in
|
|
|
|
{
|
|
imports = [
|
|
./nvim.nix
|
|
];
|
|
# Home Manager needs a bit of information about you and the
|
|
# paths it should manage.
|
|
home.username = "yaroslav";
|
|
home.homeDirectory = "/home/yaroslav";
|
|
home.sessionVariables = {
|
|
EDITOR = "nvim";
|
|
XDG_DATA_DIRS="$HOME/.nix-profile/share:$XDG_DATA_DIRS";
|
|
};
|
|
services.ssh-agent.enable = true;
|
|
programs.ssh = {
|
|
enable = true;
|
|
};
|
|
programs.zsh = {
|
|
enable = true;
|
|
enableCompletion = true;
|
|
autosuggestion.enable = true;
|
|
syntaxHighlighting.enable = true;
|
|
oh-my-zsh = {
|
|
enable = true;
|
|
};
|
|
initContent = ''
|
|
source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme
|
|
test -f ~/.p10k.zsh && source ~/.p10k.zsh
|
|
eval "$(ssh-agent -s)"
|
|
ssh-add ~/.ssh/id_github
|
|
'';
|
|
};
|
|
programs.ncmpcpp = {
|
|
enable = true;
|
|
};
|
|
services.mpd-mpris.enable = true;
|
|
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
|
"obsidian"
|
|
"yandex-music"
|
|
"steam"
|
|
];
|
|
home.packages = with pkgs; [
|
|
mc
|
|
htop
|
|
yt-dlp
|
|
zsh-powerlevel10k
|
|
meslo-lgs-nf
|
|
nekoray
|
|
python3
|
|
distrobox
|
|
scrcpy
|
|
android-tools
|
|
linux-wifi-hotspot
|
|
nmap
|
|
nil
|
|
];
|
|
|
|
xdg.enable = true;
|
|
|
|
# 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 = "24.11";
|
|
|
|
# Let Home Manager install and manage itself.
|
|
programs.home-manager.enable = true;
|
|
}
|