eeeevil helix

This commit is contained in:
xqtc 2025-06-01 14:01:46 +02:00
parent b26a832d91
commit 42c57143ba
Signed by: xqtc
GPG key ID: 2C064D095926D9D1
5 changed files with 247 additions and 229 deletions

162
flake.lock generated
View file

@ -85,25 +85,6 @@
}
},
"crane": {
"inputs": {
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1717383740,
"narHash": "sha256-559HbY4uhNeoYvK3H6AMZAtVfmR3y8plXZ1x6ON/cWU=",
"owner": "ipetkov",
"repo": "crane",
"rev": "b65673fce97d277934488a451724be94cc62499a",
"type": "github"
},
"original": {
"owner": "ipetkov",
"ref": "v0.17.3",
"repo": "crane",
"type": "github"
}
},
"crane_2": {
"locked": {
"lastModified": 1739053031,
"narHash": "sha256-LrMDRuwAlRFD2T4MgBSRd1s2VtOE+Vl1oMCNu3RpPE0=",
@ -186,21 +167,6 @@
"type": "github"
}
},
"flake-compat_3": {
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
@ -365,7 +331,7 @@
},
"flake-utils_6": {
"inputs": {
"systems": "systems_6"
"systems": "systems_5"
},
"locked": {
"lastModified": 1685518550,
@ -383,7 +349,7 @@
},
"flake-utils_7": {
"inputs": {
"systems": "systems_7"
"systems": "systems_6"
},
"locked": {
"lastModified": 1731533236,
@ -721,21 +687,6 @@
"type": "github"
}
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1732981179,
"narHash": "sha256-F7thesZPvAMSwjRu0K8uFshTk3ZZSNAsXTIFvXBT+34=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "62c435d93bf046a5396f3016472e8f7c8e2aed65",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-24.11",
"type": "indirect"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1741865919,
@ -752,38 +703,7 @@
"type": "github"
}
},
"nixpkgs-unstable_2": {
"locked": {
"lastModified": 1723637854,
"narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-unstable",
"type": "indirect"
}
},
"nixpkgs_10": {
"locked": {
"lastModified": 1686020360,
"narHash": "sha256-Wee7lIlZ6DIZHHLiNxU5KdYZQl0iprENXa/czzI6Cj4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4729ffac6fd12e26e5a8de002781ffc49b0e94b7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_11": {
"locked": {
"lastModified": 1743583204,
"narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=",
@ -799,7 +719,7 @@
"type": "github"
}
},
"nixpkgs_12": {
"nixpkgs_11": {
"locked": {
"lastModified": 1735554305,
"narHash": "sha256-zExSA1i/b+1NMRhGGLtNfFGXgLtgo+dcuzHzaWA6w3Q=",
@ -815,7 +735,7 @@
"type": "github"
}
},
"nixpkgs_13": {
"nixpkgs_12": {
"locked": {
"lastModified": 1739138025,
"narHash": "sha256-M4ilIfGxzbBZuURokv24aqJTbdjPA9K+DtKUzrJaES4=",
@ -945,16 +865,16 @@
},
"nixpkgs_9": {
"locked": {
"lastModified": 1714656196,
"narHash": "sha256-kjQkA98lMcsom6Gbhw8SYzmwrSo+2nruiTcTZp5jK7o=",
"lastModified": 1686020360,
"narHash": "sha256-Wee7lIlZ6DIZHHLiNxU5KdYZQl0iprENXa/czzI6Cj4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "94035b482d181af0a0f8f77823a790b256b7c3cc",
"rev": "4729ffac6fd12e26e5a8de002781ffc49b0e94b7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
@ -1004,28 +924,6 @@
"type": "github"
}
},
"proxmox-nixos": {
"inputs": {
"crane": "crane",
"flake-compat": "flake-compat_3",
"nixpkgs-stable": "nixpkgs-stable_2",
"nixpkgs-unstable": "nixpkgs-unstable_2",
"utils": "utils"
},
"locked": {
"lastModified": 1741021985,
"narHash": "sha256-p86LYKcF2E++RIbo8qrxdc3D7rPNMzElS1TB8T0/abA=",
"owner": "SaumonNet",
"repo": "proxmox-nixos",
"rev": "ba2d9223fc146eeec8c4ba7b8413b85725d86bf1",
"type": "github"
},
"original": {
"owner": "SaumonNet",
"repo": "proxmox-nixos",
"type": "github"
}
},
"root": {
"inputs": {
"apple-silicon": "apple-silicon",
@ -1046,7 +944,6 @@
"nixpkgs-24-11": "nixpkgs-24-11",
"nixpkgs-master": "nixpkgs-master",
"nixvim": "nixvim",
"proxmox-nixos": "proxmox-nixos",
"sops-nix": "sops-nix",
"spicetify-nix": "spicetify-nix",
"swaystatus": "swaystatus",
@ -1113,7 +1010,7 @@
"spicetify-nix": {
"inputs": {
"flake-utils": "flake-utils_6",
"nixpkgs": "nixpkgs_10"
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1720901901,
@ -1132,7 +1029,7 @@
"swaystatus": {
"inputs": {
"flake-parts": "flake-parts_4",
"nixpkgs": "nixpkgs_11",
"nixpkgs": "nixpkgs_10",
"treefmt-nix": "treefmt-nix_2"
},
"locked": {
@ -1239,21 +1136,6 @@
"type": "github"
}
},
"systems_7": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": "nixpkgs_5"
@ -1274,7 +1156,7 @@
},
"treefmt-nix_2": {
"inputs": {
"nixpkgs": "nixpkgs_12"
"nixpkgs": "nixpkgs_11"
},
"locked": {
"lastModified": 1743748085,
@ -1290,24 +1172,6 @@
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems_5"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"zig": {
"inputs": {
"flake-compat": [
@ -1338,9 +1202,9 @@
},
"zjstatus": {
"inputs": {
"crane": "crane_2",
"crane": "crane",
"flake-utils": "flake-utils_7",
"nixpkgs": "nixpkgs_13",
"nixpkgs": "nixpkgs_12",
"rust-overlay": "rust-overlay_2"
},
"locked": {

View file

@ -19,8 +19,7 @@
inputs.nixpkgs.follows = "nixpkgs";
};
dwl-source = {
url =
"git+https://codeberg.org/dwl/dwl?rev=577d8da6d17dad5f847795582ebf813f3c5c04a7";
url = "git+https://codeberg.org/dwl/dwl?rev=577d8da6d17dad5f847795582ebf813f3c5c04a7";
flake = false;
};
sops-nix = {
@ -30,19 +29,16 @@
spicetify-nix.url = "github:K900/spicetify-nix";
nh.url = "github:/viperML/nh";
lix-module = {
url =
"https://git.lix.systems/lix-project/nixos-module/archive/2.90.0-rc1.tar.gz";
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.90.0-rc1.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
proxmox-nixos = {
url = "github:SaumonNet/proxmox-nixos";
# inputs.nixpkgs.follows = "proxmox-nixos";
};
hyprpanel = {
url = "github:Jas-SinghFSU/HyprPanel";
# follows = "nixpkgs";
};
ghostty = { url = "github:ghostty-org/ghostty"; };
ghostty = {
url = "github:ghostty-org/ghostty";
};
firefox-addons.url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
#nixpkgs-nixvim.url = "github:NixOS/nixpkgs/fbd188864020b9a1226d35b9df1fe465e1f378c1";
@ -52,16 +48,30 @@
};
};
outputs = inputs@{ flake-parts, ... }:
outputs =
inputs@{ flake-parts, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [
./flake-mods/hm.nix
./flake-mods/nixosHosts.nix
./flake-mods/allowUnfree.nix
];
systems =
[ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ];
perSystem = { config, self, inputs, pkgs, system, ... }: { };
systems = [
"x86_64-linux"
"aarch64-linux"
"aarch64-darwin"
"x86_64-darwin"
];
perSystem =
{
config,
self,
inputs,
pkgs,
system,
...
}:
{ };
flake = { };
};
}

View file

@ -1,6 +1,7 @@
{ config, pkgs, lib, inputs, ... }: {
imports = [
./nixvim.nix
# ./nixvim.nix
./helix.nix
./shell.nix
./firefox.nix
./ghostty.nix

111
home/modules/helix.nix Normal file
View file

@ -0,0 +1,111 @@
{
pkgs,
lib,
...
}:
{
programs.helix = {
enable = true;
package = pkgs.evil-helix;
themes = {
ayu_evolve_transparent = {
"inherits" = "ayu_evolve";
"ui.background" = { };
};
};
languages = {
language-server = {
terraform-ls = {
command = "${lib.getExe pkgs.terraform-ls}";
config = {
terraform.path = "${lib.getExe pkgs.opentofu}";
};
};
nixd = {
command = "${lib.getExe pkgs.nixd}";
};
rust-analyzer = {
config.check.command = "clippy";
command = "${lib.getExe pkgs.rust-analyzer}";
};
};
language = [
{
name = "nix";
auto-format = true;
formatter.command = "${lib.getExe pkgs.nixfmt-rfc-style}";
language-servers = [ "nixd" ];
}
];
};
settings = {
theme = "ayu_evolve_transparent";
editor = {
gutters = [
"diff"
"diagnostics"
"line-numbers"
"spacer"
];
statusline = {
left = [
"mode"
"spinner"
];
center = [ "file-name" ];
right = [
"diagnostics"
"selections"
"position"
"file-line-ending"
"file-type"
"version-control"
];
separator = "|";
mode = {
normal = "NOR";
insert = "INS";
select = "SEL";
};
};
auto-save = true;
color-modes = true;
cursorline = true;
cursor-shape = {
normal = "block";
insert = "bar";
select = "underline";
};
inline-diagnostics = {
cursor-line = "hint";
other-lines = "error";
};
indent-guides = {
render = true;
rainbow = "dim";
character = "";
};
whitespace = {
characters = {
space = "·";
nbsp = "";
tab = "";
newline = "";
tabpad = "·";
};
};
lsp = {
display-messages = true;
display-inlay-hints = true;
};
true-color = true;
mouse = false;
soft-wrap = {
enable = true;
wrap-indicator = "";
};
};
};
};
}

View file

@ -1,39 +1,63 @@
{ config, pkgs, lib, inputs, ... }: {
{
config,
pkgs,
lib,
inputs,
...
}:
{
programs = {
zsh = {
enable = if (config.os == "linux") then true else false;
oh-my-zsh = {
enable = true;
plugins = [ "git" "tailscale" ];
plugins = [
"git"
"tailscale"
];
# theme = "lambda";
};
envExtra = ''
ZELLIJ_AUTO_ATTACH=true
${if config.host == "yosai" then ''
ZSH_THEME=""
PS1="%F{127}[%F{135}%n%F{127}@%F{135}%m%F{127}:%F{135}%2~%F{127}]%#%f"
'' else
""}'';
initExtraFirst = if !(config.os == "linux") then ''
export PATH=$PATH:~/.cargo/bin/
${pkgs.hyfetch}/bin/hyfetch
'' else
''
${pkgs.hyfetch}/bin/hyfetch
eval $(ssh-agent)
'' + (if config.host == "asmodeus" then ''
comin status
'' else
"");
plugins = [{
name = "zsh-autocomplete";
src = pkgs.fetchFromGitHub {
owner = "marlonrichert";
repo = "zsh-autocomplete";
rev = "23.07.13";
sha256 = "sha256-/6V6IHwB5p0GT1u5SAiUa20LjFDSrMo731jFBq/bnpw=";
};
}];
${
if config.host == "yosai" then
''
ZSH_THEME=""
PS1="%F{127}[%F{135}%n%F{127}@%F{135}%m%F{127}:%F{135}%2~%F{127}]%#%f"
''
else
""
}'';
initExtraFirst =
if !(config.os == "linux") then
''
export PATH=$PATH:~/.cargo/bin/
${pkgs.hyfetch}/bin/hyfetch
''
else
''
${pkgs.hyfetch}/bin/hyfetch
eval $(ssh-agent)
''
+ (
if config.host == "asmodeus" then
''
comin status
''
else
""
);
plugins = [
{
name = "zsh-autocomplete";
src = pkgs.fetchFromGitHub {
owner = "marlonrichert";
repo = "zsh-autocomplete";
rev = "23.07.13";
sha256 = "sha256-/6V6IHwB5p0GT1u5SAiUa20LjFDSrMo731jFBq/bnpw=";
};
}
];
};
hyfetch = {
enable = true;
@ -61,13 +85,12 @@
nushell = {
enable = true;
shellAliases = {
ls =
"eza -l --icons --tree --level 2 --header --git --group-directories-first";
ls = "eza -l --icons --tree --level 2 --header --git --group-directories-first";
# reload = "clear; source $nu.config-path";
};
extraConfig = "maxfetch";
envFile = {
text = " $env.ZELLIJ_AUTO_ATTACH = 'true'\n $env.GPG_TTY = (tty)\n";
text = "$env.GPG_TTY = (tty)\n$env.EDITOR = 'hx'\n";
};
configFile = {
# text = builtins.readFile ../config-files/config.nu;
@ -139,41 +162,50 @@
};
carapace.enable = true;
carapace.enableNushellIntegration = true;
starship = let flavour = "mocha";
in {
enable = if config.host == "yosai" then false else true;
enableNushellIntegration = true;
enableBashIntegration = true;
enableZshIntegration = true;
settings = {
# Other config here
character = {
success_symbol = "[λ::](bold green)";
error_symbol = "[λ::](bold red)";
};
username = {
style_user = "bold pink";
format = "[$user]($style)";
show_always = true;
disabled = false;
};
hostname = {
ssh_only = false;
format = "[ ](bold pink)[$hostname](bold flamingo)";
disabled = false;
};
right_format = "$all";
format = ''
$username$hostname in $directory
$character'';
palette = "catppuccin_${flavour}";
} // builtins.fromTOML (builtins.readFile (pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "starship";
rev =
"5629d2356f62a9f2f8efad3ff37476c19969bd4f"; # Replace with the latest commit hash
sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0=";
} + /palettes/${flavour}.toml));
};
starship =
let
flavour = "mocha";
in
{
enable = if config.host == "yosai" then false else true;
enableNushellIntegration = true;
enableBashIntegration = true;
enableZshIntegration = true;
settings =
{
# Other config here
character = {
success_symbol = "[λ::](bold green)";
error_symbol = "[λ::](bold red)";
};
username = {
style_user = "bold pink";
format = "[$user]($style)";
show_always = true;
disabled = false;
};
hostname = {
ssh_only = false;
format = "[ ](bold pink)[$hostname](bold flamingo)";
disabled = false;
};
right_format = "$all";
format = ''
$username$hostname in $directory
$character'';
palette = "catppuccin_${flavour}";
}
// builtins.fromTOML (
builtins.readFile (
pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "starship";
rev = "5629d2356f62a9f2f8efad3ff37476c19969bd4f"; # Replace with the latest commit hash
sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0=";
}
+ /palettes/${flavour}.toml
)
);
};
};
}