initial setup with impermanence
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
../home.nix
|
||||
./mpd.nix
|
||||
];
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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')
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{ pkgs, ...}:
|
||||
{
|
||||
imports = [ <plasma-manager/modules> ];
|
||||
programs.plasma = {
|
||||
enable = true;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user