6 Commits

Author SHA1 Message Date
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
10 changed files with 239 additions and 124 deletions

View File

@@ -1,28 +0,0 @@
name: check-flake
on:
push:
branches:
- main
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: "main"
- 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
with:
github_access_token: ${{ secrets.GH_ACCESS_TOKEN }}
nix_path: nixpkgs=channel:nixos-23.11
- name: Build nix flake
run: |
while true; do sleep 1; rm -rf /homeless-shelter; done &
nix build
- name: Check nix flake
run: nix flake check --all-systems

View File

@@ -0,0 +1,66 @@
name: check-flake
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: "main"
- 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@v30
with:
extra_nix_config: |
experimental-features = nix-command flakes
github_access_token: ${{ secrets.GH_ACCESS_TOKEN }}
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 &
nix build
- name: Check nix flake
run: nix flake check --all-systems
release:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- run: |
git config user.name gitea-bot
git config user.email bot@git.palkoi.net
git config --global user.email bot@git.palkoi.net
git config --global user.name gitea-bot
- name: Semver release
uses: cocogitto/cocogitto-action@v3
id: release
with:
release: true
git-user: "gitea-bot"
git-user-email: "bot@git.palkoi.net"
check-latest-tag-only: true
- name: Generate Changelog
run: cog changelog --at ${{ steps.release.outputs.version }} -t full_hash > GITHUB_CHANGELOG.md
- name: Upload github release
uses: softprops/action-gh-release@v1
with:
body_path: GITHUB_CHANGELOG.md
tag_name: ${{ steps.release.outputs.version }}

View File

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

View File

@@ -34,7 +34,9 @@ require("lazy").setup({
{ import = "lazyvim.plugins.extras.lang.yaml" },
{ import = "lazyvim.plugins.extras.ui.mini-indentscope" },
{ 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.misc.tmux-navigator" },
},
@@ -51,7 +53,7 @@ require("lazy").setup({
lazyvim = false,
neovim = false,
},
install = { colorscheme = { "tokyonight", "habamax" } },
install = { colorscheme = { "catppuccin-macchiato" } },
checker = { enabled = true }, -- automatically check for plugin updates
performance = {
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

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

34
flake.lock generated
View File

@@ -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": 1731363552,
"narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "d70155fdc00df4628446352fc58adc640cd705c2",
"rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
"type": "github"
},
"original": {
@@ -173,11 +173,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1730914682,
"narHash": "sha256-UHFvVeJY64rA5HKoeKCLuJET224GEDGdj7/m1PuShgw=",
"lastModified": 1731567714,
"narHash": "sha256-eGjOMrgSQGZrrNmy26KMMdjtNwxeC4DFILBssHLxlBo=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "59630b2edb91b71ac0a60b865aaa91cd39946577",
"rev": "431606b326271c863550ddcc6ef6e731875bea0f",
"type": "github"
},
"original": {
@@ -189,11 +189,11 @@
"neovim-src": {
"flake": false,
"locked": {
"lastModified": 1730893053,
"narHash": "sha256-ifiJfPkhyg/9I9aJSbtcHy3jRV4CLig7iF9ACQUycPU=",
"lastModified": 1731513445,
"narHash": "sha256-QesA3NMobwk+rGZERmqur8ksSTX9ZZuCQl18Jy/n4XI=",
"owner": "neovim",
"repo": "neovim",
"rev": "f7e32fb6e626ab198bf401765236783890f3a0d6",
"rev": "e5cd5098f8fabba41efd3b8491b264c5f73326d3",
"type": "github"
},
"original": {
@@ -204,11 +204,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1730831018,
"narHash": "sha256-2S0HwIFRxYp+afuoFORcZA9TjryAf512GmE0MTfEOPU=",
"lastModified": 1731245184,
"narHash": "sha256-vmLS8+x+gHRv1yzj3n+GTAEObwmhxmkkukB2DwtJRdU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8c4dc69b9732f6bbe826b5fbb32184987520ff26",
"rev": "aebe249544837ce42588aa4b2e7972222ba12e8f",
"type": "github"
},
"original": {
@@ -221,8 +221,8 @@
"nixpkgs_2": {
"locked": {
"lastModified": 0,
"narHash": "sha256-knnVBGfTCZlQgxY1SgH0vn2OyehH9ykfF8geZgS95bk=",
"path": "/nix/store/pq1m6x5ilkm3s841g0z0vyrqvmbxc21v-source",
"narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=",
"path": "/nix/store/dxdcvjnvz3b91gvsrhpb7gp156nnj8bf-source",
"type": "path"
},
"original": {

View File

@@ -12,42 +12,48 @@
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 @ {
nixpkgs,
flake-utils,
neovim-nightly-overlay,
...
}:
flake-utils.lib.eachDefaultSystem (system: 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;
outputs =
inputs@{
nixpkgs,
flake-utils,
neovim-nightly-overlay,
...
}:
flake-utils.lib.eachDefaultSystem (
system:
let
overlayFlakeInputs = prev: final: {
neovim = neovim-nightly-overlay.packages.${system}.default.overrideAttrs (oa: {
nativeBuildInputs = oa.nativeBuildInputs ++ [ final.libtermkey ];
});
};
};
pkgs = import nixpkgs {
inherit system;
overlays = [overlayFlakeInputs overlayLazyVim];
};
in rec {
packages.lazyVim = pkgs.lazyVim;
apps.lazyVim = {
type = "app";
program = "${packages.default}/bin/nvim";
};
packages.default = packages.lazyVim;
apps.default = apps.lazyVim;
});
overlayLazyVim = prev: final: { lazyVim = import ./packages/lazyVim.nix { pkgs = final; }; };
pkgs = import nixpkgs {
inherit system;
overlays = [
overlayFlakeInputs
overlayLazyVim
];
};
in
rec {
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
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 {
viAlias = true;
vimAlias = true;
withNodeJs = true;
withPython3 = true;
withRuby = false;
extraMakeWrapperArgs = ''--prefix PATH : "${pkgs.lib.makeBinPath runtimeDeps.dependencies}" --set XDG_CONFIG_HOME "${config}"'';
}
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}"'';
}

View File

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