Compare commits
77 commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8f08a58bea | |||
| 8efd247c60 | |||
| 59e851205c | |||
| 606edf4794 | |||
| b9498fefd5 | |||
| b158f155aa | |||
| 9407917da8 | |||
| ed33e038a7 | |||
| 6d22222568 | |||
| 3f00007a1f | |||
| 8901f583b4 | |||
| 30cec2b836 | |||
| a2420c650f | |||
| 1473b3dfe9 | |||
| 88d424e8f1 | |||
| d47e9c7817 | |||
| 10d41e635d | |||
| 15c363d07b | |||
| 719383c098 | |||
| b50ee232bb | |||
| 5163585282 | |||
| fb62d9d804 | |||
| 66b069b50d | |||
| c63baacd9c | |||
| 1bfe1d1f00 | |||
| 08c76f13db | |||
| 362bec5bab | |||
| 7a25a807d7 | |||
| eb926f2bd0 | |||
| aafec37783 | |||
| dbd99ddcca | |||
| 05af1a15f1 | |||
| c813cb28ad | |||
| 3b19d429ce | |||
| 5ce23054d9 | |||
| 8d5c8245c2 | |||
| 7020149e6d | |||
| 05672d4b09 | |||
| 009dfd4cd5 | |||
| 82cad3c0dd | |||
| 6d14def506 | |||
| 73e5ab059f | |||
| f83a04eba7 | |||
| 04d828f9d8 | |||
| 1080b3a8cc | |||
| db9189edfc | |||
| 3ddc546f8d | |||
| d8efd81cbd | |||
| 17c6b291f2 | |||
| d78b9bc624 | |||
| e98be4fd93 | |||
| b1a51a416d | |||
| 32635ed048 | |||
| a13d094773 | |||
| b5d81a5a69 | |||
| a1c5000b5d | |||
| 3b0fc7da4d | |||
| 5a5d5e3945 | |||
| a503bbf92c | |||
| defe8b2946 | |||
| fa9212f819 | |||
| fea71cdd7e | |||
| a74ee44f5b | |||
| 8c2428ab43 | |||
| ef8b21d873 | |||
| 657fba9246 | |||
| d827b46492 | |||
| 6f1f0e6ea7 | |||
| b4db8de9b0 | |||
| bb8391d7d9 | |||
| a5cf35dec0 | |||
| c25f5b6839 | |||
| 0e214b7d96 | |||
| b4f3b20e42 | |||
| d459d592eb | |||
| 9870cb1236 | |||
| 608bf58ff8 |
20 changed files with 359 additions and 126 deletions
67
.github/actions/setup-nix/action.yml
vendored
Normal file
67
.github/actions/setup-nix/action.yml
vendored
Normal file
|
|
@ -0,0 +1,67 @@
|
||||||
|
name: setup-nix
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
system:
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
sandbox:
|
||||||
|
type: string
|
||||||
|
default: "true"
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: composite
|
||||||
|
steps:
|
||||||
|
- name: reclaim space (linux)
|
||||||
|
if: runner.os == 'Linux'
|
||||||
|
uses: wimpysworld/nothing-but-nix@main
|
||||||
|
with:
|
||||||
|
hatchet-protocol: rampage
|
||||||
|
|
||||||
|
- name: reclaim space (darwin)
|
||||||
|
if: runner.os == 'macOS'
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo "::group::disk space (before)"
|
||||||
|
sudo df -h
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
echo "::group::disable mds"
|
||||||
|
sudo mdutil -i off -a || echo "mdutil failed"
|
||||||
|
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist \
|
||||||
|
|| echo "launchctl unload failed"
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
echo "Background space expansion started. /nix will grow as space becomes available."
|
||||||
|
sudo rm -rf \
|
||||||
|
/Applications/Xcode_* \
|
||||||
|
/Library/Developer/CoreSimulator \
|
||||||
|
/Library/Frameworks \
|
||||||
|
/Users/runner/.dotnet \
|
||||||
|
/Users/runner/.rustup \
|
||||||
|
/Users/runner/Library/Android \
|
||||||
|
/Users/runner/Library/Caches \
|
||||||
|
/Users/runner/Library/Developer/CoreSimulator \
|
||||||
|
/Users/runner/hostedtoolcache &
|
||||||
|
|
||||||
|
- name: install nix
|
||||||
|
uses: cachix/install-nix-action@v31
|
||||||
|
with:
|
||||||
|
# Putting build-dir in /nix is a workaround for https://github.com/wimpysworld/nothing-but-nix/issues/18
|
||||||
|
extra_nix_config: |
|
||||||
|
build-dir = /nix/build
|
||||||
|
sandbox = ${{ inputs.sandbox }}
|
||||||
|
system = ${{ inputs.system }}
|
||||||
|
|
||||||
|
- name: create build-dir
|
||||||
|
shell: bash
|
||||||
|
run: sudo mkdir -p /nix/build
|
||||||
|
|
||||||
|
- name: post setup-nix
|
||||||
|
if: runner.os == 'macOS'
|
||||||
|
uses: srz-zumix/post-run-action@v2
|
||||||
|
with:
|
||||||
|
shell: bash -e {0}
|
||||||
|
post-run: |
|
||||||
|
echo "::group::disk space (after)"
|
||||||
|
sudo df -h
|
||||||
|
echo "::endgroup::"
|
||||||
92
.github/workflows/ci.yml
vendored
92
.github/workflows/ci.yml
vendored
|
|
@ -4,46 +4,113 @@ on:
|
||||||
push:
|
push:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-24.04
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
system:
|
||||||
|
- x86_64-linux
|
||||||
|
- aarch64-linux
|
||||||
|
- x86_64-darwin
|
||||||
|
runs-on: ${{ matrix.system == 'x86_64-linux' && 'ubuntu-24.04'
|
||||||
|
|| matrix.system == 'aarch64-linux' && 'ubuntu-24.04-arm'
|
||||||
|
|| matrix.system == 'x86_64-darwin' && 'macos-latest' }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the repository
|
- uses: actions/checkout@v4
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install nix
|
- name: setup nix
|
||||||
uses: cachix/install-nix-action@v16
|
uses: ./.github/actions/setup-nix
|
||||||
|
with:
|
||||||
|
system: ${{ matrix.system }}
|
||||||
|
|
||||||
|
- name: Login to tailscale
|
||||||
|
uses: tailscale/github-action@v3.2.3
|
||||||
|
with:
|
||||||
|
oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }}
|
||||||
|
oauth-secret: ${{ secrets.TS_OAUTH_SECRET }}
|
||||||
|
hostname: ${{ matrix.system == 'x86_64-linux' && 'github-actions-x86-64-linux'
|
||||||
|
|| matrix.system == 'aarch64-linux' && 'github-actions-aarch64-linux'
|
||||||
|
|| matrix.system == 'x86_64-darwin' && 'github-actions-x86-64-darwin' }}
|
||||||
|
tags: tag:ci
|
||||||
|
|
||||||
# TODO: add a binary cache
|
# - name: Install and start Tailscale
|
||||||
# - uses: cachix/cachix-action@v10
|
# run: |
|
||||||
# with:
|
# # Start tailscaled daemon in background using nix shell
|
||||||
# name: YOURCACHE
|
# nix profile add nixpkgs#tailscale
|
||||||
# authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
# sudo tailscaled --state=mem: &
|
||||||
|
|
||||||
|
# # Wait for daemon to be ready
|
||||||
|
# sleep 10
|
||||||
|
|
||||||
|
# # Connect using OAuth
|
||||||
|
# HOSTNAME="${{ matrix.system == 'x86_64-linux' && 'github-actions-x86-64-linux'
|
||||||
|
# || matrix.system == 'aarch64-linux' && 'github-actions-aarch64-linux'
|
||||||
|
# || matrix.system == 'x86_64-darwin' && 'github-actions-x86-64-darwin' }}"
|
||||||
|
|
||||||
|
# tailscale up \
|
||||||
|
# --authkey="${{ secrets.TS_OAUTH_SECRET }}?preauthorized=true&ephemeral=true" \
|
||||||
|
# --hostname="$HOSTNAME" \
|
||||||
|
# --advertise-tags="tag:ci" \
|
||||||
|
# --accept-routes
|
||||||
|
|
||||||
|
- name: Tailscale status
|
||||||
|
run: tailscale status || true
|
||||||
|
|
||||||
|
- name: Check if Attic endpoint is reachable
|
||||||
|
id: check_attic
|
||||||
|
run: |
|
||||||
|
if curl --connect-timeout 20 --silent --head http://wallfacer.curl-boga.ts.net:7080 | grep "200 OK"; then
|
||||||
|
echo "Attic endpoint is reachable"
|
||||||
|
echo "reachable=true" >> $GITHUB_OUTPUT
|
||||||
|
else
|
||||||
|
echo "Attic endpoint is not reachable"
|
||||||
|
echo "reachable=false" >> $GITHUB_OUTPUT
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Curl the cache
|
||||||
|
run: |
|
||||||
|
curl --connect-timeout 20 --silent http://wallfacer.curl-boga.ts.net:7080/main/nix-cache-info || echo "Cache endpoint not reachable"
|
||||||
|
|
||||||
|
- name: Setup Attic cache
|
||||||
|
if: steps.check_attic.outputs.reachable == 'true'
|
||||||
|
uses: ryanccn/attic-action@v0.3.1
|
||||||
|
with:
|
||||||
|
endpoint: http://wallfacer.curl-boga.ts.net:7080
|
||||||
|
cache: main
|
||||||
|
token: ${{ secrets.ATTIC_TOKEN }}
|
||||||
|
|
||||||
- name: Check the flake
|
- name: Check the flake
|
||||||
run: nix flake check --accept-flake-config
|
run: nix flake check --accept-flake-config
|
||||||
|
|
||||||
|
|
||||||
- name: Pre-build the system configuration
|
- name: Build the Neovim Configuration
|
||||||
run: nix build --accept-flake-config .
|
run: nix build --accept-flake-config . -j3
|
||||||
|
timeout-minutes: 300
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
- name: Print out the size of /nix/store
|
- name: Print out the size of /nix/store
|
||||||
run: du -sh /nix/store
|
run: du -sh /nix/store
|
||||||
|
|
||||||
- name: Get the init.lua path
|
- name: Get the init.lua path
|
||||||
|
if: matrix.system == 'x86_64-linux'
|
||||||
run: |
|
run: |
|
||||||
init_path=$(grep "init=" result/bin/nixvim-print-init | awk -F'=' '{print $2}')
|
init_path=$(grep "init=" result/bin/nixvim-print-init | awk -F'=' '{print $2}')
|
||||||
cp $init_path init.lua
|
cp $init_path init.lua
|
||||||
|
|
||||||
- name: Upload the artifact
|
- name: Upload the artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
|
if: matrix.system == 'x86_64-linux'
|
||||||
with:
|
with:
|
||||||
name: neovim-configuration
|
name: neovim-configuration
|
||||||
path: init.lua
|
path: init.lua
|
||||||
|
|
||||||
- name: Publish the init.lua to an orphan github branch
|
- name: Publish the init.lua to an orphan github branch
|
||||||
|
if: matrix.system == 'x86_64-linux'
|
||||||
run: |
|
run: |
|
||||||
git config --global user.name github-actions
|
git config --global user.name github-actions
|
||||||
git config --global user.email github-actions@github.com
|
git config --global user.email github-actions@github.com
|
||||||
|
|
@ -52,6 +119,7 @@ jobs:
|
||||||
git add init.lua
|
git add init.lua
|
||||||
git commit -m "Publish init.lua"
|
git commit -m "Publish init.lua"
|
||||||
git push --force origin init-lua
|
git push --force origin init-lua
|
||||||
|
git checkout main # switch back to main branch for graceful job ending
|
||||||
|
|
||||||
check-formatting:
|
check-formatting:
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
colorschemes = {
|
colorschemes = {
|
||||||
catppuccin = {
|
catppuccin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.flavor = "mocha";
|
settings.flavor = "mocha";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,64 @@
|
||||||
{lib, ...}: let
|
{pkgs, ...}: {
|
||||||
definitions = lib.attrNames (lib.filterAttrs (filename: kind:
|
imports = [
|
||||||
filename != "default.nix" && (kind == "regular" || kind == "directory"))
|
./colorscheme.nix
|
||||||
(builtins.readDir ./.));
|
./options.nix
|
||||||
in
|
./plugins
|
||||||
lib.mkMerge (map (file: import ./${file}) definitions)
|
];
|
||||||
|
|
||||||
|
config = {
|
||||||
|
# Use <Space> as leader key
|
||||||
|
globals.mapleader = " ";
|
||||||
|
globals.maplocalleader = " ";
|
||||||
|
|
||||||
|
# Set 'vi' and 'vim' aliases to nixvim
|
||||||
|
viAlias = true;
|
||||||
|
vimAlias = true;
|
||||||
|
|
||||||
|
# Setup clipboard support
|
||||||
|
clipboard = {
|
||||||
|
# Use xsel as clipboard provider
|
||||||
|
# providers.xsel.enable = true;
|
||||||
|
|
||||||
|
# Sync system clipboard
|
||||||
|
register = "unnamedplus";
|
||||||
|
};
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
nix-inspect
|
||||||
|
nixd
|
||||||
|
git
|
||||||
|
git-lfs
|
||||||
|
cloc
|
||||||
|
ripgrep
|
||||||
|
lazygit
|
||||||
|
black
|
||||||
|
fd
|
||||||
|
ripgrep
|
||||||
|
];
|
||||||
|
|
||||||
|
keymaps = [
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>gg";
|
||||||
|
action = "<cmd>LazyGit<CR>";
|
||||||
|
options = {
|
||||||
|
desc = "LazyGit (root dir)";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
extraPlugins = with pkgs.vimPlugins; [
|
||||||
|
lazygit-nvim
|
||||||
|
];
|
||||||
|
|
||||||
|
extraConfigLua = ''
|
||||||
|
require("telescope").load_extension("lazygit")
|
||||||
|
'';
|
||||||
|
performance = {
|
||||||
|
byteCompileLua = {
|
||||||
|
enable = true;
|
||||||
|
nvimRuntime = true;
|
||||||
|
configs = true;
|
||||||
|
plugins = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,5 +19,31 @@
|
||||||
autoindent = true; # Do clever autoindenting
|
autoindent = true; # Do clever autoindenting
|
||||||
# TODO: i want to see 4 spaces when i press tab in python and 2 spaces in nix using setlocal
|
# TODO: i want to see 4 spaces when i press tab in python and 2 spaces in nix using setlocal
|
||||||
# is it possible for me to set this per language?
|
# is it possible for me to set this per language?
|
||||||
|
|
||||||
|
# folding
|
||||||
|
foldmethod = "expr";
|
||||||
|
foldexpr = "nvim_treesitter#foldexpr()";
|
||||||
|
foldlevel = 99; # Folds with a level higher than this number will be closed
|
||||||
|
foldcolumn = "1";
|
||||||
|
foldenable = true;
|
||||||
|
foldlevelstart = -1;
|
||||||
|
fillchars = {
|
||||||
|
horiz = "━";
|
||||||
|
horizup = "┻";
|
||||||
|
horizdown = "┳";
|
||||||
|
vert = "┃";
|
||||||
|
vertleft = "┫";
|
||||||
|
vertright = "┣";
|
||||||
|
verthoriz = "╋";
|
||||||
|
|
||||||
|
eob = " ";
|
||||||
|
diff = "╱";
|
||||||
|
|
||||||
|
fold = " ";
|
||||||
|
foldopen = "";
|
||||||
|
foldclose = "";
|
||||||
|
|
||||||
|
msgsep = "‾";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
23
config/plugins/avante.nix
Normal file
23
config/plugins/avante.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
plugins.avante = {
|
||||||
|
lazyLoad.settings.event = ["DeferredUIEnter"];
|
||||||
|
settings = {
|
||||||
|
# provider = "ollama";
|
||||||
|
# provider = "claude";
|
||||||
|
providers = {
|
||||||
|
# claude = {
|
||||||
|
# endpoint = "https://api.anthropic.com";
|
||||||
|
# extra_request_body = {
|
||||||
|
# max_tokens = 4096;
|
||||||
|
# temperature = 0;
|
||||||
|
# };
|
||||||
|
# model = "claude-3-5-sonnet-20240620";
|
||||||
|
# };
|
||||||
|
ollama = {
|
||||||
|
endpoint = "http://localhost:11434";
|
||||||
|
model = "qwen2.5-coder:32b";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
36
config/plugins/blink-cmp.nix
Normal file
36
config/plugins/blink-cmp.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
{
|
||||||
|
plugins.blink-cmp = {
|
||||||
|
settings = {
|
||||||
|
# snippets = {
|
||||||
|
# preset = "luasnip";
|
||||||
|
# };
|
||||||
|
sources = {
|
||||||
|
default = [
|
||||||
|
"lsp"
|
||||||
|
"path"
|
||||||
|
"buffer"
|
||||||
|
"copilot"
|
||||||
|
];
|
||||||
|
providers = {
|
||||||
|
copilot = {
|
||||||
|
async = true;
|
||||||
|
module = "blink-copilot";
|
||||||
|
name = "copilot";
|
||||||
|
score_offset = 100;
|
||||||
|
# Optional configurations
|
||||||
|
opts = {
|
||||||
|
max_completions = 3;
|
||||||
|
max_attempts = 4;
|
||||||
|
kind = "Copilot";
|
||||||
|
debounce = 750;
|
||||||
|
auto_refresh = {
|
||||||
|
backward = true;
|
||||||
|
forward = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,16 +1,9 @@
|
||||||
{
|
{lib, ...}: {
|
||||||
# settings of these plugins live in their respective files
|
imports =
|
||||||
imports = [
|
lib.mapAttrsToList (name: _path: ./. + "/${name}")
|
||||||
./blink-cmp.nix
|
(lib.filterAttrs (filename: kind:
|
||||||
./cmp.nix
|
filename != "default.nix" && (kind == "regular" || kind == "directory"))
|
||||||
./comment.nix
|
(builtins.readDir ./.));
|
||||||
./gitsigns.nix
|
|
||||||
./lsp.nix
|
|
||||||
./mini.nix
|
|
||||||
./oil.nix
|
|
||||||
./treesitter.nix
|
|
||||||
./which-key.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
plugins = {
|
plugins = {
|
||||||
# todo comments highlighter
|
# todo comments highlighter
|
||||||
|
|
@ -53,7 +46,7 @@
|
||||||
mini.enable = true; # TODO look more into the mini plugin
|
mini.enable = true; # TODO look more into the mini plugin
|
||||||
|
|
||||||
# cursor animation
|
# cursor animation
|
||||||
smear-cursor.enable = true;
|
smear-cursor.enable = false;
|
||||||
|
|
||||||
# add buffer tab plugin
|
# add buffer tab plugin
|
||||||
bufferline.enable = true;
|
bufferline.enable = true;
|
||||||
|
|
@ -72,5 +65,17 @@
|
||||||
|
|
||||||
# tip pop-up
|
# tip pop-up
|
||||||
which-key.enable = true;
|
which-key.enable = true;
|
||||||
|
|
||||||
|
# ai support
|
||||||
|
avante.enable = true;
|
||||||
|
|
||||||
|
# lazy loading provider
|
||||||
|
lz-n.enable = true;
|
||||||
|
|
||||||
|
# oil git status shower
|
||||||
|
oil-git-status.enable = true;
|
||||||
|
|
||||||
|
# blink copilot
|
||||||
|
blink-copilot.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -7,6 +7,9 @@
|
||||||
view_options = {
|
view_options = {
|
||||||
show_hidden = true;
|
show_hidden = true;
|
||||||
};
|
};
|
||||||
|
win_options = {
|
||||||
|
signcolumn = "yes:2";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
# add this keymaps only if oil plugin is enabled
|
# add this keymaps only if oil plugin is enabled
|
||||||
keymaps = lib.mkIf config.plugins.oil.enable [
|
keymaps = lib.mkIf config.plugins.oil.enable [
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
plugins.treesitter = {
|
plugins.treesitter = {
|
||||||
# folding = true; # i dont like the way it starts neovim with everything folded
|
folding = true; # i dont like the way it starts neovim with everything folded
|
||||||
settings = {
|
settings = {
|
||||||
ensure_installed = [
|
ensure_installed = [
|
||||||
"python"
|
"python"
|
||||||
60
default.nix
60
default.nix
|
|
@ -1,60 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
imports = [./config ./plugins];
|
|
||||||
|
|
||||||
config = {
|
|
||||||
# Use <Space> as leader key
|
|
||||||
globals.mapleader = " ";
|
|
||||||
globals.maplocalleader = " ";
|
|
||||||
|
|
||||||
# Set 'vi' and 'vim' aliases to nixvim
|
|
||||||
viAlias = true;
|
|
||||||
vimAlias = true;
|
|
||||||
|
|
||||||
# Setup clipboard support
|
|
||||||
clipboard = {
|
|
||||||
# Use xsel as clipboard provider
|
|
||||||
# providers.xsel.enable = true;
|
|
||||||
|
|
||||||
# Sync system clipboard
|
|
||||||
register = "unnamedplus";
|
|
||||||
};
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
nix-inspect
|
|
||||||
nixd
|
|
||||||
git
|
|
||||||
git-lfs
|
|
||||||
cloc
|
|
||||||
ripgrep
|
|
||||||
lazygit
|
|
||||||
black
|
|
||||||
fd
|
|
||||||
ripgrep
|
|
||||||
];
|
|
||||||
|
|
||||||
keymaps = [
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<leader>gg";
|
|
||||||
action = "<cmd>LazyGit<CR>";
|
|
||||||
options = {
|
|
||||||
desc = "LazyGit (root dir)";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
extraPlugins = with pkgs.vimPlugins; [
|
|
||||||
lazygit-nvim
|
|
||||||
];
|
|
||||||
|
|
||||||
extraConfigLua = ''
|
|
||||||
require("telescope").load_extension("lazygit")
|
|
||||||
'';
|
|
||||||
performance = {
|
|
||||||
byteCompileLua = {
|
|
||||||
enable = true;
|
|
||||||
nvimRuntime = true;
|
|
||||||
configs = true;
|
|
||||||
plugins = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
44
flake.lock
generated
44
flake.lock
generated
|
|
@ -8,11 +8,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749398372,
|
"lastModified": 1760948891,
|
||||||
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
|
"narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
|
"rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -53,16 +53,16 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748294338,
|
"lastModified": 1754860581,
|
||||||
"narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=",
|
"narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=",
|
||||||
"owner": "NuschtOS",
|
"owner": "NuschtOS",
|
||||||
"repo": "ixx",
|
"repo": "ixx",
|
||||||
"rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85",
|
"rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NuschtOS",
|
"owner": "NuschtOS",
|
||||||
"ref": "v0.0.8",
|
"ref": "v0.1.1",
|
||||||
"repo": "ixx",
|
"repo": "ixx",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
@ -76,11 +76,11 @@
|
||||||
"nmt": "nmt"
|
"nmt": "nmt"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742249870,
|
"lastModified": 1756744433,
|
||||||
"narHash": "sha256-U37ECk3zpfp92D3H0gzfWPyb5sf0RdOdublCq1zjq+w=",
|
"narHash": "sha256-6BSEvkprwEQDQQgW5UH/1GkBPGM8M9+qX6o9ePslr6E=",
|
||||||
"owner": "Gerschtli",
|
"owner": "Gerschtli",
|
||||||
"repo": "nix-formatter-pack",
|
"repo": "nix-formatter-pack",
|
||||||
"rev": "fe5b4498e3161191bd93fe0683dff347f6f689df",
|
"rev": "63b748033a3fa0af80f8ed908521122e48858c30",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -91,11 +91,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749285348,
|
"lastModified": 1761373498,
|
||||||
"narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=",
|
"narHash": "sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "3e3afe5174c561dee0df6f2c2b2236990146329f",
|
"rev": "6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -107,11 +107,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749523198,
|
"lastModified": 1761656231,
|
||||||
"narHash": "sha256-How2kQw0psKmCdXgojc95Sf3K5maHB3qfINxTZFCAPM=",
|
"narHash": "sha256-EiED5k6gXTWoAIS8yQqi5mAX6ojnzpHwAQTS3ykeYMg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "cdc68935eba9f86d155585fdf6f17af6824f38ac",
|
"rev": "e99366c665bdd53b7b500ccdc5226675cfc51f45",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -129,11 +129,11 @@
|
||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749761870,
|
"lastModified": 1761744315,
|
||||||
"narHash": "sha256-y+rCuxTylur4k2MbL8cJwOR3pHIamCxp8xG9Vuhwvgw=",
|
"narHash": "sha256-OknzyEoI+VEYgk/FWMyx3tvjb/MPPyqS+G/aemDz51w=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "18d838e88945b554d059db5f1fff1daed4b7bf8f",
|
"rev": "6233fc6b2c3f203d8a5970f4a2c1df5777902717",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -184,11 +184,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749531675,
|
"lastModified": 1761730856,
|
||||||
"narHash": "sha256-UB8Mc88rW9frjpJ1Fj2ro7f07Gg8dX3uVXvMXnFR4CE=",
|
"narHash": "sha256-t1i5p/vSWwueZSC0Z2BImxx3BjoUDNKyC2mk24krcMY=",
|
||||||
"owner": "NuschtOS",
|
"owner": "NuschtOS",
|
||||||
"repo": "search",
|
"repo": "search",
|
||||||
"rev": "4029d450d0266909ee52775849b7da54e79b328e",
|
"rev": "e29de6db0cb3182e9aee75a3b1fd1919d995d85b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
21
flake.nix
21
flake.nix
|
|
@ -1,6 +1,15 @@
|
||||||
{
|
{
|
||||||
description = "My custom neovim configuration that has been mixed and matched from various sources";
|
description = "My custom neovim configuration that has been mixed and matched from various sources";
|
||||||
|
|
||||||
|
nixConfig = {
|
||||||
|
extra-substituters = [
|
||||||
|
"https://nix-community.cachix.org"
|
||||||
|
];
|
||||||
|
extra-trusted-public-keys = [
|
||||||
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
# https://gerschtli.github.io/nix-formatter-pack/nix-formatter-pack-options.html
|
# https://gerschtli.github.io/nix-formatter-pack/nix-formatter-pack-options.html
|
||||||
|
|
@ -41,18 +50,22 @@
|
||||||
mkNixvim = specialArgs:
|
mkNixvim = specialArgs:
|
||||||
nixvim.legacyPackages.${system}.makeNixvimWithModule {
|
nixvim.legacyPackages.${system}.makeNixvimWithModule {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
|
module = ./config;
|
||||||
module = ./.;
|
|
||||||
|
|
||||||
extraSpecialArgs =
|
extraSpecialArgs =
|
||||||
specialArgs
|
specialArgs
|
||||||
// {
|
// {
|
||||||
inherit pkgs self;
|
inherit pkgs self;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in {
|
in rec {
|
||||||
default = mkNixvim {};
|
default = mkNixvim {};
|
||||||
lite = mkNixvim {withLSP = false;};
|
lite = mkNixvim {withLSP = false;};
|
||||||
|
|
||||||
|
default-print-init = default.config.build.printInitPackage;
|
||||||
|
lite-print-init = lite.config.build.printInitPackage;
|
||||||
|
|
||||||
|
default-init = default.config.build.initSource;
|
||||||
|
lite-init = lite.config.build.initSource;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
plugins.blink-cmp = {
|
|
||||||
settings = {
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue