setup home-manager

This commit is contained in:
♥ Minnie ♥ 2023-04-07 07:19:41 +08:00
parent b49a8088cc
commit d108086e94
7 changed files with 81 additions and 11 deletions

View file

@ -0,0 +1,12 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
programs.discocss = {
enable = true;
discordAlias = false;
};
xdg.configFile = {
discocss = { source = ../../config/discocss; recursive = true; };
};
}

View file

@ -0,0 +1,9 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
programs.git = {
enable = true;
userName = "sajenim";
userEmail = "its.jassy@pm.me";
};
}

View file

@ -0,0 +1,13 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
programs.mangohud = {
enable = true;
settings = {
gpu_temp = true;
gpu_core_clock = true;
cpu_temp = true;
cpu_mhz = true;
};
};
}

View file

@ -0,0 +1,56 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
home.packages = with pkgs.unstable; [
# Language servers
clang-tools # C, C++, Objective C/C++, OpenCL, CUDA, and RenderScript
lua-language-server # Lua
nil # Nix
];
programs.neovim = {
enable = true;
package = pkgs.unstable.neovim-unwrapped;
plugins = with pkgs.unstable.vimPlugins; [
# Install all grammar packages
# nvim-treesitter.withAllGrammars
# Or specific grammar packages only
(nvim-treesitter.withPlugins (p: [
p.c
p.lua
p.nix
]))
# Quality of Life Enhancements
comment-nvim # Smart and powerful commenting
# User Interface
gruvbox-material # Theme
dashboard-nvim # Start screen
nvim-tree-lua # File explorer
lualine-nvim # Statusline
# Git Integration
vim-fugitive # Call any arbitary git command
gitsigns-nvim # Git decorations
# Autocompletion
nvim-lspconfig # Collection of configurations for built-in LSP client
nvim-cmp # Autocompletion plugin
cmp-nvim-lsp # LSP source for nvim-cmp
cmp_luasnip # Snippets source for nvim-cmp
luasnip # Snippets plugin
# Misc
vim-shellcheck # Static analysis tool for shell scripts
# Dependencies
nvim-web-devicons # Provides icons
];
};
xdg.configFile = {
nvim = { source = ../../config/nvim; recursive = true; };
};
}

View file

@ -0,0 +1,61 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
home.packages = with pkgs; [
fzf # command-line fuzzy finder
];
programs.zsh = {
enable = true;
# Enable extra features
enableAutosuggestions = true;
enableCompletion = true;
dotDir = ".config/zsh";
# Commands that should be added to to top of '.zshrc'
initExtraFirst = ''
'';
# Aliases
shellAliases = {
c = "clear";
hm = "cd ~/";
tp = "trash-put";
ud = "cd ..";
la = "ls -a";
ll = "ls -l";
};
# An attribute set that adds to named directory hash table
dirHashes = {
# QMK Keymaps
km-crkbd = "$HOME/keyboards/qmk_keymaps/keyboards/crkbd/keymaps/sajenim";
km-kchrn = "$HOME/keyboards/qmk_keymaps/keyboards/keychron/q4/ansi_v2/keymaps/sajenim";
};
# Install plugins
plugins = [
{
name = "fzf-tab";
src = pkgs.fetchFromGitHub {
owner = "Aloxaf";
repo = "fzf-tab";
rev = "5a81e13792a1eed4a03d2083771ee6e5b616b9ab";
sha256 = "dPe5CLCAuuuLGRdRCt/nNruxMrP9f/oddRxERkgm1FE=";
};
}
];
# Extra commands that should be added to '.zshrc'
initExtra = ''
# Emacs mode
bindkey -e
# Customize prompt
PROMPT="%F{1} %f%F{2}~ %f"
RPROMPT="%~"
'';
};
}