12 Commits

Author SHA1 Message Date
4f822e88b8 chore: nvim should follow nixpkgs
All checks were successful
build-flake / build (pull_request) Successful in 6m3s
build-flake / Release a new version (push) Successful in 8s
build-flake / Build flake (push) Successful in 5m28s
2024-11-21 21:18:08 +02:00
204ad75438 ci: run build on mr and use release from template
All checks were successful
build-flake / build (pull_request) Successful in 2m15s
build-flake / Build flake (push) Successful in 5m38s
build-flake / Release a new version (push) Successful in 9s
2024-11-19 11:56:23 +02:00
761311c5f0 chore: update to nixos-24.11 2024-11-19 11:16:38 +02:00
90d3255556 feat: disable blink extra 2024-11-19 11:16:14 +02:00
9734dc46e0 feat: add bigfile plugin 2024-11-19 10:33:01 +02:00
eb332e0123 chore(deps): update softprops/action-gh-release action to v2
All checks were successful
check-flake / build (push) Successful in 2m38s
check-flake / release (push) Successful in 12s
2024-11-14 22:10:09 +00:00
11fd98c16b build: add auto release
Some checks failed
check-flake / build (push) Successful in 5m30s
check-flake / release (push) Failing after 7s
2024-11-14 20:30:32 +02:00
8cdea2c53b build: add auto release
Some checks failed
check-flake / build (push) Successful in 2m9s
check-flake / release (push) Failing after 9s
2024-11-14 20:22:15 +02:00
562db427c6 build: add auto release
Some checks failed
check-flake / build (push) Successful in 2m27s
check-flake / release (push) Failing after 10s
2024-11-14 20:16:28 +02:00
aef12de964 feat: update nvim package
All checks were successful
check-flake / build (push) Successful in 17m41s
2024-11-14 19:53:26 +02:00
e24df7ff1f chore: update flake.lock 2024-11-14 19:52:41 +02:00
7e6617d3f4 build: add cachix, update nixpkgs and install nix action 2024-11-14 19:52:20 +02:00
11 changed files with 219 additions and 120 deletions

View File

@@ -1,8 +1,7 @@
name: check-flake ---
name: build-flake
on: on:
push: workflow_call:
branches:
- main
pull_request: pull_request:
jobs: jobs:
@@ -16,10 +15,17 @@ jobs:
- name: Setup sudo (required for the next step) - name: Setup sudo (required for the next step)
run: apt-get update && apt-get install -y sudo run: apt-get update && apt-get install -y sudo
- name: Setup nix - name: Setup nix
uses: cachix/install-nix-action@v27 uses: cachix/install-nix-action@v30
with: with:
extra_nix_config: |
experimental-features = nix-command flakes
github_access_token: ${{ secrets.GH_ACCESS_TOKEN }} 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 - name: Build nix flake
run: | run: |
while true; do sleep 1; rm -rf /homeless-shelter; done & while true; do sleep 1; rm -rf /homeless-shelter; done &

View 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/release.yml@main

View File

@@ -1,4 +1,4 @@
{pkgs}: { pkgs }:
pkgs.stdenv.mkDerivation { pkgs.stdenv.mkDerivation {
name = "nvim-config"; name = "nvim-config";
src = ./src; src = ./src;

View File

@@ -11,7 +11,8 @@ require("lazy").setup({
spec = { spec = {
-- add LazyVim and import its plugins -- add LazyVim and import its plugins
{ "LazyVim/LazyVim", import = "lazyvim.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.illuminate" },
{ import = "lazyvim.plugins.extras.editor.outline" }, { import = "lazyvim.plugins.extras.editor.outline" },
{ import = "lazyvim.plugins.extras.editor.telescope" }, { import = "lazyvim.plugins.extras.editor.telescope" },
@@ -34,8 +35,11 @@ require("lazy").setup({
{ import = "lazyvim.plugins.extras.lang.yaml" }, { import = "lazyvim.plugins.extras.lang.yaml" },
{ import = "lazyvim.plugins.extras.ui.mini-indentscope" }, { import = "lazyvim.plugins.extras.ui.mini-indentscope" },
{ import = "lazyvim.plugins.extras.ui.treesitter-context" }, { import = "lazyvim.plugins.extras.ui.treesitter-context" },
{ import = "plugins.tokyonight" }, { import = "plugins.catppuccin" },
-- { import = "plugins.tokyonight" },
-- { import = "plugins.lang.nix" },
{ import = "plugins.lang.shell" }, { import = "plugins.lang.shell" },
{ import = "plugins.misc.bigfile" },
{ import = "plugins.misc.tmux-navigator" }, { import = "plugins.misc.tmux-navigator" },
}, },
defaults = { defaults = {
@@ -51,7 +55,7 @@ require("lazy").setup({
lazyvim = false, lazyvim = false,
neovim = false, neovim = false,
}, },
install = { colorscheme = { "tokyonight", "habamax" } }, install = { colorscheme = { "catppuccin-macchiato" } },
checker = { enabled = true }, -- automatically check for plugin updates checker = { enabled = true }, -- automatically check for plugin updates
performance = { performance = {
rtp = { rtp = {

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

View File

@@ -0,0 +1,9 @@
return {
-- Disable certain features if file is big
{
"LunarVim/bigfile.nvim",
opts = {
filesize = 0.5,
},
},
}

View File

@@ -1,10 +1,10 @@
return { return {
"folke/tokyonight.nvim", "folke/tokyonight.nvim",
opts = { opts = {
transparent = true, transparent = true,
styles = { styles = {
sidebars = "transparent", sidebars = "transparent",
floats = "transparent", floats = "transparent",
}, },
}, },
} }

54
flake.lock generated
View File

@@ -79,11 +79,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1726560853, "lastModified": 1731533236,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -106,11 +106,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1730814269, "lastModified": 1732021966,
"narHash": "sha256-fWPHyhYE6xvMI1eGY3pwBTq85wcy1YXqdzTZF+06nOg=", "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "d70155fdc00df4628446352fc58adc640cd705c2", "rev": "3308484d1a443fc5bc92012435d79e80458fe43c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -170,14 +170,16 @@
"git-hooks": "git-hooks", "git-hooks": "git-hooks",
"hercules-ci-effects": "hercules-ci-effects", "hercules-ci-effects": "hercules-ci-effects",
"neovim-src": "neovim-src", "neovim-src": "neovim-src",
"nixpkgs": "nixpkgs" "nixpkgs": [
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1730914682, "lastModified": 1732173780,
"narHash": "sha256-UHFvVeJY64rA5HKoeKCLuJET224GEDGdj7/m1PuShgw=", "narHash": "sha256-pszcETwWdItBmb/Z2CqIiTfEiVl3K5TPpgFSwyQrghY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "neovim-nightly-overlay", "repo": "neovim-nightly-overlay",
"rev": "59630b2edb91b71ac0a60b865aaa91cd39946577", "rev": "151fab1aa35e1cbc6f5caad1e175e3d621d67951",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -189,11 +191,11 @@
"neovim-src": { "neovim-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1730893053, "lastModified": 1732143030,
"narHash": "sha256-ifiJfPkhyg/9I9aJSbtcHy3jRV4CLig7iF9ACQUycPU=", "narHash": "sha256-XKPsbjqHmwbiyzZdqNtw0tKxWLGFCkVB1+Awbi8tjQU=",
"owner": "neovim", "owner": "neovim",
"repo": "neovim", "repo": "neovim",
"rev": "f7e32fb6e626ab198bf401765236783890f3a0d6", "rev": "07db909eb5ae2a559771068be64439eba394cd61",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -204,37 +206,25 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1730831018, "lastModified": 1731755305,
"narHash": "sha256-2S0HwIFRxYp+afuoFORcZA9TjryAf512GmE0MTfEOPU=", "narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=",
"owner": "NixOS", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "8c4dc69b9732f6bbe826b5fbb32184987520ff26", "rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "nixos",
"ref": "nixpkgs-unstable", "ref": "nixos-24.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": {
"locked": {
"lastModified": 0,
"narHash": "sha256-knnVBGfTCZlQgxY1SgH0vn2OyehH9ykfF8geZgS95bk=",
"path": "/nix/store/pq1m6x5ilkm3s841g0z0vyrqvmbxc21v-source",
"type": "path"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"root": { "root": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"neovim-nightly-overlay": "neovim-nightly-overlay", "neovim-nightly-overlay": "neovim-nightly-overlay",
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs"
} }
}, },
"systems": { "systems": {

View File

@@ -1,53 +1,59 @@
{ {
description = "NVIM Configuration"; description = "NVIM Configuration";
inputs = { inputs = {
# nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
neovim-nightly-overlay = { neovim-nightly-overlay = {
url = "github:nix-community/neovim-nightly-overlay"; url = "github:nix-community/neovim-nightly-overlay";
# inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
}; };
nixConfig = { nixConfig = {
trusted-substituters = [ trusted-substituters = [
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
"https://palkx.cachix.org"
]; ];
extra-trusted-public-keys = [ extra-trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"palkx.cachix.org-1:qaQoL5CXpGzUbqsIvxUEL7wUhoIrjV0Q8M4HbJ8/8S4="
]; ];
}; };
outputs = inputs @ { outputs =
nixpkgs, inputs@{
flake-utils, nixpkgs,
neovim-nightly-overlay, flake-utils,
... neovim-nightly-overlay,
}: ...
flake-utils.lib.eachDefaultSystem (system: let }:
overlayFlakeInputs = prev: final: { flake-utils.lib.eachDefaultSystem (
neovim = neovim-nightly-overlay.packages.${system}.default.overrideAttrs (oa: { system:
nativeBuildInputs = oa.nativeBuildInputs ++ [final.libtermkey]; let
}); overlayFlakeInputs = prev: final: {
}; neovim = neovim-nightly-overlay.packages.${system}.default.overrideAttrs (oa: {
nativeBuildInputs = oa.nativeBuildInputs ++ [ final.libtermkey ];
overlayLazyVim = prev: final: { });
lazyVim = import ./packages/lazyVim.nix {
pkgs = final;
}; };
};
pkgs = import nixpkgs { overlayLazyVim = prev: final: { lazyVim = import ./packages/lazyVim.nix { pkgs = final; }; };
inherit system;
overlays = [overlayFlakeInputs overlayLazyVim]; pkgs = import nixpkgs {
}; inherit system;
in rec { overlays = [
packages.lazyVim = pkgs.lazyVim; overlayFlakeInputs
apps.lazyVim = { overlayLazyVim
type = "app"; ];
program = "${packages.default}/bin/nvim"; };
}; in
packages.default = packages.lazyVim; rec {
apps.default = apps.lazyVim; packages.lazyVim = pkgs.lazyVim;
}); apps.lazyVim = {
type = "app";
program = "${packages.default}/bin/nvim";
};
packages.default = packages.lazyVim;
apps.default = apps.lazyVim;
}
);
} }

View File

@@ -1,12 +1,13 @@
{pkgs}: let { pkgs }:
config = import ../config {inherit pkgs;}; let
runtimeDeps = import ../runtimeDeps.nix {inherit pkgs;}; config = import ../config { inherit pkgs; };
runtimeDeps = import ../runtimeDeps.nix { inherit pkgs; };
in in
pkgs.wrapNeovim pkgs.neovim { pkgs.wrapNeovim pkgs.neovim {
viAlias = true; viAlias = true;
vimAlias = true; vimAlias = true;
withNodeJs = true; withNodeJs = true;
withPython3 = true; withPython3 = true;
withRuby = false; withRuby = false;
extraMakeWrapperArgs = ''--prefix PATH : "${pkgs.lib.makeBinPath runtimeDeps.dependencies}" --set XDG_CONFIG_HOME "${config}"''; extraMakeWrapperArgs = ''--prefix PATH : "${pkgs.lib.makeBinPath runtimeDeps.dependencies}" --set XDG_CONFIG_HOME "${config}"'';
} }

View File

@@ -1,28 +1,34 @@
{pkgs}: { { pkgs }:
dependencies = with pkgs; [ {
nixd # nix lsp dependencies =
alejandra # nix formatter with pkgs;
statix # linter for nix [
ripgrep nixfmt-rfc-style # nix formatter
fd (terraform.overrideAttrs (oldAttrs: {
git meta.license = lib.licenses.mpl20;
curl # needed to fetch titles from urls })) # terraform fmt
wget ripgrep
cargo fd
php82 git
php82Packages.composer curl # needed to fetch titles from urls
go wget
ruby cargo
luarocks php82
zulu #java11 php82Packages.composer
fish go
fzf ruby
perl536 luarocks
perl536Packages.CPAN zulu # java11
unzip fish
tree-sitter fzf
gcc perl540
gnumake perl540Packages.CPAN
lazygit unzip
]; tree-sitter
gnumake
lazygit
python312
python312Packages.pip
]
++ (if pkgs.stdenv.hostPlatform.isDarwin then [ ] else [ gcc ]);
} }