Many changes by GLM

This commit is contained in:
2026-03-28 15:43:14 +03:00
parent e6188adc0d
commit e7ab8c10d8
29 changed files with 342 additions and 246 deletions
-21
View File
@@ -1,21 +0,0 @@
{
lib,
config,
pkgs,
...
}: let
isEnabled =
config.azos.chromium.enable;
in {
options.azos.chromium.enable = lib.mkOption {
default = true;
example = true;
type = lib.types.bool;
};
config = lib.mkIf isEnabled {
home.packages = with pkgs; [
chromium
];
};
}
+12 -18
View File
@@ -1,26 +1,20 @@
{
imports = [
./zoom.nix
./ytdl.nix
./mail.nix
./encryption.nix
./kubernetes.nix
./git.nix
./mpris-proxy.nix
./qutebrowser-config.nix
./audio.nix
./reaper.nix
./discord.nix
./spotify.nix
./encryption.nix
./git.nix
./headphones-whmx4000.nix
./deluge.nix
./lauretta-emacs.nix
./gimp.nix
# ./printing.nix
./libreoffice.nix
./chromium.nix
./hyprland-suite.nix
# ./gnuradio.nix
./kubernetes.nix
./lauretta-emacs.nix
./mail.nix
./mpris-proxy.nix
./opencode.nix
# ./printing.nix
# ./gnuradio.nix
./qutebrowser-config.nix
./reaper.nix
./snx-rs.nix
./ytdl.nix
];
}
-21
View File
@@ -1,21 +0,0 @@
{
lib,
config,
pkgs,
...
}: let
isEnabled =
config.azos.deluged.enable;
in {
options.azos.deluged.enable = lib.mkOption {
default = true;
example = true;
type = lib.types.bool;
};
config = lib.mkIf isEnabled {
home.packages = with pkgs; [
deluged
];
};
}
-21
View File
@@ -1,21 +0,0 @@
{
lib,
config,
pkgs,
...
}: let
isEnabled =
config.azos.discord.enable;
in {
options.azos.discord.enable = lib.mkOption {
default = true;
example = true;
type = lib.types.bool;
};
config = lib.mkIf isEnabled {
home.packages = with pkgs; [
discord
];
};
}
-21
View File
@@ -1,21 +0,0 @@
{
lib,
config,
pkgs,
...
}: let
isEnabled =
config.azos.gimp.enable;
in {
options.azos.gimp.enable = lib.mkOption {
default = true;
example = true;
type = lib.types.bool;
};
config = lib.mkIf isEnabled {
home.packages = with pkgs; [
gimp3
];
};
}
+3 -4
View File
@@ -26,14 +26,13 @@ in {
settings = {
extraConfig = {
credential.helper = "!pass-git-helper $@";
credential.helper = "!pass-git-helper $@";
};
user = {
name = "Aner Zakobar";
email = "aner@zakobar.com";
name = "Aner Zakobar";
email = "aner@zakobar.com";
};
};
};
home.file.".config/pass-git-helper/git-pass-mapping.ini".source =
./pass-git-mapping.ini;
+2 -2
View File
@@ -15,9 +15,9 @@ in {
config = lib.mkIf isEnabled {
home.packages = with pkgs; [
( pkgs.writeShellScriptBin
(pkgs.writeShellScriptBin
"azos-connect-headphones-whmx4000"
"echo \"connect AC:80:0A:AF:E1:C2\" | bluetoothctl" )
"echo \"connect AC:80:0A:AF:E1:C2\" | bluetoothctl")
];
};
}
+9 -10
View File
@@ -18,15 +18,15 @@ in {
#TODO shutdown reboot commands
config = lib.mkIf isEnabled {
home.packages = with pkgs; [
hyprland
waybar # status bar
wofi # application launcher
kitty
grim # screenshot utility
slurp # region selector
swappy # screenshot editor
networkmanagerapplet
xwayland
hyprland
waybar # status bar
wofi # application launcher
kitty
grim # screenshot utility
slurp # region selector
swappy # screenshot editor
networkmanagerapplet
xwayland
];
azos.emacs.enabledSuites = ["azos-emacs-hyprland"];
@@ -54,6 +54,5 @@ in {
# StandardError = "journal";
# };
# };
};
}
+2
View File
@@ -17,5 +17,7 @@ in {
#Base emacs suite definition
azos.emacs.pkgs = [pkgs.azos-emacs-lauretta];
home.packages = with pkgs; [pkgs.nix-search-cli];
};
}
-21
View File
@@ -1,21 +0,0 @@
{
lib,
config,
pkgs,
...
}: let
isEnabled =
config.azos.libreoffice.enable;
in {
options.azos.libreoffice.enable = lib.mkOption {
default = true;
example = true;
type = lib.types.bool;
};
config = lib.mkIf isEnabled {
home.packages = with pkgs; [
libreoffice
];
};
}
+1 -3
View File
@@ -14,8 +14,6 @@ in {
};
config = lib.mkIf isEnabled {
home.packages = with pkgs; [
opencode
];
programs.opencode.enable = true;
};
}
+63
View File
@@ -0,0 +1,63 @@
{
lib,
config,
pkgs,
...
}: let
isEnabled =
config.azos.snx-rs.enable;
cfg = config.azos.snx-rs;
in {
options.azos.snx-rs = {
enable = lib.mkOption {
default = true;
type = lib.types.bool;
};
server = lib.mkOption {
default = "vpn.bgu.ac.il";
type = lib.types.str;
description = "VPN server address";
};
username = lib.mkOption {
default = "anerz@vpn";
type = lib.types.str;
description = "VPN username";
};
loginType = lib.mkOption {
default = "vpn";
type = lib.types.str;
description = "Login type (e.g., vpn, vpn_Microsoft_Authenticator)";
};
ignoreServerCert = lib.mkOption {
default = true;
type = lib.types.bool;
description = "Ignore server certificate validation";
};
};
config = lib.mkIf isEnabled {
home.packages = with pkgs; [
snx-rs
(pkgs.writeShellScriptBin "snx-connect" ''
#!/bin/sh
sudo ${pkgs.snx-rs}/bin/snx-rs -m command &
sleep 1
${pkgs.snx-rs}/bin/snxctl connect
'')
(pkgs.writeShellScriptBin "snx-disconnect" ''
#!/bin/sh
${pkgs.snx-rs}/bin/snxctl disconnect
pkill -x snx-rs 2>/dev/null || true
'')
];
home.file.".config/snx-rs/snx-rs.conf" = {
text = ''
server-name = ${cfg.server}
user-name = ${cfg.username}
login-type = ${cfg.loginType}
ignore-server-cert = ${lib.boolToString cfg.ignoreServerCert}
'';
};
};
}
-21
View File
@@ -1,21 +0,0 @@
{
lib,
config,
pkgs,
...
}: let
isEnabled =
config.azos.spotify.enable;
in {
options.azos.spotify.enable = lib.mkOption {
default = true;
example = true;
type = lib.types.bool;
};
config = lib.mkIf isEnabled {
home.packages = with pkgs; [
spotify
];
};
}
+1 -1
View File
@@ -5,7 +5,7 @@
...
}: let
isEnabled =
config.azos.discord.enable;
config.azos.ytdl.enable;
in {
options.azos.ytdl.enable = lib.mkOption {
default = true;
-21
View File
@@ -1,21 +0,0 @@
{
lib,
config,
pkgs,
...
}: let
isEnabled =
config.azos.zoom.enable;
in {
options.azos.zoom.enable = lib.mkOption {
default = true;
example = true;
type = lib.types.bool;
};
config = lib.mkIf isEnabled {
home.packages = with pkgs; [
zoom-us
];
};
}
+4 -4
View File
@@ -17,12 +17,12 @@ in {
services = {
pipewire = {
enable = true;
audio.enable = true;
pulse.enable = true;
alsa = {
audio.enable = true;
pulse.enable = true;
alsa = {
enable = true;
support32Bit = true;
};
};
jack.enable = true;
};
};
+1 -1
View File
@@ -1,3 +1,3 @@
{
imports = [./audio.nix ./bluetooth.nix ./steam.nix ./virtualization.nix ];
imports = [./audio.nix ./bluetooth.nix ./steam.nix ./virtualization.nix];
}
+9 -11
View File
@@ -15,28 +15,26 @@ in {
config = lib.mkIf isEnabled {
virtualisation.libvirtd = {
enable = true; # start / run libvirtd as a system service
enable = true; # start / run libvirtd as a system service
# optional: expose the default NAT network (virbr0) libvirtd creates it
# automatically when the daemon is on, but we make sure the bridge is
# allowed through the firewall.
qemu = {
swtpm.enable = true; # (optional) enable software TPM for guests
swtpm.enable = true; # (optional) enable software TPM for guests
};
};
environment.systemPackages = with pkgs; [
# QEMU (KVMaccelerated)
qemu_kvm # same as pkgs.qemu (but with KVM support explicitly enabled)
qemu_kvm # same as pkgs.qemu (but with KVM support explicitly enabled)
# CLI utilities
libvirt # provides virsh, virt-install, virt-manager (cli bits)
libvirt # provides virsh, virt-install, virt-manager (cli bits)
# GUI frontend
virt-manager # graphical manager (uses libvirt + spice)
virt-viewer # Spice/VNC client that virtmanager calls under the hood
virt-manager # graphical manager (uses libvirt + spice)
virt-viewer # Spice/VNC client that virtmanager calls under the hood
];
services.spice-vdagentd.enable = true; # makes copypaste & autoresize work in Spice windows
networking.firewall.allowedTCPPorts = [ 5900 5901 ]; # Spice ports (adjust if you expose elsewhere)
networking.firewall.allowedUDPPorts = [ 5900 5901 ];
services.spice-vdagentd.enable = true; # makes copypaste & autoresize work in Spice windows
networking.firewall.allowedTCPPorts = [5900 5901]; # Spice ports (adjust if you expose elsewhere)
networking.firewall.allowedUDPPorts = [5900 5901];
};
}