2024-01-14 18:35:00 +01:00
|
|
|
{ config, pkgs, lib, ... }:
|
2024-01-12 15:59:57 +01:00
|
|
|
{
|
2024-01-28 22:51:43 +01:00
|
|
|
#imports = [
|
|
|
|
# inputs.nixvim.homeManagerModules.nixvim
|
|
|
|
#];
|
2024-01-26 19:31:00 +01:00
|
|
|
home.username = "xqtc";
|
|
|
|
home.homeDirectory = "/home/xqtc";
|
|
|
|
|
|
|
|
programs.git = {
|
|
|
|
enable = true;
|
|
|
|
userName = "xqtc161";
|
|
|
|
userEmail = "xqtc@tutanota.com";
|
|
|
|
};
|
|
|
|
programs.wezterm = {
|
|
|
|
enable = true;
|
|
|
|
extraConfig = builtins.readFile ./config-files/wezterm.lua;
|
|
|
|
};
|
|
|
|
#programs.dconf.enable = true;
|
|
|
|
#programs.easyeffects.enable = true;
|
|
|
|
#services.easyeffects.enable = true;
|
2024-01-12 15:59:57 +01:00
|
|
|
programs = {
|
2024-01-26 19:31:00 +01:00
|
|
|
|
2024-01-12 15:59:57 +01:00
|
|
|
atuin = {
|
|
|
|
enable = true;
|
|
|
|
enableNushellIntegration = true;
|
|
|
|
};
|
|
|
|
nushell = { enable = true;
|
|
|
|
# The config.nu can be anywhere you want if you like to edit your Nushell with Nu
|
2024-01-14 18:35:00 +01:00
|
|
|
extraConfig = builtins.readFile ./config-files/config.nu;
|
2024-01-12 15:59:57 +01:00
|
|
|
};
|
|
|
|
carapace.enable = true;
|
|
|
|
carapace.enableNushellIntegration = true;
|
|
|
|
|
|
|
|
starship = { enable = true;
|
|
|
|
settings = {
|
|
|
|
add_newline = true;
|
|
|
|
character = {
|
|
|
|
success_symbol = "[λ::](bold green)";
|
|
|
|
error_symbol = "[λ::](bold red)";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2024-01-28 22:51:43 +01:00
|
|
|
|
|
|
|
programs.nixvim = {
|
2024-01-29 11:04:52 +01:00
|
|
|
enable = true;
|
|
|
|
globals.mapleader = " ";
|
2024-01-29 13:36:54 +01:00
|
|
|
extraConfigLua = builtins.readFile ./config-files/nvim/init.lua;
|
2024-01-29 11:04:52 +01:00
|
|
|
|
|
|
|
options = {
|
|
|
|
number = true; # Show line numbers
|
|
|
|
relativenumber = true; # Show relative line numbers
|
|
|
|
|
|
|
|
shiftwidth = 2; # Tab width should be 2
|
|
|
|
};
|
|
|
|
|
|
|
|
colorschemes.catppuccin.enable = true;
|
|
|
|
plugins = {
|
2024-01-31 22:26:46 +01:00
|
|
|
lualine.enable = true;
|
|
|
|
lsp-format = {
|
|
|
|
enable = true;
|
|
|
|
};
|
2024-01-29 11:04:52 +01:00
|
|
|
lsp = {
|
|
|
|
enable = true;
|
|
|
|
servers = {
|
2024-01-31 22:26:46 +01:00
|
|
|
svelte.enable = true;
|
|
|
|
tsserver.enable = true;
|
|
|
|
eslint.enable = true;
|
2024-01-29 11:04:52 +01:00
|
|
|
rust-analyzer = {
|
|
|
|
enable = true;
|
|
|
|
installLanguageServer = false;
|
|
|
|
installCargo = false;
|
|
|
|
installRustc = false;
|
|
|
|
};
|
|
|
|
nil_ls.enable = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
gitsigns.enable = true;
|
|
|
|
fugitive.enable = true;
|
|
|
|
treesitter.enable = true;
|
2024-01-29 11:30:14 +01:00
|
|
|
#nvim-cmp = {
|
|
|
|
# enable = true;
|
|
|
|
# sources = [
|
|
|
|
# {name = "nvim_lsp";}
|
|
|
|
# {name = "path";}
|
|
|
|
# {name = "buffer";}
|
|
|
|
# ];
|
|
|
|
#};
|
|
|
|
nvim-cmp = {
|
|
|
|
enable = true;
|
|
|
|
autoEnableSources = true;
|
|
|
|
sources = [
|
|
|
|
{name = "nvim_lsp";}
|
|
|
|
{name = "path";}
|
|
|
|
{name = "buffer";}
|
|
|
|
{name = "luasnip";}
|
|
|
|
];
|
|
|
|
|
2024-01-29 13:36:54 +01:00
|
|
|
snippet.expand = "luasnip";
|
|
|
|
|
2024-01-29 11:30:14 +01:00
|
|
|
mapping = {
|
|
|
|
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
|
|
|
"<Tab>" = {
|
|
|
|
action = ''
|
|
|
|
function(fallback)
|
2024-01-29 13:36:54 +01:00
|
|
|
local luasnip = require 'luasnip'
|
2024-01-29 11:30:14 +01:00
|
|
|
if cmp.visible() then
|
|
|
|
cmp.select_next_item()
|
|
|
|
elseif luasnip.expandable() then
|
|
|
|
luasnip.expand()
|
|
|
|
elseif luasnip.expand_or_jumpable() then
|
|
|
|
luasnip.expand_or_jump()
|
|
|
|
else
|
|
|
|
fallback()
|
|
|
|
end
|
|
|
|
end
|
|
|
|
'';
|
|
|
|
modes = [ "i" "s" ];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2024-01-29 11:04:52 +01:00
|
|
|
telescope.enable = true;
|
2024-01-31 22:26:46 +01:00
|
|
|
telescope.extensions = {
|
|
|
|
file_browser.enable = true;
|
|
|
|
};
|
|
|
|
which-key.enable = true;
|
2024-01-29 11:04:52 +01:00
|
|
|
cmp-nvim-lsp.enable = true;
|
2024-01-29 13:36:54 +01:00
|
|
|
cmp-nvim-lua.enable = true;
|
2024-01-29 11:04:52 +01:00
|
|
|
noice.enable = true;
|
2024-01-29 11:30:14 +01:00
|
|
|
notify.enable = true;
|
|
|
|
luasnip.enable = true;
|
2024-01-29 11:04:52 +01:00
|
|
|
neo-tree.enable = true;
|
|
|
|
presence-nvim.enable = true;
|
|
|
|
crates-nvim.enable = true;
|
2024-01-29 11:30:14 +01:00
|
|
|
fidget.enable = true;
|
2024-01-29 11:04:52 +01:00
|
|
|
alpha = {
|
|
|
|
enable = true;
|
2024-01-28 22:51:43 +01:00
|
|
|
};
|
2024-01-29 11:04:52 +01:00
|
|
|
bufferline.enable = true;
|
|
|
|
};
|
|
|
|
keymaps = [
|
|
|
|
{
|
|
|
|
mode = "n";
|
|
|
|
key = "<leader>ff";
|
|
|
|
options.silent = true;
|
2024-01-31 22:26:46 +01:00
|
|
|
action = "<cmd>Telescope file_browser<CR>";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
mode = "n";
|
|
|
|
key = "<leader>bb";
|
|
|
|
options.silent = true;
|
|
|
|
action = "<cmd>Telescope buffers<CR>";
|
2024-01-29 11:04:52 +01:00
|
|
|
}
|
|
|
|
{
|
|
|
|
mode = "n";
|
|
|
|
key = "<leader>Gp";
|
|
|
|
action = "<cmd>Git pull<CR>";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
mode = "n";
|
|
|
|
key = "<leader>GP";
|
|
|
|
action = "<cmd>Git push<CR>";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
mode = "n";
|
|
|
|
key = "<leader>Gc";
|
|
|
|
action = "<cmd>Git commit<CR>";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
mode = "n";
|
|
|
|
key = "<leader>Ga";
|
|
|
|
action = "<cmd>Git add .<CR>";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
mode = "n";
|
|
|
|
key = "<leader>Gd";
|
|
|
|
action = "<cmd>Git diff<CR>";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
mode = "n";
|
|
|
|
key = "<leader>nt";
|
|
|
|
action = "<cmd>Neotree toggle left<CR>";
|
|
|
|
}
|
|
|
|
];
|
2024-01-28 22:51:43 +01:00
|
|
|
};
|
2024-01-12 15:59:57 +01:00
|
|
|
#wayland.windowManager.hyprland = {
|
|
|
|
# enable = true;
|
|
|
|
# package = pkgs.hyprland;
|
|
|
|
|
|
|
|
# xwayland.enable = true;
|
|
|
|
|
|
|
|
# enableNvidiaPatches = true;
|
|
|
|
|
|
|
|
#};
|
|
|
|
|
|
|
|
#home.file."~/.config/hypr/hyprland.conf.
|
|
|
|
|
|
|
|
home.packages = with pkgs; [
|
|
|
|
neofetch
|
|
|
|
btop
|
|
|
|
iftop
|
|
|
|
|
|
|
|
strace
|
|
|
|
ltrace
|
|
|
|
|
|
|
|
nodejs
|
|
|
|
|
|
|
|
nerdfonts
|
|
|
|
vivaldi
|
|
|
|
vivaldi-ffmpeg-codecs
|
|
|
|
|
|
|
|
signal-desktop
|
|
|
|
vesktop
|
|
|
|
telegram-desktop
|
2024-01-29 13:36:54 +01:00
|
|
|
webex
|
2024-01-12 15:59:57 +01:00
|
|
|
#schildichat-desktop
|
|
|
|
|
2024-01-26 19:31:00 +01:00
|
|
|
neovide
|
2024-01-28 22:51:43 +01:00
|
|
|
jetbrains.rust-rover
|
2024-01-26 19:31:00 +01:00
|
|
|
|
2024-01-12 15:59:57 +01:00
|
|
|
yubioath-flutter
|
2024-01-14 18:35:00 +01:00
|
|
|
|
|
|
|
steam
|
2024-01-26 19:31:00 +01:00
|
|
|
protonup-qt
|
2024-01-14 18:35:00 +01:00
|
|
|
|
|
|
|
spotify
|
|
|
|
sayonara
|
2024-01-12 15:59:57 +01:00
|
|
|
];
|
|
|
|
home.stateVersion = "23.11";
|
|
|
|
|
|
|
|
programs.home-manager.enable = true;
|
|
|
|
}
|