feat: vicinae, update servers

This commit is contained in:
Kat Inskip 2025-12-09 05:34:53 -08:00
parent 0e91b2184d
commit edd507c0ec
Signed by: kat
GPG key ID: 465E64DECEA8CF0F
20 changed files with 188 additions and 187 deletions

View file

@ -6,6 +6,7 @@
- [ ] matrix.org or nix.dev - [ ] matrix.org or nix.dev
- [ ] Desktop - [ ] Desktop
- [ ] Test performance for virtual machines on laptop and desktop - [ ] Test performance for virtual machines on laptop and desktop
- [ ] Clean up password manager
## New service deployments ## New service deployments

68
flake.lock generated
View file

@ -2004,6 +2004,9 @@
"tree": "tree", "tree": "tree",
"treefmt-nix": "treefmt-nix_3", "treefmt-nix": "treefmt-nix_3",
"ucodenix": "ucodenix", "ucodenix": "ucodenix",
"vicinae": "vicinae",
"vicinae-extensions": "vicinae-extensions",
"vicinae-rbw": "vicinae-rbw",
"wezterm": "wezterm" "wezterm": "wezterm"
} }
}, },
@ -2577,6 +2580,71 @@
"type": "github" "type": "github"
} }
}, },
"vicinae": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"systems": [
"systems"
]
},
"locked": {
"lastModified": 1765272078,
"narHash": "sha256-etv2HJA9OWvTkjnrjaNSqvebu9gWLIGPYb9PWr4qkfM=",
"owner": "vicinaehq",
"repo": "vicinae",
"rev": "32cf6b1f82e007cddba9c9ae037eff670219cd55",
"type": "github"
},
"original": {
"owner": "vicinaehq",
"repo": "vicinae",
"type": "github"
}
},
"vicinae-extensions": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"systems": [
"systems"
],
"vicinae": [
"vicinae"
]
},
"locked": {
"lastModified": 1765122409,
"narHash": "sha256-CR4yU44yKqQHOuS5i/ca+05K90sKfcZ+7uoARjrOOJo=",
"owner": "vicinaehq",
"repo": "extensions",
"rev": "6e0c6e9eec288a577183998fb24bc8134b236e5d",
"type": "github"
},
"original": {
"owner": "vicinaehq",
"repo": "extensions",
"type": "github"
}
},
"vicinae-rbw": {
"flake": false,
"locked": {
"lastModified": 1765285656,
"narHash": "sha256-ncZmIQw89KRof41ZrgAvt2L+UjIHGy11EMq767Nw5yg=",
"owner": "kittywitch",
"repo": "vicinae-rbw",
"rev": "ae004193b80bf38a0bd66dae37a82c8308191163",
"type": "github"
},
"original": {
"owner": "kittywitch",
"repo": "vicinae-rbw",
"type": "github"
}
},
"wezterm": { "wezterm": {
"inputs": { "inputs": {
"flake-utils": [ "flake-utils": [

View file

@ -62,6 +62,25 @@
rust.follows = "rust"; rust.follows = "rust";
}; };
}; };
vicinae = {
url = "github:vicinaehq/vicinae";
inputs = {
systems.follows = "systems";
nixpkgs.follows = "nixpkgs";
};
};
vicinae-rbw = {
url = "github:kittywitch/vicinae-rbw";
flake = false;
};
vicinae-extensions = {
url = "github:vicinaehq/extensions";
inputs = {
systems.follows = "systems";
nixpkgs.follows = "nixpkgs";
vicinae.follows = "vicinae";
};
};
# better than nixpkgs.lib # better than nixpkgs.lib
nix-std = { nix-std = {
url = "github:chessai/nix-std"; url = "github:chessai/nix-std";

View file

@ -1,19 +1,8 @@
{ {config, ...}: let
config,
lib,
...
}: let
cfg = config.programs.anyrun; cfg = config.programs.anyrun;
inherit (lib.meta) getExe;
in { in {
programs.niri.settings.binds = {
"Mod+D".action = let
sh = config.lib.niri.actions.spawn "sh" "-c";
in
sh (getExe cfg.package);
};
programs.anyrun = { programs.anyrun = {
enable = true; enable = false;
config = { config = {
x = {fraction = 0.5;}; x = {fraction = 0.5;};
y = {fraction = 0.3;}; y = {fraction = 0.3;};

View file

@ -36,6 +36,7 @@ in {
personalBindings = { personalBindings = {
"Mod+Return".action = sh ''${getExe config.programs.alacritty.package}''; "Mod+Return".action = sh ''${getExe config.programs.alacritty.package}'';
"Mod+T".action.toggle-window-floating = {}; "Mod+T".action.toggle-window-floating = {};
"Mod+D".action = sh ''${getExe config.programs.vicinae.package} toggle'';
#"Mod+D".action = sh ''${getExe config.programs.fuzzel.package} -D no -T "${getExe config.programs.alacritty.package} --command"''; #"Mod+D".action = sh ''${getExe config.programs.fuzzel.package} -D no -T "${getExe config.programs.alacritty.package} --command"'';
#"Mod+D".action = sh ''${noctalia} launcher toggle''; #"Mod+D".action = sh ''${noctalia} launcher toggle'';
#"Mod+Shift+D".action = sh ''${noctalia} launcher clipboard''; #"Mod+Shift+D".action = sh ''${noctalia} launcher clipboard'';

View file

@ -0,0 +1,31 @@
{
pkgs,
inputs,
...
}: {
home.packages = with pkgs; [
brotab
oath-toolkit
];
programs.vicinae = {
enable = true;
systemd.enable = true;
extensions =
(with inputs.vicinae-extensions.packages.${pkgs.stdenv.hostPlatform.system}; [
bluetooth
nix
mullvad
player-pilot
wifi-commander
ssh
niri
brotab
])
++ [
(inputs.vicinae.packages.${pkgs.stdenv.hostPlatform.system}.mkVicinaeExtension rec {
pname = "vicinae-rbw";
src = inputs.${pname}.outPath;
})
];
};
}

View file

@ -13,7 +13,6 @@
enable = true; enable = true;
defaultApplications = { defaultApplications = {
"inode/directory" = "pcmanfm.desktop"; "inode/directory" = "pcmanfm.desktop";
"text/plain" = "nvim.desktop";
}; };
}; };
}; };

View file

@ -28,6 +28,7 @@
sponsorblock sponsorblock
link-cleaner link-cleaner
canvasblocker canvasblocker
brotab
a11ycss a11ycss
view-image view-image
wappalyzer wappalyzer

View file

@ -1,7 +1,8 @@
{nur, ...}: { {nur, ...}: {
programs.librewolf.profiles.main.extensions = { programs.librewolf.profiles.main.extensions = {
packages = with nur.repos.rycee.firefox-addons; [ packages = with nur.repos.rycee.firefox-addons; [
adnauseam #adnauseam
ublock-origin
]; ];
settings = { settings = {
}; };

View file

@ -1,20 +1,58 @@
{pkgs, ...}: { {
pkgs,
lib,
...
}: let
inherit (lib.attrsets) genAttrs;
in {
xdg.mimeApps.defaultApplications = let
genDefault = application: types: genAttrs types (_: application);
imageTypes = map (x: "image/${x}") [
"apng"
"avif"
"bmp"
"gif"
"heic"
"heif"
"jpeg"
"png"
"svg+xml"
"webp"
];
videoTypes = map (x: "video/${x}") [
"AV1"
"H264"
"H265"
"matroska"
"mp4"
"MPV"
"mpeg"
"ogg"
"VP8"
"VP9"
];
imageDefaults = genDefault "imv.desktop" imageTypes;
videoDefaults = genDefault "mpv.desktop" videoTypes;
combinedDefaults = imageDefaults // videoDefaults;
in
combinedDefaults;
home.packages = with pkgs; [ home.packages = with pkgs; [
anki anki
# Task managers # Imagery
btop
htop
aseprite aseprite
imv
gimp
# Chat # Chat
telegram-desktop # Telegram telegram-desktop # Telegram
signal-desktop signal-desktop
fluffychat fluffychat
dino dino
mumble mumble
keymapp
# Archivery # Archivery
xarchiver
unzip unzip
zip zip
p7zip p7zip
@ -30,7 +68,5 @@
pwvucontrol pwvucontrol
veracrypt veracrypt
deluge deluge
gimp
xarchiver
]; ];
} }

View file

@ -9,6 +9,9 @@
}; };
}; };
in { in {
xdg.mimeApps.defaultApplications = {
"text/plain" = "nvim.desktop";
};
programs.nixvim = { programs.nixvim = {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;

View file

@ -14,13 +14,13 @@
jujutsu = { jujutsu = {
enable = true; enable = true;
}; };
delta = {
enable = true;
};
git = { git = {
inherit (tree.home.user.data) userName userEmail; inherit (tree.home.user.data) userName userEmail;
package = pkgs.gitFull; package = pkgs.gitFull;
enable = true; enable = true;
delta = {
enable = true;
};
extraConfig = { extraConfig = {
init = {defaultBranch = "main";}; init = {defaultBranch = "main";};
protocol.gcrypt.allow = "always"; protocol.gcrypt.allow = "always";

View file

@ -16,7 +16,11 @@ in {
services.openssh = { services.openssh = {
enable = true; enable = true;
settings = { settings = {
KexAlgorithms = ["curve25519-sha256@libssh.org"]; KexAlgorithms = [
"mlkem768x25519-sha256"
"sntrup761x25519-sha512"
"curve25519-sha256@libssh.org"
];
PasswordAuthentication = false; PasswordAuthentication = false;
KbdInteractiveAuthentication = false; KbdInteractiveAuthentication = false;
PermitRootLogin = mkDefault "prohibit-password"; PermitRootLogin = mkDefault "prohibit-password";

View file

@ -1,8 +1,13 @@
{config, ...}: { {
config,
lib,
...
}: {
security.acme = { security.acme = {
defaults = { defaults = {
dnsProvider = "cloudflare"; dnsProvider = "cloudflare";
credentialsFile = config.sops.secrets.acme_credentials.path; credentialsFile = config.sops.secrets.acme_credentials.path;
email = lib.mkDefault "acme@inskip.me";
}; };
acceptTerms = true; acceptTerms = true;
}; };

2
scripts/brotab.sh Executable file
View file

@ -0,0 +1,2 @@
#!/usr/bin/env bash
brotab "$@"

View file

@ -69,7 +69,6 @@ _: let
}; };
"localhost" = vHost; "localhost" = vHost;
}; };
security.acme.defaults.email = "acme@inskip.me";
system.stateVersion = "23.11"; system.stateVersion = "23.11";
}; };
in { in {

View file

@ -1,157 +0,0 @@
_: let
hostConfig = {
tree,
pkgs,
lib,
config,
...
}: let
inherit (lib.attrsets) nameValuePair listToAttrs;
datasets = [
"root"
"nix"
"games"
"home"
"var"
];
datasetEntry = dataset:
nameValuePair (
if dataset == "root"
then "/"
else "/${dataset}"
) {
device = "zpool/${dataset}";
fsType = "zfs";
options = ["zfsutil"];
};
datasetEntries = listToAttrs (map datasetEntry datasets);
drives = {
boot = rec {
raw = "/dev/disk/by-uuid/BEDB-489E";
result = {
device = raw;
fsType = "vfat";
};
};
swap = rec {
raw = "/dev/disk/by-partuuid/cba02f4a-a90d-44e3-81a8-46bb4500112e";
result = {
device = raw;
randomEncryption = true;
};
};
};
in {
imports =
(with tree.nixos.hardware; [
])
++ (with tree.nixos.profiles; [
graphical
])
++ (with tree.nixos.environments; [
niri
]);
config = {
home-manager.users.kat = {
programs = {
konawall-py.settings = {
source = "konachan";
tags = [
"rating:s"
];
};
};
imports =
(with tree.home.profiles; [
graphical
])
++ (with tree.home.environments; [
niri
]);
};
fileSystems =
datasetEntries
// {
"/boot" = drives.boot.result;
};
swapDevices = [
drives.swap.result
];
boot = {
loader = {
grub.useOSProber = true;
systemd-boot.enable = lib.mkForce false;
};
extraModprobeConfig = "options snd_hda_intel power_save=0";
extraModulePackages = [config.boot.kernelPackages.v4l2loopback.out];
};
services.scx = {
enable = true;
package = pkgs.scx_git.full;
scheduler = "scx_lavd";
};
zramSwap.enable = true;
programs.ssh.extraConfig = ''
Host daiyousei-build
HostName 140.238.156.121
User root
IdentityAgent /run/user/1000/gnupg/S.gpg-agent.ssh
'';
nix = {
buildMachines = [
{
hostName = "daiyousei-build";
system = "aarch64-linux";
protocol = "ssh-ng";
maxJobs = 100;
speedFactor = 1;
supportedFeatures = ["benchmark" "big-parallel" "kvm"];
mandatoryFeatures = [];
}
];
distributedBuilds = true;
extraOptions = ''
builders-use-substitutes = true
'';
};
# optional, useful when the builder has a faster internet connection than yours
services = {
printing.enable = true;
syncthing = {
enable = true;
openDefaultPorts = true;
user = "kat";
dataDir = "/home/kat";
};
hardware.bolt.enable = true;
};
boot = {
supportedFilesystems = ["ntfs" "xfs"];
};
networking = {
hostId = "9ef75c48";
useDHCP = false;
};
system.stateVersion = "24.05";
};
};
in {
arch = "x86_64";
ci.enable = false; # Closure too large
type = "NixOS";
modules = [
hostConfig
];
}

View file

@ -1 +0,0 @@
PRESSURE_VESSEL_FILESYSTEMS_RW=$XDG_RUNTIME_DIR/wivrn/comp_ipc