Compare commits
50 commits
feature/8-
...
main
Author | SHA1 | Date | |
---|---|---|---|
2fb5b1b839 | |||
687b152132 | |||
bf7e2f7b5f | |||
b169128aab | |||
1d3ff764fc | |||
56ac4307a4 | |||
d482f9c43a | |||
e03c28be91 | |||
c9d1325f4f | |||
0bb68808ac | |||
4a8ca39bcb | |||
9c4588ab9f | |||
cbf688e561 | |||
b794998f20 | |||
b18b65b06f | |||
f4c358bea6 | |||
2d146fc8ae | |||
0d1d67db35 | |||
b7823f18ba | |||
28ff19756b | |||
a7b156c673 | |||
d07d828773 | |||
8fe6a0fb35 | |||
83510a722f | |||
1704808ade | |||
10f6beba2a | |||
b6337aaa0e | |||
b139fa9449 | |||
ffeea5a19b | |||
e4d5df863d | |||
f8c7220503 | |||
7507936818 | |||
ecb37e9a36 | |||
4ffb2792f9 | |||
b890478dcd | |||
ddfe7e6362 | |||
bdda60a48e | |||
f23f7983d9 | |||
64d53fc193 | |||
2d04c8381e | |||
211f82f0db | |||
dd4c11f924 | |||
94a03f789a | |||
cd662435a0 | |||
49874a029b | |||
dd8e1d5efa | |||
09e897c956 | |||
66d11771f2 | |||
56bf25c656 | |||
58b9a4d946 |
11 changed files with 198 additions and 276 deletions
|
@ -37,17 +37,24 @@ in {
|
||||||
file = {
|
file = {
|
||||||
"/home/${username}/.scripts/audio/get-sink-name.sh".source = ./home/scripts/audio/get-sink-name.sh;
|
"/home/${username}/.scripts/audio/get-sink-name.sh".source = ./home/scripts/audio/get-sink-name.sh;
|
||||||
"/home/${username}/.cache/scripts/get-sink-name.txt".source = ./home/cache/audio/get-sink-name.txt;
|
"/home/${username}/.cache/scripts/get-sink-name.txt".source = ./home/cache/audio/get-sink-name.txt;
|
||||||
|
"/home/${username}/.cache/scripts/power.sh".source = ./home/scripts/system/power.sh;
|
||||||
};
|
};
|
||||||
|
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
alacritty
|
alacritty
|
||||||
arandr
|
arandr
|
||||||
|
asunder
|
||||||
|
audacity
|
||||||
autorandr
|
autorandr
|
||||||
|
brickstore
|
||||||
|
brightnessctl
|
||||||
|
corefonts
|
||||||
csharp-ls
|
csharp-ls
|
||||||
cups
|
cups
|
||||||
curl
|
curl
|
||||||
dbeaver-bin
|
dbeaver-bin
|
||||||
discord
|
discord
|
||||||
|
distrobox
|
||||||
dolphin-emu
|
dolphin-emu
|
||||||
dotnet-sdk_8
|
dotnet-sdk_8
|
||||||
dotnetPackages.Nuget
|
dotnetPackages.Nuget
|
||||||
|
@ -62,6 +69,7 @@ in {
|
||||||
gimp
|
gimp
|
||||||
git
|
git
|
||||||
gnome.gnome-keyring
|
gnome.gnome-keyring
|
||||||
|
gnupg
|
||||||
grip
|
grip
|
||||||
grub2
|
grub2
|
||||||
hack-font
|
hack-font
|
||||||
|
@ -70,8 +78,11 @@ in {
|
||||||
i3
|
i3
|
||||||
i3-swallow
|
i3-swallow
|
||||||
i3lock-fancy
|
i3lock-fancy
|
||||||
|
kdePackages.kleopatra
|
||||||
keepassxc
|
keepassxc
|
||||||
keepmenu
|
keepmenu
|
||||||
|
lame
|
||||||
|
libreoffice-fresh
|
||||||
lightdm
|
lightdm
|
||||||
lua
|
lua
|
||||||
meslo-lgs-nf
|
meslo-lgs-nf
|
||||||
|
@ -79,6 +90,7 @@ in {
|
||||||
neovim
|
neovim
|
||||||
networkmanager
|
networkmanager
|
||||||
nextcloud-client
|
nextcloud-client
|
||||||
|
nfs-utils
|
||||||
nitrogen
|
nitrogen
|
||||||
nodejs
|
nodejs
|
||||||
nodePackages.npm
|
nodePackages.npm
|
||||||
|
@ -88,11 +100,13 @@ in {
|
||||||
os-prober
|
os-prober
|
||||||
pavucontrol
|
pavucontrol
|
||||||
picom
|
picom
|
||||||
|
pinentry-curses
|
||||||
playerctl
|
playerctl
|
||||||
plexamp
|
plexamp
|
||||||
pm2
|
pm2
|
||||||
polybar
|
polybar
|
||||||
polybar-pulseaudio-control
|
polybar-pulseaudio-control
|
||||||
|
prismlauncher
|
||||||
pulseaudio
|
pulseaudio
|
||||||
ranger
|
ranger
|
||||||
remmina
|
remmina
|
||||||
|
@ -105,7 +119,9 @@ in {
|
||||||
tldr
|
tldr
|
||||||
unzip
|
unzip
|
||||||
vim
|
vim
|
||||||
|
vimPlugins.vim-plug
|
||||||
virtio-win
|
virtio-win
|
||||||
|
vistafonts
|
||||||
vscode
|
vscode
|
||||||
wget
|
wget
|
||||||
xclip
|
xclip
|
||||||
|
|
18
config/home/scripts/system/power.sh
Normal file
18
config/home/scripts/system/power.sh
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
option=$(printf "sleep\nlogout\nshutdown\nrestart" | rofi -dmenu -theme Arc-Dark -font 'hack 18')
|
||||||
|
|
||||||
|
if [ "$option" = "sleep" ];
|
||||||
|
then
|
||||||
|
i3lock-fancy -g -t "System Locked" -f Hack-Regular
|
||||||
|
systemctl suspend
|
||||||
|
elif [ "$option" = "logout" ];
|
||||||
|
then
|
||||||
|
i3-msg exit
|
||||||
|
elif [ "$option" = "shutdown" ];
|
||||||
|
then
|
||||||
|
poweroff
|
||||||
|
elif [ "$option" = "restart" ];
|
||||||
|
then
|
||||||
|
reboot
|
||||||
|
fi
|
|
@ -45,8 +45,8 @@ exec --no-startup-id "sh /home/vylpes/.screenlayout/default.sh"
|
||||||
# Use pactl to adjust volume in PulseAudio.
|
# Use pactl to adjust volume in PulseAudio.
|
||||||
# Add "&& $refresh_i3status" if needed
|
# Add "&& $refresh_i3status" if needed
|
||||||
set $refresh_i3status killall -SIGUSR1 polybar
|
set $refresh_i3status killall -SIGUSR1 polybar
|
||||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10%
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%
|
||||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10%
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%
|
||||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||||
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
||||||
|
|
||||||
|
@ -56,6 +56,10 @@ bindsym XF86AudioPause exec playerctl play-pause
|
||||||
bindsym XF86AudioNext exec playerctl next
|
bindsym XF86AudioNext exec playerctl next
|
||||||
bindsym XF86AudioPrev exec playerctl previous
|
bindsym XF86AudioPrev exec playerctl previous
|
||||||
|
|
||||||
|
# Use brightnessctl to adjust brightness
|
||||||
|
bindsym XF86MonBrightnessUp exec brightnessctl set 10%+
|
||||||
|
bindsym XF86MonBrightnessDown exec brightnessctl set 10%-
|
||||||
|
|
||||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
floating_modifier $mod
|
floating_modifier $mod
|
||||||
|
|
||||||
|
@ -190,7 +194,7 @@ bindsym $mod+Mod1+r reload
|
||||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
bindsym $mod+Shift+r restart
|
bindsym $mod+Shift+r restart
|
||||||
# exit i3 (logs you out of your X session)
|
# exit i3 (logs you out of your X session)
|
||||||
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
bindsym $mod+Shift+e exec "bash /home/vylpes/.cache/scripts/power.sh"
|
||||||
|
|
||||||
# resize window (you can also use the mouse for that)
|
# resize window (you can also use the mouse for that)
|
||||||
mode "resize" {
|
mode "resize" {
|
||||||
|
@ -219,6 +223,9 @@ mode "resize" {
|
||||||
|
|
||||||
bindsym $mod+r mode "resize"
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
# Windows to force floating
|
||||||
|
for_window [class="Plexamp"] floating enable
|
||||||
|
|
||||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||||
# finds out, if available)
|
# finds out, if available)
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
{
|
||||||
home.file."/home/vylpes/.config/nvim/init.lua".source = ./init.lua;
|
home.file."/home/vylpes/.config/nvim/init.vim".source = ./init.vim;
|
||||||
home.file."/home/vylpes/.config/nvim/coc-settings.json".source = ./coc-settings.json;
|
home.file."/home/vylpes/.config/nvim/coc-settings.json".source = ./coc-settings.json;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,245 +0,0 @@
|
||||||
-- Leader key
|
|
||||||
vim.g.mapleader = " "
|
|
||||||
|
|
||||||
-- Disable Copilot by default
|
|
||||||
vim.g.copilot_enabled = false
|
|
||||||
|
|
||||||
-- Basic settings
|
|
||||||
vim.opt.compatible = false
|
|
||||||
vim.opt.showmatch = true
|
|
||||||
vim.opt.ignorecase = true
|
|
||||||
vim.opt.mouse = "v"
|
|
||||||
vim.opt.hlsearch = true
|
|
||||||
vim.opt.incsearch = true
|
|
||||||
|
|
||||||
-- Tab and indentation settings
|
|
||||||
vim.opt.tabstop = 4
|
|
||||||
vim.opt.softtabstop = 4
|
|
||||||
vim.opt.expandtab = true
|
|
||||||
vim.opt.shiftwidth = 4
|
|
||||||
vim.opt.autoindent = true
|
|
||||||
|
|
||||||
-- Line numbering
|
|
||||||
vim.opt.number = true
|
|
||||||
vim.opt.relativenumber = true
|
|
||||||
|
|
||||||
-- Command-line completion mode
|
|
||||||
vim.opt.wildmode = { "longest", "list" }
|
|
||||||
|
|
||||||
-- Column marker at 80 characters
|
|
||||||
vim.opt.colorcolumn = "80"
|
|
||||||
|
|
||||||
-- Enable filetype plugins and indentation
|
|
||||||
vim.cmd("filetype plugin indent on")
|
|
||||||
|
|
||||||
-- Enable syntax highlighting
|
|
||||||
vim.cmd("syntax on")
|
|
||||||
|
|
||||||
-- Enable mouse support
|
|
||||||
vim.opt.mouse = "a"
|
|
||||||
|
|
||||||
-- Use system clipboard
|
|
||||||
vim.opt.clipboard = "unnamedplus"
|
|
||||||
|
|
||||||
-- Enable cursorline
|
|
||||||
vim.opt.cursorline = true
|
|
||||||
|
|
||||||
-- Optimize for fast terminal
|
|
||||||
vim.opt.ttyfast = true
|
|
||||||
|
|
||||||
-- Do not add a newline at the end of the file
|
|
||||||
vim.opt.fixeol = false
|
|
||||||
|
|
||||||
-- Enable syntax highlighting
|
|
||||||
vim.cmd("syntax enable")
|
|
||||||
|
|
||||||
-- Set colorscheme to dracula
|
|
||||||
vim.cmd("colorscheme dracula")
|
|
||||||
|
|
||||||
-- Open new vertical splits to the right
|
|
||||||
vim.opt.splitright = true
|
|
||||||
|
|
||||||
-- Open new horizontal splits below
|
|
||||||
vim.opt.splitbelow = true
|
|
||||||
|
|
||||||
-- Insert mode mappings
|
|
||||||
vim.api.nvim_set_keymap('i', '<A-j>', '<Esc>:m .+1<CR>==gi', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('i', '<A-k>', '<Esc>:m .-2<CR>==gi', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Visual mode mappings
|
|
||||||
vim.api.nvim_set_keymap('v', '<A-j>', ":m '>+1<CR>gv=gv", { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('v', '<A-k>', ":m '<-2<CR>gv=gv", { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Normal mode mappings for window movement
|
|
||||||
vim.api.nvim_set_keymap('n', '<A-h>', '<C-W>H', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<A-j>', '<C-W>J', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<A-k>', '<C-W>K', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<A-l>', '<C-W>L', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Normal mode mappings for window navigation
|
|
||||||
vim.api.nvim_set_keymap('n', '<C-h>', '<C-w>h', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<C-j>', '<C-w>j', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<C-k>', '<C-w>k', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<C-l>', '<C-w>l', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Normal mode mapping for opening file in vertical split
|
|
||||||
vim.api.nvim_set_keymap('n', 'gf', ':vert winc f<CR>', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Insert mode mappings for CoC (Conquer of Completion)
|
|
||||||
vim.api.nvim_set_keymap('i', '<CR>', [[coc#pum#visible() ? coc#_select_confirm() : "\<C-g>u\<CR>"]], { noremap = true, silent = true, expr = true })
|
|
||||||
vim.api.nvim_set_keymap('i', '<Tab>', [[coc#pum#visible() ? coc#pum#next(1) : "\<Tab>"]], { noremap = true, silent = true, expr = true })
|
|
||||||
vim.api.nvim_set_keymap('i', '<S-Tab>', [[coc#pum#visible() ? coc#pum#prev(1) : "\<S-Tab>"]], { noremap = true, silent = true, expr = true })
|
|
||||||
|
|
||||||
-- Normal mode mappings for NERDTree
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>n', ':NERDTreeFocus<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<C-n>', ':NERDTree<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<C-t>', ':NERDTreeToggle<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<C-f>', ':NERDTreeFind<CR>', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Normal mode mapping for opening file explorer
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>ee', ':Ex<CR>', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Harpoon mappings
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>ha', '<cmd>lua require("harpoon.mark").add_file()<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>hh', '<cmd>lua require("harpoon.ui").toggle_quick_menu()<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>1', '<cmd>lua require("harpoon.ui").nav_file(1)<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>2', '<cmd>lua require("harpoon.ui").nav_file(2)<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>3', '<cmd>lua require("harpoon.ui").nav_file(3)<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>4', '<cmd>lua require("harpoon.ui").nav_file(4)<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<A-[>', '<cmd>lua require("harpoon.ui").nav_prev()<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<A-]>', '<cmd>lua require("harpoon.ui").nav_next()<CR>', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- FZF mapping
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>ff', ':FZF<CR>', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Miscellaneous mappings
|
|
||||||
vim.api.nvim_set_keymap('n', 'mm', ':nohl<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', 'ml', ':%s/\\r//g<CR>', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Yarn mappings
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>yb', ':!yarn build<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>yi', ':!yarn install<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>ys', ':!yarn start<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>yt', ':!yarn test<CR>', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Dotnet mapping
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>dr', ':!dotnet run<CR>', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Prettier mapping
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>p', '<Plug>(prettier-format)', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Copilot Chat mappings
|
|
||||||
vim.api.nvim_set_keymap('n', '<C-p>', ':CopilotChatToggle<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>ps', ':CopilotChatStop<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>pr', ':CopilotChatReset<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('v', '<leader>pe', ':CopilotChatExplain<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('v', '<leader>pr', ':CopilotChatReview<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('v', '<leader>pf', ':CopilotChatFix<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('v', '<leader>po', ':CopilotChatOptimize<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('v', '<leader>pd', ':CopilotChatDocs<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('v', '<leader>pt', ':CopilotChatTests<CR>', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Harpoon mappings
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>ha', '<cmd>lua require("harpoon.mark").add_file()<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>hh', '<cmd>lua require("harpoon.ui").toggle_quick_menu()<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>1', '<cmd>lua require("harpoon.ui").nav_file(1)<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>2', '<cmd>lua require("harpoon.ui").nav_file(2)<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>3', '<cmd>lua require("harpoon.ui").nav_file(3)<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>4', '<cmd>lua require("harpoon.ui").nav_file(4)<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<A-[>', '<cmd>lua require("harpoon.ui").nav_prev()<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<A-]>', '<cmd>lua require("harpoon.ui").nav_next()<CR>', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- FZF mapping
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>ff', ':FZF<CR>', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Miscellaneous mappings
|
|
||||||
vim.api.nvim_set_keymap('n', 'mm', ':nohl<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', 'ml', ':%s/\\r//g<CR>', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Yarn mappings
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>yb', ':!yarn build<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>yi', ':!yarn install<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>ys', ':!yarn start<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>yt', ':!yarn test<CR>', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Dotnet mapping
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>dr', ':!dotnet run<CR>', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Prettier mapping
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>p', '<Plug>(prettier-format)', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- Copilot mappings
|
|
||||||
vim.api.nvim_set_keymap('n', '<C-p>', ':CopilotChatToggle<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>ps', ':CopilotChatStop<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>pr', ':CopilotChatReset<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('v', '<leader>pe', ':CopilotChatExplain<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('v', '<leader>pr', ':CopilotChatReview<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('v', '<leader>pf', ':CopilotChatFix<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('v', '<leader>po', ':CopilotChatOptimize<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('v', '<leader>pd', ':CopilotChatDocs<CR>', { noremap = true, silent = true })
|
|
||||||
vim.api.nvim_set_keymap('v', '<leader>pt', ':CopilotChatTests<CR>', { noremap = true, silent = true })
|
|
||||||
|
|
||||||
local ensure_packer = function()
|
|
||||||
local fn = vim.fn
|
|
||||||
local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
|
|
||||||
if fn.empty(fn.glob(install_path)) > 0 then
|
|
||||||
fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
|
|
||||||
vim.cmd [[packadd packer.nvim]]
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
return false
|
|
||||||
end
|
|
||||||
|
|
||||||
local packer_bootstrap = ensure_packer()
|
|
||||||
|
|
||||||
vim.cmd [[packadd packer.nvim]]
|
|
||||||
|
|
||||||
require('packer').startup(function(use)
|
|
||||||
-- Packer can manage itself
|
|
||||||
use 'wbthomason/packer.nvim'
|
|
||||||
|
|
||||||
-- Plugins
|
|
||||||
use 'dracula/vim'
|
|
||||||
use 'ryanoasis/vim-devicons'
|
|
||||||
-- use 'SirVer/ultisnips'
|
|
||||||
use 'honza/vim-snippets'
|
|
||||||
use 'scrooloose/nerdtree'
|
|
||||||
use 'preservim/nerdcommenter'
|
|
||||||
use 'mhinz/vim-startify'
|
|
||||||
use {'neoclide/coc.nvim', branch = 'release'}
|
|
||||||
use 'nvim-lua/plenary.nvim'
|
|
||||||
use 'ThePrimeagen/harpoon'
|
|
||||||
use {'junegunn/fzf', run = function() vim.fn['fzf#install']() end}
|
|
||||||
use 'junegunn/fzf.vim'
|
|
||||||
use 'neovim/nvim-lspconfig'
|
|
||||||
use 'jose-elias-alvarez/null-ls.nvim'
|
|
||||||
use 'MunifTanjim/prettier.nvim'
|
|
||||||
use 'github/copilot.vim'
|
|
||||||
use {'CopilotC-Nvim/CopilotChat.nvim', branch = 'canary'}
|
|
||||||
end)
|
|
||||||
|
|
||||||
-- Copilot Chat
|
|
||||||
local prompts = require('CopilotChat.prompts')
|
|
||||||
local select = require('CopilotChat.select')
|
|
||||||
|
|
||||||
require("CopilotChat").setup {
|
|
||||||
debug = false,
|
|
||||||
|
|
||||||
question_header = '## User ',
|
|
||||||
answer_header = '## Copilot ',
|
|
||||||
error_header = '## Error ',
|
|
||||||
separator = '---',
|
|
||||||
|
|
||||||
selection = function(source)
|
|
||||||
return select.visual(source) or select.line(source)
|
|
||||||
end,
|
|
||||||
|
|
||||||
window = {
|
|
||||||
layout = 'float',
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
if vim.fn.has("termguicolors") == 1 then
|
|
||||||
vim.opt.termguicolors = true
|
|
||||||
end
|
|
||||||
|
|
143
config/packages/neovim/init.vim
Normal file
143
config/packages/neovim/init.vim
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
let mapleader = " "
|
||||||
|
let g:copilot_enabled = v:false
|
||||||
|
|
||||||
|
set nocompatible
|
||||||
|
set showmatch
|
||||||
|
set ignorecase
|
||||||
|
set mouse=v
|
||||||
|
set hlsearch
|
||||||
|
set incsearch
|
||||||
|
set tabstop=4
|
||||||
|
set softtabstop=4
|
||||||
|
set expandtab
|
||||||
|
set shiftwidth=4
|
||||||
|
set autoindent
|
||||||
|
set number
|
||||||
|
set relativenumber
|
||||||
|
set wildmode=longest,list
|
||||||
|
set cc=80
|
||||||
|
filetype plugin indent on
|
||||||
|
syntax on
|
||||||
|
set mouse=a
|
||||||
|
set clipboard=unnamedplus
|
||||||
|
filetype plugin on
|
||||||
|
set cursorline
|
||||||
|
set ttyfast
|
||||||
|
set nofixeol
|
||||||
|
|
||||||
|
let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim'
|
||||||
|
if empty(glob(data_dir . '/autoload/plug.vim'))
|
||||||
|
silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
|
||||||
|
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
|
||||||
|
endif
|
||||||
|
|
||||||
|
call plug#begin("~/.vim/plugged")
|
||||||
|
Plug 'dracula/vim'
|
||||||
|
Plug 'ryanoasis/vim-devicons'
|
||||||
|
" Plug 'SirVer/ultisnips'
|
||||||
|
Plug 'honza/vim-snippets'
|
||||||
|
Plug 'scrooloose/nerdtree'
|
||||||
|
Plug 'preservim/nerdcommenter'
|
||||||
|
Plug 'mhinz/vim-startify'
|
||||||
|
Plug 'neoclide/coc.nvim', {'branch': 'release'}
|
||||||
|
Plug 'nvim-lua/plenary.nvim'
|
||||||
|
Plug 'ThePrimeagen/harpoon'
|
||||||
|
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
|
||||||
|
Plug 'junegunn/fzf.vim'
|
||||||
|
Plug 'neovim/nvim-lspconfig'
|
||||||
|
Plug 'jose-elias-alvarez/null-ls.nvim'
|
||||||
|
Plug 'MunifTanjim/prettier.nvim'
|
||||||
|
Plug 'github/copilot.vim'
|
||||||
|
Plug 'CopilotC-Nvim/CopilotChat.nvim', { 'branch': 'canary' }
|
||||||
|
call plug#end()
|
||||||
|
|
||||||
|
lua << EOF
|
||||||
|
local prompts = require('CopilotChat.prompts')
|
||||||
|
local select = require('CopilotChat.select')
|
||||||
|
|
||||||
|
require("CopilotChat").setup {
|
||||||
|
debug = false,
|
||||||
|
|
||||||
|
question_header = '## User ',
|
||||||
|
answer_header = '## Copilot ',
|
||||||
|
error_header = '## Error ',
|
||||||
|
separator = '---',
|
||||||
|
|
||||||
|
selection = function(source)
|
||||||
|
return select.visual(source) or select.line(source)
|
||||||
|
end,
|
||||||
|
|
||||||
|
window = {
|
||||||
|
layout = 'float',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
if (has("termguicolors"))
|
||||||
|
set termguicolors
|
||||||
|
endif
|
||||||
|
syntax enable
|
||||||
|
colorscheme dracula
|
||||||
|
|
||||||
|
set splitright
|
||||||
|
set splitbelow
|
||||||
|
|
||||||
|
inoremap <A-j> <Esc>:m .+1<CR>==gi
|
||||||
|
inoremap <A-k> <Esc>:m .-2<CR>==gi
|
||||||
|
vnoremap <A-j> :m '>+1<CR>gv=gv
|
||||||
|
vnoremap <A-k> :m '<-2<CR>gv=gv
|
||||||
|
|
||||||
|
nnoremap <A-h> <C-W>H
|
||||||
|
nnoremap <A-j> <C-W>J
|
||||||
|
nnoremap <A-k> <C-W>K
|
||||||
|
nnoremap <A-l> <C-W>L
|
||||||
|
|
||||||
|
nnoremap <C-h> <C-w>h
|
||||||
|
nnoremap <C-j> <C-w>j
|
||||||
|
nnoremap <C-k> <C-w>k
|
||||||
|
nnoremap <C-l> <C-w>l
|
||||||
|
|
||||||
|
nnoremap gf :vert winc f<cr>
|
||||||
|
|
||||||
|
inoremap <silent><expr> <cr> coc#pum#visible() ? coc#_select_confirm() : "\<C-g>u\<CR>"
|
||||||
|
inoremap <expr> <Tab> coc#pum#visible() ? coc#pum#next(1) : "\<Tab>"
|
||||||
|
inoremap <expr> <S-Tab> coc#pum#visible() ? coc#pum#prev(1) : "\<S-Tab>"
|
||||||
|
|
||||||
|
nnoremap <leader>n :NERDTreeFocus<CR>
|
||||||
|
nnoremap <C-n> :NERDTree<CR>
|
||||||
|
nnoremap <C-t> :NERDTreeToggle<CR>
|
||||||
|
nnoremap <C-f> :NERDTreeFind<CR>
|
||||||
|
nnoremap <leader>ee :Ex<CR>
|
||||||
|
|
||||||
|
nnoremap <leader>ha <cmd>lua require("harpoon.mark").add_file()<CR>
|
||||||
|
nnoremap <leader>hh <cmd>lua require("harpoon.ui").toggle_quick_menu()<CR>
|
||||||
|
nnoremap <leader>1 <cmd>lua require("harpoon.ui").nav_file(1)<CR>
|
||||||
|
nnoremap <leader>2 <cmd>lua require("harpoon.ui").nav_file(2)<CR>
|
||||||
|
nnoremap <leader>3 <cmd>lua require("harpoon.ui").nav_file(3)<CR>
|
||||||
|
nnoremap <leader>4 <cmd>lua require("harpoon.ui").nav_file(4)<CR>
|
||||||
|
nnoremap <A-[> <cmd>lua require("harpoon.ui").nav_prev()<CR>
|
||||||
|
nnoremap <A-]> <cmd>lua require("harpoon.ui").nav_next()<CR>
|
||||||
|
|
||||||
|
nnoremap <leader>ff :FZF<CR>
|
||||||
|
|
||||||
|
nnoremap mm :nohl<CR>
|
||||||
|
nnoremap ml :%s/\r//g<CR>
|
||||||
|
|
||||||
|
nnoremap <leader>yb :!yarn build<CR>
|
||||||
|
nnoremap <leader>yi :!yarn install<CR>
|
||||||
|
nnoremap <leader>ys :!yarn start<CR>
|
||||||
|
nnoremap <leader>yt :!yarn test<CR>
|
||||||
|
|
||||||
|
nnoremap <leader>dr :!dotnet run<CR>
|
||||||
|
|
||||||
|
nnoremap <leader>p <Plug>(prettier-format)<CR>
|
||||||
|
|
||||||
|
nnoremap <C-p> :CopilotChatToggle<CR>
|
||||||
|
nnoremap <leader>ps :CopilotChatStop<CR>
|
||||||
|
nnoremap <leader>pr :CopilotChatReset<CR>
|
||||||
|
vnoremap <leader>pe :CopilotChatExplain<CR>
|
||||||
|
vnoremap <leader>pr :CopilotChatReview<CR>
|
||||||
|
vnoremap <leader>pf :CopilotChatFix<CR>
|
||||||
|
vnoremap <leader>po :CopilotChatOptimize<CR>
|
||||||
|
vnoremap <leader>pd :CopilotChatDocs<CR>
|
||||||
|
vnoremap <leader>pt :CopilotChatTests<CR>
|
|
@ -1,13 +0,0 @@
|
||||||
# Neovim
|
|
||||||
|
|
||||||
Neovim is mostly configured in the flake, we just need to install packer
|
|
||||||
separately, although this is only required to do once.
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
Run the following command in the terminal
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
|
|
||||||
~/.local/share/nvim/site/pack/packer/start/packer.nvim
|
|
||||||
```
|
|
|
@ -23,11 +23,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729691686,
|
"lastModified": 1735563628,
|
||||||
"narHash": "sha256-BAuPWW+9fa1moZTU+jFh+1cUtmsuF8asgzFwejM4wac=",
|
"narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "32e940c7c420600ef0d1ef396dc63b04ee9cad37",
|
"rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -115,6 +115,7 @@
|
||||||
gco = "git checkout";
|
gco = "git checkout";
|
||||||
|
|
||||||
s = "swallow";
|
s = "swallow";
|
||||||
|
nrb = "sudo nixos-rebuild switch --flake /home/vylpes/flake#\${HOST}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -166,7 +167,6 @@
|
||||||
ovmf.packages = [ pkgs.OVMFFull.fd ];
|
ovmf.packages = [ pkgs.OVMFFull.fd ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
virtualbox.host.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
|
|
|
@ -14,19 +14,17 @@
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/3c957d4e-06fc-40bc-b5b9-2583d0f7ee94";
|
{ device = "/dev/disk/by-uuid/b05ff56e-2fdb-4472-a380-b2a0ef9229cc";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" =
|
||||||
{ device = "/dev/disk/by-uuid/2D69-3A13";
|
{ device = "/dev/disk/by-uuid/725A-BE77";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [ ];
|
||||||
[ { device = "/dev/disk/by-uuid/3de826ff-b7e3-44bc-97d2-4bd2248f9555"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
|
@ -14,19 +14,17 @@
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/d3ac6957-c669-410a-836c-dbe67e684b55";
|
{ device = "/dev/disk/by-uuid/0a7cd202-311d-4ece-a487-ade7c847036b";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" =
|
||||||
{ device = "/dev/disk/by-uuid/877D-2522";
|
{ device = "/dev/disk/by-uuid/4158-074D";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [ ];
|
||||||
[ { device = "/dev/disk/by-uuid/552e97ec-9516-4c0e-bab8-411a7bbdbb69"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
Loading…
Reference in a new issue