vim config updates
BIN
Lakeside-2/Lakeside-2-1.jpg
Normal file
|
After Width: | Height: | Size: 2.1 MiB |
BIN
Lakeside-2/Lakeside-2-10.jpg
Normal file
|
After Width: | Height: | Size: 2.0 MiB |
BIN
Lakeside-2/Lakeside-2-11.jpg
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
BIN
Lakeside-2/Lakeside-2-12.jpg
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
Lakeside-2/Lakeside-2-13.jpg
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
Lakeside-2/Lakeside-2-14.jpg
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
BIN
Lakeside-2/Lakeside-2-15.jpg
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
BIN
Lakeside-2/Lakeside-2-16.jpg
Normal file
|
After Width: | Height: | Size: 2.0 MiB |
BIN
Lakeside-2/Lakeside-2-17.jpg
Normal file
|
After Width: | Height: | Size: 2.0 MiB |
BIN
Lakeside-2/Lakeside-2-2.jpg
Normal file
|
After Width: | Height: | Size: 2.1 MiB |
BIN
Lakeside-2/Lakeside-2-3.jpg
Normal file
|
After Width: | Height: | Size: 2.0 MiB |
BIN
Lakeside-2/Lakeside-2-4.jpg
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
BIN
Lakeside-2/Lakeside-2-5.jpg
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
BIN
Lakeside-2/Lakeside-2-6.jpg
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
Lakeside-2/Lakeside-2-7.jpg
Normal file
|
After Width: | Height: | Size: 1.7 MiB |
BIN
Lakeside-2/Lakeside-2-8.jpg
Normal file
|
After Width: | Height: | Size: 1.7 MiB |
BIN
Lakeside-2/Lakeside-2-9.jpg
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
@@ -169,6 +169,7 @@
|
|||||||
slurp
|
slurp
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
polkit_gnome
|
polkit_gnome
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
/* TODO: (flameshot.overrideAttrs(prev: {
|
/* TODO: (flameshot.overrideAttrs(prev: {
|
||||||
nativeBuildInputs = prev.nativeBuildInputs ++ [ git grim ];
|
nativeBuildInputs = prev.nativeBuildInputs ++ [ git grim ];
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
@@ -211,10 +212,6 @@
|
|||||||
name = "adw-gtk3-dark";
|
name = "adw-gtk3-dark";
|
||||||
package = pkgs.adw-gtk3;
|
package = pkgs.adw-gtk3;
|
||||||
};
|
};
|
||||||
cursorTheme = {
|
|
||||||
name = "capitaine-cursors";
|
|
||||||
package = pkgs.capitaine-cursors;
|
|
||||||
};
|
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
name = "Tela";
|
name = "Tela";
|
||||||
package = pkgs.tela-icon-theme;
|
package = pkgs.tela-icon-theme;
|
||||||
@@ -225,20 +222,28 @@
|
|||||||
platformTheme = "gtk";
|
platformTheme = "gtk";
|
||||||
};
|
};
|
||||||
|
|
||||||
home.file.profile = {
|
home = {
|
||||||
enable = true;
|
pointerCursor = {
|
||||||
target = ".zprofile"; # change to .profile if you're not using zsh
|
gtk.enable = true;
|
||||||
text = ''
|
package = pkgs.capitaine-cursors;
|
||||||
Hyprland && echo "goodbye" && exit 0 \
|
name = "capitaine-cursors";
|
||||||
|| echo "$? couldn't launch Hyprland" && tty | grep tty1 \
|
};
|
||||||
&& echo "refusing to autologin without Hyprland on tty1" && exit 0 \
|
|
||||||
|| echo "not on tty1, letting in"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file.".config/hypr/shaders" = {
|
file.profile = {
|
||||||
source = ./hypr/shaders;
|
enable = true;
|
||||||
recursive = true;
|
target = ".zprofile"; # change to .profile if you're not using zsh
|
||||||
|
text = /* sh */ ''
|
||||||
|
Hyprland && echo "goodbye" && exit 0 \
|
||||||
|
|| echo "$? couldn't launch Hyprland" && tty | grep tty1 \
|
||||||
|
&& echo "refusing to autologin without Hyprland on tty1" && exit 0 \
|
||||||
|
|| echo "not on tty1, letting in"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
file.".config/hypr/shaders" = {
|
||||||
|
source = ./hypr/shaders;
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,45 +3,20 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
shellIntegration.enableFishIntegration = true;
|
shellIntegration.enableFishIntegration = true;
|
||||||
font = {
|
font = {
|
||||||
package = pkgs.fira-code-nerdfont;
|
package = pkgs.fira-code;
|
||||||
name = "FiraCode Nerdfont";
|
name = "FiraCode";
|
||||||
size = 12;
|
size = 12;
|
||||||
};
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
symbol_map U+23FB-U+23FE,U+2665,U+26A1,U+2B58,U+E000-U+E00A,U+E0A0-U+E0A3,U+E0B0-U+E0D4,U+E200-U+E2A9,U+E300-U+E3E3,U+E5FA-U+E6AA,U+E700-U+E7C5,U+EA60-U+EBEB,U+F000-U+F2E0,U+F300-U+F32F,U+F400-U+F4A9,U+F500-U+F8FF,U+F0001-U+F1AF0 Symbols Nerd Font Mono
|
||||||
|
|
||||||
|
include ./current-theme.conf
|
||||||
|
'';
|
||||||
settings = {
|
settings = {
|
||||||
background_opacity = "0.8";
|
background_opacity = "0.8";
|
||||||
window_padding_width = 24;
|
window_padding_width = 10;
|
||||||
|
|
||||||
cursor = "#928374";
|
cursor = "#928374";
|
||||||
cursor_text_color = "background";
|
cursor_text_color = "background";
|
||||||
|
|
||||||
url_color = "#83a598";
|
|
||||||
visual_bell_color = "#8ec07c";
|
|
||||||
bell_border_color = "#8ec07c";
|
|
||||||
active_border_color = "#d3869b";
|
|
||||||
inactive_border_color = "#665c54";
|
|
||||||
foreground = "#ebdbb2";
|
|
||||||
background = "#282828";
|
|
||||||
selection_foreground = "#928374";
|
|
||||||
selection_background = "#ebdbb2";
|
|
||||||
active_tab_foreground = "#fbf1c7";
|
|
||||||
active_tab_background = "#665c54";
|
|
||||||
inactive_tab_foreground= "#a89984";
|
|
||||||
inactive_tab_background= "#3c3836";
|
|
||||||
color0 = "#665c54";
|
|
||||||
color8 = "#7c6f64";
|
|
||||||
color1 = "#cc241d";
|
|
||||||
color9 = "#fb4934";
|
|
||||||
color2 = "#98971a";
|
|
||||||
color10 = "#b8bb26";
|
|
||||||
color3 = "#d79921";
|
|
||||||
color11 = "#fabd2f";
|
|
||||||
color4 = "#458588";
|
|
||||||
color12 = "#83a598";
|
|
||||||
color5 = "#b16286";
|
|
||||||
color13 = "#d3869b";
|
|
||||||
color6 = "#689d6a";
|
|
||||||
color14 = "#8ec07c";
|
|
||||||
color7 = "#a89984";
|
|
||||||
color15 = "#bdae93";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
2
home.nix
@@ -27,5 +27,5 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
programs = import ./programs.nix { inherit pkgs; };
|
programs = import ./programs.nix { inherit pkgs; };
|
||||||
services = import ./services.nix { inherit pkgs; };
|
services = import ./services.nix { inherit pkgs homeDirectory; };
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,191 +6,275 @@ let
|
|||||||
src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
owner = "dlvandenberg";
|
owner = "dlvandenberg";
|
||||||
repo = "nvim-treesitter-angular";
|
repo = "nvim-treesitter-angular";
|
||||||
rev = "e852e68352f1eed8f098691a74fd057461379cfe";
|
rev = "1d1b468180c2b2d40bf87a834a28297456e24825";
|
||||||
sha256 = "sha256-zSVKDWAUYoXjxxZIovx9BqGyjKMmtvlUhnKLiYE/RIk=";
|
hash = "sha256-z7jcJsrDdHE69VLO3V0nteZEvWxEN16vIOJDGJ01SJs=";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
darkman = (pkgs.vimUtils.buildVimPlugin {
|
||||||
|
name = "darkman";
|
||||||
|
src = pkgs.buildGoModule rec {
|
||||||
|
pname = "darkman.nvim";
|
||||||
|
version = "0.0.1";
|
||||||
|
vendorHash = "sha256-HpyKzvKVN9hVRxxca4sdWRo91H32Ha9gxitr7Qg5MY8=";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "4e554c4c";
|
||||||
|
repo = "darkman.nvim";
|
||||||
|
rev = "150aa63a13837c44abd87ff20d3a806321a17b2d";
|
||||||
|
sha256 = "sha256-ssEYdM460I1rufjgh63CEkLi4K+bEWbwku/6gQbytno=";
|
||||||
|
};
|
||||||
|
postInstall = ''
|
||||||
|
cp -r lua $out
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
enable = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
|
|
||||||
options = {
|
|
||||||
number = true;
|
|
||||||
relativenumber = true;
|
|
||||||
|
|
||||||
tabstop = 2;
|
|
||||||
softtabstop = 2;
|
|
||||||
shiftwidth = 2;
|
|
||||||
expandtab = true;
|
|
||||||
smartindent = true;
|
|
||||||
|
|
||||||
scrolloff = 8;
|
|
||||||
|
|
||||||
termguicolors = true;
|
|
||||||
|
|
||||||
fillchars.eob = " ";
|
|
||||||
};
|
|
||||||
|
|
||||||
keymaps = [
|
|
||||||
{ key = "<leader>u"; mode = "n"; action = "<cmd>:UndotreeToggle<CR>"; }
|
|
||||||
{ key = "<leader>t"; mode = "n"; action = "<cmd>:NvimTreeOpen<CR>"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
globals = {
|
|
||||||
minimap_width = 10;
|
|
||||||
minimap_auto_start = 1;
|
|
||||||
minimap_auto_start_win_enter = 1;
|
|
||||||
|
|
||||||
mapleader = ";";
|
|
||||||
};
|
|
||||||
|
|
||||||
clipboard = {
|
|
||||||
register = "unnamedplus";
|
|
||||||
providers.wl-copy.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
extraConfigVim = /* vim */ ''
|
|
||||||
hi Normal guibg=NONE ctermbg=NONE
|
|
||||||
'';
|
|
||||||
|
|
||||||
extraConfigLua = /* lua */ ''
|
|
||||||
local Terminal = require('toggleterm.terminal').Terminal
|
|
||||||
local lazygit = Terminal:new({
|
|
||||||
cmd = "lazygit",
|
|
||||||
dir = "git_dir",
|
|
||||||
direction = "float",
|
|
||||||
on_open = function(term)
|
|
||||||
vim.cmd("startinsert!")
|
|
||||||
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "<cmd>close<CR>", {noremap = true, silent = true})
|
|
||||||
end,
|
|
||||||
on_close = function(term)
|
|
||||||
vim.cmd("startinsert!")
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
function _lazygit_toggle()
|
|
||||||
lazygit:toggle()
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.api.nvim_set_keymap("n", "<leader>g", "<cmd>lua _lazygit_toggle()<CR>", {noremap = true, silent = true})
|
|
||||||
'';
|
|
||||||
|
|
||||||
colorschemes.gruvbox = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
trueColor = true;
|
defaultEditor = true;
|
||||||
bold = true;
|
|
||||||
italics = true;
|
|
||||||
undercurl = true;
|
|
||||||
underline = true;
|
|
||||||
transparentBg = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
plugins = {
|
options = {
|
||||||
lualine.enable = true;
|
number = true;
|
||||||
fidget.enable = true;
|
relativenumber = true;
|
||||||
auto-save.enable = true;
|
|
||||||
indent-blankline = {
|
tabstop = 2;
|
||||||
enable = true;
|
softtabstop = 2;
|
||||||
indent.char = "▏";
|
shiftwidth = 2;
|
||||||
};
|
expandtab = true;
|
||||||
rainbow-delimiters.enable = true;
|
smartindent = true;
|
||||||
nvim-autopairs.enable = true;
|
signcolumn = "yes";
|
||||||
nvim-colorizer.enable = true;
|
|
||||||
nvim-tree = {
|
undodir = { __raw = /* lua */ "os.getenv('HOME') .. '/.config/nvim/undodir'"; };
|
||||||
enable = true;
|
undofile = true;
|
||||||
filters.dotfiles = true;
|
|
||||||
};
|
scrolloff = 8;
|
||||||
undotree.enable = true;
|
|
||||||
toggleterm = {
|
termguicolors = true;
|
||||||
enable = true;
|
|
||||||
openMapping = "<c-t>";
|
fillchars.eob = " ";
|
||||||
direction = "horizontal";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
telescope = {
|
keymaps = [
|
||||||
|
{ key = "<leader>u"; mode = "n"; action = "<cmd>:UndotreeToggle<CR>"; }
|
||||||
|
{ key = "<leader>ft"; action = "<cmd>:Neotree toggle<CR>"; }
|
||||||
|
{ key = "<leader>s"; action = "<cmd>:SymbolsOutline<CR>"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
globals = {
|
||||||
|
minimap_width = 10;
|
||||||
|
minimap_auto_start = 1;
|
||||||
|
minimap_auto_start_win_enter = 1;
|
||||||
|
minimap_close_buftypes = [ "nofile" ];
|
||||||
|
minimap_block_filetypes = [ "NvimTree" ];
|
||||||
|
|
||||||
|
catppuccin_debug = true;
|
||||||
|
|
||||||
|
mapleader = ";";
|
||||||
|
};
|
||||||
|
|
||||||
|
clipboard = {
|
||||||
|
register = "unnamedplus";
|
||||||
|
providers.wl-copy.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfigVim = /* vim */ ''
|
||||||
|
hi Normal guibg=NONE ctermbg=NONE
|
||||||
|
'';
|
||||||
|
|
||||||
|
extraConfigLua = /* lua */ ''
|
||||||
|
require("scrollbar").setup()
|
||||||
|
require("darkman").setup()
|
||||||
|
require("symbols-outline").setup()
|
||||||
|
|
||||||
|
local Terminal = require('toggleterm.terminal').Terminal
|
||||||
|
local lazygit = Terminal:new({
|
||||||
|
cmd = "lazygit",
|
||||||
|
dir = "git_dir",
|
||||||
|
direction = "float",
|
||||||
|
|
||||||
|
on_open = function(term)
|
||||||
|
vim.cmd("startinsert!")
|
||||||
|
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "<cmd>close<CR>", {noremap = true, silent = true})
|
||||||
|
end,
|
||||||
|
on_close = function(term)
|
||||||
|
vim.cmd("startinsert!")
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
function _lazygit_toggle()
|
||||||
|
lazygit:toggle()
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_set_keymap("n", "<leader>g", "<cmd>lua _lazygit_toggle()<CR>", {noremap = true, silent = true})
|
||||||
|
'';
|
||||||
|
|
||||||
|
colorschemes.catppuccin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
keymaps = {
|
transparentBackground = true;
|
||||||
"<leader>ff" = "find_files";
|
background = {
|
||||||
"<leader>fg" = "live_grep";
|
dark = "frappe";
|
||||||
"<leader>fb" = "buffers";
|
light = "latte";
|
||||||
"<leader>fh" = "help_tags";
|
|
||||||
};
|
};
|
||||||
|
integrations.indent_blankline.colored_indent_levels = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
treesitter = {
|
plugins = {
|
||||||
enable = true;
|
lualine = {
|
||||||
indent = true;
|
enable = true;
|
||||||
grammarPackages = pkgs.vimPlugins.nvim-treesitter.allGrammars ++ [
|
globalstatus = true;
|
||||||
(pkgs.tree-sitter.buildGrammar {
|
sectionSeparators = { left = ""; right = ""; };
|
||||||
language = "angular";
|
componentSeparators = { left = "┊"; right = "┊"; };
|
||||||
version = "624ff10";
|
sections = {
|
||||||
src = pkgs.fetchFromGitHub {
|
lualine_a = [ { name = "mode"; separator = { right = ""; left = ""; }; icon = ""; } ];
|
||||||
owner = "dlvandenberg";
|
lualine_z = [ { name = "location"; separator = { right = ""; left = ""; }; } ];
|
||||||
repo = "tree-sitter-angular";
|
|
||||||
rev = "b13cf5ccc54805622db6505904bf60b80537f22a";
|
|
||||||
sha256 = "sha256-tOEuWDarWQSNhS7A3ah3tKohbYCxw0QO/GJWEURAxpc=";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
none-ls.enable = true;
|
|
||||||
lsp-format.enable = true;
|
|
||||||
lsp = {
|
|
||||||
enable = true;
|
|
||||||
keymaps = {
|
|
||||||
diagnostic = {
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
enabledServers = [
|
noice = {
|
||||||
{
|
enable = true;
|
||||||
name = "angularls";
|
lsp.override = {
|
||||||
extraOptions = {
|
"vim.lsp.util.convert_input_to_markdown_lines" = true;
|
||||||
cmd = ["${angular-ls}" "--stdio" "--tsProbeLocations" "${pkgs.nodePackages.typescript-language-server}" "--ngProbeLocations" "${angular-ls}"];
|
"vim.lsp.util.stylize_markdown" = true;
|
||||||
|
"cmp.entry.get_documentation" = true;
|
||||||
|
};
|
||||||
|
presets = {
|
||||||
|
bottom_search = true;
|
||||||
|
command_palette = true;
|
||||||
|
long_message_to_split = true;
|
||||||
|
inc_rename = false;
|
||||||
|
lsp_doc_border = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
auto-save = {
|
||||||
|
enable = true;
|
||||||
|
triggerEvents = [ "FocusLost" "CursorHold" "BufLeave" ];
|
||||||
|
};
|
||||||
|
indent-blankline = {
|
||||||
|
enable = true;
|
||||||
|
indent.char = "▏";
|
||||||
|
};
|
||||||
|
illuminate.enable = true;
|
||||||
|
rainbow-delimiters.enable = true;
|
||||||
|
notify.enable = true;
|
||||||
|
nvim-autopairs.enable = true;
|
||||||
|
nvim-colorizer.enable = true;
|
||||||
|
neo-tree = {
|
||||||
|
enable = true;
|
||||||
|
filesystem.filteredItems.visible = true;
|
||||||
|
eventHandlers = {
|
||||||
|
file_opened = /* lua */ ''
|
||||||
|
function()
|
||||||
|
require('neo-tree').close_all()
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
undotree.enable = true;
|
||||||
|
toggleterm = {
|
||||||
|
enable = true;
|
||||||
|
openMapping = "<leader>t";
|
||||||
|
direction = "vertical";
|
||||||
|
size = 60;
|
||||||
|
};
|
||||||
|
|
||||||
|
telescope = {
|
||||||
|
enable = true;
|
||||||
|
keymaps = {
|
||||||
|
"<leader>ff" = "git_files";
|
||||||
|
"<leader>fa" = "find_files";
|
||||||
|
"<leader>fg" = "live_grep";
|
||||||
|
"<leader>fb" = "buffers";
|
||||||
|
"<leader>fh" = "help_tags";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
treesitter = {
|
||||||
|
enable = true;
|
||||||
|
indent = true;
|
||||||
|
grammarPackages = pkgs.vimPlugins.nvim-treesitter.allGrammars ++ [
|
||||||
|
(pkgs.tree-sitter.buildGrammar {
|
||||||
|
language = "angular";
|
||||||
|
version = "624ff10";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "dlvandenberg";
|
||||||
|
repo = "tree-sitter-angular";
|
||||||
|
rev = "e316388ca6dcc728a5c521b4d63acecdeedab942";
|
||||||
|
hash = "sha256-t/qLxBideSGP/x4dhDu8MvMnugIEhcBvYasUdUFisFI=";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
none-ls.enable = true;
|
||||||
|
lsp-format.enable = true;
|
||||||
|
lsp = {
|
||||||
|
enable = true;
|
||||||
|
keymaps = {
|
||||||
|
diagnostic = {
|
||||||
};
|
};
|
||||||
}
|
};
|
||||||
];
|
enabledServers = [
|
||||||
servers = {
|
{
|
||||||
html.enable = true;
|
name = "angularls";
|
||||||
cssls.enable = true;
|
extraOptions = {
|
||||||
svelte.enable = true;
|
cmd = ["${angular-ls}" "--stdio" "--tsProbeLocations" "${pkgs.nodePackages.typescript-language-server}" "--ngProbeLocations" "${angular-ls}"];
|
||||||
eslint.enable = true;
|
};
|
||||||
tsserver.enable = true;
|
}
|
||||||
|
];
|
||||||
|
servers = {
|
||||||
|
html.enable = true;
|
||||||
|
cssls.enable = true;
|
||||||
|
svelte.enable = true;
|
||||||
|
eslint.enable = true;
|
||||||
|
tsserver.enable = true;
|
||||||
|
|
||||||
yamlls.enable = true;
|
yamlls.enable = true;
|
||||||
jsonls.enable = true;
|
jsonls.enable = true;
|
||||||
taplo.enable = true;
|
taplo.enable = true;
|
||||||
|
|
||||||
rust-analyzer.enable = true;
|
rust-analyzer.enable = true;
|
||||||
pylsp.enable = true;
|
pylsp.enable = true;
|
||||||
|
|
||||||
nixd.enable = true;
|
nixd.enable = true;
|
||||||
bashls.enable = true;
|
bashls.enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
lspkind = {
|
||||||
|
enable = true;
|
||||||
|
mode = "symbol";
|
||||||
|
cmp.after = /* lua */ ''
|
||||||
|
function(entry, vim_item, kind)
|
||||||
|
kind.kind = kind.kind .. " ";
|
||||||
|
return kind
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
nvim-cmp = {
|
||||||
|
enable = true;
|
||||||
|
mapping = {
|
||||||
|
"<C-n>" = /* lua */ "cmp.mapping.select_next_item({behavior = cmp.SelectBehavior.Select})";
|
||||||
|
"<C-p>" = /* lua */ "cmp.mapping.select_prev_item({behavior = cmp.SelectBehavior.Select})";
|
||||||
|
"<C-Space>" = /* lua */ "cmp.mapping.confirm({select = true})";
|
||||||
|
"<C-Enter>" = /* lua */ "cmp.mapping.complete()";
|
||||||
|
};
|
||||||
|
sources = [
|
||||||
|
{ name = "path"; }
|
||||||
|
{ name = "nvim_lsp"; }
|
||||||
|
{ name = "npm"; }
|
||||||
|
{ name = "treesitter"; }
|
||||||
|
];
|
||||||
|
formatting.fields = [ "kind" "abbr" "menu" ];
|
||||||
|
window.completion.border = "rounded";
|
||||||
|
};
|
||||||
|
|
||||||
|
nix.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
nvim-cmp = {
|
extraPackages = [ angular-ls pkgs.nodePackages.typescript-language-server ];
|
||||||
enable = true;
|
extraPlugins = with pkgs.vimPlugins; [
|
||||||
mapping = {
|
nvim-treesitter-angular
|
||||||
"<F7>" = /* lua */ "cmp.mapping.select_next_item({behavior = cmp.SelectBehavior.Select})";
|
darkman
|
||||||
"<F5>" = /* lua */ "cmp.mapping.select_prev_item({behavior = cmp.SelectBehavior.Select})";
|
nvim-scrollbar
|
||||||
"<F6>" = /* lua */ "cmp.mapping.confirm({select = true})";
|
symbols-outline-nvim
|
||||||
};
|
];
|
||||||
sources = [
|
}
|
||||||
{ name = "path"; }
|
|
||||||
{ name = "nvim_lsp"; }
|
|
||||||
{ name = "npm"; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
nix.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
extraPackages = [ angular-ls pkgs.nodePackages.typescript-language-server ];
|
|
||||||
extraPlugins = with pkgs.vimPlugins; [
|
|
||||||
minimap-vim
|
|
||||||
nvim-treesitter-angular
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|||||||
79
services.nix
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs }:
|
{ pkgs, homeDirectory }:
|
||||||
{
|
{
|
||||||
gpg-agent = {
|
gpg-agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -8,4 +8,81 @@
|
|||||||
# fix pinentry on non-gnome with this in
|
# fix pinentry on non-gnome with this in
|
||||||
# the system config: services.dbus.packages = with pkgs; [ gcr ];
|
# the system config: services.dbus.packages = with pkgs; [ gcr ];
|
||||||
gnome-keyring.enable = true;
|
gnome-keyring.enable = true;
|
||||||
|
|
||||||
|
darkman = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.buildGoModule rec {
|
||||||
|
pname = "darkman";
|
||||||
|
version = "1.5.4";
|
||||||
|
|
||||||
|
src = pkgs.fetchFromGitLab {
|
||||||
|
owner = "WhyNotHugo";
|
||||||
|
repo = "darkman";
|
||||||
|
rev = "5332193777fb0c5dbde6cbfd015a16697d6a0c8e";
|
||||||
|
hash = "sha256-3TGDy7hiI+z0IrA+d/Q+rMFlew6gipdpXyJ5eVLCmds=";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorHash = "sha256-xEPmNnaDwFU4l2G4cMvtNeQ9KneF5g9ViQSFrDkrafY=";
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkgs.scdoc ];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace darkman.service \
|
||||||
|
--replace "/usr/bin/darkman" "$out/bin/darkman"
|
||||||
|
substituteInPlace contrib/dbus/nl.whynothugo.darkman.service \
|
||||||
|
--replace "/usr/bin/darkman" "$out/bin/darkman"
|
||||||
|
substituteInPlace contrib/dbus/org.freedesktop.impl.portal.desktop.darkman.service \
|
||||||
|
--replace "/usr/bin/darkman" "$out/bin/darkman"
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
make build
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
make PREFIX=$out install
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with pkgs.lib; {
|
||||||
|
description = "Framework for dark-mode and light-mode transitions on Linux desktop";
|
||||||
|
homepage = "https://gitlab.com/WhyNotHugo/darkman";
|
||||||
|
license = licenses.isc;
|
||||||
|
maintainers = [ maintainers.ajgrf ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "darkman";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
lat = 52.52;
|
||||||
|
lng = 13.405;
|
||||||
|
};
|
||||||
|
darkModeScripts = {
|
||||||
|
gtk-theme = /* bash */ ''
|
||||||
|
${pkgs.dconf}/bin/dconf write \
|
||||||
|
/org/gnome/desktop/interface/color-scheme "'prefer-dark'"
|
||||||
|
'';
|
||||||
|
kitty-theme = /* bash */ ''
|
||||||
|
${pkgs.kitty}/bin/kitty +kitten themes --reload-in=all --config-file-name ${homeDirectory}/.config/kitty/current-colors.conf Catppuccin-Frappe
|
||||||
|
'';
|
||||||
|
wallpaper = ''
|
||||||
|
${pkgs.swww}/bin/swww img ${./Lakeside-2/Lakeside-2-1.jpg}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
lightModeScripts = {
|
||||||
|
gtk-theme = /* bash */ ''
|
||||||
|
${pkgs.dconf}/bin/dconf write \
|
||||||
|
/org/gnome/desktop/interface/color-scheme "'prefer-light'"
|
||||||
|
'';
|
||||||
|
kitty-theme = /* bash */ ''
|
||||||
|
${pkgs.kitty}/bin/kitty +kitten themes --reload-in=all --config-file-name ${homeDirectory}/.config/kitty/current-colors.conf Catppuccin-Latte
|
||||||
|
'';
|
||||||
|
wallpaper = ''
|
||||||
|
${pkgs.swww}/bin/swww img ${./Lakeside-2/Lakeside-2-10.jpg}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||