Add Opencode and Ollama modules; update configs

Enable Opencode and Ollama in home modules and import their Nix files.
Disable the deprecated system‑module opencode entries and remove it from
the
core packages list.
Add a new GitHub CLI module and a convenient `upf-gh` alias for flake
updates using a GitHub token.
Update the `stylix` configuration to include Opencode styling.
Refresh several flake.lock entries with newer revisions and hashes.
This commit is contained in:
2026-05-26 00:06:07 +02:00
parent 8f9b707c2d
commit 551e9b2cb4
15 changed files with 91 additions and 19 deletions
Generated
+15 -15
View File
@@ -181,11 +181,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1779508957, "lastModified": 1779681769,
"narHash": "sha256-gNwsa7Hwp+pUNe9pvv2aFphcFnm8BoCUUQRm0HXJHD0=", "narHash": "sha256-GJEtd8O8wDePHsTESQ+bk2Z8vnbPdJSyXcWrEd3eQss=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "3bd76938b820b6f7cf537fffa206bb6a73094b4f", "rev": "55e2ec35f212e5740b0e6593fd6a3d859dc923ac",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@@ -383,11 +383,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1779507042, "lastModified": 1779726696,
"narHash": "sha256-7wOwi8B6D0BYsieZCnHZZj2sNUzgJhLoIVSfkwB7lxQ=", "narHash": "sha256-/p37CB5n6Wpw250b0Lq0CYwNq2D8uGKzDoBulyLcQqA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "509ed3c603349a9d43de9e2ae6613baea6bd5b34", "rev": "1a95e2efb477959b70b4a14c51035975c0481df6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -456,11 +456,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1779508470, "lastModified": 1779560665,
"narHash": "sha256-Ap9KJX+5xHIn3bPIpfNgT6MEXdAECECwo4/rmlQD74M=", "narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "29916453413845e54a65b8a1cf996842300cd299", "rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -509,11 +509,11 @@
"noctalia-qs": "noctalia-qs" "noctalia-qs": "noctalia-qs"
}, },
"locked": { "locked": {
"lastModified": 1779504029, "lastModified": 1779591140,
"narHash": "sha256-f8u9DV9Qk8KJh7DVvk4UgUFTN0NDJeFxgrffTSwPkpA=", "narHash": "sha256-G54zkslNueiiYDtg8QbAkPTv0/vfLzdjDsaUljlRQAE=",
"owner": "noctalia-dev", "owner": "noctalia-dev",
"repo": "noctalia-shell", "repo": "noctalia-shell",
"rev": "b99b7a7f06ff749df9ac43181ff7889ff90c5599", "rev": "052f533186e6ad8e60541760cfe3123f14108c1e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -532,11 +532,11 @@
"treefmt-nix": "treefmt-nix_2" "treefmt-nix": "treefmt-nix_2"
}, },
"locked": { "locked": {
"lastModified": 1778983195, "lastModified": 1779588472,
"narHash": "sha256-hE3EFK5GoSdbO5WHZ8bZDUVYkofbDLQN/KK25z7IOOI=", "narHash": "sha256-CVonDVo41DqdqS/kNeXFatwEuTltyXcppm9zkVOnrsM=",
"owner": "noctalia-dev", "owner": "noctalia-dev",
"repo": "noctalia-qs", "repo": "noctalia-qs",
"rev": "4116b41cdc89e186be7cb8b24a9b6022af95d742", "rev": "70fea8a39a908e395de63024a4dfdb829bff1ffe",
"type": "github" "type": "github"
}, },
"original": { "original": {
+2
View File
@@ -7,6 +7,8 @@ _: {
enable = true; # Zed Editor: a modern, highperformance code editor enable = true; # Zed Editor: a modern, highperformance code editor
remote-server.enable = false; # Remote Server: enable remote editing capabilities remote-server.enable = false; # Remote Server: enable remote editing capabilities
}; };
opencode.enable = true; # OpenCode: terminal coding agent
ollama.enable = true; # Ollama: Local Llms
/* /*
Web browsers Web browsers
-1
View File
@@ -68,7 +68,6 @@ _: {
*/ */
exercism.enable = false; # Exercism: coding practice platform exercism.enable = false; # Exercism: coding practice platform
lazygit.enable = false; # Lazygit: simple TUI for Git lazygit.enable = false; # Lazygit: simple TUI for Git
opencode.enable = false; # OpenCode: tools for coding and development
jan.enable = true; # Jan: AI chat UI jan.enable = true; # Jan: AI chat UI
logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator
-1
View File
@@ -68,7 +68,6 @@ _: {
*/ */
exercism.enable = false; # Exercism: coding practice platform exercism.enable = false; # Exercism: coding practice platform
lazygit.enable = false; # Lazygit: simple TUI for Git lazygit.enable = false; # Lazygit: simple TUI for Git
opencode.enable = false; # OpenCode: tools for coding and development
jan.enable = true; # Jan: AI chat UI jan.enable = true; # Jan: AI chat UI
logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator
+2
View File
@@ -7,6 +7,8 @@ _: {
enable = true; # Zed Editor: a modern, highperformance code editor enable = true; # Zed Editor: a modern, highperformance code editor
remote-server.enable = true; # Remote Server: enable remote editing capabilities remote-server.enable = true; # Remote Server: enable remote editing capabilities
}; };
opencode.enable = true; # OpenCode: terminal coding agent
ollama.enable = false; # Ollama: Local Llms
/* /*
Web browsers Web browsers
-1
View File
@@ -68,7 +68,6 @@ _: {
*/ */
exercism.enable = true; # Exercism: coding practice platform exercism.enable = true; # Exercism: coding practice platform
lazygit.enable = false; # Lazygit: simple TUI for Git lazygit.enable = false; # Lazygit: simple TUI for Git
opencode.enable = false; # OpenCode: tools for coding and development
jan.enable = true; # Jan: AI chat UI jan.enable = true; # Jan: AI chat UI
logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator
-1
View File
@@ -24,7 +24,6 @@
slack = slack; slack = slack;
tutanota = tutanota-desktop; tutanota = tutanota-desktop;
exercism = exercism; exercism = exercism;
opencode = opencode;
jan = jan; jan = jan;
lazygit = lazygit; lazygit = lazygit;
prismlauncher = inputs.prismlauncher-cracked.packages.${system}.default; prismlauncher = inputs.prismlauncher-cracked.packages.${system}.default;
+8
View File
@@ -1,22 +1,30 @@
{shell, ...}: { {shell, ...}: {
programs = { programs = {
nano.enable = true; nano.enable = true;
hyprland = { hyprland = {
enable = true; enable = true;
withUWSM = false; withUWSM = false;
}; };
fish.enable = fish.enable =
if shell == "fish" if shell == "fish"
then true then true
else false; else false;
dconf.enable = true; dconf.enable = true;
seahorse.enable = true; seahorse.enable = true;
fuse.userAllowOther = true; fuse.userAllowOther = true;
mtr.enable = true; mtr.enable = true;
gnupg.agent = { gnupg.agent = {
enable = true; enable = true;
enableSSHSupport = true; enableSSHSupport = true;
}; };
nix-ld = { nix-ld = {
enable = true; enable = true;
# libraries = with pkgs; [ # libraries = with pkgs; [
+1
View File
@@ -9,6 +9,7 @@
upd = "nh os switch -H ${host} -d always"; upd = "nh os switch -H ${host} -d always";
upg = "nh os switch -H ${host} --update -d always"; upg = "nh os switch -H ${host} --update -d always";
upf = "sudo nix flake update --flake /home/${username}/garandos"; upf = "sudo nix flake update --flake /home/${username}/garandos";
upf-gh = "nix flake update --option access-tokens \"github.com=$(gh auth token)\" --flake /home/${username}/garandos";
upf-undo = "git -C /home/${username}/garandos restore /home/${username}/garandos/flake.lock"; upf-undo = "git -C /home/${username}/garandos restore /home/${username}/garandos/flake.lock";
upd-bt = "nh os boot -H ${host} -d always"; upd-bt = "nh os boot -H ${host} -d always";
upd-ts = "nh os test -H ${host} -d always"; upd-ts = "nh os test -H ${host} -d always";
+3
View File
@@ -19,13 +19,16 @@ _: {
./easyeffects.nix ./easyeffects.nix
./eza.nix ./eza.nix
./fzf.nix ./fzf.nix
./gh.nix
./git.nix ./git.nix
./gtk.nix ./gtk.nix
./kdeConnect.nix ./kdeConnect.nix
./lutris.nix ./lutris.nix
./nextcloud.nix ./nextcloud.nix
./obs-studio.nix ./obs-studio.nix
./ollama.nix
./onlyoffice.nix ./onlyoffice.nix
./opencode.nix
./qt.nix ./qt.nix
./ssh.nix ./ssh.nix
./starship.nix ./starship.nix
+1
View File
@@ -9,6 +9,7 @@
upd = "nh os switch -H ${host} -d always"; upd = "nh os switch -H ${host} -d always";
upg = "nh os switch -H ${host} --update -d always"; upg = "nh os switch -H ${host} --update -d always";
upf = "sudo nix flake update --flake /home/${username}/garandos"; upf = "sudo nix flake update --flake /home/${username}/garandos";
upf-gh = "nix flake update --option access-tokens \"github.com=$(gh auth token)\" --flake /home/${username}/garandos";
upf-undo = "git -C /home/${username}/garandos restore /home/${username}/garandos/flake.lock"; upf-undo = "git -C /home/${username}/garandos restore /home/${username}/garandos/flake.lock";
upd-bt = "nh os boot -H ${host} -d always"; upd-bt = "nh os boot -H ${host} -d always";
upd-ts = "nh os test -H ${host} -d always"; upd-ts = "nh os test -H ${host} -d always";
+21
View File
@@ -0,0 +1,21 @@
{
pkgs,
gitUsername,
...
}: {
programs.gh = {
enable = true;
package = pkgs.gh;
hosts."github.com" = {
git_protocol = "https";
users = [
"${gitUsername}"
];
user = "${gitUsername}";
};
settings = {
git_protocol = "https";
version = "1";
};
};
}
+20
View File
@@ -0,0 +1,20 @@
{
pkgs,
lib,
config,
profile,
...
}: {
options.ollama.enable = lib.mkEnableOption "Ollama";
config.services.ollama = lib.mkIf config.ollama.enable {
enable = true;
package = pkgs.ollama;
acceleration =
if profile == "nvidia"
then "cuda"
else if profile == "amd"
then "rocm"
else null;
};
}
+13
View File
@@ -0,0 +1,13 @@
{
pkgs,
lib,
config,
...
}: {
options.opencode.enable = lib.mkEnableOption "Opencode";
config.programs.opencode = lib.mkIf config.opencode.enable {
enable = true;
package = pkgs.opencode;
};
}
+5
View File
@@ -73,5 +73,10 @@
opacity.enable = true; opacity.enable = true;
variant256Colors = true; variant256Colors = true;
}; };
opencode = {
enable = true;
colors.enable = true;
};
}; };
} }