i can't seem to make up my mind
This commit is contained in:
parent
56100e1d0b
commit
9e5d45903f
20 changed files with 11 additions and 292 deletions
|
|
@ -40,8 +40,9 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enable Desktop Environment.
|
# Enable Desktop Environment.
|
||||||
services.displayManager.cosmic-greeter.enable = true;
|
services.desktopManager.gnome.enable = true;
|
||||||
services.desktopManager.cosmic.enable = true;
|
services.displayManager.gdm.enable = true;
|
||||||
|
services.gnome.core-apps.enable = true;
|
||||||
|
|
||||||
services.flatpak.enable = true;
|
services.flatpak.enable = true;
|
||||||
hardware.graphics.enable = true;
|
hardware.graphics.enable = true;
|
||||||
|
|
|
||||||
6
home.nix
6
home.nix
|
|
@ -37,10 +37,4 @@
|
||||||
email = "iam@ifrahim.dev";
|
email = "iam@ifrahim.dev";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.file.".config/nvim" = {
|
|
||||||
source = ./nvim; # Nix implicitly converts local paths to store paths
|
|
||||||
recursive = true;
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
require("ifrahim.init")
|
|
||||||
require("config.lazy")
|
|
||||||
require("lsp.init")
|
|
||||||
|
|
@ -1,26 +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)
|
|
||||||
|
|
||||||
require("lazy").setup({
|
|
||||||
spec = {
|
|
||||||
import = "plugins"
|
|
||||||
},
|
|
||||||
change_detection = {
|
|
||||||
notify = false
|
|
||||||
}
|
|
||||||
|
|
||||||
})
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
vim.g.mapleader = " "
|
|
||||||
|
|
||||||
vim.opt.mouse = ""
|
|
||||||
vim.opt.list = false
|
|
||||||
vim.opt.number = true
|
|
||||||
vim.opt.relativenumber = true
|
|
||||||
vim.opt.expandtab = true
|
|
||||||
vim.opt.shiftwidth = 2
|
|
||||||
vim.opt.tabstop = 2
|
|
||||||
vim.opt.clipboard = "unnamedplus"
|
|
||||||
vim.opt.updatetime = 200
|
|
||||||
vim.opt.termguicolors = true
|
|
||||||
vim.opt.fillchars = { eob = " " }
|
|
||||||
|
|
||||||
vim.opt.swapfile = false
|
|
||||||
vim.opt.smartindent = true
|
|
||||||
vim.opt.laststatus = 3
|
|
||||||
|
|
||||||
vim.g.loaded_netrw = 1
|
|
||||||
vim.g.loaded_netrwPlugin = 1
|
|
||||||
vim.g.loaded_python3_provider = 0
|
|
||||||
vim.g.loaded_perl_provider = 0
|
|
||||||
vim.g.loaded_ruby_provider = 0
|
|
||||||
|
|
||||||
vim.opt.backup = false
|
|
||||||
vim.opt.writebackup = false
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>nh", "<CMD>:nohlsearch<CR>", { silent = true })
|
|
||||||
vim.keymap.set("n", "<leader>nh", "<CMD>:nohlsearch<CR>", { silent = true })
|
|
||||||
vim.keymap.set("t", "<Esc>", "<C-\\><C-n>", { noremap = true, silent = true })
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
|
||||||
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
|
||||||
|
|
||||||
vim.lsp.config("cssls", {
|
|
||||||
capabilities = capabilities,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.lsp.enable("lua_ls")
|
|
||||||
vim.lsp.enable("gopls")
|
|
||||||
vim.lsp.enable("docker_compose_language_service")
|
|
||||||
vim.lsp.enable("docker_language_server")
|
|
||||||
vim.lsp.enable("ts_ls")
|
|
||||||
vim.lsp.enable("pylsp")
|
|
||||||
vim.lsp.enable("fish_lsp")
|
|
||||||
vim.lsp.enable("css_modules")
|
|
||||||
vim.lsp.enable("css_variables")
|
|
||||||
vim.lsp.enable("cssls")
|
|
||||||
vim.lsp.enable("nginx_language_server")
|
|
||||||
vim.lsp.enable("nil_ls")
|
|
||||||
vim.lsp.enable("nixd")
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
||||||
return {
|
|
||||||
cmd = { "lua-language-server" },
|
|
||||||
filetypes = { "lua" },
|
|
||||||
root_markers = {
|
|
||||||
".lua",
|
|
||||||
".emmyrc.json",
|
|
||||||
".luarc.json",
|
|
||||||
".luarc.jsonc",
|
|
||||||
".luacheckrc",
|
|
||||||
".stylua.toml",
|
|
||||||
"stylua.toml",
|
|
||||||
"selene.toml",
|
|
||||||
"selene.yml",
|
|
||||||
".git",
|
|
||||||
},
|
|
||||||
settings = {
|
|
||||||
Lua = {
|
|
||||||
codeLens = {
|
|
||||||
enable = true,
|
|
||||||
},
|
|
||||||
hint = {
|
|
||||||
enable = true,
|
|
||||||
semicolon = "Disable",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
return {
|
|
||||||
"stevearc/conform.nvim",
|
|
||||||
opts = {
|
|
||||||
format_on_save = {
|
|
||||||
-- These options will be passed to conform.format()
|
|
||||||
timeout_ms = 500,
|
|
||||||
lsp_format = "fallback",
|
|
||||||
},
|
|
||||||
formatters_by_ft = {
|
|
||||||
nginx = { "nginx-config-formatter" },
|
|
||||||
kdl = { "kdlfmt" },
|
|
||||||
lua = { "stylua" },
|
|
||||||
-- Conform will run multiple formatters sequentially
|
|
||||||
python = { "isort", "black" },
|
|
||||||
-- You can customize some of the format options for the filetype (:help conform.format)
|
|
||||||
rust = { "rustfmt", lsp_format = "fallback" },
|
|
||||||
-- Conform will run the first available formatter
|
|
||||||
javascript = { "prettierd", "prettier", stop_after_first = true },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
return {
|
|
||||||
"sphamba/smear-cursor.nvim",
|
|
||||||
opts = {
|
|
||||||
legacy_computing_symbols_support = true,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
return {
|
|
||||||
'sainnhe/everforest',
|
|
||||||
lazy = false,
|
|
||||||
priority = 1000,
|
|
||||||
config = function()
|
|
||||||
-- Optionally configure and load the colorscheme
|
|
||||||
-- directly inside the plugin declaration.
|
|
||||||
vim.g.everforest_enable_italic = true
|
|
||||||
vim.cmd.colorscheme('everforest')
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
local highlight = { "CursorColumn", "Whitespace" }
|
|
||||||
|
|
||||||
return {
|
|
||||||
"lukas-reineke/indent-blankline.nvim",
|
|
||||||
main = "ibl",
|
|
||||||
opts = {
|
|
||||||
indent = {
|
|
||||||
highlight = { "CursorColumn", "Whitespace" },
|
|
||||||
char = "",
|
|
||||||
},
|
|
||||||
whitespace = {
|
|
||||||
highlight = { "CursorColumn", "Whitespace" },
|
|
||||||
remove_blankline_trail = false,
|
|
||||||
},
|
|
||||||
scope = { enabled = false },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
return {
|
|
||||||
"kdheepak/lazygit.nvim",
|
|
||||||
lazy = false,
|
|
||||||
cmd = {
|
|
||||||
"LazyGit",
|
|
||||||
"LazyGitConfig",
|
|
||||||
"LazyGitCurrentFile",
|
|
||||||
"LazyGitFilter",
|
|
||||||
"LazyGitFilterCurrentFile",
|
|
||||||
},
|
|
||||||
-- optional for floating window border decoration
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
},
|
|
||||||
-- setting the keybinding for LazyGit with 'keys' is recommended in
|
|
||||||
-- order to load the plugin when the command is run for the first time
|
|
||||||
keys = {
|
|
||||||
{ "<leader>lg", "<cmd>LazyGit<cr>", desc = "LazyGit" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
return {
|
|
||||||
"mason-org/mason.nvim",
|
|
||||||
opts = {},
|
|
||||||
}
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
||||||
return {
|
|
||||||
"nvim-mini/mini.nvim",
|
|
||||||
version = "*",
|
|
||||||
lazy = false,
|
|
||||||
keys = {
|
|
||||||
{ "<leader>ff", "<CMD>Pick files<CR>", { silent = true } },
|
|
||||||
{ "<leader>fb", "<CMD>Pick buffers<CR>", { silent = true } },
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
require("mini.basics").setup({
|
|
||||||
options = {
|
|
||||||
basic = true,
|
|
||||||
extra_ui = true,
|
|
||||||
win_borders = "auto",
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Mappings. Set field to `false` to disable.
|
|
||||||
mappings = {
|
|
||||||
basic = true,
|
|
||||||
option_toggle_prefix = [[\]],
|
|
||||||
windows = true,
|
|
||||||
move_with_alt = false,
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Autocommands. Set field to `false` to disable
|
|
||||||
autocommands = {
|
|
||||||
basic = true,
|
|
||||||
relnum_in_visual_mode = true,
|
|
||||||
},
|
|
||||||
-- Whether to disable showing non-error feedback
|
|
||||||
silent = true,
|
|
||||||
})
|
|
||||||
require("mini.cmdline").setup()
|
|
||||||
require("mini.completion").setup()
|
|
||||||
require("mini.icons").setup()
|
|
||||||
require("mini.diff").setup()
|
|
||||||
require("mini.git").setup()
|
|
||||||
require("mini.pairs").setup()
|
|
||||||
require("mini.surround").setup()
|
|
||||||
require("mini.statusline").setup()
|
|
||||||
require("mini.tabline").setup()
|
|
||||||
require("mini.pick").setup()
|
|
||||||
require("mini.notify").setup()
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
return { "https://github.com/neovim/nvim-lspconfig" }
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
return {
|
|
||||||
"windwp/nvim-ts-autotag"
|
|
||||||
}
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
return {
|
|
||||||
"stevearc/oil.nvim",
|
|
||||||
keys = {
|
|
||||||
{ "-", "<CMD>Oil<CR>", { silent = true } },
|
|
||||||
},
|
|
||||||
opts = {
|
|
||||||
delete_to_trash = true,
|
|
||||||
skip_confirm_for_simple_edits = true,
|
|
||||||
prompt_save_on_select_new_entry = false,
|
|
||||||
watch_for_changes = true,
|
|
||||||
},
|
|
||||||
dependencies = { { "nvim-mini/mini.icons", opts = {} } },
|
|
||||||
lazy = false,
|
|
||||||
}
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
||||||
return {
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
lazy = false,
|
|
||||||
build = ":TSUpdate",
|
|
||||||
opts = {
|
|
||||||
install_dir = vim.fn.stdpath("data") .. "/site",
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
-- Install specified languages for Treesitter
|
|
||||||
require("nvim-treesitter").install({ "rust", "javascript", "python", "fish", "ssh_config" }):wait(300000)
|
|
||||||
|
|
||||||
-- Enable Treesitter highlighting for specified file types
|
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
|
||||||
pattern = { "javascript", "rust", "python", "lua" },
|
|
||||||
callback = function()
|
|
||||||
vim.treesitter.start() -- Start Treesitter highlighting
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Set up Treesitter-based folding
|
|
||||||
vim.wo.foldexpr = "v:lua.vim.treesitter.foldexpr()"
|
|
||||||
vim.wo.foldmethod = "expr"
|
|
||||||
|
|
||||||
-- Enable Treesitter-based indentation
|
|
||||||
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
return {
|
|
||||||
"tamton-aquib/zone.nvim",
|
|
||||||
}
|
|
||||||
|
|
@ -94,14 +94,16 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.navidrome = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
MusicFolder = "/mnt/music";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
virtualisation.docker.enable = true;
|
||||||
|
virtualisation.oci-containers = {
|
||||||
|
backend = "docker";
|
||||||
|
containers = {
|
||||||
|
navidrone = {
|
||||||
|
image = "deluan/navidrone:latest";
|
||||||
|
volumes = [ "~/Music:/music:ro" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# OCI Container configuration
|
# OCI Container configuration
|
||||||
# virtualisation.oci-containers = {
|
# virtualisation.oci-containers = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue