1 Commits

Author SHA1 Message Date
phundrak 3dc0fb36c2 feat(opencode): add opencode configuration 2026-06-07 18:07:03 +02:00
10 changed files with 74 additions and 89 deletions
Generated
+45 -45
View File
@@ -35,11 +35,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781930126, "lastModified": 1780375472,
"narHash": "sha256-AopjjM6497f3Usb6IAZgensjtzGlYGGpJLw7DRtP67I=", "narHash": "sha256-Q8RAJoYlakA6B2I5DVcuxzNbhCNU1nnIjqQZYP1KGrM=",
"owner": "caelestia-dots", "owner": "caelestia-dots",
"repo": "cli", "repo": "cli",
"rev": "b00dabaa9351d1383dfba162f5b3575b49a126e1", "rev": "d1c8c8fc09738d1b40576e97c274b4a11a2e0ac7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -58,11 +58,11 @@
"quickshell": "quickshell" "quickshell": "quickshell"
}, },
"locked": { "locked": {
"lastModified": 1782013769, "lastModified": 1780839367,
"narHash": "sha256-3j6GU+y8RSyRAibriCePKqqU4UPf6qjabUD9cfjehcM=", "narHash": "sha256-KAENT4Od2wwWtJzWFtR/qKzqoR673r91KLcyv4pPcNQ=",
"owner": "caelestia-dots", "owner": "caelestia-dots",
"repo": "shell", "repo": "shell",
"rev": "74e4970ab530b3d1a5cddb8424fcf0ee96443bd9", "rev": "3bc2bd2a5c5c886f75363211d838b749ab95137e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -79,11 +79,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781648708, "lastModified": 1779822991,
"narHash": "sha256-i9ggnF31Uq3tpdp6ZMe7YAOxjTfkB7S4WjSBfXV0uMk=", "narHash": "sha256-r6e4eHEyQJEDhT6gkW3B9+OgB0pZebw2+du4bvN3vww=",
"owner": "9001", "owner": "9001",
"repo": "copyparty", "repo": "copyparty",
"rev": "d33d11321f823f58a9109298ef886044f63b02ce", "rev": "6e75faa62349a59f4df328a4939ba8626d89ee1a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -207,11 +207,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781989573, "lastModified": 1780679734,
"narHash": "sha256-npfH7Zv7t1akX/ArqCNro4zU4ViPlghLaPnbEfHbCxk=", "narHash": "sha256-KmRNvpNOb7QEORa06bVgjW9kITcx0VhsI7w0vhmZyD8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "78e7d8b13ecd7f5256a5c11ce216876164099d9f", "rev": "b2b7db486e06e098711dc291bb25db82850e1d16",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -230,11 +230,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1781867614, "lastModified": 1780841807,
"narHash": "sha256-GHy8hEZtToo7FLxEZm0x/pn/fjg1w9sx7ZP9hRd1fcM=", "narHash": "sha256-7N3iYAUmNjt0wgfpb1ZMVP5xRcXSrihQqOxZPM5N0Tc=",
"ref": "develop", "ref": "develop",
"rev": "d2c48605aac4ca9580d8a34aad4c65371c5a7cc1", "rev": "0e6b559d002cc7a9bcb758384623de0e8e034bbe",
"revCount": 52, "revCount": 45,
"type": "git", "type": "git",
"url": "https://labs.phundrak.com/phundrak/jj-cz" "url": "https://labs.phundrak.com/phundrak/jj-cz"
}, },
@@ -247,17 +247,17 @@
"m3shapes": { "m3shapes": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1781017666, "lastModified": 1777812556,
"narHash": "sha256-kfHyzZaPHgqZML48OA+5JwBOsLdQJ2ci/aGPShvUB4Y=", "narHash": "sha256-E5nqOucRQBWKuT31AMekmfgMywRdHgSbU86R7t4BKKA=",
"owner": "soramanew", "owner": "soramanew",
"repo": "m3shapes", "repo": "m3shapes",
"rev": "bdc327b29f95394a732baf3c9b19658ba23755b6", "rev": "356825d31f16052a782735cce264331cba0cb71b",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "soramanew", "owner": "soramanew",
"repo": "m3shapes", "repo": "m3shapes",
"rev": "bdc327b29f95394a732baf3c9b19658ba23755b6", "rev": "356825d31f16052a782735cce264331cba0cb71b",
"type": "github" "type": "github"
} }
}, },
@@ -268,11 +268,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1782030356, "lastModified": 1780816331,
"narHash": "sha256-h4WpMr455AfRub0FXBaon6Vcpe0waUyJ4GivIW6oyd4=", "narHash": "sha256-0BYqs8yKWkOz2Q7+SP18N5E5gmDKSo6LSxIVIa0wWes=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "3017088b49efd404f78e3b104f553b97e4af786b", "rev": "1a2ea89c917781e88508d9fd2b507f2d2a0e173c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -283,11 +283,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1781577229, "lastModified": 1780243769,
"narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=", "narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "567a49d1913ce81ac6e9582e3553dd90a955875f", "rev": "331800de5053fcebacf6813adb5db9c9dca22a0c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -299,11 +299,11 @@
}, },
"nixpkgsStable": { "nixpkgsStable": {
"locked": { "locked": {
"lastModified": 1781509190, "lastModified": 1780511130,
"narHash": "sha256-uJZs9Di8I6ciTp6jiojj0HzlNpBkud8ax5aT/O5aJkw=", "narHash": "sha256-2v9lT4ya59Lh1FqPeLnz1MoX9y/wz2huqfe9RtQZITk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d6df3513510aa548c83868fd22bfddd0a8c0a0d4", "rev": "535f3e6942cb1cead3929c604320d3db54b542b9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -342,11 +342,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781847791, "lastModified": 1780303737,
"narHash": "sha256-Mo2YtNEGlcySnbq0YuP3nUKMAQCMAfE+TcCffo5vzD8=", "narHash": "sha256-7HgdJBG4BgAPDyHKKxWtxj7nziqsQo6zQCXtwy+L9fs=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "68c2c85c33845385f7ab8147b32f1450b1e468e0", "rev": "b66495fcc5022681b56b61f928c7acbe910e722c",
"revCount": 824, "revCount": 821,
"type": "git", "type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell" "url": "https://git.outfoxxed.me/outfoxxed/quickshell"
}, },
@@ -466,11 +466,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781943681, "lastModified": 1780547341,
"narHash": "sha256-NFHmA7H47adqiyp+0iEOyZOQhmigDqA/NBAlf4imB6U=", "narHash": "sha256-Gq8KNx5A7hBB3uGJaj6eQfLDIz5YdLu92gqBcvHvoUo=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "420f8d2e9882911f65cfac15cc706f639ba96cca", "rev": "9ed65852b6257fbeae4355bc24ecfea307ca759a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -487,11 +487,11 @@
"systems": "systems_4" "systems": "systems_4"
}, },
"locked": { "locked": {
"lastModified": 1782031037, "lastModified": 1780422259,
"narHash": "sha256-a7oWSyS7SN81UOqVt481yIEMDsMpaJ7GNdV6Eaz5Yqg=", "narHash": "sha256-dWGk4SEdI189kQW5cE4Uo1Mc+P+kQEdgMcyMgTtmQOA=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "spicetify-nix", "repo": "spicetify-nix",
"rev": "9cb27462cfd20edac174353f1e95bc03aa888863", "rev": "8414bbf2fcc7bc0a22c675e498e3c7365c1aec0a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -507,11 +507,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781754174, "lastModified": 1780545143,
"narHash": "sha256-Q5hp6+DYj23gMAvhLXBYNan9EwY9C+oxyU+M1TJDwgo=", "narHash": "sha256-y9aFcK8A3pctkW9G9LdppzPDsuBa3VzToADnacjir/A=",
"owner": "nix-community", "owner": "nix-community",
"repo": "srvos", "repo": "srvos",
"rev": "18ae1c654f60fb8dafb40c48fe25eb09f1aaddb2", "rev": "bc0ca7b0f7c8ca9dc55166438fec4dc2dd74f8a4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -587,11 +587,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781847955, "lastModified": 1780637620,
"narHash": "sha256-1OSYOGuJp/NoODmSHjsz+6TB/kSilJ+BsFihjY7TTnc=", "narHash": "sha256-ngPdHinPyF0AMxRr32qt+TZCv0sagmooBW14u6DfjSU=",
"owner": "youwen5", "owner": "youwen5",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "4bca251cd556677f7b765ff324d1638ae215be13", "rev": "8c62bc6a72ac5a5b8d1b41b2b88dfed9d9932c48",
"type": "github" "type": "github"
}, },
"original": { "original": {
+1 -2
View File
@@ -104,7 +104,6 @@
pkgs.nh pkgs.nh
pkgs.jujutsu pkgs.jujutsu
pkgs.git pkgs.git
inputs.jj-cz.packages.${system}.default
]; ];
}; };
@@ -187,7 +186,7 @@
srvos.nixosModules.server srvos.nixosModules.server
srvos.nixosModules.hardware-hetzner-cloud srvos.nixosModules.hardware-hetzner-cloud
srvos.nixosModules.mixins-terminfo srvos.nixosModules.mixins-terminfo
./hosts/naromk3 ./hosts/naromk3/configuration.nix
]; ];
}; };
pinetab2 = pinetabConfig "x86_64-linux" ./hosts/pinetab2/gnome.nix; pinetab2 = pinetabConfig "x86_64-linux" ./hosts/pinetab2/gnome.nix;
@@ -24,11 +24,8 @@
firewall = { firewall = {
openPorts = [ openPorts = [
22 # Gitea SSH 22 # Gitea SSH
25 # SMTP
80 # HTTP 80 # HTTP
443 # HTTPS 443 # HTTPS
465 # SMTPS
993 # IMAPS
]; ];
}; };
}; };
+4 -1
View File
@@ -106,7 +106,10 @@ in {
"workspaces, 1, 6, default" "workspaces, 1, 6, default"
]; ];
}; };
dwindle.preserve_split = true; dwindle = {
pseudotile = true;
preserve_split = true;
};
exec-once = exec-once =
[ [
"pactl load-module module-switch-on-connect" "pactl load-module module-switch-on-connect"
+21 -1
View File
@@ -10,7 +10,25 @@ with lib; let
cfg = config.home.dev.ai.opencode; cfg = config.home.dev.ai.opencode;
defaultPackageCli = inputs.opencode.packages.${system}.opencode; defaultPackageCli = inputs.opencode.packages.${system}.opencode;
defaultPackageDesktop = inputs.opencode.packages.${system}.desktop; defaultPackageDesktop = inputs.opencode.packages.${system}.desktop;
corsString = cors:
{
null = "";
string = v: trim v;
path = v: trim (readFile v);
}
.${
if cors == null
then "null"
else typeOf cors
};
corsList = domains: lists.remove "" (lists.forEach (strings.splitString "," domains) trim); corsList = domains: lists.remove "" (lists.forEach (strings.splitString "," domains) trim);
corsDomains = domains:
lists.flatten (
lists.forEach (lists.remove "" (lists.forEach (strings.splitString "," domains) trim)) (domain: [
"--cors"
domain
])
);
in { in {
options.home.dev.ai.opencode = { options.home.dev.ai.opencode = {
enable = mkEnableOption "Enables OpenCode"; enable = mkEnableOption "Enables OpenCode";
@@ -69,7 +87,9 @@ in {
inherit (cfg) enable tui; inherit (cfg) enable tui;
enableMcpIntegration = true; enableMcpIntegration = true;
extraPackages = with pkgs; [uv]; extraPackages = with pkgs; [uv];
settings = settings = let
cors = corsString cfg.web.cors;
in
{ {
server = mkIf cfg.web.mdns.enable { server = mkIf cfg.web.mdns.enable {
mdns = true; mdns = true;
-2
View File
@@ -12,7 +12,6 @@ in {
./mpd-mpris.nix ./mpd-mpris.nix
./mpv.nix ./mpv.nix
./ncmpcpp.nix ./ncmpcpp.nix
./streamlink.nix
]; ];
options.home.media.fullDesktop = mkEnableOption "Enables everything"; options.home.media.fullDesktop = mkEnableOption "Enables everything";
@@ -21,6 +20,5 @@ in {
mpd.enable = mkDefault (cfg.fullDesktop or cfg.mpd-mpris.enable); mpd.enable = mkDefault (cfg.fullDesktop or cfg.mpd-mpris.enable);
mpv.enable = mkDefault cfg.fullDesktop; mpv.enable = mkDefault cfg.fullDesktop;
ncmpcpp.enable = mkDefault config.home.media.mpd.enable; ncmpcpp.enable = mkDefault config.home.media.mpd.enable;
streamlink.enable = mkDefault config.home.media.mpv.enable;
}; };
} }
-17
View File
@@ -1,17 +0,0 @@
{
lib,
config,
pkgs,
...
}:
with lib; let
cfg = config.home.media.streamlink;
in {
options.home.media.streamlink.enable = mkEnableOption "Enable Streamlink";
config.programs.streamlink = mkIf cfg.enable {
enable = true;
settings = {
player = "${pkgs.mpv}/bin/mpv";
};
};
}
-2
View File
@@ -30,8 +30,6 @@
}; };
permission = { permission = {
"*" = "ask"; "*" = "ask";
glob = "allow";
grep = "allow";
read = { read = {
"*" = "allow"; "*" = "allow";
"*.env" = "deny"; "*.env" = "deny";
+1 -12
View File
@@ -1,4 +1,4 @@
{pkgs, ...}: { {
config.home.desktop.firefox = { config.home.desktop.firefox = {
enable = true; enable = true;
useZen = true; useZen = true;
@@ -13,16 +13,6 @@
smothscroll = "true"; smothscroll = "true";
}; };
extraConfig = '' extraConfig = ''
command openTwitchInMpv js -d@\
const url = new URL(document.location.href);\
const cleanUrl = url.hostname + url.pathname;\
const token = document.cookie.split("; ")\
.find(item => item.startsWith("auth-token="))?.split("=")[1];\
const auth = "--twitch-api-header=Authorization=OAuth " + token;\
const cmd = `${pkgs.streamlink}/bin/streamlink "''${auth}" "''${cleanUrl}" best`;\
tri.native.run(cmd)\
@
unbind h unbind h
unbind j unbind j
unbind k unbind k
@@ -79,7 +69,6 @@
bind < urlincrement -1 bind < urlincrement -1
bind > urlincrement 1 bind > urlincrement 1
bind ypt openTwitchInMpv
bind ypv js tri.native.run(`mpv --ytdl-format="[height >=? 480]" --ontop --fs "''${document.location.href}"`) bind ypv js tri.native.run(`mpv --ytdl-format="[height >=? 480]" --ontop --fs "''${document.location.href}"`)
bind ypm hint -JF e => tri.native.run(`mpv --ytdl-format="[height >=? 480]" --ontop --fs "''${e.href}"`) bind ypm hint -JF e => tri.native.run(`mpv --ytdl-format="[height >=? 480]" --ontop --fs "''${e.href}"`)
''; '';
-2
View File
@@ -49,7 +49,6 @@ in {
scrcpy scrcpy
syncthing syncthing
watchmate watchmate
chatterino7
# Games # Games
atlauncher atlauncher
@@ -75,7 +74,6 @@ in {
tectonic # better LaTeX engine tectonic # better LaTeX engine
wakatime-cli wakatime-cli
zeal zeal
pandoc
## LSP servers ## LSP servers
bash-language-server bash-language-server