reorganize and fix searxng
@@ -58,7 +58,7 @@
|
|||||||
);
|
);
|
||||||
|
|
||||||
homes = let
|
homes = let
|
||||||
dir = builtins.readDir ./system/users;
|
dir = builtins.readDir ./homes;
|
||||||
filtered = builtins.filter (x: dir.${x} == "directory") (builtins.attrNames dir);
|
filtered = builtins.filter (x: dir.${x} == "directory") (builtins.attrNames dir);
|
||||||
in (builtins.listToAttrs
|
in (builtins.listToAttrs
|
||||||
(builtins.map
|
(builtins.map
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
|
|
||||||
value = { ... } @ exputs: {
|
value = { ... } @ exputs: {
|
||||||
imports = [
|
imports = [
|
||||||
(./system/users/${name}/home-manager (inputs // exputs))
|
(./homes/${name}/home-manager (inputs // exputs))
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
})) filtered)
|
})) filtered)
|
||||||
|
|||||||
@@ -4,10 +4,10 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
|
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-25.05";
|
url = "github:nix-community/home-manager/release-25.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 1.0 MiB |
|
Before Width: | Height: | Size: 1007 KiB After Width: | Height: | Size: 1007 KiB |
|
Before Width: | Height: | Size: 110 MiB After Width: | Height: | Size: 110 MiB |
|
Before Width: | Height: | Size: 191 KiB After Width: | Height: | Size: 191 KiB |
|
Before Width: | Height: | Size: 874 KiB After Width: | Height: | Size: 874 KiB |
|
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 1.5 MiB |
|
Before Width: | Height: | Size: 48 MiB After Width: | Height: | Size: 48 MiB |
|
Before Width: | Height: | Size: 203 MiB After Width: | Height: | Size: 203 MiB |
|
Before Width: | Height: | Size: 670 KiB After Width: | Height: | Size: 670 KiB |
|
Before Width: | Height: | Size: 273 KiB After Width: | Height: | Size: 273 KiB |
|
Before Width: | Height: | Size: 140 MiB After Width: | Height: | Size: 140 MiB |
|
Before Width: | Height: | Size: 3.1 MiB After Width: | Height: | Size: 3.1 MiB |
|
Before Width: | Height: | Size: 2.8 MiB After Width: | Height: | Size: 2.8 MiB |
|
Before Width: | Height: | Size: 36 MiB After Width: | Height: | Size: 36 MiB |
@@ -1,11 +1,11 @@
|
|||||||
{ ... }:
|
{ lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
homeconfig = {
|
homeconfig = {
|
||||||
graphical = false;
|
graphical = lib.mkDefault false;
|
||||||
minimal = false;
|
minimal = lib.mkDefault false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,10 +7,6 @@
|
|||||||
(builtins.attrNames dir)
|
(builtins.attrNames dir)
|
||||||
);
|
);
|
||||||
|
|
||||||
/*imports = [
|
|
||||||
./nathan
|
|
||||||
];*/
|
|
||||||
|
|
||||||
options.sysconfig = with lib; {
|
options.sysconfig = with lib; {
|
||||||
|
|
||||||
sshHostKeys = lib.mkOption {
|
sshHostKeys = lib.mkOption {
|
||||||
|
|||||||
@@ -1,5 +1,24 @@
|
|||||||
{ ... }: {
|
{ config, lib, pkgs, ... }: {
|
||||||
imports = [
|
|
||||||
./system
|
config = lib.mkIf (
|
||||||
];
|
config.sysconfig.users ? nathan && config.sysconfig.users.nathan.usePresets
|
||||||
|
) {
|
||||||
|
|
||||||
|
sops.secrets."nathan/pass".neededForUsers = true;
|
||||||
|
|
||||||
|
users.users.nathan = {
|
||||||
|
shell = lib.mkDefault pkgs.zsh;
|
||||||
|
name = lib.mkDefault "nathan";
|
||||||
|
isNormalUser = lib.mkDefault true;
|
||||||
|
#hashedPasswordFile = lib.mkIf (cfg.hashedPasswordFile != null) cfg.hashedPasswordFile;
|
||||||
|
extraGroups = [ "networkmanager" "docker" ];
|
||||||
|
openssh.authorizedKeys.keys = with config.sysconfig.users.nathan; lib.mkIf config.sysconfig.services.openssh.enable (
|
||||||
|
ssh.keys ++ (map (z: config.sysconfig.sshHostKeys.${z}) ssh.hosts)
|
||||||
|
);
|
||||||
|
packages = lib.mkIf (
|
||||||
|
config.sysconfig.users.nathan.home-manager.enable && config.sysconfig.users.nathan.home-manager.standalone
|
||||||
|
) [ pkgs.home-manager ];
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }: {
|
|
||||||
|
|
||||||
config = with config.sysconfig;
|
|
||||||
lib.mkIf (users ? nathan && users.nathan.usePresets) {
|
|
||||||
|
|
||||||
sops.secrets."nathan/pass".neededForUsers = true;
|
|
||||||
|
|
||||||
users.users.nathan = {
|
|
||||||
shell = lib.mkDefault pkgs.zsh;
|
|
||||||
name = lib.mkDefault "nathan";
|
|
||||||
isNormalUser = lib.mkDefault true;
|
|
||||||
#hashedPasswordFile = lib.mkIf (cfg.hashedPasswordFile != null) cfg.hashedPasswordFile;
|
|
||||||
extraGroups = [ "networkmanager" "docker" ];
|
|
||||||
openssh.authorizedKeys.keys = with config.sysconfig.users.nathan; lib.mkIf config.sysconfig.services.openssh.enable (ssh.keys ++ (map (z: config.sysconfig.sshHostKeys.${z}) ssh.hosts));
|
|
||||||
packages = lib.mkIf (config.sysconfig.users.nathan.home-manager.enable && config.sysconfig.users.nathan.home-manager.standalone) [ pkgs.home-manager ];
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -6,4 +6,13 @@
|
|||||||
(file: (dir.${file} == "directory"))
|
(file: (dir.${file} == "directory"))
|
||||||
(builtins.attrNames dir)
|
(builtins.attrNames dir)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
config = {
|
||||||
|
programs.virt-manager.enable = true;
|
||||||
|
|
||||||
|
virtualisation.libvirtd.enable = true;
|
||||||
|
|
||||||
|
virtualisation.spiceUSBRedirection.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.etc."searxng/settings.yml".source = ./settings.yml;
|
||||||
|
|
||||||
virtualisation.oci-containers.containers.searxng = {
|
virtualisation.oci-containers.containers.searxng = {
|
||||||
image = "searxng/searxng:latest";
|
image = "searxng/searxng:latest";
|
||||||
|
|
||||||
@@ -45,6 +47,7 @@
|
|||||||
volumes = [
|
volumes = [
|
||||||
"vol_searxng_settings:/etc/searxng/"
|
"vol_searxng_settings:/etc/searxng/"
|
||||||
"vol_searxng_data:/var/cache/searxng/"
|
"vol_searxng_data:/var/cache/searxng/"
|
||||||
|
"/etc/searxng/settings.yml:/etc/searxng/settings.yml"
|
||||||
];
|
];
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
|
|||||||