nixos-config/home/default.nix

323 lines
7.2 KiB
Nix
Raw Normal View History

{ 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
extraConfig = builtins.readFile ./config-files/config.nu;
2024-01-12 15:59:57 +01:00
};
carapace.enable = true;
carapace.enableNushellIntegration = true;
starship =
let
flavour = "mocha";
in
{
enable = true;
enableNushellIntegration = true;
settings = {
# Other config here
character = {
success_symbol = "[λ::](bold green)";
error_symbol = "[λ::](bold red)";
};
format = "$all"; # Remove this line to disable the default prompt format
palette = "catppuccin_${flavour}";
} // builtins.fromTOML (builtins.readFile
(pkgs.fetchFromGitHub
{
owner = "catppuccin";
repo = "starship";
rev = "5629d2356f62a9f2f8efad3ff37476c19969bd4f"; # Replace with the latest commit hash
sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0=";
} + /palettes/${flavour}.toml));
};
#starship = { enable = true;
# settings = {
# add_newline = true;
# character = {
# success_symbol = "[λ::](bold green)";
# error_symbol = "[λ::](bold red)";
# };
# };
#};
2024-01-12 15:59:57 +01:00
};
2024-02-08 18:16:57 +01:00
dconf.enable = true;
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
gtk = {
enable = true;
theme = {
name = "Catppuccin-Mocha-Compact-Pink-Dark";
package = pkgs.catppuccin-gtk.override {
accents = [ "pink" ];
size = "compact";
tweaks = [ "rimless" ];
2024-02-08 18:16:57 +01:00
variant = "mocha";
};
};
};
#qt = {
# enable = true;
# platformTheme = "gnome";
# style = "Catppuccin-Mocha-Compact-Pink-Dark";
#};
#systemd.xqtc.sessionVariables = config.home-manager.users.xqtc.home.sessionVariables;
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;
clipboard.providers.wl-copy.enable = true;
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 = {
lualine.enable = true;
lsp-format = {
enable = true;
};
2024-01-29 11:04:52 +01:00
lsp = {
enable = true;
servers = {
lua-ls.enable = true;
clangd.enable = true;
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;
2024-02-05 18:59:12 +01:00
treesitter = {
enable = true;
folding = true;
indent = true;
nixvimInjections = true;
};
treesitter-refactor = {
enable = true;
smartRename.enable = true;
highlightCurrentScope.enable = true;
navigation.enable = true;
};
cursorline.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;
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;
theme = "startify";
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;
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>";
}
{
mode = "n";
key = "<leader>P";
action = "\"+p";
}
{
mode = [ "n" "v" ];
key = "<leader>y";
action = "[[\"+y]]";
}
{
mode = [ "n" ];
key = "<leader>Y";
action = "[[\"+Y]]";
}
2024-01-29 11:04:52 +01:00
];
2024-01-28 22:51:43 +01:00
};
wayland.windowManager.hyprland = {
enable = true;
package = pkgs.hyprland;
2024-01-12 15:59:57 +01:00
xwayland.enable = true;
2024-01-12 15:59:57 +01:00
#enableNvidiaPatches = true;
extraConfig = builtins.readFile ./config-files/hyprland.conf;
};
2024-01-12 15:59:57 +01:00
#home.file."~/.config/hypr/hyprland.conf.
home.packages = with pkgs; [
neofetch
uwufetch
2024-01-12 15:59:57 +01:00
btop
iftop
2024-02-08 19:28:01 +01:00
bitwarden
bitwarden-cli
sway-contrib.grimshot
#zathura
2024-02-05 18:59:12 +01:00
2024-01-12 15:59:57 +01:00
strace
ltrace
nodejs
nerdfonts
vivaldi
vivaldi-ffmpeg-codecs
signal-desktop
vesktop
2024-02-08 19:28:01 +01:00
discord
2024-01-12 15:59:57 +01:00
telegram-desktop
2024-01-29 13:36:54 +01:00
webex
2024-01-12 15:59:57 +01:00
#schildichat-desktop
2024-02-01 13:10:23 +01:00
qbittorrent
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
steam
2024-01-26 19:31:00 +01:00
protonup-qt
spotify
sayonara
2024-01-12 15:59:57 +01:00
];
home.stateVersion = "23.11";
programs.home-manager.enable = true;
}