Compare commits

...
2 Commits
Author SHA1 Message Date
4DBug 8b56376803 push 2026-08-24 04:02:10 -05:00
4DBug cbbd94a130 push 2026-08-22 21:46:30 -05:00
9 changed files with 346 additions and 37 deletions
Generated
+161 -18
View File
@@ -727,11 +727,67 @@
"type": "github" "type": "github"
} }
}, },
"niri": {
"inputs": {
"niri-stable": "niri-stable",
"niri-unstable": "niri-unstable",
"nixpkgs": "nixpkgs_7",
"nixpkgs-stable": "nixpkgs-stable",
"xwayland-satellite-stable": "xwayland-satellite-stable",
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1785857305,
"narHash": "sha256-25q05zpF1sqOCxPPUG9DPPGd+EDW7SiAOWCzBWRS7r0=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "9ee3e13b60643448228353097880521658b2fe0e",
"type": "github"
},
"original": {
"owner": "sodiboo",
"repo": "niri-flake",
"type": "github"
}
},
"niri-stable": {
"flake": false,
"locked": {
"lastModified": 1756556321,
"narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"ref": "v25.08",
"repo": "niri",
"type": "github"
}
},
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1785701241,
"narHash": "sha256-ircVOzPWRircI39ac/tqJajr5OoJxEVrDlBb05TULEk=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "feb3e43f1475e0865bb89cbd1e898b34d1d2ccf6",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"repo": "niri",
"type": "github"
}
},
"nix-cachyos-kernel": { "nix-cachyos-kernel": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"flake-parts": "flake-parts_3", "flake-parts": "flake-parts_3",
"nixpkgs": "nixpkgs_7" "nixpkgs": "nixpkgs_8"
}, },
"locked": { "locked": {
"lastModified": 1785870829, "lastModified": 1785870829,
@@ -754,7 +810,7 @@
"nix-gaming": [ "nix-gaming": [
"nix-gaming" "nix-gaming"
], ],
"nixpkgs": "nixpkgs_8", "nixpkgs": "nixpkgs_9",
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
@@ -792,7 +848,7 @@
"flake-compat": "flake-compat_3", "flake-compat": "flake-compat_3",
"flake-parts": "flake-parts_4", "flake-parts": "flake-parts_4",
"git-hooks": "git-hooks", "git-hooks": "git-hooks",
"nixpkgs": "nixpkgs_9" "nixpkgs": "nixpkgs_10"
}, },
"locked": { "locked": {
"lastModified": 1785898401, "lastModified": 1785898401,
@@ -811,7 +867,7 @@
"nixcord": { "nixcord": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_5", "flake-parts": "flake-parts_5",
"nixpkgs": "nixpkgs_10", "nixpkgs": "nixpkgs_11",
"nixpkgs-nixcord": "nixpkgs-nixcord", "nixpkgs-nixcord": "nixpkgs-nixcord",
"treefmt-nix": "treefmt-nix_2" "treefmt-nix": "treefmt-nix_2"
}, },
@@ -834,7 +890,7 @@
"blobs": "blobs", "blobs": "blobs",
"flake-compat": "flake-compat_4", "flake-compat": "flake-compat_4",
"git-hooks": "git-hooks_2", "git-hooks": "git-hooks_2",
"nixpkgs": "nixpkgs_11" "nixpkgs": "nixpkgs_12"
}, },
"locked": { "locked": {
"lastModified": 1785702596, "lastModified": 1785702596,
@@ -939,7 +995,39 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable": {
"locked": {
"lastModified": 1782847189,
"narHash": "sha256-twXPFqFsrrY5r28Zh7Homgcp2gUMBgQ6WDS98Q/3xFI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b6018f87da91d19d0ab4cf979885689b469cdd41",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_10": { "nixpkgs_10": {
"locked": {
"lastModified": 1785542685,
"narHash": "sha256-sjfvXMbG5pCFgpvw2OZAFcZiTvrppCWvnB6cuGrSY08=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f8e81fc7eb063db454f563cdd596fb96a5ad1497",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_11": {
"locked": { "locked": {
"lastModified": 1785386831, "lastModified": 1785386831,
"narHash": "sha256-sPS3CaXH8RAT3FZRuy4VcV47iuYIWMMfa0GbyJKC3o4=", "narHash": "sha256-sPS3CaXH8RAT3FZRuy4VcV47iuYIWMMfa0GbyJKC3o4=",
@@ -955,7 +1043,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_11": { "nixpkgs_12": {
"locked": { "locked": {
"lastModified": 1785672624, "lastModified": 1785672624,
"narHash": "sha256-TWz27RiQZf38j17BYGN/V4U2SQVtOE2pFc9u2cy3H3g=", "narHash": "sha256-TWz27RiQZf38j17BYGN/V4U2SQVtOE2pFc9u2cy3H3g=",
@@ -971,7 +1059,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_12": { "nixpkgs_13": {
"locked": { "locked": {
"lastModified": 1785747939, "lastModified": 1785747939,
"narHash": "sha256-D740uKsMbgsfK2oaDenJLLPIZfq7W0/g4KN/Fls8eKs=", "narHash": "sha256-D740uKsMbgsfK2oaDenJLLPIZfq7W0/g4KN/Fls8eKs=",
@@ -1065,6 +1153,22 @@
} }
}, },
"nixpkgs_7": { "nixpkgs_7": {
"locked": {
"lastModified": 1785828668,
"narHash": "sha256-8fsyqeO+mJqvIzeO4xIpgJe/f7MTbbVTEC6RT6WSXNs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e72e4f299401a3689d4b3d5fc6496b11db7064eb",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1785859399, "lastModified": 1785859399,
"narHash": "sha256-pY4X50au95QrTpAbEm08pURmeU3/Ud2oa0s2XzpDdz8=", "narHash": "sha256-pY4X50au95QrTpAbEm08pURmeU3/Ud2oa0s2XzpDdz8=",
@@ -1080,7 +1184,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_8": { "nixpkgs_9": {
"locked": { "locked": {
"lastModified": 1784796856, "lastModified": 1784796856,
"narHash": "sha256-wWFrV5/Qbm+lyt5x20E/bSbfJiGKMo4RCxZV8cl/WZI=", "narHash": "sha256-wWFrV5/Qbm+lyt5x20E/bSbfJiGKMo4RCxZV8cl/WZI=",
@@ -1096,19 +1200,23 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_9": { "noctalia": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": { "locked": {
"lastModified": 1785542685, "lastModified": 1787540539,
"narHash": "sha256-sjfvXMbG5pCFgpvw2OZAFcZiTvrppCWvnB6cuGrSY08=", "narHash": "sha256-q6ewgZm6eAgdHWIaOV+dwR5/x711AfDUsao3nQ/CdyA=",
"owner": "NixOS", "owner": "noctalia-dev",
"repo": "nixpkgs", "repo": "noctalia",
"rev": "f8e81fc7eb063db454f563cdd596fb96a5ad1497", "rev": "a4324409f4f07001d33fbf902be49377ee6b62e2",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "noctalia-dev",
"ref": "nixpkgs-unstable", "repo": "noctalia",
"repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
@@ -1154,16 +1262,18 @@
"minecraft": "minecraft", "minecraft": "minecraft",
"minecraft-metadata": "minecraft-metadata", "minecraft-metadata": "minecraft-metadata",
"neu-nix": "neu-nix", "neu-nix": "neu-nix",
"niri": "niri",
"nix-cachyos-kernel": "nix-cachyos-kernel", "nix-cachyos-kernel": "nix-cachyos-kernel",
"nix-citizen": "nix-citizen", "nix-citizen": "nix-citizen",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nix-gaming": "nix-gaming", "nix-gaming": "nix-gaming",
"nixcord": "nixcord", "nixcord": "nixcord",
"nixos-mailserver": "nixos-mailserver", "nixos-mailserver": "nixos-mailserver",
"nixpkgs": "nixpkgs_12", "nixpkgs": "nixpkgs_13",
"nixpkgs-lib": [ "nixpkgs-lib": [
"nixpkgs" "nixpkgs"
], ],
"noctalia": "noctalia",
"stylix": "stylix", "stylix": "stylix",
"systems": "systems_5" "systems": "systems_5"
} }
@@ -1382,6 +1492,39 @@
"repo": "treefmt-nix", "repo": "treefmt-nix",
"type": "github" "type": "github"
} }
},
"xwayland-satellite-stable": {
"flake": false,
"locked": {
"lastModified": 1755491097,
"narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "388d291e82ffbc73be18169d39470f340707edaa",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"ref": "v0.7",
"repo": "xwayland-satellite",
"type": "github"
}
},
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1784679892,
"narHash": "sha256-Mb7jpqnrcYCfNSItIkkHpuR3YxWFxPuIBfcwNKlRBkk=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "8d135d3b2854b30fd01ea6cd6c27e523dd50a839",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",
+8 -2
View File
@@ -79,8 +79,14 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
wrappers.url = "github:Lassulus/wrappers"; niri = {
wrapper-modules.url = "github:BirdeeHub/nix-wrapper-modules"; url = "github:sodiboo/niri-flake";
};
noctalia = {
url = "github:noctalia-dev/noctalia";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver"; nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
+136 -7
View File
@@ -1,17 +1,146 @@
{ inputs, ...}: { { inputs, ... }: {
den.aspects.nix7 = { den.aspects.niri = {
nixos = { pkgs, lib, ...}: { nixos = { pkgs, lib, ... }: {
packages.niri = inputs.wrapper-modules.wrappers.niri.wrap { services.displayManager = {
sessionPackages = [ pkgs.niri ];
};
};
homeManager = { pkgs, lib, ... }: {
imports = [ inputs.niri.homeModules.niri ];
nixpkgs.overlays = [ inputs.niri.overlays.niri ];
programs.niri = {
enable = true;
package = pkgs.niri;
settings = { settings = {
spawn-at-startup = [
{ argv = [ "noctalia" "--daemon" ]; }
];
input.keyboard = { input.keyboard = {
xkb.layout = "us,ua"; xkb.layout = "us,ua";
}; };
layout.gaps = 5; layout = {
gaps = 10;
border.enable = false;
focus-ring = {
enable = true;
width = 2;
active.color = "#cba6f7";
};
preset-column-widths = [
{ proportion = 0.50; }
{ proportion = 1.00; }
];
default-column-width = { proportion = 1.00; };
};
window-rules = [
{
geometry-corner-radius = {
top-left = 12.0;
top-right = 12.0;
bottom-left = 12.0;
bottom-right = 12.0;
};
clip-to-geometry = true;
draw-border-with-background = true;
}
{
matches = [
{ app-id = "dev.noctalia.Noctalia"; }
];
open-floating = true;
default-column-width = {
fixed = 1080;
};
default-window-height = {
fixed = 920;
};
geometry-corner-radius = {
top-left = 12.0;
top-right = 12.0;
bottom-left = 12.0;
bottom-right = 12.0;
};
clip-to-geometry = true;
draw-border-with-background = true;
}
];
binds = { binds = {
"Mod+T".spawn-sh = lib.getExe pkgs.cosmic-term; "Mod+T".action.spawn = "cosmic-term";
"Mod+Q".close-window = null; "Mod+D".action.spawn-sh = "noctalia msg panel-toggle launcher";
"Mod+V".action.spawn-sh = "noctalia msg panel-toggle clipboard";
"Mod+N".action.spawn-sh = "noctalia msg panel-toggle control-center";
"Mod+Comma".action.spawn-sh = "noctalia msg settings-toggle";
"Control+Alt+Delete".action.spawn-sh = "noctalia msg panel-toggle session";
"XF86AudioRaiseVolume".action.spawn-sh = "noctalia msg volume-up";
"XF86AudioLowerVolume".action.spawn-sh = "noctalia msg volume-down";
"XF86AudioMute".action.spawn-sh = "noctalia msg volume-mute";
"XF86MonBrightnessUp".action.spawn-sh = "noctalia msg brightness-up";
"XF86MonBrightnessDown".action.spawn-sh = "noctalia msg brightness-down";
# Media
"XF86AudioPlay".action.spawn = [ "playerctl" "play-pause" ];
"XF86AudioNext".action.spawn = [ "playerctl" "next" ];
"XF86AudioPrev".action.spawn = [ "playerctl" "previous" ];
"XF86AudioStop".action.spawn = [ "playerctl" "stop" ];
"Mod+W".action.spawn-sh = "noctalia msg panel-toggle wallpaper";
# Window management
"Mod+Q".action.close-window = {};
"Mod+Space".action.toggle-window-floating = {};
"Mod+Shift+Space".action.switch-focus-between-floating-and-tiling = {};
"Mod+F".action.switch-preset-column-width = {};
"Mod+Shift+F".action.fullscreen-window = {};
# Focus
"Mod+H".action.focus-column-left = {};
"Mod+J".action.focus-window-down = {};
"Mod+K".action.focus-window-up = {};
"Mod+L".action.focus-column-right = {};
# Move windows
"Mod+Shift+H".action.set-column-width = "-10%";
"Mod+Shift+L".action.set-column-width = "+10%";
"Mod+Shift+J".action.set-window-height = "+10%";
"Mod+Shift+K".action.set-window-height = "-10%";
"Mod+Control+H".action.consume-or-expel-window-left = {};
"Mod+Control+L".action.consume-or-expel-window-right = {};
"Mod+Control+K".action.move-window-up = {};
"Mod+Control+J".action.move-window-down = {};
# Screenshots
"Mod+Shift+S".action.spawn = [ "noctalia" "msg" "screenshot-region" ];
# Workspaces
"Mod+1".action.focus-workspace = 1;
"Mod+2".action.focus-workspace = 2;
"Mod+3".action.focus-workspace = 3;
"Mod+4".action.focus-workspace = 4;
"Mod+5".action.focus-workspace = 5;
"Mod+6".action.focus-workspace = 6;
"Mod+7".action.focus-workspace = 7;
"Mod+8".action.focus-workspace = 8;
"Mod+9".action.focus-workspace = 9;
"Mod+0".action.focus-workspace = 10;
"Mod+Shift+1".action.move-window-to-workspace = [ { focus = false; } 1 ];
"Mod+Shift+2".action.move-window-to-workspace = [ { focus = false; } 2 ];
"Mod+Shift+3".action.move-window-to-workspace = [ { focus = false; } 3 ];
"Mod+Shift+4".action.move-window-to-workspace = [ { focus = false; } 4 ];
"Mod+Shift+5".action.move-window-to-workspace = [ { focus = false; } 5 ];
"Mod+Shift+6".action.move-window-to-workspace = [ { focus = false; } 6 ];
"Mod+Shift+7".action.move-window-to-workspace = [ { focus = false; } 7 ];
"Mod+Shift+8".action.move-window-to-workspace = [ { focus = false; } 8 ];
"Mod+Shift+9".action.move-window-to-workspace = [ { focus = false; } 9 ];
"Mod+Shift+0".action.move-window-to-workspace = [ { focus = false; } 10 ];
"Mod+Ctrl+1".action.move-window-to-workspace = 1;
"Mod+Ctrl+2".action.move-window-to-workspace = 2;
"Mod+Ctrl+3".action.move-window-to-workspace = 3;
"Mod+Ctrl+4".action.move-window-to-workspace = 4;
"Mod+Ctrl+5".action.move-window-to-workspace = 5;
"Mod+Ctrl+6".action.move-window-to-workspace = 6;
"Mod+Ctrl+7".action.move-window-to-workspace = 7;
"Mod+Ctrl+8".action.move-window-to-workspace = 8;
"Mod+Ctrl+9".action.move-window-to-workspace = 9;
"Mod+Ctrl+0".action.move-window-to-workspace = 10;
}; };
}; };
}; };
+7 -1
View File
@@ -1,3 +1,9 @@
{ { inputs, ...}: {
den.aspects.noctalia = {
nixos = { ... }: {
imports = [ inputs.noctalia.nixosModules.default ];
programs.noctalia.enable = true;
};
};
} }
+3
View File
@@ -16,6 +16,9 @@
neu neu
#nix7 #nix7
niri
noctalia
]; ];
nixos = { nixos = {
@@ -2,13 +2,13 @@
den.aspects.llama = { den.aspects.llama = {
nixos = { pkgs, lib, ... }: { nixos = { pkgs, lib, ... }: {
environment.systemPackages = [ pkgs.cloudflared ]; environment.systemPackages = [ pkgs.cloudflared ];
environment.etc."cloudflared/9c1a18f9-a2c4-41bd-9a64-86ebb3e3283d.json".source = "/home/bug/.cloudflared/9c1a18f9-a2c4-41bd-9a64-86ebb3e3283d.json"; environment.etc."cloudflared/608ba37a-1be8-49e8-be2d-abeb8b77081d.json".source = "/home/bug/.cloudflared/608ba37a-1be8-49e8-be2d-abeb8b77081d.json";
services.cloudflared = { services.cloudflared = {
enable = true; enable = true;
tunnels = { tunnels = {
"9c1a18f9-a2c4-41bd-9a64-86ebb3e3283d" = { "608ba37a-1be8-49e8-be2d-abeb8b77081d" = {
credentialsFile = "/etc/cloudflared/9c1a18f9-a2c4-41bd-9a64-86ebb3e3283d.json"; credentialsFile = "/etc/cloudflared/608ba37a-1be8-49e8-be2d-abeb8b77081d.json";
ingress = { ingress = {
"llama.bug.tools" = "http://127.0.0.1:8080"; "llama.bug.tools" = "http://127.0.0.1:8080";
@@ -19,7 +19,7 @@
}; };
}; };
systemd.services."cloudflared-tunnel-9c1a18f9-a2c4-41bd-9a64-86ebb3e3283d".environment = { systemd.services."cloudflared-tunnel-608ba37a-1be8-49e8-be2d-abeb8b77081d".environment = {
TUNNEL_TRANSPORT_PROTOCOL = pkgs.lib.mkForce "http2"; TUNNEL_TRANSPORT_PROTOCOL = pkgs.lib.mkForce "http2";
}; };
+25
View File
@@ -0,0 +1,25 @@
{ pkgs, lib, ... }:
let
opencode-json = pkgs.writeText "opencode.json" (builtins.toJSON {
"$schema" = "https://opencode.ai/config.json";
plugin = [ "opencode-plugin-llama.cpp@latest" ];
provider = {
llama.cpp = {
npm = "@ai-sdk/openai-compatible";
name = "llama.cpp";
options.baseURL = "https://llama.bug.tools/v1";
models."qwen3.6-35b-a3b".name = "qwen3.6-35b-a3b";
};
};
});
in {
den.aspects.opencode = {
nixos = { pkgs, ... }: {
environment.systemPackages = [ pkgs.opencode ];
};
homeManager = { ... }: {
home.file.".config/opencode/opencode.json".source = opencode-json;
};
};
}
+1 -1
View File
@@ -85,7 +85,7 @@
disableCallIdle.enable = true; disableCallIdle.enable = true;
ClearURLs.enable = true; clearUrls.enable = true;
}; };
}; };
}; };
+1 -4
View File
@@ -1,12 +1,9 @@
{ den, ... }: { { den, ... }: {
den.aspects.bug = { den.aspects.bug = {
includes = [ includes = [
den.batteries.host-aspects
den.provides.primary-user den.provides.primary-user
(den.provides.user-shell "fish") (den.provides.user-shell "fish")
den.aspects.stylix
den.aspects.librewolf
den.aspects.catppuccin
#den.provides.home-manager
]; ];
homeManager = { homeManager = {