initial setup with impermanence

This commit is contained in:
2025-06-07 16:05:38 +03:00
commit 86b4fcd2fc
19 changed files with 700 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
{ ... }:
{
imports = [
../home.nix
./mpd.nix
];
}
+14
View File
@@ -0,0 +1,14 @@
{ config, pkgs, ... }:
{
services.mpd = {
enable = true;
musicDirectory = /vol/Trash/Music;
network.listenAddress = "any";
extraConfig = ''
audio_output {
type "pipewire"
name "PipeWire Sound Server"
}
'';
};
}
+92
View File
@@ -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;
}
+61
View File
@@ -0,0 +1,61 @@
{ pkgs, lib, config, ... }:
{
home.packages = with pkgs; [
pyright
python312Packages.pynvim-pp
];
programs.neovim = {
enable = true;
defaultEditor = true;
viAlias = true;
vimAlias = true;
plugins = with pkgs.vimPlugins; [
nvim-lspconfig
nvim-treesitter.withAllGrammars
plenary-nvim
gruvbox-material
mini-nvim
nvim-tree-lua
nvim-lspconfig
coq_nvim
vim-nix
];
extraLuaConfig = ''
local function my_on_attach(bufnr)
local api = require "nvim-tree.api"
local function opts(desc)
return { desc = "nvim-tree: " .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
end
-- default mappings
api.config.mappings.default_on_attach(bufnr)
-- custom mappingse
vim.keymap.set('n', '?', api.tree.toggle_help, opts('Help'))
end
-- pass to setup along with your other options
require("nvim-tree").setup {
on_attach = my_on_attach,
sort = {
sorter = "case_sensitive",
},
view = {
width = 30,
},
renderer = {
group_empty = true,
},
filters = {
dotfiles = false,
},
}
vim.lsp.enable('pyright')
vim.lsp.enable('nil_ls')
'';
};
}
+7
View File
@@ -0,0 +1,7 @@
{ pkgs, ...}:
{
imports = [ <plasma-manager/modules> ];
programs.plasma = {
enable = true;