Signed-off-by: Hadi <hadi@example.com>
This commit is contained in:
Hadi
2026-07-29 11:23:19 +02:00
parent 9cef5b8f76
commit 835114e5c9
9 changed files with 237 additions and 45 deletions
+1
View File
@@ -1,3 +1,4 @@
.sops.yaml .sops.yaml
.claude/ .claude/
old/ old/
docs/superpowers/
Generated
+20
View File
@@ -872,6 +872,25 @@
"type": "github" "type": "github"
} }
}, },
"nvf-config": {
"inputs": {
"nixpkgs": [
"nixpkgs-stable"
],
"nvf": [
"nvf"
]
},
"locked": {
"path": "./home/programs/nvf",
"type": "path"
},
"original": {
"path": "./home/programs/nvf",
"type": "path"
},
"parent": []
},
"root": { "root": {
"inputs": { "inputs": {
"awesome-wallpapers": "awesome-wallpapers", "awesome-wallpapers": "awesome-wallpapers",
@@ -888,6 +907,7 @@
"notashelf-tuigreet": "notashelf-tuigreet", "notashelf-tuigreet": "notashelf-tuigreet",
"nur": "nur", "nur": "nur",
"nvf": "nvf", "nvf": "nvf",
"nvf-config": "nvf-config",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"stylix": "stylix" "stylix": "stylix"
} }
+7 -1
View File
@@ -10,6 +10,11 @@
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-26.05"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-26.05";
nixos-hardware.url = "github:NixOS/nixos-hardware"; nixos-hardware.url = "github:NixOS/nixos-hardware";
nvf.url = "github:notashelf/nvf"; nvf.url = "github:notashelf/nvf";
nvf-config = {
url = "path:./home/programs/nvf";
inputs.nixpkgs.follows = "nixpkgs-stable";
inputs.nvf.follows = "nvf";
};
nur = { nur = {
url = "github:nix-community/nur"; url = "github:nix-community/nur";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -66,11 +71,12 @@
merge = nixpkgs.lib.foldl nixpkgs.lib.recursiveUpdate {}; merge = nixpkgs.lib.foldl nixpkgs.lib.recursiveUpdate {};
in in
merge [ merge [
(import ./home/programs/nvf/flake.nix args)
(import ./home/programs/group/flake.nix args) (import ./home/programs/group/flake.nix args)
(import ./home/programs/nixy/flake.nix args) (import ./home/programs/nixy/flake.nix args)
{ {
formatter.${system} = pkgs.alejandra; formatter.${system} = pkgs.alejandra;
packages.${system}.nvim = inputs.nvf-config.packages.${system}.nvim;
apps.${system}.nvim = inputs.nvf-config.apps.${system}.nvim;
nixosConfigurations = { nixosConfigurations = {
h-laptop = import ./hosts/laptop/flake.nix args; h-laptop = import ./hosts/laptop/flake.nix args;
h-work = import ./hosts/work/flake.nix args; h-work = import ./hosts/work/flake.nix args;
+15 -15
View File
@@ -1,12 +1,8 @@
{ {
inputs,
config, config,
lib,
... ...
}: let }: {
c = config.lib.stylix.colors;
in {
imports = [inputs.nvf.homeManagerModules.default];
home.sessionVariables = { home.sessionVariables = {
EDITOR = "nvim"; EDITOR = "nvim";
}; };
@@ -14,15 +10,19 @@ in {
programs.nvf = { programs.nvf = {
enable = true; enable = true;
settings = { settings = {
vim.luaConfigRC.hl-overrides = '' vim.luaConfigRC = lib.mkIf (config ? stylix && config.stylix.enable) {
local function apply_hl() hl-overrides = let
vim.api.nvim_set_hl(0, "MiniStarterHeader", { fg = "#${c.base0D}", bold = true }) c = config.lib.stylix.colors;
vim.api.nvim_set_hl(0, "SnacksPickerBorder", { fg = "#${c.base0D}" }) in ''
vim.api.nvim_set_hl(0, "SnacksPickerTitle", { fg = "#${c.base0D}", bold = true }) local function apply_hl()
end vim.api.nvim_set_hl(0, "MiniStarterHeader", { fg = "#${c.base0D}", bold = true })
apply_hl() vim.api.nvim_set_hl(0, "SnacksPickerBorder", { fg = "#${c.base0D}" })
vim.api.nvim_create_autocmd("ColorScheme", { pattern = "*", callback = apply_hl }) vim.api.nvim_set_hl(0, "SnacksPickerTitle", { fg = "#${c.base0D}", bold = true })
''; end
apply_hl()
vim.api.nvim_create_autocmd("ColorScheme", { pattern = "*", callback = apply_hl })
'';
};
imports = [ imports = [
./options.nix ./options.nix
./languages.nix ./languages.nix
+133
View File
@@ -0,0 +1,133 @@
{
"nodes": {
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1777699697,
"narHash": "sha256-Eg9b/rq/ECYwNwEXs5i9wHyhxNI0JrYx2srdI2uZMaQ=",
"ref": "refs/heads/main",
"rev": "382052b74656a369c5408822af3f2501e9b1af81",
"revCount": 94,
"type": "git",
"url": "https://git.lix.systems/lix-project/flake-compat.git"
},
"original": {
"type": "git",
"url": "https://git.lix.systems/lix-project/flake-compat.git"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"nvf",
"nixpkgs"
]
},
"locked": {
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"mnw": {
"locked": {
"lastModified": 1780772958,
"narHash": "sha256-VKKe8r4pwCGWZ3Yr9CPN129R4S3CKLSrlYqdYz3vKpM=",
"owner": "Gerg-L",
"repo": "mnw",
"rev": "0871dbf63a53610c95db04439ed8ea4d6ec9c160",
"type": "github"
},
"original": {
"owner": "Gerg-L",
"repo": "mnw",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1785133411,
"narHash": "sha256-Yjv0WEg39KRYS0rBdTbu6Fc/or/ihAKk13W9sQ6VWd0=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2f5a153c270b70cb0f8c11f46d96d6d3bc39f4e3",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-26.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1781216227,
"narHash": "sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "a0374025a863d007d98e3297f6aa46cc3141c2f0",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-26.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nvf": {
"inputs": {
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"mnw": "mnw",
"nixpkgs": "nixpkgs_2",
"systems": "systems"
},
"locked": {
"lastModified": 1781997110,
"narHash": "sha256-6D6xtYN5t1kZGNd69eMZsRBkgX5Df1roErn/kFR1C+A=",
"owner": "notashelf",
"repo": "nvf",
"rev": "320f60b97075a58d38b90fc5e39f478421dbd38a",
"type": "github"
},
"original": {
"owner": "notashelf",
"repo": "nvf",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs",
"nvf": "nvf"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}
+43 -23
View File
@@ -1,11 +1,19 @@
{ {
inputs, description = "Hadi's NVF Neovim configuration";
pkgs,
system, inputs = {
... nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
}: let nvf.url = "github:notashelf/nvf";
nvimConfig = inputs.nvf.lib.neovimConfiguration { };
inherit pkgs;
outputs = {
self,
nixpkgs,
nvf,
...
}: let
systems = ["x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin"];
forAllSystems = f: nixpkgs.lib.genAttrs systems f;
modules = [ modules = [
./options.nix ./options.nix
./languages.nix ./languages.nix
@@ -15,23 +23,35 @@
./utils.nix ./utils.nix
./mini.nix ./mini.nix
]; ];
}; in {
in { packages = forAllSystems (system: let
packages.${system}.nvim = nvimConfig.neovim; pkgs = nixpkgs.legacyPackages.${system};
nvim = (nvf.lib.neovimConfiguration {inherit pkgs modules;}).neovim;
in {
inherit nvim;
default = nvim;
});
apps.${system}.nvim = { apps = forAllSystems (system: let
type = "app"; nvim = {
program = "${nvimConfig.neovim}/bin/nvim"; type = "app";
}; program = "${self.packages.${system}.nvim}/bin/nvim";
defaultApp.${system} = { };
type = "app"; in {
program = "${nvimConfig.neovim}/bin/nvim"; inherit nvim;
}; default = nvim;
});
homeManagerModules.nvim = { homeManagerModules = rec {
imports = [ nvim = {
inputs.nvf.homeManagerModules.default imports = [
./default.nix nvf.homeManagerModules.default
]; ./default.nix
];
};
default = nvim;
};
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra);
}; };
} }
+6 -2
View File
@@ -1,11 +1,15 @@
{config, ...}: { {
config,
inputs,
...
}: {
imports = [ imports = [
# Programs # Programs
../../home/programs/helium ../../home/programs/helium
../../home/programs/proton ../../home/programs/proton
../../home/programs/proton/auto-start-vpn.nix ../../home/programs/proton/auto-start-vpn.nix
../../home/programs/ghostty ../../home/programs/ghostty
../../home/programs/nvf inputs.nvf-config.homeManagerModules.default
../../home/programs/shell ../../home/programs/shell
../../home/programs/git ../../home/programs/git
../../home/programs/git/lazygit.nix ../../home/programs/git/lazygit.nix
+6 -2
View File
@@ -1,10 +1,14 @@
{config, ...}: { {
config,
inputs,
...
}: {
imports = [ imports = [
# Mostly user-specific configuration # Mostly user-specific configuration
./variables.nix ./variables.nix
# Programs # Programs
../../home/programs/nvf inputs.nvf-config.homeManagerModules.default
../../home/programs/shell ../../home/programs/shell
../../home/programs/git ../../home/programs/git
../../home/programs/git/lazygit.nix ../../home/programs/git/lazygit.nix
+6 -2
View File
@@ -1,10 +1,14 @@
{config, ...}: { {
config,
inputs,
...
}: {
imports = [ imports = [
# Programs # Programs
inputs.nvf-config.homeManagerModules.default
../../home/programs/proton ../../home/programs/proton
../../home/programs/helium ../../home/programs/helium
../../home/programs/ghostty ../../home/programs/ghostty
../../home/programs/nvf
../../home/programs/shell ../../home/programs/shell
../../home/programs/git ../../home/programs/git
../../home/programs/git/lazygit.nix ../../home/programs/git/lazygit.nix