..
This commit is contained in:
1
.direnv/flake-profile
Symbolic link
1
.direnv/flake-profile
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
flake-profile-1-link
|
||||||
1
.direnv/flake-profile-1-link
Symbolic link
1
.direnv/flake-profile-1-link
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
/nix/store/3s8w643mwrfiwd3n4bg45m142bdiibcc-nix-shell-env
|
||||||
5
.gitignore
vendored
5
.gitignore
vendored
@@ -1,3 +1,8 @@
|
|||||||
gitignore
|
gitignore
|
||||||
result*
|
result*
|
||||||
build
|
build
|
||||||
|
|
||||||
|
|
||||||
|
# Added by cargo
|
||||||
|
|
||||||
|
/target
|
||||||
|
|||||||
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[submodule "mize"]
|
||||||
|
path = mize
|
||||||
|
url = git@git.ppc.social:ppc/ppc.git
|
||||||
8167
Cargo.lock
generated
Normal file
8167
Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
12
Cargo.toml
Normal file
12
Cargo.toml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
[package]
|
||||||
|
name = "c2vi-part"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2024"
|
||||||
|
|
||||||
|
[lib]
|
||||||
|
name = "c2vi_part"
|
||||||
|
path = "c2vi-part.rs"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
mize = { path = "./mize/packages/mize" }
|
||||||
|
marts = { path = "./mize/packages/marts" }
|
||||||
0
c2vi-part.rs
Normal file
0
c2vi-part.rs
Normal file
@@ -73,6 +73,7 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.user.services.xdg-desktop-portal-wlr.enable = true;
|
||||||
systemd.user.services.xdg-desktop-portal-wlr.serviceConfig.ExecStart = let
|
systemd.user.services.xdg-desktop-portal-wlr.serviceConfig.ExecStart = let
|
||||||
settingsFormat = pkgs.formats.ini { };
|
settingsFormat = pkgs.formats.ini { };
|
||||||
configFile = settingsFormat.generate "xdg-desktop-portal-wlr.ini" {
|
configFile = settingsFormat.generate "xdg-desktop-portal-wlr.ini" {
|
||||||
@@ -111,6 +112,17 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
|
wlr.enable = true;
|
||||||
|
wlr.settings = {
|
||||||
|
screencast = {
|
||||||
|
output_name = "eDP-1";
|
||||||
|
|
||||||
|
# to make streaming of individual windows work
|
||||||
|
chooser_type = "dmenu";
|
||||||
|
chooser_cmd = "${lib.getExe pkgs.bemenu}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
common = {
|
common = {
|
||||||
@@ -360,6 +372,9 @@ output "HDMI-A-1" {
|
|||||||
|
|
||||||
|
|
||||||
### Key bindings
|
### Key bindings
|
||||||
|
# ppc ne
|
||||||
|
bindsym F12 exec ppc ne
|
||||||
|
|
||||||
# QuickLaunch
|
# QuickLaunch
|
||||||
bindsym $mod+i mode "QuickLaunch"
|
bindsym $mod+i mode "QuickLaunch"
|
||||||
mode QuickLaunch {
|
mode QuickLaunch {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ lib, self, pkgsUnstable, ... }:
|
{ lib, self, pkgsUnstable, pkgs, ... }:
|
||||||
|
|
||||||
# config that i use on all my hosts, that run native nixos
|
# config that i use on all my hosts, that run native nixos
|
||||||
# excluding for example my phone phone
|
# excluding for example my phone phone
|
||||||
@@ -37,6 +37,10 @@
|
|||||||
ln -nsf /run/current-system/sw/bin/bash /bin/bash
|
ln -nsf /run/current-system/sw/bin/bash /bin/bash
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
waypipe
|
||||||
|
];
|
||||||
|
|
||||||
# the hosts file
|
# the hosts file
|
||||||
networking.extraHosts = ''
|
networking.extraHosts = ''
|
||||||
${builtins.readFile "${self}/misc/my-hosts"}
|
${builtins.readFile "${self}/misc/my-hosts"}
|
||||||
|
|||||||
746
flake.lock
generated
746
flake.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -20,6 +20,8 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mize.url = "git+https://git.ppc.social/ppc/ppc";
|
||||||
|
|
||||||
zed.url = "github:zed-industries/zed";
|
zed.url = "github:zed-industries/zed";
|
||||||
#zed.inputs.nixpkgs.follows = "nixpkgs";
|
#zed.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
|
|||||||
@@ -50,18 +50,7 @@ in {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
services.resilio = {
|
|
||||||
enable = true;
|
|
||||||
enableWebUI = true;
|
|
||||||
httpListenAddr = "100.70.54.18";
|
|
||||||
checkForUpdates = false;
|
|
||||||
listeningPort = 44444;
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.firewall.interfaces."br0".allowedTCPPorts = [
|
networking.firewall.interfaces."br0".allowedTCPPorts = [
|
||||||
44444 # resilio sync
|
|
||||||
9000 # resilio webui
|
|
||||||
9001 # fwin vnc
|
9001 # fwin vnc
|
||||||
9002 # fwin rdp
|
9002 # fwin rdp
|
||||||
9003 # fwin ssh
|
9003 # fwin ssh
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ lib, pkgs, inputs, secretsDir, config, ... }:
|
{ lib, pkgs, inputs, secretsDir, config, system, ... }:
|
||||||
{
|
{
|
||||||
|
|
||||||
#system.stateVersion = "23.05"; # Did you read the comment?
|
#system.stateVersion = "23.05"; # Did you read the comment?
|
||||||
@@ -22,6 +22,8 @@
|
|||||||
# labor nas project
|
# labor nas project
|
||||||
# with this moduel it does not boot, it waits for /dev/disk/by-label/nas-storage
|
# with this moduel it does not boot, it waits for /dev/disk/by-label/nas-storage
|
||||||
# "${workDir}/htl/labor/nas/nixos/lush-module.nix"
|
# "${workDir}/htl/labor/nas/nixos/lush-module.nix"
|
||||||
|
|
||||||
|
inputs.mize.nixosModules.default
|
||||||
];
|
];
|
||||||
|
|
||||||
# fix bluetooth
|
# fix bluetooth
|
||||||
@@ -104,7 +106,7 @@ swapDevices = [ { device = "/swapfile"; } ];
|
|||||||
settings.PermitRootLogin = "no";
|
settings.PermitRootLogin = "no";
|
||||||
settings.X11Forwarding = true;
|
settings.X11Forwarding = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
X11UseLocalhost no
|
X11UseLocalhost yes
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -120,8 +122,79 @@ swapDevices = [ { device = "/swapfile"; } ];
|
|||||||
services.udisks2.enable = false;
|
services.udisks2.enable = false;
|
||||||
hardware.opengl.enable = true;
|
hardware.opengl.enable = true;
|
||||||
|
|
||||||
systemd.services."cage@" = {
|
services.greetd = {
|
||||||
enable = false;
|
enable = true;
|
||||||
|
settings = rec {
|
||||||
|
initial_session = {
|
||||||
|
#command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time -d --env WLR_RENDERER_ALLOW_SOFTWARE=1 --cmd sway";
|
||||||
|
command = "${pkgs.writeScriptBin "run-sway" ''
|
||||||
|
export WLR_RENDERER_ALLOW_SOFTWARE=1
|
||||||
|
export SDL_VIDEODRIVER=wayland
|
||||||
|
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||||
|
export QT_QPA_PLATFORM=wayland
|
||||||
|
export XDG_CURRENT_DESKTOP=sway
|
||||||
|
export XDG_SESSION_DESKTOP=sway
|
||||||
|
exec ${pkgs.lib.getExe pkgs.sway}
|
||||||
|
''}/bin/run-sway";
|
||||||
|
user = "me";
|
||||||
|
};
|
||||||
|
default_session = initial_session;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
####################### MIZE ###########################
|
||||||
|
mize.enable = true;
|
||||||
|
mize.debugConfigFile = "/home/me/host/mize-config.toml";
|
||||||
|
mize.debugBinary = "/home/me/here/mize/target/debug/mize";
|
||||||
|
systemd.user.services.mize.environment.LOG= "trace";
|
||||||
|
|
||||||
|
|
||||||
|
home-manager.users.me.home.file = {
|
||||||
|
".config/sway/config".text = ''
|
||||||
|
# Set modifier key (optional, useful for admin maintenance)
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
# Disable all window borders and titles
|
||||||
|
default_border none
|
||||||
|
default_floating_border none
|
||||||
|
|
||||||
|
# Hide the status bar completely
|
||||||
|
bar {
|
||||||
|
mode invisible
|
||||||
|
}
|
||||||
|
|
||||||
|
# Remove gaps between windows
|
||||||
|
gaps inner 0
|
||||||
|
gaps outer 0
|
||||||
|
|
||||||
|
# hide mouse cursor
|
||||||
|
seat * hide_cursor 5000
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
services.cage = {
|
||||||
|
enable = true;
|
||||||
|
#program = "${pkgs.alacritty}/bin/alacritty";
|
||||||
|
program = "/home/me/host/start-ppc-dash";
|
||||||
|
#program = "/bin/sh -c 'echo hiiii > /home/me/p1 && /home/me/here/mize/target/debug/ppc c2vi-dash >/home/me/p1 2>/home/me/p1'";
|
||||||
|
user = "cage";
|
||||||
|
environment = {
|
||||||
|
MIZE_CONFIG_FILES = "/home/me/host/mize-config.toml";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.cage = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "FOOBAR";
|
||||||
|
extraGroups = [ "networkmanager" "wheel"];
|
||||||
|
password = "idk";
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
systemd.services."cage" = {
|
||||||
|
enable = true;
|
||||||
after = [ "systemd-user-sessions.service" "dbus.socket" "systemd-logind.service" "getty@%i.service" "plymouth-deactivate.service" "plymouth-quit.service" ];
|
after = [ "systemd-user-sessions.service" "dbus.socket" "systemd-logind.service" "getty@%i.service" "plymouth-deactivate.service" "plymouth-quit.service" ];
|
||||||
before = [ "graphical.target" ];
|
before = [ "graphical.target" ];
|
||||||
wants = [ "dbus.socket" "systemd-logind.service" "plymouth-deactivate.service" ];
|
wants = [ "dbus.socket" "systemd-logind.service" "plymouth-deactivate.service" ];
|
||||||
@@ -130,7 +203,9 @@ swapDevices = [ { device = "/swapfile"; } ];
|
|||||||
|
|
||||||
restartIfChanged = false;
|
restartIfChanged = false;
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "${pkgs.cage}/bin/cage -d -- /home/me/here/mize/target/debug/ppc c2vi-dash";
|
#ExecStart = "${pkgs.cage}/bin/cage -d -- /home/me/here/mize/target/debug/ppc c2vi-dash";
|
||||||
|
#ExecStart = "${pkgs.cage}/bin/cage -d -- ${inputs.ppc.packages.${system}.ppc}/bin/ppc c2vi-dash";
|
||||||
|
ExecStart = "${pkgs.cage}/bin/cage -d -- ${pkgs.alacritty}/bin/alacritty";
|
||||||
User = "root";
|
User = "root";
|
||||||
|
|
||||||
# ConditionPathExists = "/dev/tty0";
|
# ConditionPathExists = "/dev/tty0";
|
||||||
@@ -164,6 +239,7 @@ swapDevices = [ { device = "/swapfile"; } ];
|
|||||||
systemd.targets.graphical.wants = [ "cage@tty1.service" ];
|
systemd.targets.graphical.wants = [ "cage@tty1.service" ];
|
||||||
|
|
||||||
systemd.defaultUnit = "graphical.target";
|
systemd.defaultUnit = "graphical.target";
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
####################################### networking ##########################
|
####################################### networking ##########################
|
||||||
|
|||||||
@@ -21,7 +21,12 @@ in {
|
|||||||
../users/me/gui.nix
|
../users/me/gui.nix
|
||||||
../users/root/default.nix
|
../users/root/default.nix
|
||||||
../common/nixos-wayland.nix
|
../common/nixos-wayland.nix
|
||||||
|
inputs.mize.nixosModules.default
|
||||||
];
|
];
|
||||||
|
mize.enable = true;
|
||||||
|
mize.debugBinary = "/home/me/here/mize/target/debug/mize";
|
||||||
|
mize.debugConfigFile = "/home/me/host/mize-config.toml";
|
||||||
|
systemd.user.services.mize.environment.LOG= "trace";
|
||||||
programs.nix-ld.enable = true;
|
programs.nix-ld.enable = true;
|
||||||
|
|
||||||
#services.pid-fan-controller.enable = true;
|
#services.pid-fan-controller.enable = true;
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
};
|
};
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
|
||||||
programs.obs-studio = {
|
programs.obs-studio = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -265,8 +265,15 @@ fileSystems."/home/me/nico" = {
|
|||||||
|
|
||||||
# add waveforms flake module
|
# add waveforms flake module
|
||||||
#inputs.waveforms.nixosModule
|
#inputs.waveforms.nixosModule
|
||||||
|
inputs.mize.nixosModules.default
|
||||||
];
|
];
|
||||||
|
|
||||||
|
####################### MIZE ###########################
|
||||||
|
mize.enable = true;
|
||||||
|
mize.debugConfigFile = "/home/me/secrets/mize-config.toml";
|
||||||
|
mize.debugBinary = "/home/me/work/path-extra/mize";
|
||||||
|
systemd.user.services.mize.environment.LOG= "trace";
|
||||||
|
|
||||||
|
|
||||||
#services.udev.packages = [ inputs.waveforms.packages.${system}.adept2-runtime ];
|
#services.udev.packages = [ inputs.waveforms.packages.${system}.adept2-runtime ];
|
||||||
#users.users.rslsync.extraGroups = ["users"];
|
#users.users.rslsync.extraGroups = ["users"];
|
||||||
@@ -293,6 +300,11 @@ fileSystems."/home/me/nico" = {
|
|||||||
];
|
];
|
||||||
})
|
})
|
||||||
|
|
||||||
|
(inputs.nixpkgs-unstable.legacyPackages.${system}.factorio.override {
|
||||||
|
username = "c2vi";
|
||||||
|
token = builtins.readFile "${secretsDir}/factorio-token";
|
||||||
|
})
|
||||||
|
|
||||||
#inputs.waveforms.packages.${system}.waveforms
|
#inputs.waveforms.packages.${system}.waveforms
|
||||||
intel-compute-runtime-legacy1
|
intel-compute-runtime-legacy1
|
||||||
ffmpeg-full
|
ffmpeg-full
|
||||||
|
|||||||
1
mize
Submodule
1
mize
Submodule
Submodule mize added at 19573502d2
@@ -42,6 +42,7 @@
|
|||||||
- 8001 affine
|
- 8001 affine
|
||||||
- 8002 git
|
- 8002 git
|
||||||
- 8003 git ssh
|
- 8003 git ssh
|
||||||
|
- 8004 matrix http
|
||||||
|
|
||||||
## hosting container ips (on the interface br-proxy)
|
## hosting container ips (on the interface br-proxy)
|
||||||
- fusu 192.168.1.2
|
- fusu 192.168.1.2
|
||||||
@@ -284,6 +285,8 @@ in {
|
|||||||
users.users.root = {
|
users.users.root = {
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICuH2ilZeIQrr9wYtBtQyRD5oaVkuLImjm9EIGfn+wqw" # Mr3DAlien
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICuH2ilZeIQrr9wYtBtQyRD5oaVkuLImjm9EIGfn+wqw" # Mr3DAlien
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDU8OZxpeEuwVYFQC1ZYOECfU8fVg0BhNIYk5tK6aNeUe4JBJezwBWIQLsxuo1YgUX1CwbP5IAAj0JyoYUzWT5H4Qyev6rj3JWvBl+kVTnJyiipRccasXD/3IuRK2GBpMcK67sUoHtgiq1kS8myuAtGh2dVeukCp196pCZC9VI0NiEmk2M6/pCiuKmaeaeyKEpkzd2wcdvqyXu3OKtq/qZyw+N8eLk8hC8wQK5lq/Syg8aZh7OV2jqe7CnRLnybybrVy3wRNI4DdoP51YEv+Q3eMlOpOdc7SGTyDPUMnTDNbBFL8u7o7xeLs/+v3neWOz/+rNkQbAoqEvN741lCozTcAxSTT8gnTOdrf+ClMFRpFMUkl3Z6JNymw0Zx2JFibhxQJWIKJq6Wh1YuDJXenIZka0sN5ut5W0KJMmCfzeyAXHy3qruYktbmUFz8iUm1ywbURZZNCmRlzESL2lE7iuTM06SxSYw4YxQHYIC4P6leMyN3hfrr4RUPtO8wJ1lALUs= kilix@epimetheus"
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDrQUmZtpxDx669VjACdtLSLcIFZ5uJl4xsj49yJW6A39IglJ4S9ViPtp/kQhGZ3jJMCCFzwDLNNJBf8XfcAtio57cucUQxtRMnY57pKH284eucCanpCq8z9KgBYtrIdzYwRVQZo2tjxdAwKS5mHSOstUnqH8CzcG0kbq7k3s31MKQhzKWXx7lZEn3osQx/aIpt0eWB/SNAS4DWhx+mdGSqO2ryBqbZKaJuH90MEWyd5MKu25+h0ELbHrkkPYOwq0EnpGqvr0mps8AjEV4iExb28E+GGtS+R7yg2tw0QWM1m4PI4XF5JRAuLqt187YvgQe9DIKTuhu2BT/EN2Os7jx9r14Pq2P/IhrR0hVloSTn2/r3geUuFYNvYiL64dkZIRxBOlC3SKut/lB3cir0FPdDkxoIuRHICrsvdSC5wFfYJfhrf0ivkEk5Jgj+lS1QlC40Xw7e0ixKILo6uiriQor02bFY4ngQHTnBLKgjNsB3K23MN80vd8V6DVZdFB+XWr8= kilia@nomos"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
systemd.services.ppc = {
|
systemd.services.ppc = {
|
||||||
@@ -487,6 +490,7 @@ in {
|
|||||||
{ name = "affine"; domain = "affine.ppc.social"; host = "ppc-hosting"; port = 8001; }
|
{ name = "affine"; domain = "affine.ppc.social"; host = "ppc-hosting"; port = 8001; }
|
||||||
{ name = "gitea"; domain = "git.ppc.social"; host = "ppc-hosting"; port = 8002; }
|
{ name = "gitea"; domain = "git.ppc.social"; host = "ppc-hosting"; port = 8002; }
|
||||||
{ name = "nico"; domain = "nico.ppc.social"; host = "192.168.1.14"; port = 18789; middlewares = [ "oidc-nico" ]; }
|
{ name = "nico"; domain = "nico.ppc.social"; host = "192.168.1.14"; port = 18789; middlewares = [ "oidc-nico" ]; }
|
||||||
|
{ name = "ppc-matrix"; domain = "matrix.ppc.social"; host = "ppc-hosting"; port = 8004; }
|
||||||
#{ name = "spacetime"; domain = "spacetime.ppc.social"; host = "ppc-hosting"; port = 8005; extraRouterConfig = {
|
#{ name = "spacetime"; domain = "spacetime.ppc.social"; host = "ppc-hosting"; port = 8005; extraRouterConfig = {
|
||||||
# rule = "Host(`spacetime.ppc.social`) && PathPrefix(`/v1/database`)";
|
# rule = "Host(`spacetime.ppc.social`) && PathPrefix(`/v1/database`)";
|
||||||
# };
|
# };
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
# 9001 fwin vnc
|
# 9001 fwin vnc
|
||||||
# 9002 fwin rdp
|
# 9002 fwin rdp
|
||||||
# 9003 fwin ssh
|
# 9003 fwin ssh
|
||||||
|
# 61333 c2vi private matrix
|
||||||
|
|
||||||
/**
|
/**
|
||||||
thanks: @melektron
|
thanks: @melektron
|
||||||
@@ -60,8 +61,16 @@ in {
|
|||||||
virtualisation.docker.enable = false;
|
virtualisation.docker.enable = false;
|
||||||
virtualisation.podman.enable = true;
|
virtualisation.podman.enable = true;
|
||||||
virtualisation.podman.dockerSocket.enable = true;
|
virtualisation.podman.dockerSocket.enable = true;
|
||||||
|
# https://github.com/containers/netavark/issues/274#issuecomment-4215665765
|
||||||
|
virtualisation.containers.containersConf.settings = {
|
||||||
|
network = {
|
||||||
|
network_backend = "netavark";
|
||||||
|
firewall_driver = "none";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
users.extraUsers.me.extraGroups = ["podman"];
|
users.extraUsers.me.extraGroups = ["podman"];
|
||||||
|
users.extraUsers.server.extraGroups = ["podman"];
|
||||||
|
|
||||||
|
|
||||||
virtualisation.arion = {
|
virtualisation.arion = {
|
||||||
|
|||||||
@@ -43,9 +43,9 @@
|
|||||||
|
|
||||||
#zed="WAYLAND_DISPLAY= zeditor";
|
#zed="WAYLAND_DISPLAY= zeditor";
|
||||||
npm="pnpm";
|
npm="pnpm";
|
||||||
md="~/work/mize/md";
|
md="~/here/mize/md";
|
||||||
mize="~/work/mize/mize";
|
mize="~/work/path-extra/mize";
|
||||||
m="~/work/mize/mize";
|
m="~/work/path-extra/mize";
|
||||||
|
|
||||||
c2="~/work/c2-system/cli/target/debug/system-c2-cli";
|
c2="~/work/c2-system/cli/target/debug/system-c2-cli";
|
||||||
|
|
||||||
|
|||||||
120
screen-cast.py
Normal file
120
screen-cast.py
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
|
||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
import re
|
||||||
|
import signal
|
||||||
|
import dbus
|
||||||
|
from gi.repository import GLib
|
||||||
|
from dbus.mainloop.glib import DBusGMainLoop
|
||||||
|
|
||||||
|
import gi
|
||||||
|
gi.require_version('Gst', '1.0')
|
||||||
|
from gi.repository import GObject, Gst
|
||||||
|
|
||||||
|
DBusGMainLoop(set_as_default=True)
|
||||||
|
Gst.init(None)
|
||||||
|
|
||||||
|
loop = GLib.MainLoop()
|
||||||
|
|
||||||
|
bus = dbus.SessionBus()
|
||||||
|
request_iface = 'org.freedesktop.portal.Request'
|
||||||
|
screen_cast_iface = 'org.freedesktop.portal.ScreenCast'
|
||||||
|
|
||||||
|
pipeline = None
|
||||||
|
|
||||||
|
def terminate():
|
||||||
|
if pipeline is not None:
|
||||||
|
self.player.set_state(Gst.State.NULL)
|
||||||
|
loop.quit()
|
||||||
|
|
||||||
|
request_token_counter = 0
|
||||||
|
session_token_counter = 0
|
||||||
|
sender_name = re.sub(r'\.', r'_', bus.get_unique_name()[1:])
|
||||||
|
|
||||||
|
def new_request_path():
|
||||||
|
global request_token_counter
|
||||||
|
request_token_counter = request_token_counter + 1
|
||||||
|
token = 'u%d'%request_token_counter
|
||||||
|
path = '/org/freedesktop/portal/desktop/request/%s/%s'%(sender_name, token)
|
||||||
|
return (path, token)
|
||||||
|
|
||||||
|
def new_session_path():
|
||||||
|
global session_token_counter
|
||||||
|
session_token_counter = session_token_counter + 1
|
||||||
|
token = 'u%d'%session_token_counter
|
||||||
|
path = '/org/freedesktop/portal/desktop/session/%s/%s'%(sender_name, token)
|
||||||
|
return (path, token)
|
||||||
|
|
||||||
|
def screen_cast_call(method, callback, *args, options={}):
|
||||||
|
(request_path, request_token) = new_request_path()
|
||||||
|
bus.add_signal_receiver(callback,
|
||||||
|
'Response',
|
||||||
|
request_iface,
|
||||||
|
'org.freedesktop.portal.Desktop',
|
||||||
|
request_path)
|
||||||
|
options['handle_token'] = request_token
|
||||||
|
method(*(args + (options, )),
|
||||||
|
dbus_interface=screen_cast_iface)
|
||||||
|
|
||||||
|
def on_gst_message(bus, message):
|
||||||
|
type = message.type
|
||||||
|
if type == Gst.MessageType.EOS or type == Gst.MessageType.ERROR:
|
||||||
|
terminate()
|
||||||
|
|
||||||
|
def play_pipewire_stream(node_id):
|
||||||
|
empty_dict = dbus.Dictionary(signature="sv")
|
||||||
|
fd_object = portal.OpenPipeWireRemote(session, empty_dict,
|
||||||
|
dbus_interface=screen_cast_iface)
|
||||||
|
fd = fd_object.take()
|
||||||
|
pipeline = Gst.parse_launch('pipewiresrc fd=%d path=%u ! videoconvert ! xvimagesink'%(fd, node_id))
|
||||||
|
pipeline.set_state(Gst.State.PLAYING)
|
||||||
|
pipeline.get_bus().connect('message', on_gst_message)
|
||||||
|
|
||||||
|
def on_start_response(response, results):
|
||||||
|
if response != 0:
|
||||||
|
print("Failed to start: %s"%response)
|
||||||
|
terminate()
|
||||||
|
return
|
||||||
|
|
||||||
|
print("streams:")
|
||||||
|
for (node_id, stream_properties) in results['streams']:
|
||||||
|
print("stream {}".format(node_id))
|
||||||
|
play_pipewire_stream(node_id)
|
||||||
|
|
||||||
|
def on_select_sources_response(response, results):
|
||||||
|
if response != 0:
|
||||||
|
print("Failed to select sources: %d"%response)
|
||||||
|
terminate()
|
||||||
|
return
|
||||||
|
|
||||||
|
print("sources selected")
|
||||||
|
global session
|
||||||
|
screen_cast_call(portal.Start, on_start_response,
|
||||||
|
session, '')
|
||||||
|
|
||||||
|
def on_create_session_response(response, results):
|
||||||
|
if response != 0:
|
||||||
|
print("Failed to create session: %d"%response)
|
||||||
|
terminate()
|
||||||
|
return
|
||||||
|
|
||||||
|
global session
|
||||||
|
session = results['session_handle']
|
||||||
|
print("session %s created"%session)
|
||||||
|
|
||||||
|
screen_cast_call(portal.SelectSources, on_select_sources_response,
|
||||||
|
session,
|
||||||
|
options={ 'multiple': False,
|
||||||
|
'types': dbus.UInt32(1|2) })
|
||||||
|
|
||||||
|
portal = bus.get_object('org.freedesktop.portal.Desktop',
|
||||||
|
'/org/freedesktop/portal/desktop')
|
||||||
|
|
||||||
|
(session_path, session_token) = new_session_path()
|
||||||
|
screen_cast_call(portal.CreateSession, on_create_session_response,
|
||||||
|
options={ 'session_handle_token': session_token })
|
||||||
|
|
||||||
|
try:
|
||||||
|
loop.run()
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
terminate()
|
||||||
3
src/main.rs
Normal file
3
src/main.rs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
fn main() {
|
||||||
|
println!("Hello, world!");
|
||||||
|
}
|
||||||
@@ -77,6 +77,7 @@
|
|||||||
|
|
||||||
|
|
||||||
home.file = {
|
home.file = {
|
||||||
|
".config/zed".source = config.lib.file.mkOutOfStoreSymlink "${workDir}/config/zed";
|
||||||
".davfs2/secrets".source = config.lib.file.mkOutOfStoreSymlink "${secretsDir}/davfs2-secrets";
|
".davfs2/secrets".source = config.lib.file.mkOutOfStoreSymlink "${secretsDir}/davfs2-secrets";
|
||||||
|
|
||||||
#".mozilla/firefox".source = config.lib.file.mkOutOfStoreSymlink "${persistentDir}/firefox";
|
#".mozilla/firefox".source = config.lib.file.mkOutOfStoreSymlink "${persistentDir}/firefox";
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
#passwordFile = "${secretsDir}/me-pwd";
|
#passwordFile = "${secretsDir}/me-pwd";
|
||||||
password = "changeme";
|
password = "changeme";
|
||||||
extraGroups = [ "networkmanager" "wheel" "libvirtd" ]; # Enable ‘sudo’ for the user.
|
extraGroups = [ "networkmanager" "wheel" "libvirtd" "plugdev" "video" "render" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.extraSpecialArgs = {
|
home-manager.extraSpecialArgs = {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
#passwordFile = "${secretsDir}/me-pwd";
|
#passwordFile = "${secretsDir}/me-pwd";
|
||||||
password = "changeme";
|
password = "changeme";
|
||||||
extraGroups = [ "networkmanager" "wheel" "libvirtd" "plugdev" ]; # Enable ‘sudo’ for the user.
|
extraGroups = [ "networkmanager" "wheel" "libvirtd" "plugdev" "video" "render" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.extraSpecialArgs = {
|
home-manager.extraSpecialArgs = {
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
{ self, config, inputs, pkgs, ... }:
|
{ self, config, inputs, pkgs, secretsDir, ... }:
|
||||||
{
|
{
|
||||||
users.users.server = {
|
users.users.server = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
#passwordFile = "${secretsDir}/me-pwd";
|
passwordFile = "${secretsDir}/fusu-server-pwd";
|
||||||
group = "server";
|
group = "server";
|
||||||
password = "changeme";
|
#password = "changeme";
|
||||||
};
|
};
|
||||||
users.groups.server = {};
|
users.groups.server = {};
|
||||||
|
|
||||||
@@ -29,11 +29,6 @@
|
|||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII/mCDzCBE2J1jGnEhhtttIRMKkXMi1pKCAEkxu+FAim me@main"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII/mCDzCBE2J1jGnEhhtttIRMKkXMi1pKCAEkxu+FAim me@main"
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGw5kYmBQl8oolNg2VUlptvvSrFSESfeuWpsXRovny0x me@phone"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGw5kYmBQl8oolNg2VUlptvvSrFSESfeuWpsXRovny0x me@phone"
|
||||||
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIKF/79W6y/g26xGGPHQJwLtrmaDUb24Hd5D+WD59nzE borgs@fusu"
|
|
||||||
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDU8OZxpeEuwVYFQC1ZYOECfU8fVg0BhNIYk5tK6aNeUe4JBJezwBWIQLsxuo1YgUX1CwbP5IAAj0JyoYUzWT5H4Qyev6rj3JWvBl+kVTnJyiipRccasXD/3IuRK2GBpMcK67sUoHtgiq1kS8myuAtGh2dVeukCp196pCZC9VI0NiEmk2M6/pCiuKmaeaeyKEpkzd2wcdvqyXu3OKtq/qZyw+N8eLk8hC8wQK5lq/Syg8aZh7OV2jqe7CnRLnybybrVy3wRNI4DdoP51YEv+Q3eMlOpOdc7SGTyDPUMnTDNbBFL8u7o7xeLs/+v3neWOz/+rNkQbAoqEvN741lCozTcAxSTT8gnTOdrf+ClMFRpFMUkl3Z6JNymw0Zx2JFibhxQJWIKJq6Wh1YuDJXenIZka0sN5ut5W0KJMmCfzeyAXHy3qruYktbmUFz8iUm1ywbURZZNCmRlzESL2lE7iuTM06SxSYw4YxQHYIC4P6leMyN3hfrr4RUPtO8wJ1lALUs= kilix@epimetheus"
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDrQUmZtpxDx669VjACdtLSLcIFZ5uJl4xsj49yJW6A39IglJ4S9ViPtp/kQhGZ3jJMCCFzwDLNNJBf8XfcAtio57cucUQxtRMnY57pKH284eucCanpCq8z9KgBYtrIdzYwRVQZo2tjxdAwKS5mHSOstUnqH8CzcG0kbq7k3s31MKQhzKWXx7lZEn3osQx/aIpt0eWB/SNAS4DWhx+mdGSqO2ryBqbZKaJuH90MEWyd5MKu25+h0ELbHrkkPYOwq0EnpGqvr0mps8AjEV4iExb28E+GGtS+R7yg2tw0QWM1m4PI4XF5JRAuLqt187YvgQe9DIKTuhu2BT/EN2Os7jx9r14Pq2P/IhrR0hVloSTn2/r3geUuFYNvYiL64dkZIRxBOlC3SKut/lB3cir0FPdDkxoIuRHICrsvdSC5wFfYJfhrf0ivkEk5Jgj+lS1QlC40Xw7e0ixKILo6uiriQor02bFY4ngQHTnBLKgjNsB3K23MN80vd8V6DVZdFB+XWr8= kilia@nomos"
|
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
29
zed/debug.json
Normal file
29
zed/debug.json
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
// Some example tasks for common languages.
|
||||||
|
//
|
||||||
|
// For more documentation on how to configure debug tasks,
|
||||||
|
// see: https://zed.dev/docs/debugger
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"label": "Debug active Python file",
|
||||||
|
"adapter": "Debugpy",
|
||||||
|
"program": "$ZED_FILE",
|
||||||
|
"request": "launch",
|
||||||
|
"cwd": "$ZED_WORKTREE_ROOT",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Debug active JavaScript file",
|
||||||
|
"adapter": "JavaScript",
|
||||||
|
"program": "$ZED_FILE",
|
||||||
|
"request": "launch",
|
||||||
|
"cwd": "$ZED_WORKTREE_ROOT",
|
||||||
|
"type": "pwa-node",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "JavaScript debug terminal",
|
||||||
|
"adapter": "JavaScript",
|
||||||
|
"request": "launch",
|
||||||
|
"cwd": "$ZED_WORKTREE_ROOT",
|
||||||
|
"console": "integratedTerminal",
|
||||||
|
"type": "pwa-node",
|
||||||
|
},
|
||||||
|
]
|
||||||
209
zed/keymap.json
Normal file
209
zed/keymap.json
Normal file
@@ -0,0 +1,209 @@
|
|||||||
|
// Zed keymap
|
||||||
|
//
|
||||||
|
// For information on binding keys, see the Zed
|
||||||
|
// documentation: https://zed.dev/docs/key-bindings
|
||||||
|
//
|
||||||
|
// To see the default key bindings run `zed: open default keymap`
|
||||||
|
// from the command palette.
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"bindings": {
|
||||||
|
"ctrl-f": "diagnostics::ToggleDiagnosticsRefresh",
|
||||||
|
"ctrl-e": "file_finder::Toggle",
|
||||||
|
"ctrl-p": "command_palette::Toggle",
|
||||||
|
"ctrl-k": "menu::SelectPrevious",
|
||||||
|
"ctrl-j": "menu::SelectNext",
|
||||||
|
"ctrl-tab": "pane::ActivateNextItem",
|
||||||
|
"ctrl-shift-tab": "pane::ActivatePreviousItem",
|
||||||
|
"ctrl-w": "pane::CloseActiveItem",
|
||||||
|
"ctrl-shift-w": "pane::ReopenClosedItem",
|
||||||
|
"ctrl-v": "editor::Paste",
|
||||||
|
"ctrl-c": "editor::Copy",
|
||||||
|
"ctrl-t": ["workspace::SendKeystrokes", "ctrl-# ctrl-e"],
|
||||||
|
"ctrl-shift-p": "pane::RevealInProjectPanel",
|
||||||
|
"ctrl-shift-a": "workspace::ToggleRightDock",
|
||||||
|
"ctrl-shift-t": "terminal_panel::Toggle",
|
||||||
|
|
||||||
|
// for send keystrokes
|
||||||
|
"ctrl-#": "pane::ActivateLastItem",
|
||||||
|
"ctrl-shift-#": "project_panel::Open",
|
||||||
|
"ctrl-shift-?": "workspace::ToggleLeftDock",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "Editor",
|
||||||
|
"bindings": {
|
||||||
|
"ctrl-h": "outline::Toggle",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "KeymapEditor",
|
||||||
|
"bindings": {
|
||||||
|
"ctrl-f": "keymap_editor::ToggleKeystrokeSearch",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "ProjectPanel",
|
||||||
|
"bindings": {
|
||||||
|
//"l": "project_panel::Open",
|
||||||
|
"enter": ["workspace::SendKeystrokes", "ctrl-shift-# ctrl-shift-?"],
|
||||||
|
"ctrl-shift-p": "workspace::ToggleLeftDock",
|
||||||
|
//"a": "project_panel::UnfoldDirectory",
|
||||||
|
//"b": "project_panel:entry"
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "Editor && showing_completions",
|
||||||
|
"bindings": {
|
||||||
|
"ctrl-j": "editor::ContextMenuNext",
|
||||||
|
"ctrl-k": "editor::ContextMenuPrevious",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "Workspace",
|
||||||
|
"bindings": {
|
||||||
|
//"ctrl-shift-tab": ["tab_switcher::Toggle", { "select_last": true }]
|
||||||
|
//"ctrl-shift-tab": ["tab_switcher::Toggle", { "select_last": true }]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "Editor && vim_mode == insert",
|
||||||
|
"bindings": {
|
||||||
|
// "j k": "vim::NormalBefore"
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "vim_mode == insert",
|
||||||
|
"bindings": {
|
||||||
|
"ctrl-dead_acute ctrl-acute": "vim::InsertFromBelow",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "(VimControl && !menu)",
|
||||||
|
"bindings": {
|
||||||
|
"ctrl-dead_acute ctrl-acute": "vim::LineDown",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "showing_completions",
|
||||||
|
"bindings": {
|
||||||
|
"ctrl-dead_acute ctrl-acute": "vim::LineDown",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "vim_mode == literal",
|
||||||
|
"bindings": {
|
||||||
|
"ctrl-dead_acute ctrl-acute": ["vim::Literal", ["ctrl-e", "\u0005"]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "Terminal",
|
||||||
|
"bindings": {
|
||||||
|
"ctrl-dead_acute ctrl-acute": ["terminal::SendKeystroke", "ctrl-e"],
|
||||||
|
"ctrl-j": ["terminal::SendKeystroke", "down"],
|
||||||
|
"ctrl-k": ["terminal::SendKeystroke", "up"],
|
||||||
|
"ctrl-h": ["terminal::SendKeystroke", "left"],
|
||||||
|
"ctrl-l": ["terminal::SendKeystroke", "right"],
|
||||||
|
"ctrl-t": "terminal_panel::ToggleFocus",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "((os != macos && Editor) && edit_prediction_conflict)",
|
||||||
|
"bindings": {
|
||||||
|
//"ctrl-l": "editor::AcceptEditPrediction"
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "((os != macos && Editor) && edit_prediction_conflict)",
|
||||||
|
"bindings": {
|
||||||
|
"ctrl-i": "editor::AcceptEditPrediction",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "(Editor && edit_prediction)",
|
||||||
|
"bindings": {
|
||||||
|
"ctrl-i": "editor::AcceptEditPrediction",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "Editor",
|
||||||
|
"bindings": {
|
||||||
|
"ctrl-shift-b": "editor::ToggleBreakpoint",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "vim_mode == visual",
|
||||||
|
"bindings": {
|
||||||
|
"#": [
|
||||||
|
"vim::MoveToNext",
|
||||||
|
{
|
||||||
|
"partial_word": true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "(VimControl && !menu)",
|
||||||
|
"bindings": {
|
||||||
|
"#": [
|
||||||
|
"vim::MoveToNext",
|
||||||
|
{
|
||||||
|
"partial_word": true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "(Diagnostics && Editor)",
|
||||||
|
"bindings": {},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "(VimControl && !menu)",
|
||||||
|
"bindings": {
|
||||||
|
"g a": "editor::Hover"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bindings": {
|
||||||
|
"ctrl-m ctrl-t": "pane::TogglePreviewTab"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "Workspace",
|
||||||
|
"bindings": {
|
||||||
|
"ctrl-m ctrl-r": "task::Spawn"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "(VimControl && !menu)",
|
||||||
|
"bindings": {
|
||||||
|
"j": [
|
||||||
|
"vim::Down",
|
||||||
|
{
|
||||||
|
"display_lines": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "(VimControl && !menu)",
|
||||||
|
"bindings": {
|
||||||
|
"k": [
|
||||||
|
"vim::Up",
|
||||||
|
{
|
||||||
|
"display_lines": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bindings": {
|
||||||
|
"ctrl-m ctrl-h": "editor::SwitchSourceHeader"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bindings": {
|
||||||
|
"ctrl-m ctrl-s": "workspace::NewSearch"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
182
zed/settings.json
Normal file
182
zed/settings.json
Normal file
@@ -0,0 +1,182 @@
|
|||||||
|
// Zed settings
|
||||||
|
//
|
||||||
|
// For information on how to configure Zed, see the Zed
|
||||||
|
// documentation: https://zed.dev/docs/configuring-zed
|
||||||
|
//
|
||||||
|
// To see all of Zed's default settings without changing your
|
||||||
|
// custom settings, run `zed: open default settings` from the
|
||||||
|
// command palette (cmd-shift-p / ctrl-shift-p)
|
||||||
|
{
|
||||||
|
"cli_default_open_behavior": "new_window",
|
||||||
|
"project_panel": {
|
||||||
|
"dock": "left"
|
||||||
|
},
|
||||||
|
"collaboration_panel": {
|
||||||
|
"dock": "left"
|
||||||
|
},
|
||||||
|
"git_panel": {
|
||||||
|
"dock": "left"
|
||||||
|
},
|
||||||
|
"ssh_connections": [
|
||||||
|
{
|
||||||
|
"host": "nico",
|
||||||
|
"args": [],
|
||||||
|
"projects": [
|
||||||
|
{
|
||||||
|
"paths": [
|
||||||
|
"/root/work/c2vi/a1-vibe"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"paths": [
|
||||||
|
"/root/work/mize"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"host": "nico",
|
||||||
|
"args": [],
|
||||||
|
"projects": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"host": "nico",
|
||||||
|
"args": [],
|
||||||
|
"projects": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"vim": {
|
||||||
|
"use_system_clipboard": "never"
|
||||||
|
},
|
||||||
|
"ui_font_weight": 250.0,
|
||||||
|
"agent_ui_font_size": 14.0,
|
||||||
|
"outline_panel": {
|
||||||
|
"dock": "left",
|
||||||
|
"button": true,
|
||||||
|
},
|
||||||
|
"file_scan_exclusions": ["/gitignore/**", "**/node_modules/**"],
|
||||||
|
"tab_size": 2,
|
||||||
|
"agent": {
|
||||||
|
"dock": "right",
|
||||||
|
"default_profile": "minimal",
|
||||||
|
"default_model": {
|
||||||
|
"provider": "perplexity",
|
||||||
|
"model": "sonar",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"language_models": {
|
||||||
|
"openai_compatible": {
|
||||||
|
"perplexity": {
|
||||||
|
"api_url": "https://api.perplexity.ai",
|
||||||
|
"available_models": [
|
||||||
|
{
|
||||||
|
"name": "sonar",
|
||||||
|
"display_name": null,
|
||||||
|
"max_tokens": 200000,
|
||||||
|
"max_output_tokens": 32000,
|
||||||
|
"max_completion_tokens": 200000,
|
||||||
|
"capabilities": {
|
||||||
|
"tools": false,
|
||||||
|
"images": false,
|
||||||
|
"parallel_tool_calls": false,
|
||||||
|
"prompt_cache_key": false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"agent_servers": {
|
||||||
|
"your_agent": {
|
||||||
|
"type": "custom",
|
||||||
|
"command": "path_to_executable",
|
||||||
|
"args": [],
|
||||||
|
"env": {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"vim_mode": true,
|
||||||
|
"ui_font_size": 16.0,
|
||||||
|
"buffer_font_size": 19.0,
|
||||||
|
"theme": {
|
||||||
|
"mode": "system",
|
||||||
|
"light": "Gruvbox Dark Hard",
|
||||||
|
"dark": "One Dark",
|
||||||
|
},
|
||||||
|
"toolbar": {
|
||||||
|
"breadcrumbs": false,
|
||||||
|
"code_actions": false,
|
||||||
|
"quick_actions": false,
|
||||||
|
"agent_review": false,
|
||||||
|
"selections_menu": false,
|
||||||
|
},
|
||||||
|
"title_bar": {
|
||||||
|
"show_user_menu": false,
|
||||||
|
"show_branch_name": false,
|
||||||
|
"show_onboarding_banner": false,
|
||||||
|
"show_project_items": false,
|
||||||
|
"show_sign_in": false,
|
||||||
|
"show_user_picture": false,
|
||||||
|
"show_menus": false,
|
||||||
|
},
|
||||||
|
"languages": {
|
||||||
|
"Nix": {
|
||||||
|
"enable_language_server": false,
|
||||||
|
"language_servers": ["nixd", "!nil"],
|
||||||
|
},
|
||||||
|
"C": {
|
||||||
|
"language_servers": ["clangd"],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"file_finder": {
|
||||||
|
"modal_max_width": "large",
|
||||||
|
},
|
||||||
|
"preview_tabs": {
|
||||||
|
"enable_preview_from_file_finder": true,
|
||||||
|
"enable_keep_preview_on_code_navigation": true,
|
||||||
|
},
|
||||||
|
"relative_line_numbers": "enabled",
|
||||||
|
"remove_trailing_whitespace_on_save": false,
|
||||||
|
"lsp": {
|
||||||
|
"clangd": {
|
||||||
|
"binary": {
|
||||||
|
"path": "/home/me/work/path-extra/clangd",
|
||||||
|
"arguments": [],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// https://github.com/zed-extensions/nix/tree/main?tab=readme-ov-file
|
||||||
|
"nixd": {
|
||||||
|
"settings": {
|
||||||
|
// see https://github.com/nix-community/nixd/blob/main/nixd/docs/configuration.md
|
||||||
|
// for what configuration is possible
|
||||||
|
"formatting": {
|
||||||
|
//"command": [ "nixpkgs-fmt" ],
|
||||||
|
//"command": [ "alejandra" ],
|
||||||
|
"command": ["nixfmt"],
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"expr": "import <nixpkgs> { }",
|
||||||
|
},
|
||||||
|
"options": {
|
||||||
|
// If this is omitted, default search path (<nixpkgs>) will be used.
|
||||||
|
"nixos": {
|
||||||
|
// This name "nixos" could be arbitrary.
|
||||||
|
// The expression to eval, interpret it as option declarations.
|
||||||
|
"expr": "(builtins.getFlake \"/home/me/work/config\").nixosConfigurations._lsp_dummy.options",
|
||||||
|
},
|
||||||
|
|
||||||
|
// for home manager as nixos module we must get the suboptions
|
||||||
|
// https://discourse.nixos.org/t/nixd-home-manager-completion-and-standalone-home-manager-outputs/55610/2
|
||||||
|
"home-manager": {
|
||||||
|
// This name could be arbitrary.
|
||||||
|
"expr": "(builtins.getFlake \"/home/me/work/config\").nixosConfigurations._lsp_dummy.options.home-manager.users.type.getSubOptions []",
|
||||||
|
},
|
||||||
|
|
||||||
|
// By default there is no home-manager options completion, thus you can add this entry.
|
||||||
|
//"home-manager": {
|
||||||
|
// "expr": "(builtins.getFlake \"/home/melektron/goarnix\").homeConfigurations.\"lsp_dummy\".options"
|
||||||
|
//}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
182
zed/settings_backup.json
Normal file
182
zed/settings_backup.json
Normal file
@@ -0,0 +1,182 @@
|
|||||||
|
// Zed settings
|
||||||
|
//
|
||||||
|
// For information on how to configure Zed, see the Zed
|
||||||
|
// documentation: https://zed.dev/docs/configuring-zed
|
||||||
|
//
|
||||||
|
// To see all of Zed's default settings without changing your
|
||||||
|
// custom settings, run `zed: open default settings` from the
|
||||||
|
// command palette (cmd-shift-p / ctrl-shift-p)
|
||||||
|
{
|
||||||
|
"cli_default_open_behavior": "new_window",
|
||||||
|
"project_panel": {
|
||||||
|
"dock": "left"
|
||||||
|
},
|
||||||
|
"collaboration_panel": {
|
||||||
|
"dock": "left"
|
||||||
|
},
|
||||||
|
"git_panel": {
|
||||||
|
"dock": "left"
|
||||||
|
},
|
||||||
|
"ssh_connections": [
|
||||||
|
{
|
||||||
|
"host": "nico",
|
||||||
|
"args": [],
|
||||||
|
"projects": [
|
||||||
|
{
|
||||||
|
"paths": [
|
||||||
|
"/root/work/c2vi/a1-vibe"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"paths": [
|
||||||
|
"/root/work/mize"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"host": "nico",
|
||||||
|
"args": [],
|
||||||
|
"projects": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"host": "nico",
|
||||||
|
"args": [],
|
||||||
|
"projects": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"vim": {
|
||||||
|
"use_system_clipboard": "never"
|
||||||
|
},
|
||||||
|
"ui_font_weight": 250.0,
|
||||||
|
"agent_ui_font_size": 14.0,
|
||||||
|
"outline_panel": {
|
||||||
|
"dock": "left",
|
||||||
|
"button": true,
|
||||||
|
},
|
||||||
|
"file_scan_exclusions": ["/gitignore/**", "**/node_modules/**"],
|
||||||
|
"tab_size": 2,
|
||||||
|
"agent": {
|
||||||
|
"dock": "right",
|
||||||
|
"default_profile": "minimal",
|
||||||
|
"default_model": {
|
||||||
|
"provider": "perplexity",
|
||||||
|
"model": "sonar",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"language_models": {
|
||||||
|
"openai_compatible": {
|
||||||
|
"perplexity": {
|
||||||
|
"api_url": "https://api.perplexity.ai",
|
||||||
|
"available_models": [
|
||||||
|
{
|
||||||
|
"name": "sonar",
|
||||||
|
"display_name": null,
|
||||||
|
"max_tokens": 200000,
|
||||||
|
"max_output_tokens": 32000,
|
||||||
|
"max_completion_tokens": 200000,
|
||||||
|
"capabilities": {
|
||||||
|
"tools": false,
|
||||||
|
"images": false,
|
||||||
|
"parallel_tool_calls": false,
|
||||||
|
"prompt_cache_key": false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"agent_servers": {
|
||||||
|
"your_agent": {
|
||||||
|
"type": "custom",
|
||||||
|
"command": "path_to_executable",
|
||||||
|
"args": [],
|
||||||
|
"env": {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"vim_mode": true,
|
||||||
|
"ui_font_size": 16.0,
|
||||||
|
"buffer_font_size": 19.0,
|
||||||
|
"theme": {
|
||||||
|
"mode": "system",
|
||||||
|
"light": "Gruvbox Dark Hard",
|
||||||
|
"dark": "One Dark",
|
||||||
|
},
|
||||||
|
"toolbar": {
|
||||||
|
"breadcrumbs": false,
|
||||||
|
"code_actions": false,
|
||||||
|
"quick_actions": false,
|
||||||
|
"agent_review": false,
|
||||||
|
"selections_menu": false,
|
||||||
|
},
|
||||||
|
"title_bar": {
|
||||||
|
"show_user_menu": false,
|
||||||
|
"show_branch_name": false,
|
||||||
|
"show_onboarding_banner": false,
|
||||||
|
"show_project_items": false,
|
||||||
|
"show_sign_in": false,
|
||||||
|
"show_user_picture": false,
|
||||||
|
"show_branch_icon": false,
|
||||||
|
"show_menus": false,
|
||||||
|
},
|
||||||
|
"languages": {
|
||||||
|
"Nix": {
|
||||||
|
"language_servers": ["nixd", "!nil"],
|
||||||
|
},
|
||||||
|
"C": {
|
||||||
|
"language_servers": ["clangd"],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"file_finder": {
|
||||||
|
"modal_max_width": "large",
|
||||||
|
},
|
||||||
|
"preview_tabs": {
|
||||||
|
"enable_preview_from_file_finder": true,
|
||||||
|
"enable_keep_preview_on_code_navigation": true,
|
||||||
|
},
|
||||||
|
"relative_line_numbers": "enabled",
|
||||||
|
"remove_trailing_whitespace_on_save": false,
|
||||||
|
"lsp": {
|
||||||
|
"clangd": {
|
||||||
|
"binary": {
|
||||||
|
"path": "/home/me/work/path-extra/clangd",
|
||||||
|
"arguments": [],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// https://github.com/zed-extensions/nix/tree/main?tab=readme-ov-file
|
||||||
|
"nixd": {
|
||||||
|
"settings": {
|
||||||
|
// see https://github.com/nix-community/nixd/blob/main/nixd/docs/configuration.md
|
||||||
|
// for what configuration is possible
|
||||||
|
"formatting": {
|
||||||
|
//"command": [ "nixpkgs-fmt" ],
|
||||||
|
//"command": [ "alejandra" ],
|
||||||
|
"command": ["nixfmt"],
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"expr": "import <nixpkgs> { }",
|
||||||
|
},
|
||||||
|
"options": {
|
||||||
|
// If this is omitted, default search path (<nixpkgs>) will be used.
|
||||||
|
"nixos": {
|
||||||
|
// This name "nixos" could be arbitrary.
|
||||||
|
// The expression to eval, interpret it as option declarations.
|
||||||
|
"expr": "(builtins.getFlake \"/home/me/work/config\").nixosConfigurations._lsp_dummy.options",
|
||||||
|
},
|
||||||
|
|
||||||
|
// for home manager as nixos module we must get the suboptions
|
||||||
|
// https://discourse.nixos.org/t/nixd-home-manager-completion-and-standalone-home-manager-outputs/55610/2
|
||||||
|
"home-manager": {
|
||||||
|
// This name could be arbitrary.
|
||||||
|
"expr": "(builtins.getFlake \"/home/me/work/config\").nixosConfigurations._lsp_dummy.options.home-manager.users.type.getSubOptions []",
|
||||||
|
},
|
||||||
|
|
||||||
|
// By default there is no home-manager options completion, thus you can add this entry.
|
||||||
|
//"home-manager": {
|
||||||
|
// "expr": "(builtins.getFlake \"/home/melektron/goarnix\").homeConfigurations.\"lsp_dummy\".options"
|
||||||
|
//}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
54
zed/tasks.json
Normal file
54
zed/tasks.json
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
// Project tasks configuration. See https://zed.dev/docs/tasks for documentation.
|
||||||
|
//
|
||||||
|
// Example:
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"label": "Example task",
|
||||||
|
"command": "for i in {1..5}; do echo \"Hello $i/5\"; sleep 1; done",
|
||||||
|
//"args": [],
|
||||||
|
// Env overrides for the command, will be appended to the terminal's environment from the settings.
|
||||||
|
"env": { "foo": "bar" },
|
||||||
|
// Current working directory to spawn the command into, defaults to current project root.
|
||||||
|
//"cwd": "/path/to/working/directory",
|
||||||
|
// Whether to use a new terminal tab or reuse the existing one to spawn the process, defaults to `false`.
|
||||||
|
"use_new_terminal": false,
|
||||||
|
// Whether to allow multiple instances of the same task to be run, or rather wait for the existing ones to finish, defaults to `false`.
|
||||||
|
"allow_concurrent_runs": false,
|
||||||
|
// What to do with the terminal pane and tab, after the command was started:
|
||||||
|
// * `always` — always show the task's pane, and focus the corresponding tab in it (default)
|
||||||
|
// * `no_focus` — always show the task's pane, add the task's tab in it, but don't focus it
|
||||||
|
// * `never` — do not alter focus, but still add/reuse the task's tab in its pane
|
||||||
|
"reveal": "always",
|
||||||
|
// Where to place the task's terminal item after starting the task:
|
||||||
|
// * `dock` — in the terminal dock, "regular" terminal items' place (default)
|
||||||
|
// * `center` — in the central pane group, "main" editor area
|
||||||
|
"reveal_target": "dock",
|
||||||
|
// What to do with the terminal pane and tab, after the command had finished:
|
||||||
|
// * `never` — Do nothing when the command finishes (default)
|
||||||
|
// * `always` — always hide the terminal tab, hide the pane also if it was the last tab in it
|
||||||
|
// * `on_success` — hide the terminal tab on task success only, otherwise behaves similar to `always`
|
||||||
|
"hide": "never",
|
||||||
|
// Which shell to use when running a task inside the terminal.
|
||||||
|
// May take 3 values:
|
||||||
|
// 1. (default) Use the system's default terminal configuration in /etc/passwd
|
||||||
|
// "shell": "system"
|
||||||
|
// 2. A program:
|
||||||
|
// "shell": {
|
||||||
|
// "program": "sh"
|
||||||
|
// }
|
||||||
|
// 3. A program with arguments:
|
||||||
|
// "shell": {
|
||||||
|
// "with_arguments": {
|
||||||
|
// "program": "/bin/bash",
|
||||||
|
// "args": ["--login"]
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
"shell": "system",
|
||||||
|
// Whether to show the task line in the output of the spawned task, defaults to `true`.
|
||||||
|
"show_summary": true,
|
||||||
|
// Whether to show the command line in the output of the spawned task, defaults to `true`.
|
||||||
|
"show_command": true,
|
||||||
|
// Represents the tags for inline runnable indicators, or spawning multiple tasks at once.
|
||||||
|
// "tags": []
|
||||||
|
},
|
||||||
|
]
|
||||||
Reference in New Issue
Block a user