feat: Add Opencode IDE with AI agents, Beads issue tracking, and STT/PTT
support - Integrate Opencode terminal IDE with MCP integrations (Ref, Exa, Outline) - Add Beads AI-native issue tracking system (.beads/ + AGENTS.md) - Implement STT/PTT (speech-to-text push-to-talk) with whisper-cpp-vulkan - Add coding feature module with dev tools (beads, alejandra, bun, devpod, nixd) - Create AZPILOGISTIKTEST host configuration - Refactor Hyprland windowrules to new match: syntax - Upgrade nixpkgs/home-manager from 25.05 to 25.11 - Update Ollama to use Vulkan acceleration - Add lmstudio, rofi-project-opener, and various app updates - Add outline-key secret and mem0 service configuration chore: Add Opencode IDE, Beads issue tracking, STT/PTT, and nixpkgs 25.11 upgrade
This commit is contained in:
@@ -9,6 +9,13 @@
|
||||
./zellij.nix
|
||||
];
|
||||
|
||||
cli.stt-ptt = {
|
||||
enable = true;
|
||||
whisperPackage = pkgs.whisper-cpp-vulkan;
|
||||
model = "ggml-large-v3-turbo";
|
||||
notifyTimeout = 2000;
|
||||
};
|
||||
|
||||
programs.carapace = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
|
||||
@@ -25,7 +25,8 @@ in {
|
||||
$env.XDG_DATA_HOME = $"($env.HOME)/.local/share"
|
||||
$env.FZF_DEFAULT_COMMAND = "fd --type f --exclude .git --follow --hidden"
|
||||
$env.SSH_AUTH_SOCK = "/run/user/1000/gnupg/S.gpg-agent.ssh"
|
||||
$env.FLAKE = $"($env.HOME)/p/nixos/nixos-config"
|
||||
$env.PATH = ($env.PATH | split row (char esep) | append "/home/sascha.koenig/.cache/.bun/bin" | uniq)
|
||||
$env.FLAKE = $"($env.HOME)/p/NIX/nixos-config"
|
||||
#source /run/agenix/${config.home.username}-secrets
|
||||
'';
|
||||
# if (tty) == "/dev/tty1" {
|
||||
|
||||
28
home/features/coding/default.nix
Normal file
28
home/features/coding/default.nix
Normal file
@@ -0,0 +1,28 @@
|
||||
{pkgs, ...}: {
|
||||
imports = [
|
||||
./opencode.nix
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
agenix-cli
|
||||
alejandra
|
||||
beads
|
||||
bc
|
||||
bun
|
||||
devpod
|
||||
#devpod-desktop
|
||||
(python3.withPackages (ps:
|
||||
with ps; [
|
||||
pip
|
||||
uv
|
||||
# Scientific packages
|
||||
numba
|
||||
numpy
|
||||
torch
|
||||
srt
|
||||
]))
|
||||
pyrefly
|
||||
nixd
|
||||
tailwindcss
|
||||
tailwindcss-language-server
|
||||
];
|
||||
}
|
||||
186
home/features/coding/opencode.nix
Normal file
186
home/features/coding/opencode.nix
Normal file
@@ -0,0 +1,186 @@
|
||||
{inputs, ...}: {
|
||||
xdg.configFile = {
|
||||
"opencode/command" = {
|
||||
source = "${inputs.agents}/command";
|
||||
recursive = true;
|
||||
};
|
||||
"opencode/context" = {
|
||||
source = "${inputs.agents}/context";
|
||||
recursive = true;
|
||||
};
|
||||
"opencode/prompts" = {
|
||||
source = "${inputs.agents}/prompts";
|
||||
recursive = true;
|
||||
};
|
||||
"opencode/skill" = {
|
||||
source = "${inputs.agents}/skill";
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
|
||||
programs.opencode = {
|
||||
enable = true;
|
||||
settings = {
|
||||
theme = "opencode";
|
||||
plugin = ["oh-my-opencode" "opencode-beads" "opencode-anthropic-auth"];
|
||||
agent = builtins.fromJSON (builtins.readFile "${inputs.agents}/agent/agents.json");
|
||||
formatter = {
|
||||
alejandra = {
|
||||
command = ["alejandra" "-q" "-"];
|
||||
extensions = [".nix"];
|
||||
};
|
||||
};
|
||||
mcp = {
|
||||
Ref = {
|
||||
type = "local";
|
||||
command = [
|
||||
"sh"
|
||||
"-c"
|
||||
"REF_API_KEY=$(cat /run/agenix/ref-key) exec bunx ref-tools-mcp@latest"
|
||||
];
|
||||
enabled = true;
|
||||
};
|
||||
Exa = {
|
||||
type = "local";
|
||||
command = [
|
||||
"sh"
|
||||
"-c"
|
||||
"EXA_API_KEY=$(cat /run/agenix/exa-key) exec bunx exa-mcp-server@latest tools=web_search_exa"
|
||||
];
|
||||
enabled = true;
|
||||
};
|
||||
Outline = {
|
||||
type = "local";
|
||||
command = [
|
||||
"sh"
|
||||
"-c"
|
||||
"OUTLINE_API_KEY=$(cat /run/agenix/outline-key) OUTLINE_API_URL=https://wiki.az-gruppe.com/api OUTLINE_DISABLE_DELETE=true exec uv tool run mcp-outline"
|
||||
];
|
||||
enabled = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.file.".config/opencode/oh-my-opencode.json".text = builtins.toJSON {
|
||||
"$schema" = "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json";
|
||||
agents = {
|
||||
Sisyphus = {
|
||||
model = "anthropic/claude-opus-4-5";
|
||||
permission = {
|
||||
edit = "allow";
|
||||
bash = {
|
||||
"*" = "allow";
|
||||
"rm *" = "ask";
|
||||
"rmdir *" = "ask";
|
||||
"mv *" = "ask";
|
||||
"chmod *" = "ask";
|
||||
"chown *" = "ask";
|
||||
"git *" = "ask";
|
||||
"git status*" = "allow";
|
||||
"git log*" = "allow";
|
||||
"git diff*" = "allow";
|
||||
"git branch*" = "allow";
|
||||
"git show*" = "allow";
|
||||
"git stash list*" = "allow";
|
||||
"git remote -v" = "allow";
|
||||
"git add *" = "allow";
|
||||
"git commit *" = "allow";
|
||||
"jj *" = "ask";
|
||||
"jj status" = "allow";
|
||||
"jj log*" = "allow";
|
||||
"jj diff*" = "allow";
|
||||
"jj show*" = "allow";
|
||||
"npm *" = "ask";
|
||||
"npx *" = "ask";
|
||||
"bun *" = "ask";
|
||||
"bunx *" = "ask";
|
||||
"uv *" = "ask";
|
||||
"pip *" = "ask";
|
||||
"pip3 *" = "ask";
|
||||
"yarn *" = "ask";
|
||||
"pnpm *" = "ask";
|
||||
"cargo *" = "ask";
|
||||
"go *" = "ask";
|
||||
"make *" = "ask";
|
||||
"dd *" = "deny";
|
||||
"mkfs*" = "deny";
|
||||
"fdisk *" = "deny";
|
||||
"parted *" = "deny";
|
||||
"eval *" = "deny";
|
||||
"source *" = "deny";
|
||||
"curl *|*sh" = "deny";
|
||||
"wget *|*sh" = "deny";
|
||||
"sudo *" = "deny";
|
||||
"su *" = "deny";
|
||||
"systemctl *" = "deny";
|
||||
"service *" = "deny";
|
||||
"shutdown *" = "deny";
|
||||
"reboot*" = "deny";
|
||||
"init *" = "deny";
|
||||
"> /dev/*" = "deny";
|
||||
"cat * > /dev/*" = "deny";
|
||||
};
|
||||
external_directory = "ask";
|
||||
doom_loop = "ask";
|
||||
};
|
||||
};
|
||||
librarian = {
|
||||
model = "anthropic/claude-sonnet-4-5";
|
||||
permission = {
|
||||
edit = "deny";
|
||||
bash = "deny";
|
||||
};
|
||||
};
|
||||
explore = {
|
||||
model = "opencode/big-pickle";
|
||||
permission = {
|
||||
edit = "deny";
|
||||
bash = "deny";
|
||||
};
|
||||
};
|
||||
oracle = {
|
||||
model = "anthropic/claude-sonnet-4-5";
|
||||
permission = {
|
||||
edit = "deny";
|
||||
bash = "deny";
|
||||
};
|
||||
};
|
||||
frontend-ui-ux-engineer = {
|
||||
model = "anthropic/claude-opus-4-5";
|
||||
permission = {
|
||||
edit = "allow";
|
||||
bash = {
|
||||
"*" = "ask";
|
||||
"npm *" = "ask";
|
||||
"npx *" = "ask";
|
||||
"bun *" = "ask";
|
||||
"bunx *" = "ask";
|
||||
"rm *" = "ask";
|
||||
"mv *" = "ask";
|
||||
"dd *" = "deny";
|
||||
"mkfs*" = "deny";
|
||||
"sudo *" = "deny";
|
||||
"curl *|*sh" = "deny";
|
||||
"wget *|*sh" = "deny";
|
||||
};
|
||||
};
|
||||
};
|
||||
document-writer = {
|
||||
model = "anthropic/claude-opus-4-5";
|
||||
permission = {
|
||||
edit = "allow";
|
||||
bash = "deny";
|
||||
};
|
||||
};
|
||||
multimodal-looker = {
|
||||
model = "anthropic/claude-opus-4-5";
|
||||
permission = {
|
||||
edit = "deny";
|
||||
bash = "deny";
|
||||
};
|
||||
};
|
||||
};
|
||||
disabled_mcps = ["context7" "websearch"];
|
||||
};
|
||||
}
|
||||
@@ -14,9 +14,10 @@ in {
|
||||
home.packages = with pkgs; [
|
||||
nur.repos.charmbracelet.crush
|
||||
bruno
|
||||
bun
|
||||
filezilla
|
||||
insomnia
|
||||
opencode
|
||||
nodejs
|
||||
];
|
||||
|
||||
programs.zed-editor = {
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
XDG_SESSION_TYPE = "wayland";
|
||||
XDG_SESSION_DESKTOP = "Hyprland";
|
||||
};
|
||||
home.sessionPath = ["\${XDG_BIN_HOME}" "\${HOME}/.cargo/bin" "$HOME/.npm-global/bin"];
|
||||
home.sessionPath = ["\${XDG_BIN_HOME}" "\${HOME}/.cargo/bin" "$HOME/.npm-global/bin" "$HOME/.cache/.bun/bin"];
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
@@ -96,6 +96,7 @@
|
||||
hyprpaper-random
|
||||
hyprpanel
|
||||
launch-webapp
|
||||
lmstudio
|
||||
rustdesk
|
||||
seahorse
|
||||
sushi
|
||||
|
||||
@@ -11,33 +11,6 @@ in {
|
||||
mkEnableOption "Hyprland related stuff";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.file.".config/hypr/colors.conf".text = ''
|
||||
$background = rgb(282A36)
|
||||
$backgroundRaw = 282A36
|
||||
$foreground = rgb(F8F8F2)
|
||||
$foregroundRaw = F8F8F2
|
||||
$selection = rgb(44475A)
|
||||
$selectionRaw = 44475A
|
||||
$comment = rgb(6272A4)
|
||||
$commentRaw = 6272A4
|
||||
$red = rgb(FF5555)
|
||||
$redRaw = FF5555
|
||||
$orange = rgb(FFB86C)
|
||||
$orangeRaw = FFB86C
|
||||
$yellow = rgb(F1FA8C)
|
||||
$yellowRaw = F1FA8C
|
||||
$green = rgb(50FA7B)
|
||||
$greenRaw = 50FA7B
|
||||
$purple = rgb(BD93F9)
|
||||
$purpleRaw = BD93F9
|
||||
$cyan = rgb(8BE9FD)
|
||||
$cyanRaw = 8BE9FD
|
||||
$pink = rgb(FF79C6)
|
||||
$pinkRaw = FF79C6
|
||||
$accent = $purple
|
||||
$accentRaw = $purpleRaw
|
||||
'';
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
settings = {
|
||||
xwayland = {
|
||||
@@ -46,8 +19,7 @@ in {
|
||||
|
||||
exec-once = [
|
||||
"hyprpanel"
|
||||
"hyprpaper-random"
|
||||
"hypridle"
|
||||
"while ! hyprpaper-random; do sleep 0.5; done"
|
||||
"wl-paste --type text --watch cliphist store" # Stores only text data
|
||||
"wl-paste --type image --watch cliphist store" # Stores only image data "wl-paste -p -t text --watch clipman store -P --histpath=\"~/.local/share/clipman-primary.json\""
|
||||
];
|
||||
@@ -86,7 +58,6 @@ in {
|
||||
"col.inactive_border" = "rgba(44475aaa)";
|
||||
"col.nogroup_border" = "rgba(282a36dd)";
|
||||
"col.nogroup_border_active" = "rgb(bd93f9) rgb(44475a) 90deg";
|
||||
no_border_on_floating = false;
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
@@ -95,7 +66,7 @@ in {
|
||||
enabled = true;
|
||||
range = 60;
|
||||
render_power = 3;
|
||||
color = "rgba(1E202966)";
|
||||
color = "rgba(${config.colorScheme.palette.base00}66)";
|
||||
offset = "1 2";
|
||||
scale = 0.97;
|
||||
};
|
||||
@@ -146,49 +117,38 @@ in {
|
||||
}
|
||||
];
|
||||
windowrule = [
|
||||
"float, class:file_progress"
|
||||
"float, class:confirm"
|
||||
"float, class:dialog"
|
||||
"float, class:download"
|
||||
"float, class:notification"
|
||||
"float, class:error"
|
||||
"float, class:splash"
|
||||
"float, class:confirmreset"
|
||||
"float, title:Open File"
|
||||
"float, title:branchdialog"
|
||||
"float, class:pavucontrol-qt"
|
||||
"float, class:pavucontrol"
|
||||
"fullscreen, class:wlogout"
|
||||
"float, title:wlogout"
|
||||
"fullscreen, title:wlogout"
|
||||
"float, class:mpv"
|
||||
"idleinhibit focus, class:mpv"
|
||||
"opacity 1.0 override, class:mpv"
|
||||
"float, title:^(Media viewer)$"
|
||||
"float, title:^(Volume Control)$"
|
||||
"float, title:^(Picture-in-Picture)$"
|
||||
"float,title:^(floating-pomodoro)$"
|
||||
"size 250 50, title:^(floating-pomodoro)$"
|
||||
"move 12 100%-150,title:^(floating-pomodoro)$"
|
||||
"pin,title:^(floating-pomodoro)$"
|
||||
"float, initialTitle:.*streamlabs.com.*"
|
||||
"pin, initialTitle:.*streamlabs.com.*"
|
||||
"size 800 400, initialTitle:.*streamlabs.com.*"
|
||||
"move 100%-820 102, initialTitle:.*alert-box.*"
|
||||
"move 100%-820 512, initialTitle:.*chat-box.*"
|
||||
"opacity 0.5 override, initialTitle:.*streamlabs.com.*"
|
||||
"idleinhibit focus, initialTitle:.*streamlabs.com.*"
|
||||
"noanim, initialTitle:.*streamlabs.com.*"
|
||||
"noborder, initialTitle:.*streamlabs.com.*"
|
||||
"noshadow, initialTitle:.*streamlabs.com.*"
|
||||
"noblur, initialTitle:.*streamlabs.com.*"
|
||||
"bordercolor rgb(ffffff),xwayland:1"
|
||||
"opacity 0.0 override, class:^(xwaylandvideobridge)$"
|
||||
"noanim, class:^(xwaylandvideobridge)$"
|
||||
"noinitialfocus, class:^(xwaylandvideobridge)$"
|
||||
"maxsize 1 1, class:^(xwaylandvideobridge)$"
|
||||
"noblur, class:^(xwaylandvideobridge)$"
|
||||
"nofocus, class:^(xwaylandvideobridge)$"
|
||||
# Floating dialogs
|
||||
"match:class file_progress, float on"
|
||||
"match:class confirm, float on"
|
||||
"match:class dialog, float on"
|
||||
"match:class download, float on"
|
||||
"match:class notification, float on"
|
||||
"match:class error, float on"
|
||||
"match:class splash, float on"
|
||||
"match:class confirmreset, float on"
|
||||
"match:title Open File, float on"
|
||||
"match:title branchdialog, float on"
|
||||
"match:class pavucontrol-qt, float on"
|
||||
"match:class pavucontrol, float on"
|
||||
# wlogout
|
||||
"match:class wlogout, fullscreen on"
|
||||
"match:title wlogout, float on"
|
||||
"match:title wlogout, fullscreen on"
|
||||
# mpv
|
||||
"match:class mpv, float on"
|
||||
"match:class mpv, idle_inhibit focus"
|
||||
"match:class mpv, opacity 1.0 override"
|
||||
# Media/Volume/PiP
|
||||
"match:title ^(Media viewer)$, float on"
|
||||
"match:title ^(Volume Control)$, float on"
|
||||
"match:title ^(Picture-in-Picture)$, float on"
|
||||
# Pomodoro timer
|
||||
"match:title ^(floating-pomodoro)$, float on"
|
||||
"match:title ^(floating-pomodoro)$, size 250 50"
|
||||
"match:title ^(floating-pomodoro)$, move 12 (monitor_h-150)"
|
||||
"match:title ^(floating-pomodoro)$, pin on"
|
||||
"match:initial_title .*streamlabs.com.*, no_blur on"
|
||||
"border_color rgb(ffffff), match:xwayland 1"
|
||||
];
|
||||
|
||||
"$mainMod" = "SUPER";
|
||||
@@ -200,8 +160,9 @@ in {
|
||||
"$mainMod, t, exec, $terminal -e nu -c 'nitch; exec nu'"
|
||||
"$mainMod SHIFT, t, exec, launch-timer"
|
||||
"$mainMod SHIFT, e, exec, $terminal -e zellij_nvim"
|
||||
"$mainMod, o, exec, hyprctl setprop activewindow opaque toggle"
|
||||
"$mainMod, r, exec, hyprctl dispatch focuswindow \"initialtitle:.*alert-box.*\" && hyprctl dispatch moveactive exact 4300 102 && hyprctl dispatch focuswindow \"initialtitle:.*chat-box.*\" && hyprctl dispatch moveactive exact 4300 512"
|
||||
"$mainMod, o, exec, hyprctl dispatch setprop activewindow opaque toggle"
|
||||
#"$mainMod, r, exec, hyprctl dispatch focuswindow \"initialtitle:.*alert-box.*\" && hyprctl dispatch moveactive exact 4300 102 && hyprctl dispatch focuswindow \"initialtitle:.*chat-box.*\" && hyprctl dispatch moveactive exact 4300 512"
|
||||
"$mainMod, R, exec, stt-ptt start"
|
||||
"$mainMod, b, exec, thunar"
|
||||
"$mainMod SHIFT, B, exec, vivaldi"
|
||||
"$mainMod, Escape, exec, wlogout -p layer-shell"
|
||||
@@ -246,7 +207,9 @@ in {
|
||||
"$mainMod, mouse_down, workspace, e+1"
|
||||
"$mainMod, mouse_up, workspace, e-1"
|
||||
];
|
||||
|
||||
bindr = [
|
||||
"$mainMod, R, exec, stt-ptt stop"
|
||||
];
|
||||
bindm = [
|
||||
"$mainMod, mouse:272, movewindow"
|
||||
"$mainMod, mouse:273, resizewindow"
|
||||
@@ -282,13 +245,13 @@ in {
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
source = "$HOME/.config/hypr/colors.conf";
|
||||
|
||||
"$font" = "JetBrainsMono Nerd Font";
|
||||
"$base" = "$background";
|
||||
"$text" = "$foreground";
|
||||
"$textAlpha" = "$foregroundRaw";
|
||||
"$accentAlpha" = "$accentRaw";
|
||||
"$font" = "FiraCode Nerd Font";
|
||||
"$base" = "rgb(${config.colorScheme.palette.base00})";
|
||||
"$text" = "rgb(${config.colorScheme.palette.base05})";
|
||||
"$textAlpha" = "${config.colorScheme.palette.base05}";
|
||||
"$accentAlpha" = "${config.colorScheme.palette.base0D}";
|
||||
"$red" = "rgb(${config.colorScheme.palette.base08})";
|
||||
"$yellow" = "rgb(${config.colorScheme.palette.base0A})";
|
||||
|
||||
general = {
|
||||
hide_cursor = true;
|
||||
@@ -296,9 +259,9 @@ in {
|
||||
|
||||
background = {
|
||||
monitor = "";
|
||||
path = "~/.hypr/wallpapers/wallhaven-lmmo8r_2560x1600.png";
|
||||
path = "${config.home.homeDirectory}/.config/hypr/wallpapers/wallhaven-lmmo8r_2560x1600.png";
|
||||
blur_passes = 0;
|
||||
color = "$base";
|
||||
color = "rgb(${config.colorScheme.palette.base00})";
|
||||
};
|
||||
|
||||
label = [
|
||||
@@ -332,16 +295,16 @@ in {
|
||||
dots_size = 0.2;
|
||||
dots_spacing = 0.2;
|
||||
dots_center = true;
|
||||
outer_color = "$accent";
|
||||
inner_color = "$background";
|
||||
font_color = "$text";
|
||||
outer_color = "rgb(${config.colorScheme.palette.base0D})";
|
||||
inner_color = "rgb(${config.colorScheme.palette.base00})";
|
||||
font_color = "rgb(${config.colorScheme.palette.base05})";
|
||||
fade_on_empty = false;
|
||||
placeholder_text = ''<span foreground="##$textAlpha"> Logged in as <span foreground="##$accentAlpha">$USER</span></span>'';
|
||||
placeholder_text = ''<span foreground="##${config.colorScheme.palette.base05}"> Logged in as <span foreground="##${config.colorScheme.palette.base0D}">$USER</span></span>'';
|
||||
hide_input = false;
|
||||
check_color = "$accent";
|
||||
fail_color = "$red";
|
||||
check_color = "rgb(${config.colorScheme.palette.base0D})";
|
||||
fail_color = "rgb(${config.colorScheme.palette.base08})";
|
||||
fail_text = ''<i>$FAIL <b>($ATTEMPTS)</b></i>'';
|
||||
capslock_color = "$yellow";
|
||||
capslock_color = "rgb(${config.colorScheme.palette.base0A})";
|
||||
position = "0, -35";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
|
||||
@@ -31,8 +31,6 @@ in {
|
||||
pavucontrol
|
||||
qpwgraph
|
||||
v4l-utils
|
||||
plexamp
|
||||
webcord
|
||||
# uxplay
|
||||
# vlc
|
||||
# webcord
|
||||
|
||||
@@ -179,5 +179,20 @@ in {
|
||||
}
|
||||
'');
|
||||
};
|
||||
cli.rofi-project-opener = {
|
||||
enable = true;
|
||||
projectDirs = {
|
||||
NIX = {
|
||||
path = "~/p/NIX";
|
||||
args = "";
|
||||
};
|
||||
CHAT = {
|
||||
path = "~/p/CHAT";
|
||||
args = "--agent chiron";
|
||||
};
|
||||
};
|
||||
terminal = pkgs.kitty;
|
||||
terminalCommand = "opencode %a";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -12,6 +12,10 @@
|
||||
url = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/microsoft-outlook.svg";
|
||||
sha256 = "sha256-3u8t5QNHFZvrAegxBiGicO4PjtMWhEaQSCv7MSSfLLc=";
|
||||
};
|
||||
opencode = pkgs.fetchurl {
|
||||
url = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/opencode-dark.svg";
|
||||
sha256 = "1lms4f8habamvdh2qqqz9psx4py9wx23mmlkkds44pvrbq3bkj3n";
|
||||
};
|
||||
};
|
||||
in {
|
||||
xdg.desktopEntries = {
|
||||
@@ -39,5 +43,13 @@ in {
|
||||
terminal = false;
|
||||
icon = "/home/sascha.koenig/.local/share/icons/basecamp-logo.png";
|
||||
};
|
||||
opencode = {
|
||||
name = "Opencode";
|
||||
exec = "rofi-project-opener";
|
||||
comment = "Open Opencode Terminal App";
|
||||
categories = ["Application" "Development"];
|
||||
terminal = false;
|
||||
icon = icons.opencode;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{config, ...}: {imports = [./home-stable.nix ../common];}
|
||||
{config, ...}: {imports = [./home.nix ../common];}
|
||||
|
||||
27
home/logistik/AZPILOGISTIKTEST.nix
Normal file
27
home/logistik/AZPILOGISTIKTEST.nix
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
../common
|
||||
./home.nix
|
||||
];
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
env = [
|
||||
"WEBAPP_URL,http://192.168.152.98:4711/login/logistik-pick-master"
|
||||
"WEBAPP_URL1,http://192.168.152.98:4711/login/logistik-pack-master"
|
||||
"HYPRCURSOR_THEME,rose-pine-hyprcursor"
|
||||
"HYPRCURSOR_SIZE,32"
|
||||
"WLR_NO_HARDWARE_CURSORS,1"
|
||||
];
|
||||
exec-once = [
|
||||
"start-browsers"
|
||||
];
|
||||
workspace = [
|
||||
"1, monitor:HDMI-A-1, default:true"
|
||||
"2, monitor:HDMI-A-2"
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -99,9 +99,11 @@
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
aliases = {
|
||||
st = "status";
|
||||
logd = "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit";
|
||||
settings = {
|
||||
alias = {
|
||||
st = "status";
|
||||
logd = "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -188,6 +190,32 @@
|
||||
sensitivity = -0.5;
|
||||
}
|
||||
];
|
||||
# windowrule = [
|
||||
# ## HYPRLAND 0.53+ #
|
||||
# # Floating dialogs
|
||||
# "match:class file_progress, float on"
|
||||
# "match:class confirm, float on"
|
||||
# "match:class dialog, float on"
|
||||
# "match:class download, float on"
|
||||
# "match:class notification, float on"
|
||||
# "match:class error, float on"
|
||||
# "match:class splash, float on"
|
||||
# "match:class confirmreset, float on"
|
||||
# "match:title Open File, float on"
|
||||
# "match:title branchdialog, float on"
|
||||
|
||||
# # XWayland border color
|
||||
# "border_color rgb(ffffff), match:xwayland 1"
|
||||
|
||||
# # Chromium workspace 1
|
||||
# "workspace 1, match:class chromium-browser"
|
||||
|
||||
# # Chromium tile rules
|
||||
# "match:class ^(chromium)$, tile on"
|
||||
# "match:class ^(Chromium)$, tile on"
|
||||
# "match:class ^(chromium-browser)$, tile on"
|
||||
# "match:class ^(Chromium-browser)$, tile on"
|
||||
# ];
|
||||
windowrule = [
|
||||
"float, class:file_progress"
|
||||
"float, class:confirm"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{config, ...}: {
|
||||
imports = [
|
||||
./home-stable.nix
|
||||
./home.nix
|
||||
../common
|
||||
../features/cli/fish.nix
|
||||
../features/cli/fzf.nix
|
||||
|
||||
@@ -11,6 +11,7 @@ in {
|
||||
../common
|
||||
./home.nix
|
||||
../features/cli
|
||||
../features/coding
|
||||
../features/desktop
|
||||
inputs.nix-colors.homeManagerModules.default
|
||||
];
|
||||
@@ -86,15 +87,15 @@ in {
|
||||
"6, monitor:DP-8"
|
||||
];
|
||||
windowrule = [
|
||||
"workspace 1,class:(com.obsproject.Studio)"
|
||||
"workspace 3,class:dev.zed.Zed"
|
||||
"workspace 5,opacity 1.0, class:(vivaldi-stable)"
|
||||
"workspace 5,opacity 1.0, initialTitle:(3.basecamp.com_/5996442/)"
|
||||
"tile, initialTitle:(3.basecamp.com_/5996442/)"
|
||||
"workspace 6,opacity 1.0, initialTitle:(teams.microsoft.com_/)"
|
||||
"tile, initialTitle:(teams.microsoft.com_/)"
|
||||
"workspace 6,opacity 1.0, initialTitle:(outlook.office.com_/mail/)"
|
||||
"tile, initialTitle:(outlook.office.com_/mail/)"
|
||||
"match:class com.obsproject.Studio, workspace 1"
|
||||
"match:class dev.zed.Zed, workspace 3"
|
||||
"match:class vivaldi-stable, workspace 5, opacity 1.0"
|
||||
"match:initial_title 3.basecamp.com_/5996442/, workspace 5, opacity 1.0"
|
||||
"match:initial_title 3.basecamp.com_/5996442/, tile on"
|
||||
"match:initial_title teams.microsoft.com_/, workspace 6, opacity 1.0"
|
||||
"match:initial_title teams.microsoft.com_/, tile on"
|
||||
"match:initial_title outlook.office.com_/mail/, workspace 6, opacity 1.0"
|
||||
"match:initial_title outlook.office.com_/mail/, tile on"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user