initial setup with impermanence
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
{ 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"
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
firefox
|
||||
mc
|
||||
htop
|
||||
yt-dlp
|
||||
zsh-powerlevel10k
|
||||
meslo-lgs-nf
|
||||
keepassxc
|
||||
remmina
|
||||
nekoray
|
||||
python3
|
||||
# prismlauncher
|
||||
kdePackages.kcalc
|
||||
ayugram-desktop
|
||||
distrobox
|
||||
thunderbird
|
||||
scrcpy
|
||||
android-tools
|
||||
linux-wifi-hotspot
|
||||
nmap
|
||||
nil
|
||||
obs-studio
|
||||
nicotine-plus
|
||||
];
|
||||
|
||||
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;
|
||||
}
|
||||
Reference in New Issue
Block a user