mirror of
https://github.com/itme-brain/nixos.git
synced 2026-05-08 14:50:12 -04:00
Compare commits
8 commits
5287411131
...
eda6d62b95
| Author | SHA1 | Date | |
|---|---|---|---|
| eda6d62b95 | |||
| 9235442782 | |||
| 45a648642b | |||
| 05d7694fa6 | |||
| 42c9fbc6e1 | |||
| a184bd35ee | |||
| 9aa7b21828 | |||
| 1ca2e5a512 |
16 changed files with 101 additions and 128 deletions
42
flake.lock
generated
42
flake.lock
generated
|
|
@ -7,11 +7,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1776613567,
|
||||
"narHash": "sha256-gC9Cp5ibBmGD5awCA9z7xy6MW6iJufhazTYJOiGlCUI=",
|
||||
"lastModified": 1773025010,
|
||||
"narHash": "sha256-khlHllTsovXgT2GZ0WxT4+RvuMjNeR5OW0UYeEHPYQo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "32f4236bfc141ae930b5ba2fb604f561fed5219d",
|
||||
"rev": "7b9f7f88ab3b339f8142dc246445abb3c370d3d3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -64,11 +64,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1775425411,
|
||||
"narHash": "sha256-KY6HsebJHEe5nHOWP7ur09mb0drGxYSzE3rQxy62rJo=",
|
||||
"lastModified": 1772985280,
|
||||
"narHash": "sha256-FdrNykOoY9VStevU4zjSUdvsL9SzJTcXt4omdEDZDLk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "0d02ec1d0a05f88ef9e74b516842900c41f0f2fe",
|
||||
"rev": "8f736f007139d7f70752657dff6a401a585d6cbc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -102,11 +102,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1777428379,
|
||||
"narHash": "sha256-ypxFOeDz+CqADEQNL72haqGjvZQdBR5Vc7pyx2JDttI=",
|
||||
"lastModified": 1773375660,
|
||||
"narHash": "sha256-SEzUWw2Rf5Ki3bcM26nSKgbeoqi2uYy8IHVBqOKjX3w=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "755f5aa91337890c432639c60b6064bb7fe67769",
|
||||
"rev": "3e20095fe3c6cbb1ddcef89b26969a69a1570776",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -118,11 +118,11 @@
|
|||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1777268161,
|
||||
"narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=",
|
||||
"lastModified": 1776169885,
|
||||
"narHash": "sha256-l/iNYDZ4bGOAFQY2q8y5OAfBBtrDAaPuRQqWaFHVRXM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76",
|
||||
"rev": "4bd9165a9165d7b5e33ae57f3eecbcb28fb231c9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -134,11 +134,11 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1777268161,
|
||||
"narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=",
|
||||
"lastModified": 1772963539,
|
||||
"narHash": "sha256-9jVDGZnvCckTGdYT53d/EfznygLskyLQXYwJLKMPsZs=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76",
|
||||
"rev": "9dcb002ca1690658be4a04645215baea8b95f31d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -154,11 +154,11 @@
|
|||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1777603930,
|
||||
"narHash": "sha256-IkawcGZuNSlf7mkiGo6NgmZir248sd6mVvUj1kuPIMw=",
|
||||
"lastModified": 1773108757,
|
||||
"narHash": "sha256-3BAoe2R6YA6Xjdsgx3urZ4Ns3LeTy0E/w5d1wPny910=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "e7e4dc38580b7ef29d36d4afd3ba808e4f7ef5d5",
|
||||
"rev": "9f2c583704f122828e6f9893416ca3b007464ee6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -185,11 +185,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1777338324,
|
||||
"narHash": "sha256-bc+ZZCmOTNq86/svGnw0tVpH7vJaLYvGLLKFYP08Q8E=",
|
||||
"lastModified": 1773550941,
|
||||
"narHash": "sha256-wa/++bL2QeMUreNFBZEWluQfOYB0MnQIeGNMuaX9sfs=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "8eaee5c45428b28b8c47a83e4c09dccec5f279b5",
|
||||
"rev": "c469b6885f0dcd5c7c56bd935a0f08dbcd9e79e1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
../../keys
|
||||
../../modules/sops
|
||||
../../modules/docker
|
||||
../../modules/nix-ld
|
||||
./hardware.nix
|
||||
./system.nix
|
||||
];
|
||||
|
|
|
|||
|
|
@ -66,13 +66,6 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
libraries = with pkgs; [
|
||||
icu
|
||||
];
|
||||
};
|
||||
|
||||
boot.loader = {
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
../../../user
|
||||
../../keys
|
||||
../../modules/sops
|
||||
../../modules/nix-ld
|
||||
./hardware.nix
|
||||
./system.nix
|
||||
];
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
../../../user
|
||||
../../keys
|
||||
../../modules/sops
|
||||
../../modules/nix-ld
|
||||
./system.nix
|
||||
];
|
||||
}
|
||||
|
|
|
|||
39
system/modules/nix-ld/default.nix
Normal file
39
system/modules/nix-ld/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.system.nix-ld;
|
||||
|
||||
in
|
||||
{
|
||||
options.modules.system.nix-ld = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = any
|
||||
(user: user.modules.user.neovim.enable or false)
|
||||
(attrValues config.home-manager.users);
|
||||
description = "Enable nix-ld so Mason-installed Neovim tools can run on NixOS.";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
libraries = with pkgs; [
|
||||
curl
|
||||
expat
|
||||
fontconfig
|
||||
freetype
|
||||
glib
|
||||
icu
|
||||
libgcc
|
||||
libGL
|
||||
libxkbcommon
|
||||
openssl
|
||||
stdenv.cc.cc
|
||||
zlib
|
||||
zstd
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -13,7 +13,7 @@ in
|
|||
};
|
||||
|
||||
home.file.".config/bash" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink ./bash;
|
||||
source = ./bash;
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,9 @@ in
|
|||
{ options.modules.user.git = { enable = mkEnableOption "user.git"; };
|
||||
config = mkIf cfg.enable {
|
||||
programs = {
|
||||
git = {
|
||||
enable = true;
|
||||
};
|
||||
gh = {
|
||||
enable = true;
|
||||
settings.git_protocol = "ssh";
|
||||
|
|
@ -16,11 +19,10 @@ in
|
|||
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
git
|
||||
git-crypt
|
||||
];
|
||||
file.".config/git" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink ./git;
|
||||
source = ./git;
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 7ea8c164bc6ab3eaea2ff5743cfa2db62fd62397
|
||||
Subproject commit 8b16b7047c3fa70945cca5a058408b57b2ef2e7f
|
||||
|
|
@ -25,28 +25,28 @@ in
|
|||
colors = {
|
||||
primary = {
|
||||
background = "#000000";
|
||||
foreground = "#dadada";
|
||||
foreground = "#cdd6f4";
|
||||
};
|
||||
|
||||
normal = {
|
||||
black = "#181818";
|
||||
red = "#ff6b6b";
|
||||
green = "#00b300";
|
||||
yellow = "#e8a060";
|
||||
blue = "#88ddcc";
|
||||
magenta = "#c490d0";
|
||||
cyan = "#b3f6c0";
|
||||
white = "#dadada";
|
||||
black = "#1e2127";
|
||||
red = "#e06c75";
|
||||
green = "#98c379";
|
||||
yellow = "#d19a66";
|
||||
blue = "#61afef";
|
||||
magenta = "#c678dd";
|
||||
cyan = "#56b6c2";
|
||||
white = "#abb2bf";
|
||||
};
|
||||
|
||||
bright = {
|
||||
black = "#5a5a5a";
|
||||
red = "#ff6b6b";
|
||||
green = "#00b300";
|
||||
yellow = "#ffcc00";
|
||||
blue = "#88ddcc";
|
||||
magenta = "#c490d0";
|
||||
cyan = "#b3f6c0";
|
||||
black = "#5c6370";
|
||||
red = "#e06c75";
|
||||
green = "#98c379";
|
||||
yellow = "#d19a66";
|
||||
blue = "#61afef";
|
||||
magenta = "#c678dd";
|
||||
cyan = "#56b6c2";
|
||||
white = "#ffffff";
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ in
|
|||
home.packages = with pkgs; [
|
||||
gimp
|
||||
libreoffice
|
||||
signal-desktop
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,26 +12,11 @@ in
|
|||
defaultEditor = true;
|
||||
vimAlias = true;
|
||||
vimdiffAlias = true;
|
||||
extraWrapperArgs = [
|
||||
"--suffix"
|
||||
"PATH"
|
||||
":"
|
||||
"${config.home.homeDirectory}/.npm-global/bin"
|
||||
];
|
||||
extraPackages = with pkgs; [
|
||||
gcc
|
||||
cargo
|
||||
rustc
|
||||
|
||||
fzf
|
||||
fd
|
||||
ripgrep
|
||||
bat
|
||||
];
|
||||
extraPackages = import ./pkgs.nix { inherit pkgs; };
|
||||
};
|
||||
|
||||
home.file.".config/nvim" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink ./nvim;
|
||||
source = ./nvim;
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 376b9c5c16b9d8b121b73516219082e57b397bc9
|
||||
Subproject commit 79643b1a17336b43f09090aa51ffc18763e11552
|
||||
6
user/modules/neovim/pkgs.nix
Normal file
6
user/modules/neovim/pkgs.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
with pkgs; [
|
||||
gcc
|
||||
lazygit
|
||||
]
|
||||
|
|
@ -4,8 +4,6 @@ with lib;
|
|||
let
|
||||
cfg = config.modules.user.pi;
|
||||
npmGlobal = "${config.home.homeDirectory}/.npm-global";
|
||||
piVersion = "0.70.5";
|
||||
|
||||
in
|
||||
{ options.modules.user.pi = { enable = mkEnableOption "user.pi"; };
|
||||
config = mkIf cfg.enable {
|
||||
|
|
@ -18,65 +16,13 @@ in
|
|||
|
||||
home.sessionPath = [ "${npmGlobal}/bin" ];
|
||||
|
||||
home.file.".pi/agent" = {
|
||||
source = ./agent;
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
programs.bash.initExtra = ''
|
||||
export LLAMACPP_API_KEY=$(cat /run/secrets/LLAMA_API_KEY)
|
||||
'';
|
||||
|
||||
home.activation.installPiCodingAgent = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||
PATH="${pkgs.nodejs_20}/bin:$PATH"
|
||||
agentDir="${config.home.homeDirectory}/.pi/agent"
|
||||
piPkgScope="${npmGlobal}/lib/node_modules/@mariozechner"
|
||||
piPkgDir="${npmGlobal}/lib/node_modules/@mariozechner/pi-coding-agent"
|
||||
piBin="${npmGlobal}/bin/pi"
|
||||
run mkdir -p ${npmGlobal}
|
||||
run mkdir -p "${npmGlobal}/bin"
|
||||
run mkdir -p "$piPkgScope"
|
||||
run mkdir -p "${config.home.homeDirectory}/.pi"
|
||||
run mkdir -p "$agentDir"
|
||||
if [ -e "$agentDir" ]; then
|
||||
run chmod -R u+w "$agentDir"
|
||||
run find "$agentDir" -mindepth 1 -maxdepth 1 -exec rm -rf {} +
|
||||
fi
|
||||
run cp -R ${./agent}/. "$agentDir"/
|
||||
run chmod -R u+w "$agentDir"
|
||||
run rm -f "$piBin"
|
||||
run rm -f "${npmGlobal}/bin"/.pi-*
|
||||
run rm -rf "$piPkgDir"
|
||||
run rm -rf "$piPkgScope"/.pi-coding-agent-*
|
||||
if ! run ${pkgs.nodejs_20}/bin/npm install -g --prefix ${npmGlobal} @mariozechner/pi-coding-agent@${piVersion}; then
|
||||
warnEcho "pi-coding-agent install failed (offline or registry error)"
|
||||
fi
|
||||
|
||||
if [ ! -f "$piPkgDir/package.json" ]; then
|
||||
for candidate in "$piPkgScope"/.pi-coding-agent-*; do
|
||||
if [ -f "$candidate/package.json" ]; then
|
||||
run rm -rf "$piPkgDir"
|
||||
run mv "$candidate" "$piPkgDir"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [ -f "$piPkgDir/dist/cli.js" ]; then
|
||||
run ln -sfn ../lib/node_modules/@mariozechner/pi-coding-agent/dist/cli.js "$piBin"
|
||||
run chmod +x "$piPkgDir/dist/cli.js"
|
||||
else
|
||||
warnEcho "pi-coding-agent install did not produce dist/cli.js"
|
||||
fi
|
||||
|
||||
for ext in "$agentDir"/extensions/*; do
|
||||
if [ -f "$ext/package.json" ]; then
|
||||
if [ -f "$ext/package-lock.json" ]; then
|
||||
if ! run ${pkgs.nodejs_20}/bin/npm ci --prefix "$ext"; then
|
||||
warnEcho "pi extension dependency install failed for $ext"
|
||||
fi
|
||||
else
|
||||
if ! run ${pkgs.nodejs_20}/bin/npm install --prefix "$ext"; then
|
||||
warnEcho "pi extension dependency install failed for $ext"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ in
|
|||
vim
|
||||
];
|
||||
file.".vim" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink ./vim;
|
||||
source = ./vim;
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue