Compare commits

...

30 Commits

Author SHA1 Message Date
5956cbe20e fix: added fff config 2026-07-29 14:51:52 +00:00
a6ef8ff9c5 feat: added lineage signing keys env var 2026-07-29 14:27:05 +00:00
1090058c08 feat: added fff to nvim 2026-07-29 14:26:22 +00:00
6609158c5d Merge branch 'master' into lineage 2026-07-21 12:37:27 +00:00
4040855adb feat: added zmx to p10k 2026-07-21 12:33:25 +00:00
root
9c2a72669f wip 2026-07-21 12:33:22 +00:00
f2fc3599a8 feat: ccache in zshrc 2026-07-21 11:23:37 +00:00
cfba74467f feat: added zmx to p10k 2026-07-21 11:22:28 +00:00
root
7a240b42c3 wip 2026-07-21 11:17:29 +00:00
706ed1e2e7 feat: mirgated to neovims internal plugin manager 2026-07-21 13:15:33 +02:00
5f83f33abc setup: added luarc for nvim 2026-03-08 10:56:26 +01:00
43166f9f11 setup: added readme 2026-03-08 10:42:54 +01:00
7cb5b2d4b6 feat: migrated plugin manager from lazy to vim.pack 2026-03-08 10:39:49 +01:00
bb89997e23 fix: removed fish from bashrc 2026-02-23 22:14:19 +01:00
48353fab32 feat: added tmux conf 2026-02-23 22:13:46 +01:00
5b298dac01 fix: adapted new treesitter api 2026-02-23 22:04:31 +01:00
fdea1f7270 feat: inlay hints for ts and more LSPs 2026-02-23 14:40:01 +01:00
2bba7045ef feat: added xieves dotfiles as sub 2026-02-23 14:35:46 +01:00
69f99793b0 fix: number interpretation in wallpaper script 2026-01-12 09:16:28 +01:00
be6a81704c fix: improved raise condition test 2026-01-10 16:00:37 +01:00
6a384db287 feat: adapted to new hyprctl IPC that removed loaded grrrrr 2026-01-10 15:42:26 +01:00
2e53054f29 feat: adapted waybar to rose-pine 2025-12-01 11:09:35 +01:00
f298612f1f fix: fixed paths in submodule 2025-10-03 12:45:28 +02:00
c05b21f2a1 feat: added p10k conf file 2025-10-03 12:42:02 +02:00
cb572f63ef fix: changed oh my zsh location 2025-10-03 12:13:18 +02:00
691f61dc75 feat: changed kitty theme to pine rose moon 2025-10-03 11:44:57 +02:00
e895f5de64 fix: migrated to new gesture configuration 2025-10-03 11:43:25 +02:00
80231254de feat: markt .svx files as markdown 2025-10-03 11:42:22 +02:00
f386d9dc8f fix: disabled notfications about lazyvim packages update 2025-10-03 11:41:29 +02:00
c8387cba8a feat: added zsh configs 2025-10-02 12:29:59 +02:00
34 changed files with 2609 additions and 266 deletions

View File

@@ -4,11 +4,6 @@
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
if [[ $(ps --no-header --pid=$PPID --format=comm) != "fish" && -z ${BASH_EXECUTION_STRING} && ${SHLVL} == 1 ]]
then
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=''
exec fish $LOGIN_OPTION
fi
alias ls='ls --color=auto'
alias grep='grep --color=auto'

View File

@@ -28,8 +28,10 @@ monitor= eDP-1,1920x1080@60.04900,0x0,1
monitor= desc:Hewlett Packard HP 24es 3CM6310XHM,1920x1080@60.00,-1920x-1440,1
monitor= desc:AOC Q3279WG5B 0x00005175, 2560x1440@74.97,0x-1440,1
monitor= desc:Acer Technologies VG272U P 0x033000FF, 2560x1440@59.95100,0x-1440,1
monitor = , preferred, auto, 1, mirror, eDP-1
#monitor = , preferred, auto, 1, mirror, eDP-1
#monitor= DP-3,1600x1200@60.00,auto,auto
###################
@@ -232,10 +234,7 @@ input {
}
# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
workspace_swipe = true
workspace_swipe_fingers = 3
}
gesture = 3, horizontal, workspace
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
@@ -379,3 +378,14 @@ opengl {
#bind = $mainMod, S, togglespecialworkspace, magic
#bind = $mainMod, S, movetoworkspace, special:magic
#bind = $mainMod, S, togglespecialworkspace, magic
plugin {
hyprexpo {
columns = 3
gap_size = 10
bg_col = rgb(111111)
workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1
skip_empty = true
gesture_distance = 300 # how far is the "max" for the gesture
}
}

View File

@@ -1,51 +1,56 @@
# vim:ft=kitty
## name: Adwaita darker
## name: Rosé Pine Moon
## author: mvllow
## license: MIT
## author: Emil Löfquist (https://github.com/ewal)
## upstream: https://github.com/ewal/kitty-adwaita/blob/main/adwaita_darker.conf
## blurb: Adwaita darker - based on https://github.com/Mofiqul/adwaita.nvim
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine-moon.conf
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
foreground #e0def4
background #232136
foreground #deddda
selection_foreground #e0def4
selection_background #44415a
selection_background #1c1c1c
selection_foreground #c0bfbc
cursor #56526e
cursor_text_color #e0def4
url_color #1a5fb4
url_color #c4a7e7
wayland_titlebar_color system
macos_titlebar_color system
active_tab_foreground #e0def4
active_tab_background #393552
inactive_tab_foreground #6e6a86
inactive_tab_background #232136
cursor #deddda
cursor_text_color #000000
active_border_color #3e8fb0
inactive_border_color #44415a
active_border_color #1e1e1e
inactive_border_color #282828
bell_border_color #ed333b
visual_bell_color none
# black
color0 #393552
color8 #6e6a86
active_tab_background #101010
active_tab_foreground #fcfcfc
inactive_tab_background #1c1c1c
inactive_tab_foreground #b0afac
tab_bar_background none
tab_bar_margin_color none
# red
color1 #eb6f92
color9 #eb6f92
color0 #000000
color1 #ed333b
color2 #57e389
color3 #ff7800
color4 #62a0ea
color5 #9141ac
color6 #5bc8af
color7 #deddda
# green
color2 #3e8fb0
color10 #3e8fb0
# yellow
color3 #f6c177
color11 #f6c177
# blue
color4 #9ccfd8
color12 #9ccfd8
# magenta
color5 #c4a7e7
color13 #c4a7e7
# cyan
color6 #ea9a97
color14 #ea9a97
# white
color7 #e0def4
color15 #e0def4
color8 #9a9996
color9 #f66151
color10 #8ff0a4
color11 #ffa348
color12 #99c1f1
color13 #dc8add
color14 #93ddc2
color15 #f6f5f4

View File

@@ -3,21 +3,21 @@ window_padding_width 5
window_border_width 0
tab_bar_edge top
active_tab_foreground #fff
# active_tab_foreground #fff
active_tab_font_style bold-italic
active_tab_background #8631B4
inactive_tab_foreground #c2c2c2
inactive_tab_background #955bb4
# active_tab_background #8631B4
# inactive_tab_foreground #c2c2c2
# inactive_tab_background #955bb4
# BEGIN_KITTY_THEME
# Adwaita darker
# Rosé Pine Moon
include current-theme.conf
# END_KITTY_THEME
active_tab_foreground #fff
# active_tab_foreground #fff
active_tab_font_style bold-italic
active_tab_background #8631B4
inactive_tab_foreground #c2c2c2
inactive_tab_background #955bb4
# active_tab_background #8631B4
# inactive_tab_foreground #c2c2c2
# inactive_tab_background #955bb4
# BEGIN_KITTY_FONTS

12
.config/nvim/.luarc.json Normal file
View File

@@ -0,0 +1,12 @@
{
"runtime.version": "LuaJIT",
"runtime.path": [
"lua/?.lua",
"lua/?/init.lua"
],
"diagnostics.globals": ["vim"],
"workspace.checkThirdParty": false,
"workspace.library": [
"$VIMRUNTIME"
]
}

View File

@@ -1,19 +1,68 @@
-- Basic settings
vim.o.number = true -- Enable line numbers
vim.o.relativenumber = true -- Enable relative line numbers
vim.o.tabstop = 4 -- Number of spaces a tab represents
vim.o.shiftwidth = 4 -- Number of spaces for each indentation
-- vim.o.relativenumber = true -- Enable relative line numbers
vim.o.tabstop = 2 -- Number of spaces a tab represents
vim.o.shiftwidth = 2 -- Number of spaces for each indentation
vim.o.expandtab = true -- Convert tabs to spaces
vim.o.smartindent = true -- Automatically indent new lines
vim.o.wrap = false -- Disable line wrapping
vim.o.cursorline = true -- Highlight the current line
vim.o.termguicolors = true -- Enable 24-bit RGB colors
vim.o.clipboard = "unnamedplus"
vim.filetype.add({ extension = { svx = "markdown" } })
vim.opt.listchars = { tab = "\\\\", nbsp = "", trail = "·", extends = "", precedes = "", leadmultispace = "" }
vim.opt.list = true
require('plugins.nvim-neo-tree')
require('plugins.rose-pine')
require('plugins.treesitter')
require('plugins.conform')
require('plugins.lsp')
require('plugins.diffview')
require('plugins.which-key')
require('plugins.codecompanion')
require('plugins.fff')
local kitten = vim.fn.expand("~/.local/share/kitty-ssh-kitten/kitty/bin/kitten")
vim.opt.clipboard = "unnamedplus"
vim.g.clipboard = {
name = 'OSC 52',
copy = {
['+'] = require('vim.ui.clipboard.osc52').copy('+'),
-- ['*'] = require('vim.ui.clipboard.osc52').copy('*'),
},
paste = {
['+'] = require('vim.ui.clipboard.osc52').paste('+'),
-- ['*'] = require('vim.ui.clipboard.osc52').paste('*'),
},
}
-- Syntax highlighting and filetype plugins
vim.cmd('syntax enable')
vim.cmd('filetype plugin indent on')
require("config.lazy")
--vim.cmd[[colorscheme tokyonight]]
vim.api.nvim_create_user_command(
"Inlay",
function()
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled())
end,
{ desc = 'Toggles Inlay Hints' }
)
vim.api.nvim_create_autocmd('LspAttach', {
callback = function(ev)
local client = vim.lsp.get_client_by_id(ev.data.client_id)
if client and client:supports_method(vim.lsp.protocol.Methods.textDocument_completion) then
vim.opt.completeopt = { 'menu', 'menuone', 'noinsert', 'fuzzy', 'popup' }
vim.lsp.completion.enable(true, client.id, ev.buf, { autotrigger = true })
vim.keymap.set('i', '<C-Space>', function()
vim.lsp.completion.get()
end)
end
end,
})
vim.diagnostic.config({
virtual_lines = {
current_line = true,
},
})
vim.cmd.source("~/.config/nvim/.vimrc")

View File

@@ -0,0 +1,19 @@
{
"LuaSnip": { "branch": "master", "commit": "dae4f5aaa3574bd0c2b9dd20fb9542a02c10471c" },
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"conform.nvim": { "branch": "master", "commit": "c2526f1cde528a66e086ab1668e996d162c75f4f" },
"image.nvim": { "branch": "master", "commit": "446a8a5cc7a3eae3185ee0c697732c32a5547a0b" },
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "c953789db7fd28eafe5eb5659846d34b5024b3cc" },
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-cmp": { "branch": "main", "commit": "da88697d7f45d16852c6b2769dc52387d1ddc45f" },
"nvim-lspconfig": { "branch": "master", "commit": "79c9a15be5731bc8694840a8fb0c9141c20a80c0" },
"nvim-treesitter": { "branch": "main", "commit": "19c729dae6e0eeb79423df0cf37780aa9a7cc3b7" },
"nvim-web-devicons": { "branch": "master", "commit": "803353450c374192393f5387b6a0176d0972b848" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"rose-pine": { "branch": "main", "commit": "cf2a288696b03d0934da713d66c6d71557b5c997" }
}

View File

@@ -0,0 +1,29 @@
return {
settings = {
typescript = {
inlayHints = {
includeInlayParameterNameHints = "all",
includeInlayParameterNameHintsWhenArgumentMatchesName = true,
includeInlayFunctionParameterTypeHints = true,
includeInlayVariableTypeHints = true,
includeInlayVariableTypeHintsWhenTypeMatchesName = true,
includeInlayPropertyDeclarationTypeHints = true,
includeInlayFunctionLikeReturnTypeHints = true,
includeInlayEnumMemberValueHints = true,
},
},
javascript = {
inlayHints = {
includeInlayParameterNameHints = "all",
includeInlayParameterNameHintsWhenArgumentMatchesName = true,
includeInlayFunctionParameterTypeHints = true,
includeInlayVariableTypeHints = true,
includeInlayVariableTypeHintsWhenTypeMatchesName = true,
includeInlayPropertyDeclarationTypeHints = true,
includeInlayFunctionLikeReturnTypeHints = true,
includeInlayEnumMemberValueHints = true,
},
},
}
}

View File

@@ -1,35 +0,0 @@
-- 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.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 = {"tokyonight", "habamax" } },
-- automatically check for plugin updates
checker = { enabled = true },
})

View File

@@ -0,0 +1,14 @@
vim.pack.add({ {
src = "https://www.github.com/olimorris/codecompanion.nvim",
version = vim.version.range("^19.0.0")
} })
-- Somewhere in your config
require("codecompanion").setup({
interactions = {
chat = {
adapter = "ollama",
model = "qwen2.5-coder:7b "
},
},
})

View File

@@ -0,0 +1,26 @@
vim.pack.add({
'https://github.com/stevearc/conform.nvim'
})
require('conform').setup({
formatters_by_ft = {
cpp = { "clang-format" },
python = { "black" },
typescript = { "prettier" },
typescriptreact = { "prettier" },
},
-- Set default options
default_format_opts = {
lsp_format = "fallback",
},
-- Set up format-on-save
format_on_save = { timeout_ms = 10000 },
-- Customize formatters
formatters = {
-- ['clang-format'] = {
-- append_args = function(self, ctx)
-- return { "-style={IndentWidth: 4}" }
-- end,
-- },
},
})

View File

@@ -0,0 +1,6 @@
vim.pack.add({
'https://github.com/sindrets/diffview.nvim',
})
require('diffview').setup({
})

View File

@@ -0,0 +1,18 @@
vim.pack.add({ 'https://github.com/dmtrKovalenko/fff.nvim' })
vim.api.nvim_create_autocmd('PackChanged', {
callback = function(ev)
local name, kind = ev.data.spec.name, ev.data.kind
if name == 'fff.nvim' and (kind == 'install' or kind == 'update') then
if not ev.data.active then vim.cmd.packadd('fff.nvim') end
require('fff.download').download_or_build_binary()
end
end,
})
vim.g.fff = {
lazy_sync = true,
debug = { enabled = true, show_scores = true },
}
vim.keymap.set('n', 'ff', function() require('fff').live_grep() end, { desc = 'FFFind files' })

View File

@@ -1,11 +1,10 @@
return {
vim.pack.add({
'https://github.com/neovim/nvim-lspconfig',
'https://github.com/mason-org/mason.nvim',
'https://github.com/mason-org/mason-lspconfig.nvim',
})
{
"neovim/nvim-lspconfig",
},
{
"mason-org/mason.nvim",
opts = {
require('mason').setup({
ui = {
icons = {
package_installed = "",
@@ -13,55 +12,18 @@ return {
package_uninstalled = ""
}
}
}
})
require('mason-lspconfig').setup({
ensure_installed = {
"svelte",
"clangd",
"ts_ls",
"pyright",
"lua_ls"
},
{
"williamboman/mason-lspconfig.nvim",
opts = {
ensure_installed = { "clangd" },
},
dependencies = {
{ "mason-org/mason.nvim", opts = {} },
"neovim/nvim-lspconfig",
},
},
{
'hrsh7th/nvim-cmp',
opts = {
sources = {
{ name = 'nvim_lsp' },
{ name = 'buffer' },
{ name = 'path' },
}
},
dependencies = {
{'L3MON4D3/LuaSnip'},
{'hrsh7th/cmp-buffer'},
{'hrsh7th/cmp-nvim-lsp'},
{'saadparwaiz1/cmp_luasnip'},
},
},
{
'stevearc/conform.nvim',
opts = {
-- Define your formatters
formatters_by_ft = {
cpp = { "clang-format" },
},
-- Set default options
default_format_opts = {
lsp_format = "fallback",
},
-- Set up format-on-save
format_on_save = { timeout_ms = 500 },
-- Customize formatters
formatters = {
['clang-format'] = {
append_args = function(self, ctx)
return { "-style={IndentWidth: 4}" }
end,
},
},
},
}
}
automatic_enable = true,
})
vim.lsp.config('svelte', {
-- capabilities = svelte_lsp_capabilities,
filetypes = { "svelte" },
})

View File

@@ -1,10 +1,11 @@
return {
"nvim-neo-tree/neo-tree.nvim",
branch = "v3.x",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
"MunifTanjim/nui.nvim",
{"3rd/image.nvim", opts = {}}, -- Optional image support in preview window: See `# Preview Mode` for more information
}
}
vim.pack.add({
--Neo-Tree
'https://github.com/MunifTanjim/nui.nvim',
'https://github.com/nvim-lua/plenary.nvim',
"https://github.com/nvim-tree/nvim-web-devicons",
'https://github.com/nvim-neo-tree/neo-tree.nvim',
})
require("neo-tree").setup({
close_if_last_window = true,
})

View File

@@ -1,17 +1,14 @@
return {
"rose-pine/neovim",
name = "rose-pine",
config = function()
local configs = require("rose-pine");
vim.pack.add({
'https://github.com/rose-pine/neovim',
})
configs.setup({
require("rose-pine").setup({
variant = "moon",
styles = {
transparency = true;
}
})
vim.cmd("colorscheme rose-pine")
end
}
vim.cmd[[colorscheme rose-pine]]

View File

@@ -1,20 +1,18 @@
return{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
dependencies = {
-- Automatically install LSPs and related tools to stdpath for Neovim
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
},
config = function ()
local configs = require("nvim-treesitter.configs")
configs.setup({
ensure_installed = { "c", "cpp", "lua", "vim", "vimdoc", "query", "elixir", "heex", "javascript", "html" },
sync_install = false,
highlight = { enable = true },
indent = { enable = true },
vim.pack.add({
'https://github.com/nvim-treesitter/nvim-treesitter'
})
end
}
require('nvim-treesitter').setup({
highlight = {
enable = true
},
})
require('nvim-treesitter').install({ 'lua', 'rust', 'javascript', 'zig', "c", "typescript", "cpp", "haskell", "svelte",
"python", "vim", "vimdoc", "html", "wgsl" })
vim.api.nvim_create_autocmd('FileType', {
callback = function(args)
pcall(vim.treesitter.start, args.buf)
end,
})
vim.filetype.add({ extension = { wgsl = "wgsl" } })

View File

@@ -0,0 +1,7 @@
vim.pack.add({
'https://github.com/folke/which-key.nvim',
})
require("which-key").setup({
})

View File

@@ -0,0 +1,61 @@
{
"plugins": {
"codecompanion.nvim": {
"rev": "5b87dd95a5b62bbf198ef147b96d22751ccc1faa",
"src": "https://www.github.com/olimorris/codecompanion.nvim",
"version": "19.0.0 - 20.0.0"
},
"conform.nvim": {
"rev": "40dcec5555f960b0a04340d76eabdf4efe78599d",
"src": "https://github.com/stevearc/conform.nvim"
},
"diffview.nvim": {
"rev": "4516612fe98ff56ae0415a259ff6361a89419b0a",
"src": "https://github.com/sindrets/diffview.nvim"
},
"fff.nvim": {
"rev": "fbee146c44c99b02fc00ad1d5d32f44e53e2aeec",
"src": "https://github.com/dmtrKovalenko/fff.nvim"
},
"mason-lspconfig.nvim": {
"rev": "a324581a3c83fdacdb9804b79de1cbe00ce18550",
"src": "https://github.com/mason-org/mason-lspconfig.nvim"
},
"mason.nvim": {
"rev": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65",
"src": "https://github.com/mason-org/mason.nvim"
},
"neo-tree.nvim": {
"rev": "9d6826582a3e8c84787bd7355df22a2812a1ad59",
"src": "https://github.com/nvim-neo-tree/neo-tree.nvim"
},
"neovim": {
"rev": "cf2a288696b03d0934da713d66c6d71557b5c997",
"src": "https://github.com/rose-pine/neovim"
},
"nui.nvim": {
"rev": "de740991c12411b663994b2860f1a4fd0937c130",
"src": "https://github.com/MunifTanjim/nui.nvim"
},
"nvim-lspconfig": {
"rev": "2163c54bb6cfec53e3e555665ada945b8c8331b9",
"src": "https://github.com/neovim/nvim-lspconfig"
},
"nvim-treesitter": {
"rev": "5cb05e1b0fa3c469958a2b26f36b3fe930af221c",
"src": "https://github.com/nvim-treesitter/nvim-treesitter"
},
"nvim-web-devicons": {
"rev": "737cf6c657898d0c697311d79d361288a1343d50",
"src": "https://github.com/nvim-tree/nvim-web-devicons"
},
"plenary.nvim": {
"rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
"src": "https://github.com/nvim-lua/plenary.nvim"
},
"which-key.nvim": {
"rev": "3aab2147e74890957785941f0c1ad87d0a44c15a",
"src": "https://github.com/folke/which-key.nvim"
}
}
}

View File

@@ -1,7 +1,11 @@
[Unit]
Description=Time based wallpaper switcher
#Requires=hyprpaper.service
#After=hyprpaper.service
PartOf=graphical-session.target
After=graphical-session.target hyprpaper.service
Requires=hyprpaper.service
After=graphical-session.target
[Service]
Type=simple

View File

@@ -1,6 +1,6 @@
[Unit]
Description=Run foo weekly and on boot
Requires=graphical-session.target
Requires=graphical-session.target,hyprpaper.service
[Timer]
OnCalendar=hourly

219
.config/waybar/config.jsonc Normal file
View File

@@ -0,0 +1,219 @@
// -*- mode: jsonc -*-
{
// "layer": "top", // Waybar at top layer
// "position": "bottom", // Waybar position (top|bottom|left|right)
"height": 30, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
"spacing": 4, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": [
"sway/workspaces",
"sway/mode",
"sway/scratchpad",
"custom/media"
],
"modules-center": [
"sway/window"
],
"modules-right": [
"mpd",
"idle_inhibitor",
"pulseaudio",
//"network",
"power-profiles-daemon",
"cpu",
"memory",
"temperature",
"backlight",
"keyboard-state",
"sway/language",
"battery",
"battery#bat2",
"clock",
"tray",
"custom/power"
],
// Modules configuration
// "sway/workspaces": {
// "disable-scroll": true,
// "all-outputs": true,
// "warp-on-scroll": false,
// "format": "{name}: {icon}",
// "format-icons": {
// "1": "",
// "2": "",
// "3": "",
// "4": "",
// "5": "",
// "urgent": "",
// "focused": "",
// "default": ""
// }
// },
"keyboard-state": {
"numlock": true,
"capslock": true,
"format": "{name} {icon}",
"format-icons": {
"locked": "",
"unlocked": ""
}
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"sway/scratchpad": {
"format": "{icon} {count}",
"show-empty": false,
"format-icons": ["", ""],
"tooltip": true,
"tooltip-format": "{app}: {title}"
},
"mpd": {
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
"format-disconnected": "Disconnected ",
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
"unknown-tag": "N/A",
"interval": 5,
"consume-icons": {
"on": " "
},
"random-icons": {
"off": "<span color=\"#f53c3c\"></span> ",
"on": " "
},
"repeat-icons": {
"on": " "
},
"single-icons": {
"on": "1 "
},
"state-icons": {
"paused": "",
"playing": ""
},
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
// "icon-size": 21,
"spacing": 10,
// "icons": {
// "blueman": "bluetooth",
// "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png"
// }
},
"clock": {
// "timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%Y-%m-%d}"
},
"cpu": {
"format": "{usage}% ",
"tooltip": false
},
"memory": {
"format": "{}% "
},
"temperature": {
"thermal-zone": 7,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": "{temperatureC}°C {icon}",
"format-icons": ["", "", ""]
},
"backlight": {
// "device": "acpi_video1",
"format": "{percent}% {icon}",
"format-icons": ["", "", "", "", "", "", "", "", ""]
},
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{capacity}% {icon}",
"format-full": "{capacity}% {icon}",
"format-charging": "{capacity}% ",
"format-plugged": "{capacity}% ",
"format-alt": "{time} {icon}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"battery#bat2": {
"bat": "BAT2"
},
"power-profiles-daemon": {
"format": "{icon}",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
"format-icons": {
"default": "",
"performance": "",
"balanced": "",
"power-saver": ""
}
},
// "network": {
// // "interface": "wlp2*", // (Optional) To force the use of this interface
// "format-wifi": "{essid} ({signalStrength}%) ",
// "format-ethernet": "{ipaddr}/{cidr} ",
// "tooltip-format": "{ifname} via {gwaddr} ",
// "format-linked": "{ifname} (No IP) ",
// "format-disconnected": "Disconnected ⚠",
// "format-alt": "{ifname}: {ipaddr}/{cidr}"
// },
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon} {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"on-click": "pavucontrol"
},
"custom/media": {
"format": "{icon} {text}",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": "",
"default": "🎜"
},
"escape": true,
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
},
"custom/power": {
"format" : "⏾",
"tooltip": false,
"menu": "on-click",
"menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder
"menu-actions": {
"shutdown": "shutdown",
"reboot": "reboot",
"suspend": "systemctl suspend",
"hibernate": "systemctl hibernate"
}
}
}

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkMenu" id="menu">
<child>
<object class="GtkMenuItem" id="suspend">
<property name="label">Suspend</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="hibernate">
<property name="label">Hibernate</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="shutdown">
<property name="label">Shutdown</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="delimiter1"/>
</child>
<child>
<object class="GtkMenuItem" id="reboot">
<property name="label">Reboot</property>
</object>
</child>
</object>
</interface>

View File

@@ -1,16 +1,19 @@
@define-color primary-bg #191724;
* {
border: none;
border-radius: 4px;
/*border-bottom-right-radius: 4px;*/
/* `ttf-font-awesome` is required to be installed for icons */
font-family: "Roboto Mono Medium", Helvetica, Arial, sans-serif;
font-family: Inter;
/* adjust font-size value to your liking: */
font-size: 10px;
min-height: 0;
}
}
window#waybar {
background-color: rgba(0, 0, 0, 0.5);
/* border-bottom: 3px solid rgba(100, 114, 125, 0.5); */
@@ -35,11 +38,11 @@ window#waybar.solo {
*/
/* window#waybar.termite {
background-color: #000000;
background-color: @primary-bg;
}
window#waybar.chromium {
background-color: #000000;
background-color: @primary-bg;
border: none;
} */
@@ -83,6 +86,7 @@ window#waybar.chromium {
#tray,
#mode,
#idle_inhibitor,
#custom-power,
#mpd {
padding: 0 10px;
margin: 6px 3px;
@@ -105,18 +109,18 @@ window#waybar.chromium {
}
#clock {
background-color: #000000;
background-color: @primary-bg;
color: white;
}
#battery {
background-color: #000000;
background-color: @primary-bg;
color: white;
}
#battery.charging {
color: #ffffff;
background-color: #000000;
background-color: @primary-bg;
}
@keyframes blink {
@@ -137,26 +141,26 @@ window#waybar.chromium {
}
label:focus {
background-color: #000000;
background-color: @primary-bg;
}
#cpu {
background-color: #000000;
background-color: @primary-bg;
color: #ffffff;
}
#memory {
background-color: #000000;
background-color: @primary-bg;
color: white;
}
#backlight {
background-color: #000000;
background-color: @primary-bg;
color:white;
}
#network {
background-color: #000000;
background-color: @primary-bg;
color:white;
}
@@ -166,12 +170,12 @@ label:focus {
}
#pulseaudio {
background-color: #000000;
background-color: @primary-bg;
color: #ffffff;
}
#pulseaudio.muted {
background-color: #000000;
background-color: @primary-bg;
color: #ffffff;
}
@@ -190,15 +194,15 @@ label:focus {
}
#temperature {
background-color: #f0932b;
background-color: #9ccfd8;
}
#temperature.critical {
background-color: #eb4d4b;
background-color: #eb6f92;
}
#tray {
background-color: #2980b9;
background-color: #26233a;
}
#idle_inhibitor {
@@ -238,7 +242,11 @@ label:focus {
#power-profiles-daemon{
color: #ffffff;
padding: 0 10px 0px 7px;
background-color: #000000;
background-color: @primary-bg;
margin: 6px 3px;
}
#custom-power{
color: #ffffff;
background-color: #26233a;
}

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1,2 @@
alias dotfiles='/usr/bin/git --git-dir="$HOME/.dotfiles/" --work-tree="$HOME"'
alias ssh='kitty +kitten ssh'

16
.gitmodules vendored
View File

@@ -1,9 +1,15 @@
[submodule ".ohmyzsh"]
path = .ohmyzsh
url = https://github.com/ohmyzsh/ohmyzsh.git
[submodule "/home/amy/.config/zsh_custom/themes/powerlevel10k"]
path = /home/amy/.config/zsh_custom/themes/powerlevel10k
[submodule ".config/zsh_custom/themes/powerlevel10k"]
path = .config/zsh_custom/themes/powerlevel10k
url = https://github.com/romkatv/powerlevel10k.git
[submodule ".config/zsh_custom/plugins/zsh-syntax-highlighting"]
path = .config/zsh_custom/plugins/zsh-syntax-highlighting
url = https://github.com/zsh-users/zsh-syntax-highlighting
[submodule ".config/zsh_custom/plugins/zsh-autosuggestions"]
path = .config/zsh_custom/plugins/zsh-autosuggestions
url = https://github.com/zsh-users/zsh-autosuggestions
[submodule ".ohmyzsh"]
path = .ohmyzsh
url = https://github.com/ohmyzsh/ohmyzsh.git
[submodule ".config/xieves-dotfiles"]
path = .config/xieves-dotfiles
url = https://gitlab.com/xieve/dotfiles

8
.tmux.conf Normal file
View File

@@ -0,0 +1,8 @@
#set-option -g remain-on-exit on
set-option -g default-shell /bin/zsh
set -g history-limit 30000
# Allow Tmux to pass through OSC 52 escape sequences
set -g allow-passthrough on
set -g mouse on
set -g set-clipboard on

132
.zshrc Normal file
View File

@@ -0,0 +1,132 @@
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH
# Path to your Oh My Zsh installation.
export ZSH="$HOME/.ohmyzsh"
export ZSH_CUSTOM="$HOME/.config/zsh_custom"
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time Oh My Zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="powerlevel10k/powerlevel10k"
if [[ -n $ZMX_SESSION ]]; then
export PS1="[$ZMX_SESSION] ${PS1}"
fi
export ANDROID_PW_FILE="/tmp/key_list.txt"
export EDITOR="nvim"
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment one of the following lines to change the auto-update behavior
zstyle ':omz:update' mode disabled # disable automatic updates
# zstyle ':omz:update' mode auto # update automatically without asking
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
# Uncomment the following line to change how often to auto-update (in days).
# zstyle ':omz:update' frequency 13
# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
git
zsh-syntax-highlighting
zsh-autosuggestions
)
source $ZSH/oh-my-zsh.sh
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='nvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch $(uname -m)"
# Set personal aliases, overriding those provided by Oh My Zsh libs,
# plugins, and themes. Aliases can be placed here, though Oh My Zsh
# users are encouraged to define aliases within a top-level file in
# the $ZSH_CUSTOM folder, with .zsh extension. Examples:
# - $ZSH_CUSTOM/aliases.zsh
# - $ZSH_CUSTOM/macos.zsh
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
# To customize prompt, run `p10k configure` or edit ~/.config/zsh_custom/10-p10k.zsh.
[[ ! -f ~/.config/zsh_custom/10-p10k.zsh ]] || source ~/.config/zsh_custom/10-p10k.zsh
export USE_CCACHE=1
export CCACHE_EXEC=/usr/bin/ccache
ccache -M 50G > /dev/null
path=("$HOME/.nix-profile/bin" $path)

5
README.md Normal file
View File

@@ -0,0 +1,5 @@
# Personal Dotfiles
# Nvim
As I'm using vim.pack for plugin managing, nvim >= 12.0 is required.

View File

@@ -1,31 +1,41 @@
#!/bin/bash
pidof hyprpaper || hyprctl dispatch exec hyprpaper
PATHNAME=~/wallpaper/
cd $PATHNAME
printf -v date "%(%H)T"
date=`date +"%H"`
#alway interprete data as decimal number
date="10#$date"
until pid=$(hyprctl hyprpaper listloaded)
FOUND=-24
if [[ -f "last.txt" ]]; then
source "last.txt"
else
LAST_WALLPAPER=-1
fi
until [[ -e "$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.hyprpaper.sock" ]]
do
sleep 1
sleep 0.1
done
LAST=-1
FOUND=-1
for filename in $(ls *.{jpg,JPG,png,PNG} | sort -g)
do
if ((${filename%%.*} > date && ${FOUND%%.*} == -1));then
#echo ${FOUND%%.*}
FOUND=$LAST
if ((${FOUND%%.*}==-1));then
FOUND=-2
if (( ${filename%%.*} -date<=0 && ${filename%%.*} -date > ${FOUND%%.*} -date));then
FOUND=$filename
# if ((${FOUND%%.*}==-1));then
# FOUND=-2
# fi
fi
fi
LAST=$filename
# LAST=$filename
done
if ((${FOUND%%.*} < 0));then
FOUND=$LAST
echo $FOUND
sleep 1
if [[ "$LAST_WALLPAPER" != "$FOUND" || "$( hyprctl layers | grep hyprpaper )" == "" ]] ;then
echo "change to $FOUND"
hyprctl hyprpaper wallpaper ",$FOUND"
fi
hyprctl hyprpaper wallpaper ",$PATHNAME$FOUND"
echo ${FOUND%%.*}
echo "LAST_WALLPAPER=$FOUND" > last.txt