106 lines
2.1 KiB
Nix
106 lines
2.1 KiB
Nix
{ 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.fish = {
|
|
enable = true;
|
|
interactiveShellInit = ''
|
|
set fish_greeting # Disable greeting
|
|
starship init fish | source
|
|
'';
|
|
};
|
|
programs.starship = {
|
|
enable = true;
|
|
enableTransience = true;
|
|
};
|
|
programs.ncmpcpp = {
|
|
enable = true;
|
|
};
|
|
services.mpd-mpris.enable = true;
|
|
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
|
"android-studio-stable"
|
|
"code"
|
|
"obsidian"
|
|
"yandex-music"
|
|
"steam"
|
|
"vscode"
|
|
"unrar"
|
|
"teamspeak3"
|
|
"ida-free"
|
|
"zoom"
|
|
];
|
|
home.packages = with pkgs; [
|
|
alsa-utils
|
|
age
|
|
btop
|
|
fastfetch
|
|
ffmpeg
|
|
file
|
|
mc
|
|
htop
|
|
yt-dlp
|
|
zsh-powerlevel10k
|
|
meslo-lgs-nf
|
|
python313
|
|
distrobox
|
|
scrcpy
|
|
screen
|
|
sops
|
|
tmux
|
|
android-tools
|
|
linux-wifi-hotspot
|
|
nmap
|
|
nil
|
|
ncdu
|
|
net-tools
|
|
p7zip
|
|
playerctl
|
|
pywal16
|
|
qmk
|
|
inetutils
|
|
lsof
|
|
unzip
|
|
usbutils
|
|
];
|
|
|
|
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;
|
|
}
|