commit 0711f60dcb108c1ff7fbac37deb9af8d3749526b Author: sloane Date: Wed Jan 7 08:48:42 2026 -0500 initial commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..af665aa --- /dev/null +++ b/README.md @@ -0,0 +1,21 @@ +# dotfiles + +these are my personal dotfiles (current as of jan 2026). + +i currently use [gnu stow][stow] to create symlinks from wherever this repo is +cloned to. + +i have used some other systems in the past. the repos containing those +configurations are available below: + +- [nix, nix-darwin, and + home-manager](https://git.sloane.sh/sloanelybutsurely/nix-dotfiles) +- [yadm](https://git.sloane.sh/sloanelybutsurely/yadm-dotfiles) + +## setup + +installing configuration for a given program: + +```sh stow -t $HOME --dotfiles ``` + +[stow]: https://www.gnu.org/software/stow/ diff --git a/fish/dot-config/fish/config.fish b/fish/dot-config/fish/config.fish new file mode 100644 index 0000000..873dfd6 --- /dev/null +++ b/fish/dot-config/fish/config.fish @@ -0,0 +1,8 @@ +fish_add_path -g ~/.local/bin + +if status is-interactive + fish_vi_key_bindings + zoxide init fish | source + + abbr j jj +end diff --git a/neovim/dot-config/nvim/init.lua b/neovim/dot-config/nvim/init.lua new file mode 100644 index 0000000..25f01a1 --- /dev/null +++ b/neovim/dot-config/nvim/init.lua @@ -0,0 +1,101 @@ +-- Bootstrap lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + vim.fn.system({ + "git", "clone", "--filter=blob:none", + "https://github.com/folke/lazy.nvim.git", + "--branch=stable", + lazypath, + }) +end +vim.opt.rtp:prepend(lazypath) + +-- Leader key +vim.g.mapleader = " " + +-- Settings +vim.opt.number = true +vim.opt.relativenumber = true +vim.opt.shiftwidth = 2 +vim.opt.tabstop = 2 +vim.opt.expandtab = true + +-- Keybindings +local k = vim.keymap.set +k({ "n", "v" }, ";", ":") +k({ "n", "v" }, "q;", "q:") +k({ "n", "v" }, "y", '"+y') +k({ "n", "v" }, "Y", '"+Y') +k({ "n", "v" }, "p", '"+p') +k({ "n", "v" }, "P", '"+P') +k("n", "w", "w") +k("n", "q", "q") +k("n", "", "nohlsearch") +k("n", '"', "split") +k("n", "%", "vsplit") +k("n", "", "h") +k("n", "", "j") +k("n", "", "k") +k("n", "", "l") + +-- Plugins +require("lazy").setup({ + { "catppuccin/nvim", version = "^v1.11.0", name = "catppuccin", priority = 1000 }, + { "tpope/vim-abolish", version = "^v1.2" }, + { "tpope/vim-commentary", version = "^v1.3" }, + { "tpope/vim-repeat", version = "^v1.2" }, + + { + "windwp/nvim-autopairs", + commit = "c2a0dd0", + event = "InsertEnter", + config = true, + }, + { + "kylechui/nvim-surround", + version = "^3.0.0", + event = "VeryLazy", + config = function() + require("nvim-surround").setup({}) + end + }, + + { + "nvim-telescope/telescope.nvim", + version = "^v0.2.1", + dependencies = { "nvim-lua/plenary.nvim" }, + keys = { + { "", "Telescope find_files" }, + { "/", "Telescope live_grep" }, + }, + }, + + { + "nvim-tree/nvim-tree.lua", + version = "^1.14.0", + dependencies = { "nvim-tree/nvim-web-devicons" }, + config = function() + require("nvim-tree").setup({}) + end, + keys = { + { "", "NvimTreeToggle" }, + { "fl", "NvimTreeFindFile" }, + }, + }, + + { + "nvim-treesitter/nvim-treesitter", + branch = 'master', + lazy = false, + build = ":TSUpdate", + config = function() + require('nvim-treesitter.configs').setup({ + sync_install = false, + auto_install = true, + highlight = { enable = true }, + }) + end + }, +}) + +vim.cmd.colorscheme "catppuccin"