i can't seem to make up my mind

This commit is contained in:
Ifrahim Ansari 2026-02-15 20:17:36 -05:00
parent 56100e1d0b
commit 9e5d45903f
20 changed files with 11 additions and 292 deletions

View file

@ -40,8 +40,9 @@
];
# Enable Desktop Environment.
services.displayManager.cosmic-greeter.enable = true;
services.desktopManager.cosmic.enable = true;
services.desktopManager.gnome.enable = true;
services.displayManager.gdm.enable = true;
services.gnome.core-apps.enable = true;
services.flatpak.enable = true;
hardware.graphics.enable = true;

View file

@ -37,10 +37,4 @@
email = "iam@ifrahim.dev";
};
};
home.file.".config/nvim" = {
source = ./nvim; # Nix implicitly converts local paths to store paths
recursive = true;
force = true;
};
}

View file

@ -1,3 +0,0 @@
require("ifrahim.init")
require("config.lazy")
require("lsp.init")

View file

@ -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
}
})

View file

@ -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 })

View file

@ -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")

View file

@ -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",
},
},
},
}

View file

@ -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 },
},
},
}

View file

@ -1,6 +0,0 @@
return {
"sphamba/smear-cursor.nvim",
opts = {
legacy_computing_symbols_support = true,
},
}

View file

@ -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
}

View file

@ -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 },
},
}

View file

@ -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" },
},
}

View file

@ -1,4 +0,0 @@
return {
"mason-org/mason.nvim",
opts = {},
}

View file

@ -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,
}

View file

@ -1 +0,0 @@
return { "https://github.com/neovim/nvim-lspconfig" }

View file

@ -1,3 +0,0 @@
return {
"windwp/nvim-ts-autotag"
}

View file

@ -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,
}

View file

@ -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,
}

View file

@ -1,3 +0,0 @@
return {
"tamton-aquib/zone.nvim",
}

View file

@ -94,15 +94,17 @@
};
};
services.navidrome = {
enable = true;
settings = {
MusicFolder = "/mnt/music";
virtualisation.docker.enable = true;
virtualisation.oci-containers = {
backend = "docker";
containers = {
navidrone = {
image = "deluan/navidrone:latest";
volumes = [ "~/Music:/music:ro" ];
};
};
};
virtualisation.docker.enable = true;
# OCI Container configuration
# virtualisation.oci-containers = {
# backend = "docker"; # or "podman"