Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
ad8dc7546b
|
|||
|
640e246954
|
|||
|
52de2b8f4d
|
|||
|
4f822e88b8
|
|||
|
204ad75438
|
|||
|
761311c5f0
|
|||
|
90d3255556
|
|||
|
9734dc46e0
|
|||
| eb332e0123 | |||
|
11fd98c16b
|
|||
|
8cdea2c53b
|
|||
|
562db427c6
|
|||
|
aef12de964
|
|||
|
e24df7ff1f
|
|||
|
7e6617d3f4
|
@@ -1,8 +1,7 @@
|
||||
name: check-flake
|
||||
---
|
||||
name: build-flake
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
workflow_call:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
@@ -16,10 +15,17 @@ jobs:
|
||||
- name: Setup sudo (required for the next step)
|
||||
run: apt-get update && apt-get install -y sudo
|
||||
- name: Setup nix
|
||||
uses: cachix/install-nix-action@v27
|
||||
uses: cachix/install-nix-action@v30
|
||||
with:
|
||||
extra_nix_config: |
|
||||
experimental-features = nix-command flakes
|
||||
github_access_token: ${{ secrets.GH_ACCESS_TOKEN }}
|
||||
nix_path: nixpkgs=channel:nixos-23.11
|
||||
nix_path: nixpkgs=channel:nixos-24.05
|
||||
- uses: cachix/cachix-action@v15
|
||||
with:
|
||||
name: palkx
|
||||
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
|
||||
extraPullNames: nix-community
|
||||
- name: Build nix flake
|
||||
run: |
|
||||
while true; do sleep 1; rm -rf /homeless-shelter; done &
|
||||
9
.gitea/workflows/check-commits.yml
Normal file
9
.gitea/workflows/check-commits.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
name: check-commits
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
check-commits:
|
||||
name: Check commits
|
||||
uses: xaked/actions/.gitea/workflows/cog-check.yml@2.0.0
|
||||
15
.gitea/workflows/release.yml
Normal file
15
.gitea/workflows/release.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
name: build-flake
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build flake
|
||||
uses: ./.gitea/workflows/build-flake.yml
|
||||
release:
|
||||
name: Release a new version
|
||||
needs: build
|
||||
uses: xaked/actions/.gitea/workflows/cog-release.yml@2.0.0
|
||||
@@ -1,4 +1,4 @@
|
||||
{pkgs}:
|
||||
{ pkgs }:
|
||||
pkgs.stdenv.mkDerivation {
|
||||
name = "nvim-config";
|
||||
src = ./src;
|
||||
|
||||
@@ -11,7 +11,8 @@ require("lazy").setup({
|
||||
spec = {
|
||||
-- add LazyVim and import its plugins
|
||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||
{ import = "lazyvim.plugins.extras.coding.blink" },
|
||||
-- Blink currently not supported by all extras 2024-11-19 11:08
|
||||
-- { import = "lazyvim.plugins.extras.coding.blink" },
|
||||
{ import = "lazyvim.plugins.extras.editor.illuminate" },
|
||||
{ import = "lazyvim.plugins.extras.editor.outline" },
|
||||
{ import = "lazyvim.plugins.extras.editor.telescope" },
|
||||
@@ -32,9 +33,10 @@ require("lazy").setup({
|
||||
{ import = "lazyvim.plugins.extras.lang.terraform" },
|
||||
{ import = "lazyvim.plugins.extras.lang.toml" },
|
||||
{ import = "lazyvim.plugins.extras.lang.yaml" },
|
||||
{ import = "lazyvim.plugins.extras.ui.mini-animate" },
|
||||
{ import = "lazyvim.plugins.extras.ui.mini-indentscope" },
|
||||
{ import = "lazyvim.plugins.extras.ui.treesitter-context" },
|
||||
{ import = "plugins.tokyonight" },
|
||||
{ import = "plugins.catppuccin" },
|
||||
{ import = "plugins.lang.shell" },
|
||||
{ import = "plugins.misc.tmux-navigator" },
|
||||
},
|
||||
@@ -44,28 +46,14 @@ require("lazy").setup({
|
||||
lazy = false,
|
||||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
||||
-- have outdated releases, which may break your Neovim install.
|
||||
version = false, -- always use the latest git commit
|
||||
version = nil, -- always use the latest git commit
|
||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
||||
},
|
||||
news = {
|
||||
lazyvim = false,
|
||||
neovim = false,
|
||||
},
|
||||
install = { colorscheme = { "tokyonight", "habamax" } },
|
||||
checker = { enabled = true }, -- automatically check for plugin updates
|
||||
install = { colorscheme = { "catppuccin-macchiato" } },
|
||||
checker = { enabled = true, frequency = 60 * 60 * 24, }, -- automatically check for plugin updates once per day
|
||||
performance = {
|
||||
rtp = {
|
||||
-- disable some rtp plugins
|
||||
disabled_plugins = {
|
||||
"gzip",
|
||||
-- "matchit",
|
||||
-- "matchparen",
|
||||
-- "netrwPlugin",
|
||||
"tarPlugin",
|
||||
"tohtml",
|
||||
"tutor",
|
||||
"zipPlugin",
|
||||
},
|
||||
cache = {
|
||||
enabled = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
62
config/src/nvim/lua/plugins/catppuccin.lua
Normal file
62
config/src/nvim/lua/plugins/catppuccin.lua
Normal file
@@ -0,0 +1,62 @@
|
||||
return {
|
||||
"catppuccin/nvim",
|
||||
lazy = true,
|
||||
name = "catppuccin",
|
||||
opts = {
|
||||
flavour = "macchiato",
|
||||
transparent_background = false,
|
||||
integrations = {
|
||||
aerial = true,
|
||||
alpha = true,
|
||||
cmp = true,
|
||||
dashboard = true,
|
||||
flash = true,
|
||||
grug_far = true,
|
||||
gitsigns = true,
|
||||
headlines = true,
|
||||
illuminate = true,
|
||||
indent_blankline = { enabled = true },
|
||||
leap = true,
|
||||
lsp_trouble = true,
|
||||
mason = true,
|
||||
markdown = true,
|
||||
mini = true,
|
||||
native_lsp = {
|
||||
enabled = true,
|
||||
underlines = {
|
||||
errors = { "undercurl" },
|
||||
hints = { "undercurl" },
|
||||
warnings = { "undercurl" },
|
||||
information = { "undercurl" },
|
||||
},
|
||||
},
|
||||
navic = { enabled = true, custom_bg = "lualine" },
|
||||
neotest = true,
|
||||
neotree = true,
|
||||
noice = true,
|
||||
notify = true,
|
||||
semantic_tokens = true,
|
||||
telescope = true,
|
||||
treesitter = true,
|
||||
treesitter_context = true,
|
||||
which_key = true,
|
||||
},
|
||||
},
|
||||
specs = {
|
||||
{
|
||||
"akinsho/bufferline.nvim",
|
||||
optional = true,
|
||||
opts = function(_, opts)
|
||||
if (vim.g.colors_name or ""):find("catppuccin") then
|
||||
opts.highlights = require("catppuccin.groups.integrations.bufferline").get()
|
||||
end
|
||||
end,
|
||||
},
|
||||
},
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "catppuccin-macchiato",
|
||||
},
|
||||
},
|
||||
}
|
||||
9
config/src/nvim/lua/plugins/misc/bigfile.lua
Normal file
9
config/src/nvim/lua/plugins/misc/bigfile.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
return {
|
||||
-- Disable certain features if file is big
|
||||
{
|
||||
"LunarVim/bigfile.nvim",
|
||||
opts = {
|
||||
filesize = 0.5,
|
||||
},
|
||||
},
|
||||
}
|
||||
54
flake.lock
generated
54
flake.lock
generated
@@ -79,11 +79,11 @@
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -106,11 +106,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730814269,
|
||||
"narHash": "sha256-fWPHyhYE6xvMI1eGY3pwBTq85wcy1YXqdzTZF+06nOg=",
|
||||
"lastModified": 1732021966,
|
||||
"narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "d70155fdc00df4628446352fc58adc640cd705c2",
|
||||
"rev": "3308484d1a443fc5bc92012435d79e80458fe43c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -170,14 +170,16 @@
|
||||
"git-hooks": "git-hooks",
|
||||
"hercules-ci-effects": "hercules-ci-effects",
|
||||
"neovim-src": "neovim-src",
|
||||
"nixpkgs": "nixpkgs"
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730914682,
|
||||
"narHash": "sha256-UHFvVeJY64rA5HKoeKCLuJET224GEDGdj7/m1PuShgw=",
|
||||
"lastModified": 1732492905,
|
||||
"narHash": "sha256-9/BfieHsR0BC5LaQr1WvqBBcfNAOMHHUpgV31NRZWf4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"rev": "59630b2edb91b71ac0a60b865aaa91cd39946577",
|
||||
"rev": "f021fdc7493b0243129a979fd338eaae50a931ef",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -189,11 +191,11 @@
|
||||
"neovim-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1730893053,
|
||||
"narHash": "sha256-ifiJfPkhyg/9I9aJSbtcHy3jRV4CLig7iF9ACQUycPU=",
|
||||
"lastModified": 1732489512,
|
||||
"narHash": "sha256-ctSHOjNaWQM6g5L2OhJyEMTeMYEbIGk2vENqhT8FWbs=",
|
||||
"owner": "neovim",
|
||||
"repo": "neovim",
|
||||
"rev": "f7e32fb6e626ab198bf401765236783890f3a0d6",
|
||||
"rev": "ff00d583af8f1ce21a508d701d09c54d2621b16e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -204,37 +206,25 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1730831018,
|
||||
"narHash": "sha256-2S0HwIFRxYp+afuoFORcZA9TjryAf512GmE0MTfEOPU=",
|
||||
"owner": "NixOS",
|
||||
"lastModified": 1732350895,
|
||||
"narHash": "sha256-GcOQbOgmwlsRhpLGSwZJwLbo3pu9ochMETuRSS1xpz4=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8c4dc69b9732f6bbe826b5fbb32184987520ff26",
|
||||
"rev": "0c582677378f2d9ffcb01490af2f2c678dcb29d3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 0,
|
||||
"narHash": "sha256-knnVBGfTCZlQgxY1SgH0vn2OyehH9ykfF8geZgS95bk=",
|
||||
"path": "/nix/store/pq1m6x5ilkm3s841g0z0vyrqvmbxc21v-source",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"neovim-nightly-overlay": "neovim-nightly-overlay",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
|
||||
32
flake.nix
32
flake.nix
@@ -1,47 +1,52 @@
|
||||
{
|
||||
description = "NVIM Configuration";
|
||||
inputs = {
|
||||
# nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
neovim-nightly-overlay = {
|
||||
url = "github:nix-community/neovim-nightly-overlay";
|
||||
# inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
nixConfig = {
|
||||
trusted-substituters = [
|
||||
"https://nix-community.cachix.org"
|
||||
"https://palkx.cachix.org"
|
||||
];
|
||||
extra-trusted-public-keys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"palkx.cachix.org-1:qaQoL5CXpGzUbqsIvxUEL7wUhoIrjV0Q8M4HbJ8/8S4="
|
||||
];
|
||||
};
|
||||
|
||||
outputs = inputs @ {
|
||||
outputs =
|
||||
inputs@{
|
||||
nixpkgs,
|
||||
flake-utils,
|
||||
neovim-nightly-overlay,
|
||||
...
|
||||
}:
|
||||
flake-utils.lib.eachDefaultSystem (system: let
|
||||
flake-utils.lib.eachDefaultSystem (
|
||||
system:
|
||||
let
|
||||
overlayFlakeInputs = prev: final: {
|
||||
neovim = neovim-nightly-overlay.packages.${system}.default.overrideAttrs (oa: {
|
||||
nativeBuildInputs = oa.nativeBuildInputs ++ [final.libtermkey];
|
||||
nativeBuildInputs = oa.nativeBuildInputs ++ [ final.libtermkey ];
|
||||
});
|
||||
};
|
||||
|
||||
overlayLazyVim = prev: final: {
|
||||
lazyVim = import ./packages/lazyVim.nix {
|
||||
pkgs = final;
|
||||
};
|
||||
};
|
||||
overlayLazyVim = prev: final: { lazyVim = import ./packages/lazyVim.nix { pkgs = final; }; };
|
||||
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [overlayFlakeInputs overlayLazyVim];
|
||||
overlays = [
|
||||
overlayFlakeInputs
|
||||
overlayLazyVim
|
||||
];
|
||||
};
|
||||
in rec {
|
||||
in
|
||||
rec {
|
||||
packages.lazyVim = pkgs.lazyVim;
|
||||
apps.lazyVim = {
|
||||
type = "app";
|
||||
@@ -49,5 +54,6 @@
|
||||
};
|
||||
packages.default = packages.lazyVim;
|
||||
apps.default = apps.lazyVim;
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
{pkgs}: let
|
||||
config = import ../config {inherit pkgs;};
|
||||
runtimeDeps = import ../runtimeDeps.nix {inherit pkgs;};
|
||||
{ pkgs }:
|
||||
let
|
||||
config = import ../config { inherit pkgs; };
|
||||
runtimeDeps = import ../runtimeDeps.nix { inherit pkgs; };
|
||||
in
|
||||
pkgs.wrapNeovim pkgs.neovim {
|
||||
pkgs.wrapNeovim pkgs.neovim {
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
withNodeJs = true;
|
||||
withPython3 = true;
|
||||
withRuby = false;
|
||||
extraMakeWrapperArgs = ''--prefix PATH : "${pkgs.lib.makeBinPath runtimeDeps.dependencies}" --set XDG_CONFIG_HOME "${config}"'';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
{pkgs}: {
|
||||
dependencies = with pkgs; [
|
||||
nixd # nix lsp
|
||||
alejandra # nix formatter
|
||||
statix # linter for nix
|
||||
{ pkgs }:
|
||||
{
|
||||
dependencies =
|
||||
with pkgs;
|
||||
[
|
||||
nixfmt-rfc-style # nix formatter
|
||||
(terraform.overrideAttrs (oldAttrs: {
|
||||
meta.license = lib.licenses.mpl20;
|
||||
})) # terraform fmt
|
||||
ripgrep
|
||||
fd
|
||||
git
|
||||
@@ -14,15 +18,17 @@
|
||||
go
|
||||
ruby
|
||||
luarocks
|
||||
zulu #java11
|
||||
zulu # java11
|
||||
fish
|
||||
fzf
|
||||
perl536
|
||||
perl536Packages.CPAN
|
||||
perl540
|
||||
perl540Packages.CPAN
|
||||
unzip
|
||||
tree-sitter
|
||||
gcc
|
||||
gnumake
|
||||
lazygit
|
||||
];
|
||||
python312
|
||||
python312Packages.pip
|
||||
]
|
||||
++ (if pkgs.stdenv.hostPlatform.isDarwin then [ ] else [ gcc ]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user