move stuff to nix lol

This commit is contained in:
2026-02-20 00:32:10 +01:00
parent 166d152536
commit d9a2cb3e32
32 changed files with 3844 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"modules": [
"title",
"separator",
"os",
"host",
"kernel",
"packages",
"separator",
"wm",
"shell",
"terminal",
"theme",
"font",
"locale",
"separator",
"display",
"cpu",
"gpu",
"memory",
"disk",
"battery",
"separator",
"wifi",
"localip",
"break",
"colors"
]
}

View File

@@ -0,0 +1,26 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"source": "arch_small",
"padding": {
"bottom": 1,
}
},
"display": {
"separator": " ➜ ",
},
"modules": [
"title",
"kernel",
"packages",
"shell",
"battery",
{
"type": "separator",
"string": " • ",
},
"break",
"break",
"break"
]
}

View File

@@ -0,0 +1,25 @@
[Settings]
gtk-theme-name=catppuccin-mocha-maroon-standard+default
gtk-icon-theme-name=Papirus-Dark
gtk-font-name=Noto Sans, 10
gtk-cursor-theme-name=default
gtk-cursor-theme-size=32
gtk-toolbar-style=3
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=0
gtk-menu-images=0
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintslight
gtk-xft-rgba=rgb
gtk-application-prefer-dark-theme=0
gtk-cursor-blink=true
gtk-cursor-blink-time=1000
gtk-decoration-layout=icon:minimize,maximize,close
gtk-enable-animations=true
gtk-modules=colorreload-gtk-module
gtk-primary-button-warps-slider=true
gtk-sound-theme-name=ocean
gtk-xft-dpi=117964

View File

@@ -0,0 +1,84 @@
@define-color borders_breeze #bcbebf;
@define-color content_view_bg_breeze #ffffff;
@define-color error_color_backdrop_breeze #da4453;
@define-color error_color_breeze #da4453;
@define-color error_color_insensitive_backdrop_breeze #f0b1b8;
@define-color error_color_insensitive_breeze #f0b1b8;
@define-color insensitive_base_color_breeze #f3f3f3;
@define-color insensitive_base_fg_color_breeze #aaabac;
@define-color insensitive_bg_color_breeze #e3e5e7;
@define-color insensitive_borders_breeze #d2d4d6;
@define-color insensitive_fg_color_breeze #a0a1a3;
@define-color insensitive_selected_bg_color_breeze #e3e5e7;
@define-color insensitive_selected_fg_color_breeze #a0a1a3;
@define-color insensitive_unfocused_bg_color_breeze #e3e5e7;
@define-color insensitive_unfocused_fg_color_breeze #a0a1a3;
@define-color insensitive_unfocused_selected_bg_color_breeze #e3e5e7;
@define-color insensitive_unfocused_selected_fg_color_breeze #a0a1a3;
@define-color link_color_breeze #2980b9;
@define-color link_visited_color_breeze #9b59b6;
@define-color success_color_backdrop_breeze #27ae60;
@define-color success_color_breeze #27ae60;
@define-color success_color_insensitive_backdrop_breeze #abd8be;
@define-color success_color_insensitive_breeze #abd8be;
@define-color theme_base_color_breeze #ffffff;
@define-color theme_bg_color_breeze #eff0f1;
@define-color theme_button_background_backdrop_breeze #fcfcfc;
@define-color theme_button_background_backdrop_insensitive_breeze #f0f0f0;
@define-color theme_button_background_insensitive_breeze #f0f0f0;
@define-color theme_button_background_normal_breeze #fcfcfc;
@define-color theme_button_decoration_focus_backdrop_breeze #3daee9;
@define-color theme_button_decoration_focus_backdrop_insensitive_breeze #a2d8f3;
@define-color theme_button_decoration_focus_breeze #3daee9;
@define-color theme_button_decoration_focus_insensitive_breeze #a2d8f3;
@define-color theme_button_decoration_hover_backdrop_breeze #3daee9;
@define-color theme_button_decoration_hover_backdrop_insensitive_breeze #a2d8f3;
@define-color theme_button_decoration_hover_breeze #3daee9;
@define-color theme_button_decoration_hover_insensitive_breeze #a2d8f3;
@define-color theme_button_foreground_active_backdrop_breeze #232629;
@define-color theme_button_foreground_active_backdrop_insensitive_breeze #a0a1a3;
@define-color theme_button_foreground_active_breeze #ffffff;
@define-color theme_button_foreground_active_insensitive_breeze #a0a1a3;
@define-color theme_button_foreground_backdrop_breeze #232629;
@define-color theme_button_foreground_backdrop_insensitive_breeze #a8a9aa;
@define-color theme_button_foreground_insensitive_breeze #a8a9aa;
@define-color theme_button_foreground_normal_breeze #232629;
@define-color theme_fg_color_breeze #232629;
@define-color theme_header_background_backdrop_breeze #eff0f1;
@define-color theme_header_background_breeze #dee0e2;
@define-color theme_header_background_light_breeze #eff0f1;
@define-color theme_header_foreground_backdrop_breeze #232629;
@define-color theme_header_foreground_breeze #232629;
@define-color theme_header_foreground_insensitive_backdrop_breeze #232629;
@define-color theme_header_foreground_insensitive_breeze #232629;
@define-color theme_hovering_selected_bg_color_breeze #3daee9;
@define-color theme_selected_bg_color_breeze #3daee9;
@define-color theme_selected_fg_color_breeze #ffffff;
@define-color theme_text_color_breeze #232629;
@define-color theme_titlebar_background_backdrop_breeze #eff0f1;
@define-color theme_titlebar_background_breeze #dee0e2;
@define-color theme_titlebar_background_light_breeze #eff0f1;
@define-color theme_titlebar_foreground_backdrop_breeze #232629;
@define-color theme_titlebar_foreground_breeze #232629;
@define-color theme_titlebar_foreground_insensitive_backdrop_breeze #232629;
@define-color theme_titlebar_foreground_insensitive_breeze #232629;
@define-color theme_unfocused_base_color_breeze #ffffff;
@define-color theme_unfocused_bg_color_breeze #eff0f1;
@define-color theme_unfocused_fg_color_breeze #232629;
@define-color theme_unfocused_selected_bg_color_alt_breeze #c2e0f5;
@define-color theme_unfocused_selected_bg_color_breeze #c2e0f5;
@define-color theme_unfocused_selected_fg_color_breeze #232629;
@define-color theme_unfocused_text_color_breeze #232629;
@define-color theme_unfocused_view_bg_color_breeze #f3f3f3;
@define-color theme_unfocused_view_text_color_breeze #aaabac;
@define-color theme_view_active_decoration_color_breeze #3daee9;
@define-color theme_view_hover_decoration_color_breeze #3daee9;
@define-color tooltip_background_breeze #f7f7f7;
@define-color tooltip_border_breeze #c2c3c4;
@define-color tooltip_text_breeze #232629;
@define-color unfocused_borders_breeze #bcbebf;
@define-color unfocused_insensitive_borders_breeze #d2d4d6;
@define-color warning_color_backdrop_breeze #f67400;
@define-color warning_color_breeze #f67400;
@define-color warning_color_insensitive_backdrop_breeze #fbc289;
@define-color warning_color_insensitive_breeze #fbc289;

View File

@@ -0,0 +1,7 @@
[Settings]
gtk-theme-name=catppuccin-mocha-maroon-standard+default
gtk-icon-theme-name=Papirus-Dark
gtk-font-name=Noto Sans, 10
gtk-cursor-theme-name=default
gtk-cursor-theme-size=32
gtk-application-prefer-dark-theme=0

2545
dotfiles/kitty/kitty.conf Normal file

File diff suppressed because it is too large Load Diff

80
dotfiles/kitty/theme.conf Normal file
View File

@@ -0,0 +1,80 @@
# vim:ft=kitty
## name: Catppuccin Kitty Mocha
## author: Catppuccin Org
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #cdd6f4
background #1e1e2e
selection_foreground #1e1e2e
selection_background #f5e0dc
# Cursor colors
cursor #f5e0dc
cursor_text_color #1e1e2e
# URL underline color when hovering with mouse
url_color #f5e0dc
# Kitty window border colors
active_border_color #b4befe
inactive_border_color #6c7086
bell_border_color #f9e2af
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #11111b
active_tab_background #cba6f7
inactive_tab_foreground #cdd6f4
inactive_tab_background #181825
tab_bar_background #11111b
# Colors for marks (marked text in the terminal)
mark1_foreground #1e1e2e
mark1_background #b4befe
mark2_foreground #1e1e2e
mark2_background #cba6f7
mark3_foreground #1e1e2e
mark3_background #74c7ec
# The 16 terminal colors
# black
color0 #45475a
color8 #585b70
# red
color1 #f38ba8
color9 #f38ba8
# green
color2 #a6e3a1
color10 #a6e3a1
# yellow
color3 #f9e2af
color11 #f9e2af
# blue
color4 #89b4fa
color12 #89b4fa
# magenta
color5 #f5c2e7
color13 #f5c2e7
# cyan
color6 #94e2d5
color14 #94e2d5
# white
color7 #bac2de
color15 #a6adc8

View File

@@ -0,0 +1,80 @@
# vim:ft=kitty
## name: Catppuccin Kitty Latte
## author: Catppuccin Org
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/latte.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #3b3e55
background #e0e2e8
selection_foreground #eff1f5
selection_background #dc8a78
# Cursor colors
cursor #dc8a78
cursor_text_color #eff1f5
# URL underline color when hovering with mouse
url_color #dc8a78
# Kitty window border colors
active_border_color #7287fd
inactive_border_color #9ca0b0
bell_border_color #df8e1d
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #eff1f5
active_tab_background #8839ef
inactive_tab_foreground #4c4f69
inactive_tab_background #9ca0b0
tab_bar_background #bcc0cc
# Colors for marks (marked text in the terminal)
mark1_foreground #eff1f5
mark1_background #7287fd
mark2_foreground #eff1f5
mark2_background #8839ef
mark3_foreground #eff1f5
mark3_background #209fb5
# The 16 terminal colors
# black
color0 #5c5f77
color8 #6c6f85
# red
color1 #d20f39
color9 #d20f39
# green
color2 #40a02b
color10 #40a02b
# yellow
color3 #df8e1d
color11 #df8e1d
# blue
color4 #1e66f5
color12 #1e66f5
# magenta
color5 #ea76cb
color13 #ea76cb
# cyan
color6 #179299
color14 #179299
# white
color7 #acb0be
color15 #bcc0cc

View File

@@ -0,0 +1,79 @@
################### File Generated by Goverlay ###################
legacy_layout=false
background_alpha=0.6
round_corners=10
background_alpha=0.6
background_color=000000
font_size=24
text_color=C0C0C0
position=top-right
no_display
hud_compact
pci_dev=0:03:00.0
table_columns=2
gpu_text=GPU
gpu_stats
gpu_voltage
gpu_core_clock
gpu_mem_clock
gpu_temp
gpu_mem_temp
gpu_fan
gpu_power
gpu_color=F1003B
cpu_text=CPU
cpu_stats
cpu_load_change
cpu_load_value=50,90
cpu_load_color=FFFFFF,FFAA7F,CC0000
cpu_mhz
cpu_temp
cpu_power
cpu_color=FA8000
io_stats
io_read
io_write
io_color=C0C0C0
vram
vram_color=F1003B
vram_color=F1003B
ram
ram_color=FA8000
fps
fps_metrics=avg,0.01
gpu_name
frame_timing
frametime_color=FA8000
fps_limit_method=late
toggle_fps_limit=Shift_L+F1
fps_limit=0
resolution
gamemode
custom_text=-
exec=cat /home/szymon/.config/goverlay/distro
custom_text=-
exec=uname -r
fps_color_change
fps_color=B22222,FDFD09,39F900
fps_value=30,60
#offset=0
output_folder=/home/szymon
log_duration=30
autostart_log=0
log_interval=100
toggle_logging=Shift_L+F2
blacklist=pamac-manager,lact,ghb,bitwig-studio,ptyxis,yumex

3
dotfiles/nvim/init.lua Normal file
View File

@@ -0,0 +1,3 @@
require("config.lazy")
require("config.set")
require("config.remaps")

View File

@@ -0,0 +1,20 @@
{
"LuaSnip": { "branch": "master", "commit": "dae4f5aaa3574bd0c2b9dd20fb9542a02c10471c" },
"catppuccin": { "branch": "main", "commit": "0a5de4da015a175f416d6ef1eda84661623e0500" },
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" },
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"gitsigns.nvim": { "branch": "main", "commit": "9f3c6dd7868bcc116e9c1c1929ce063b978fa519" },
"harpoon": { "branch": "harpoon2", "commit": "87b1a3506211538f460786c23f98ec63ad9af4e5" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "21c2a84ce368e99b18f52ab348c4c02c32c02fcf" },
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
"nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" },
"nvim-cmp": { "branch": "main", "commit": "da88697d7f45d16852c6b2769dc52387d1ddc45f" },
"nvim-lspconfig": { "branch": "master", "commit": "44acfe887d4056f704ccc4f17513ed41c9e2b2e6" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
}

View File

@@ -0,0 +1,36 @@
-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
-- Make sure to setup `mapleader` and `maplocalleader` before
-- loading lazy.nvim so that mappings are correct.
-- This is also a good place to setup other settings (vim.opt)
vim.api.nvim_set_keymap('', "<Space>", "<Nop>", { noremap = true, silent = true })
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"
-- Setup lazy.nvim
require("lazy").setup({
spec = {
-- import your plugins
{ import = "plugins" },
},
-- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins.
install = { colorscheme = { "habamax" } },
-- automatically check for plugin updates
checker = { enabled = true },
})

View File

@@ -0,0 +1,13 @@
-- shift code --
vim.keymap.set('x', '>', ">gv", { desc = "Shift code right" })
vim.keymap.set('x', '<', "<gv", { desc = "Shift code left" })
-- lsp --
vim.keymap.set('n', '<leader>ca', vim.lsp.buf.code_action, { noremap = true, silent = true, desc = "Code action" })
vim.keymap.set('n', '<leader>cf', vim.lsp.buf.format, { desc = "Code format" })
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { desc = "Go to definition" })
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, { desc = "Go to implementation" })
vim.keymap.set('n', '<leader>r', vim.lsp.buf.rename, { desc = "Rename symbol" })

View File

@@ -0,0 +1,34 @@
-- Colorscheme --
vim.cmd.colorscheme "catppuccin-mocha"
-- Looks --
vim.opt.relativenumber = true
vim.opt.number = true
vim.opt.signcolumn = 'yes'
vim.opt.cursorline = false
vim.opt.list = true
vim.opt.wrap = true
vim.opt.shiftwidth = 4
vim.opt.tabstop = 4
vim.opt.expandtab = true
vim.opt.list = true
-- Highlight line yank --
vim.api.nvim_create_augroup("YankHighlight", { clear = true })
vim.api.nvim_create_autocmd("TextYankPost", {
group = "YankHighlight",
callback = function()
vim.highlight.on_yank({ higroup = "IncSearch", timeout = 200 })
end,
})
-- shared clipboard --
vim.opt.clipboard = "unnamedplus"
-- Language --
vim.opt.spell = true
vim.opt.spelllang = { 'pl', 'en' }
-- Telescope --
local builtin = require('telescope.builtin')
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' })
vim.keymap.set('n', '<leader>fg', builtin.git_files, { desc = 'Telescope find git files' })

View File

@@ -0,0 +1,7 @@
return {
'windwp/nvim-autopairs',
event = "InsertEnter",
config = true
-- use opts = {} for passing setup options
-- this is equivalent to setup({}) function
}

View File

@@ -0,0 +1,5 @@
return {
"catppuccin/nvim",
name = "catppuccin",
priority = 1000
}

View File

@@ -0,0 +1,119 @@
return {
"lewis6991/gitsigns.nvim",
config = function()
require('gitsigns').setup {
signs = {
add = { text = '' },
change = { text = '' },
delete = { text = '_' },
topdelete = { text = '' },
changedelete = { text = '~' },
untracked = { text = '' },
},
signs_staged = {
add = { text = '' },
change = { text = '' },
delete = { text = '_' },
topdelete = { text = '' },
changedelete = { text = '~' },
untracked = { text = '' },
},
signs_staged_enable = true,
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
watch_gitdir = {
follow_files = true
},
auto_attach = true,
attach_to_untracked = false,
current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
current_line_blame_opts = {
virt_text = true,
virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
delay = 1000,
ignore_whitespace = false,
virt_text_priority = 100,
use_focus = true,
},
current_line_blame_formatter = '<author>, <author_time:%R> - <summary>',
sign_priority = 6,
update_debounce = 100,
status_formatter = nil, -- Use default
max_file_length = 40000, -- Disable if file is longer than this (in lines)
preview_config = {
-- Options passed to nvim_open_win
style = 'minimal',
relative = 'cursor',
row = 0,
col = 1
},
on_attach = function(bufnr)
local gitsigns = require('gitsigns')
local function map(mode, l, r, opts)
opts = opts or {}
opts.buffer = bufnr
vim.keymap.set(mode, l, r, opts)
end
-- Navigation
map('n', ']c', function()
if vim.wo.diff then
vim.cmd.normal({ ']c', bang = true })
else
gitsigns.nav_hunk('next')
end
end)
map('n', '[c', function()
if vim.wo.diff then
vim.cmd.normal({ '[c', bang = true })
else
gitsigns.nav_hunk('prev')
end
end)
-- Actions
map('n', '<leader>hs', gitsigns.stage_hunk)
map('n', '<leader>hr', gitsigns.reset_hunk)
map('v', '<leader>hs', function()
gitsigns.stage_hunk({ vim.fn.line('.'), vim.fn.line('v') })
end)
map('v', '<leader>hr', function()
gitsigns.reset_hunk({ vim.fn.line('.'), vim.fn.line('v') })
end)
map('n', '<leader>hS', gitsigns.stage_buffer)
map('n', '<leader>hR', gitsigns.reset_buffer)
map('n', '<leader>hp', gitsigns.preview_hunk)
map('n', '<leader>hi', gitsigns.preview_hunk_inline)
map('n', '<leader>hb', function()
gitsigns.blame_line({ full = true })
end)
map('n', '<leader>hd', gitsigns.diffthis)
map('n', '<leader>hD', function()
gitsigns.diffthis('~')
end)
map('n', '<leader>hQ', function() gitsigns.setqflist('all') end)
map('n', '<leader>hq', gitsigns.setqflist)
-- Toggles
map('n', '<leader>tb', gitsigns.toggle_current_line_blame)
map('n', '<leader>tw', gitsigns.toggle_word_diff)
-- Text object
map({ 'o', 'x' }, 'ih', gitsigns.select_hunk)
end
}
end
}

View File

@@ -0,0 +1,48 @@
return {
"ThePrimeagen/harpoon",
branch = "harpoon2",
dependencies = { "nvim-lua/plenary.nvim" },
init = function()
local harpoon = require("harpoon")
-- REQUIRED
harpoon:setup()
-- REQUIRED
vim.keymap.set("n", "<leader>a", function() harpoon:list():add() end, { desc = "Add file to harpoon" })
vim.keymap.set("n", "<C-e>", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end,
{ desc = "Toggle harpoon ui" })
vim.keymap.set("n", "<C-h>", function() harpoon:list():select(1) end)
vim.keymap.set("n", "<C-j>", function() harpoon:list():select(2) end)
vim.keymap.set("n", "<C-k>", function() harpoon:list():select(3) end)
vim.keymap.set("n", "<C-l>", function() harpoon:list():select(4) end)
-- Toggle previous & next buffers stored within Harpoon list
vim.keymap.set("n", "<C-S-P>", function() harpoon:list():prev() end,
{ desc = "Toggle next harpoon buffer" })
vim.keymap.set("n", "<C-S-N>", function() harpoon:list():next() end,
{ desc = "Toggle previous harpoon buffer" })
-- basic telescope configuration
local conf = require("telescope.config").values
local function toggle_telescope(harpoon_files)
local file_paths = {}
for _, item in ipairs(harpoon_files.items) do
table.insert(file_paths, item.value)
end
require("telescope.pickers").new({}, {
prompt_title = "Harpoon",
finder = require("telescope.finders").new_table({
results = file_paths,
}),
previewer = conf.file_previewer({}),
sorter = conf.generic_sorter({}),
}):find()
end
vim.keymap.set("n", "<C-e>", function() toggle_telescope(harpoon:list()) end,
{ desc = "Open harpoon window" })
end
}

View File

@@ -0,0 +1,115 @@
return {
'neovim/nvim-lspconfig',
lazy = false,
dependencies = {
{
"mason-org/mason.nvim",
opts = {
modifiable = true
}
},
{
"mason-org/mason-lspconfig.nvim",
opts = {},
},
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-buffer',
'hrsh7th/cmp-path',
'hrsh7th/cmp-cmdline',
'hrsh7th/nvim-cmp',
'saadparwaiz1/cmp_luasnip',
{ "L3MON4D3/LuaSnip", build = "make install_jsregexp" },
},
config = function()
local cmp_lsp = require("cmp_nvim_lsp")
local cmp = require("cmp")
local cmp_select = { behavior = cmp.SelectBehavior.Select }
cmp.setup({
snippet = {
expand = function(args)
require("luasnip").lsp_expand(args.body)
end,
},
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
mapping = cmp.mapping.preset.insert({
['<C-e>'] = cmp.mapping.abort(),
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
['<C-y>'] = cmp.mapping.confirm({ select = true }),
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'luasnip' },
},
{
{ name = 'buffer' },
})
})
local capabilities = vim.tbl_deep_extend(
"force",
{},
vim.lsp.protocol.make_client_capabilities(),
cmp_lsp.default_capabilities()
)
vim.diagnostic.config({
virtual_text = {
prefix = "",
spacing = 2,
source = "if_many",
},
signs = true,
underline = true,
update_in_insert = false
})
require("mason-lspconfig").setup({
ensure_installed = {
"lua_ls",
"clangd",
"rust_analyzer"
},
handlers = {
function(server_name)
require("lspconfig")[server_name].setup({
capabilities = capabilities,
})
end
},
automatic_enable = true,
})
local buffer_autoformat = function(bufnr)
local group = 'lsp_autoformat'
vim.api.nvim_create_augroup(group, { clear = false })
vim.api.nvim_clear_autocmds({ group = group, buffer = bufnr })
vim.api.nvim_create_autocmd('BufWritePre', {
buffer = bufnr,
group = group,
desc = "Lsp format on save",
callback = function()
vim.lsp.buf.format({ async = false, timeout_ms = 10000 })
end
})
end
vim.api.nvim_create_autocmd('LspAttach', {
callback = function(event)
local id = vim.tbl_get(event, 'data', 'client_id')
local client = id and vim.lsp.get_client_by_id(id)
if client == nil then
return
end
if client.supports_method('textDocument/formatting') then
buffer_autoformat(event.buf)
end
end
})
end,
}

View File

@@ -0,0 +1,5 @@
return {
'nvim-telescope/telescope.nvim',
tag = '0.1.8',
dependencies = { 'nvim-lua/plenary.nvim' }
}

View File

@@ -0,0 +1,18 @@
return {
"folke/which-key.nvim",
event = "VeryLazy",
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
},
keys = {
{
"<leader>?",
function()
require("which-key").show({ global = false })
end,
desc = "Buffer Local Keymaps (which-key)",
},
},
}

BIN
dotfiles/nvim/spell/pl.cp1250.spl Executable file

Binary file not shown.

Binary file not shown.

BIN
dotfiles/nvim/spell/pl.utf-8.spl Executable file

Binary file not shown.

View File

@@ -0,0 +1,70 @@
[general]
# Start Satty in fullscreen mode
fullscreen = true
# Exit directly after copy/save action
early-exit = true
# Draw corners of rectangles round if the value is greater than 0 (0 disables rounded corners)
corner-roundness = 12
# Select the tool on startup [possible values: pointer, crop, line, arrow, rectangle, text, marker, blur, brush]
initial-tool = "crop"
# Configure the command to be called on copy, for example `wl-copy`
copy-command = "wl-copy"
# Increase or decrease the size of the annotations
annotation-size-factor = 2
# Filename to use for saving action. Omit to disable saving to file. Might contain format specifiers: https://docs.rs/chrono/latest/chrono/format/strftime/index.html
output-filename = "/home/szymon/Obrazy/zrzuty/%d-%m-%Y_%H:%M:%S.png"
# After copying the screenshot, save it to a file as well
save-after-copy = true
# Hide toolbars by default
default-hide-toolbars = false
# The primary highlighter to use, the other is accessible by holding CTRL at the start of a highlight [possible values: block, freehand]
primary-highlighter = "block"
# Disable notifications
disable-notifications = false
# Actions to trigger on right click (order is important)
# [possible values: save-to-clipboard, save-to-file, exit]
actions-on-right-click = []
# Actions to trigger on Enter key (order is important)
# [possible values: save-to-clipboard, save-to-file, exit]
actions-on-enter = ["save-to-clipboard"]
# Actions to trigger on Escape key (order is important)
# [possible values: save-to-clipboard, save-to-file, exit]
actions-on-escape = ["exit"]
# Action to perform when the Enter key is pressed [possible values: save-to-clipboard, save-to-file]
# Deprecated: use actions-on-enter instead
action-on-enter = "save-to-clipboard"
# Right click to copy
# Deprecated: use actions-on-right-click instead
right-click-copy = false
# request no window decoration. Please note that the compositor has the final say in this. At this point. requires xdg-decoration-unstable-v1.
no-window-decoration = true
# experimental feature: adjust history size for brush input smooting (0: disabled, default: 0, try e.g. 5 or 10)
brush-smooth-history-size = 10
# Font to use for text annotations
[font]
family = "Roboto"
style = "Bold"
# Custom colours for the colour palette
[color-palette]
# These will be shown in the toolbar for quick selection
palette = [
"#00ffff",
"#a52a2a",
"#dc143c",
"#ff1493",
"#ffd700",
"#008000",
]
# These will be available in the color picker as presets
# Leave empty to use GTK's default
custom = [
"#00ffff",
"#a52a2a",
"#dc143c",
"#ff1493",
"#ffd700",
"#008000",
]

View File

@@ -0,0 +1,26 @@
@define-color rosewater #f5e0dc;
@define-color flamingo #f2cdcd;
@define-color pink #f5c2e7;
@define-color mauve #cba6f7;
@define-color red #f38ba8;
@define-color maroon #eba0ac;
@define-color peach #fab387;
@define-color yellow #f9e2af;
@define-color green #a6e3a1;
@define-color teal #94e2d5;
@define-color sky #89dceb;
@define-color sapphire #74c7ec;
@define-color blue #89b4fa;
@define-color lavender #b4befe;
@define-color text #cdd6f4;
@define-color subtext1 #bac2de;
@define-color subtext0 #a6adc8;
@define-color overlay2 #9399b2;
@define-color overlay1 #7f849c;
@define-color overlay0 #6c7086;
@define-color surface2 #585b70;
@define-color surface1 #45475a;
@define-color surface0 #313244;
@define-color base #1e1e2e;
@define-color mantle #181825;
@define-color crust #11111b;

View File

@@ -0,0 +1,26 @@
@define-color rosewater #dc8a78;
@define-color flamingo #dd7878;
@define-color pink #ea76cb;
@define-color mauve #8839ef;
@define-color red #d20f39;
@define-color maroon #e64553;
@define-color peach #fe640b;
@define-color yellow #df8e1d;
@define-color green #40a02b;
@define-color teal #179299;
@define-color sky #04a5e5;
@define-color sapphire #209fb5;
@define-color blue #1e66f5;
@define-color lavender #7287fd;
@define-color text #4c4f69;
@define-color subtext1 #5c5f77;
@define-color subtext0 #6c6f85;
@define-color overlay2 #7c7f93;
@define-color overlay1 #8c8fa1;
@define-color overlay0 #9ca0b0;
@define-color surface2 #acb0be;
@define-color surface1 #bcc0cc;
@define-color surface0 #ccd0da;
@define-color base #eff1f5;
@define-color mantle #e6e9ef;
@define-color crust #dce0e8;

View File

@@ -0,0 +1,134 @@
// -*- mode: jsonc -*-
{
"layer": "top", // Waybar at top layer
"position": "right", // Waybar position (top|bottom|left|right)
"spacing": 4, // Gaps between modules (4px)
"margin-top": 10,
"margin-bottom": 10,
"margin-left": 8,
"margin-right": 8,
"mode": "dock",
"reload_style_on_change": true,
"width": 70,
"output": [
"DP-1",
"eDP-1",
"LVDS-1"
],
// Choose the order of the modules
"modules-left": [
"clock",
"custom/notifications",
"privacy",
"custom/spotify",
"pulseaudio"
],
"modules-center": [
"hyprland/workspaces"
],
"modules-right": [
"battery",
"tray"
],
"hyprland/workspaces": {
"format": "{} - {icon}",
"on-click": "activate",
"on-click-right": "close",
"all-outputs": true,
"active-only": false,
"sort-by-number": true,
"format-icons": {
"1": "",
"2": "",
"3": "",
"4": "",
"5": "",
"6": "",
"7": "",
"8": "",
"9": "",
"10": "",
"default": ""
}
},
"tray": {
"spacing": 10
},
"clock": {
"format": "<big>{:%R}</big>",
"format-alt": "<small>{:%d.%m.%Y}</small>",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"calendar": {
"mode": "year",
"mode-mon-col": 3,
"weeks-pos": "right",
"on-scroll": 1,
"format": {
"months": "<span color='#ffead3'><b>{}</b></span>",
"days": "<span color='#ecc6d9'><b>{}</b></span>",
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
},
"actions": {
"on-click-right": "mode",
"on-scroll-up": "tz_up",
"on-scroll-down": "tz_down"
}
}
},
"network": {
"format-wifi": " ({signalStrength}%)  ",
"format-ethernet": "",
"tooltip-format": "{ifname} via {gwaddr} with {ipaddr}/{cidr} ",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "Disconnected ⚠",
"on-click": "kitty nmtui"
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": "  ",
"format-source": " {volume}% ",
"format-source-muted": "  ",
"format-icons": {
"headphone": "",
"hands-free": " ",
"headset": " ",
"phone": " ",
"portable": " ",
"car": " ",
"default": [
"",
"",
""
]
},
"on-click": "pavucontrol -t 3",
"on-click-right": "pactl set-sink-mute @DEFAULT_SINK@ toggle"
},
"custom/spotify": {
"format": "{}",
"return-type": "json",
"on-click": "playerctl play-pause --player spotify",
"on-click-right": "killall spotify",
"on-scroll-up": "playerctl next --player spotify",
"on-scroll-down": "playerctl previous --player spotify",
"restart-interval": "0",
"hide-empty-text": true,
"justify": "center",
"max-length": 40,
"exec": "$HOME/.config/waybar/scripts/mediaplayer.sh spotify"
},
"custom/notifications": {
"format": "<big>{text}</big>",
"on-click-right": "~/.local/bin/check-do-not-disturb.sh change",
"exec": "~/.local/bin/check-do-not-disturb.sh show",
"exec-on-event": "~/.local/bin/check-do-not-disturb.sh show",
"tooltip": false,
"return-type": "text",
"signal": 2
}
}

View File

@@ -0,0 +1,34 @@
#!/bin/sh
set -x
if [ -z "$1" ]; then
echo "Użycie: $0 <nazwa_odtwarzacza>"
exit 1
fi
player="$1"
playerctl -p "$player" metadata --format "{{status}} {{artist}} - {{title}}" --follow | while read -r line; do
current_status=$(playerctl --player="$player" status 2>/dev/null)
case "$current_status" in
"Playing")
text=""
;;
"Paused")
text=""
;;
*)
text=""
;;
esac
tooltip=$(playerctl --player="$player" metadata --format "{{artist}} - {{title}}" 2>/dev/null)
tooltip=$(echo "$tooltip" | jq -R .)
json_text="{\"text\": \"$text\", \"tooltip\": $tooltip }"
echo "$json_text"
if [[ -n "$text" ]]; then
pkill -SIGRTMIN+1 waybar
fi
done

119
dotfiles/waybar/style.css Normal file
View File

@@ -0,0 +1,119 @@
@import "./colors.css";
/* Global styles */
* {
transition: 0.2s all ease-in-out;
font-size: 14px;
font-family: inherit;
padding: 3px;
margin: 1px 2px;
color: @text;
border-radius: 12px;
}
*:hover {
text-shadow: none;
}
/* Window */
window#waybar {
background-color: @base;
border-radius: 15px;
}
/* Workspaces */
#workspaces button {
padding: 2px;
margin: 1px;
background: transparent;
color: @lavender;
box-shadow: inset 0 1.5px;
}
#workspaces button:hover {
background-color: @surface1;
box-shadow: inset 2px 5px;
}
#workspaces button.active {
background-color: @surface0;
box-shadow: inset 1px 4px 0 1px;
}
#workspaces button.urgent {
background-color: @red;
animation-name: blink;
animation-duration: 1s;
animation-timing-function: steps(12);
animation-iteration-count: infinite;
animation-direction: alternate;
}
/* Clock */
#clock {
font-style: oblique;
opacity: 1;
}
/* Modules */
.modules-left,
.modules-right,
.modules-center {
background-color: @crust;
}
/* Tray */
#tray>.needs-attention {
background-color: @red;
}
/* Custom */
#custom-spotify:hover {
background-color: @green;
}
#network:hover {
background-color: @sky;
}
#custom-notifications:hover {
background-color: @sapphire;
}
/* Battery */
#battery {
background-color: @base;
}
#battery.warning:not(.charging) {
background: @yellow;
color: @foreground;
animation-name: blink;
animation-duration: 1s;
animation-timing-function: steps(12);
animation-iteration-count: infinite;
animation-direction: alternate;
}
#battery.charging,
#battery.plugged {
color: @foreground;
background-color: @green;
}
#battery.critical:not(.charging) {
background-color: @red;
color: @foreground;
animation-name: blink;
animation-duration: 1s;
animation-timing-function: steps(12);
animation-iteration-count: infinite;
animation-direction: alternate;
}
@keyframes blink {
to {
background-color: #ff0000;
color: #000000;
}
}

View File

@@ -21,6 +21,7 @@
./modules/btop.nix
./modules/atuin.nix
./modules/zoxide.nix
./modules/mako.nix
];
home.stateVersion = "25.11"; # Please read the comment before changing.
@@ -32,6 +33,14 @@
# plain files is through 'home.file'.
home.file = {
".config/ashell/config.toml".source = ./dotfiles/ashell/config.toml;
".config/fastfetch".source = ./dotfiles/fastfetch;
".config/kitty".source = ./dotfiles/kitty;
".config/MangoHud".source = ./dotfiles/mangohud;
".config/nvim".source = ./dotfiles/nvim;
".config/gtk-3.0/settings.ini".source = ./dotfiles/gtk-3.0/settings.ini;
".config/gtk-4.0".source = ./dotfiles/gtk-4.0;
".config/satty".source = ./dotfiles/satty;
".config/waybar".source = ./dotfiles/waybar;
};
home.sessionVariables = {

47
modules/mako.nix Normal file
View File

@@ -0,0 +1,47 @@
{ pkgs, ... }:
{
services.mako = {
enable = true;
settings = {
max-history = 15;
default-timeout = 5000;
anchor = "top-right";
max-visible = 5;
width = 320;
height = 300;
margin = "25,25,10,10";
padding = 10;
font = "Cousine Nerd Font mono";
border-radius = 15;
background-color = "#1e1e2e";
text-color = "#cdd6f4";
border-color = "#89b4fa";
progress-color = "over #313244";
};
extraConfig = ''
[urgency=high]
border-color=#fe640b
[urgency=low]
border-color=#FF6347
[urgency=critical]
on-notify=exec paplay /usr/share/sounds/freedesktop/stereo/window-attention.oga
border-color=#FF0000
[mode=do-not-disturb]
invisible=1
on-notify=none
[app-name=wp-vol]
layer=overlay
history=0
anchor=center
group-by=app-name
format=<b>%s</b>\n%b
'';
};
}