summaryrefslogtreecommitdiff
path: root/os
diff options
context:
space:
mode:
authoradikro <adikro@disroot.org>2025-12-26 21:19:02 +0100
committeradikro <adikro@disroot.org>2025-12-26 21:19:02 +0100
commitdb44d490d1b6e25212a5bd7cd0f3a390cf394b55 (patch)
tree4144bbd6af8216da847c44dba30aed418e71c371 /os
parenta6e1c4deec2bc9381159ea9231f4e8a8a8a6c703 (diff)
added ssh support, renamed sys to os
Diffstat (limited to 'os')
-rw-r--r--os/core/audio.nix7
-rw-r--r--os/core/bootloader.nix4
-rw-r--r--os/core/core.nix1
-rw-r--r--os/core/drivers.nix4
-rw-r--r--os/core/fonts.nix4
-rw-r--r--os/core/greet.nix4
-rw-r--r--os/core/home-manager.nix4
-rw-r--r--os/core/localization.nix4
-rw-r--r--os/core/memory.nix4
-rw-r--r--os/core/networking.nix4
-rw-r--r--os/core/power.nix4
-rw-r--r--os/core/security.nix10
-rw-r--r--os/core/ssh.nix27
-rw-r--r--os/core/storage.nix4
-rw-r--r--os/core/users.nix22
-rw-r--r--os/srv/autoclicker.nix4
-rw-r--r--os/srv/compat.nix4
-rw-r--r--os/srv/docker.nix4
-rw-r--r--os/srv/files.nix6
-rw-r--r--os/srv/gaming.nix4
-rw-r--r--os/srv/kvm.nix6
-rw-r--r--os/srv/nix-helper.nix4
-rw-r--r--os/srv/ollama.nix4
-rw-r--r--os/wm/niri.nix6
-rw-r--r--os/wm/wm.nix4
25 files changed, 88 insertions, 65 deletions
diff --git a/os/core/audio.nix b/os/core/audio.nix
index 4868c7d..8d44375 100644
--- a/os/core/audio.nix
+++ b/os/core/audio.nix
@@ -1,9 +1,9 @@
-{ config, lib, pkgs, username, ... }:
+{ config, lib, pkgs, ... }:
let
- cfg = config.sys.core.audio;
+ cfg = config.os.core.audio;
in
{
- options.sys.core.audio.enable = lib.mkEnableOption "audio support";
+ options.os.core.audio.enable = lib.mkEnableOption "audio support";
config = lib.mkIf cfg.enable {
services = {
pipewire = {
@@ -18,7 +18,6 @@ in
playerctld.enable = true;
spotifyd.enable = true;
};
-
security.rtkit.enable = true;
hardware.enableAllFirmware = true;
diff --git a/os/core/bootloader.nix b/os/core/bootloader.nix
index ff0aad5..da43050 100644
--- a/os/core/bootloader.nix
+++ b/os/core/bootloader.nix
@@ -1,9 +1,9 @@
{ config, lib, ... }:
let
- cfg = config.sys.core.bootloader;
+ cfg = config.os.core.bootloader;
in
{
- options.sys.core.bootloader = lib.mkOption {
+ options.os.core.bootloader = lib.mkOption {
type = lib.types.enum [ "systemd-boot" "grub" "none" ];
default = "systemd-boot";
description = "which bootloader to use";
diff --git a/os/core/core.nix b/os/core/core.nix
index 428d7ea..b1753ad 100644
--- a/os/core/core.nix
+++ b/os/core/core.nix
@@ -15,6 +15,7 @@ in
./networking.nix
./power.nix
./security.nix
+ ./ssh.nix
./storage.nix
./users.nix
];
diff --git a/os/core/drivers.nix b/os/core/drivers.nix
index c769786..21e726c 100644
--- a/os/core/drivers.nix
+++ b/os/core/drivers.nix
@@ -1,9 +1,9 @@
{ config, lib, pkgs, ... }:
let
- cfg = config.sys.core.drivers;
+ cfg = config.os.core.drivers;
in
{
- options.sys.core.drivers = {
+ options.os.core.drivers = {
enable = lib.mkEnableOption "enables hardware drivers";
amd.enable = lib.mkEnableOption "AMD specific drivers and microcode";
stability = lib.mkOption {
diff --git a/os/core/fonts.nix b/os/core/fonts.nix
index 1173439..85f8256 100644
--- a/os/core/fonts.nix
+++ b/os/core/fonts.nix
@@ -1,9 +1,9 @@
{ config, lib, pkgs, ... }:
let
- cfg = config.sys.core.fonts;
+ cfg = config.os.core.fonts;
in
{
- options.sys.core.fonts.enable = lib.mkEnableOption "system-wide font and console configuration";
+ options.os.core.fonts.enable = lib.mkEnableOption "system-wide font and console configuration";
config = lib.mkIf cfg.enable {
console = {
diff --git a/os/core/greet.nix b/os/core/greet.nix
index 95603e8..953b017 100644
--- a/os/core/greet.nix
+++ b/os/core/greet.nix
@@ -1,9 +1,9 @@
{ config, lib, pkgs, ... }:
let
- cfg = config.sys.core.greet;
+ cfg = config.os.core.greet;
in
{
- options.sys.core.greet.enable = lib.mkEnableOption "enables greetd daemon with tuigreet";
+ options.os.core.greet.enable = lib.mkEnableOption "enables greetd daemon with tuigreet";
config = lib.mkIf cfg.enable {
services.greetd = {
enable = true;
diff --git a/os/core/home-manager.nix b/os/core/home-manager.nix
index 7bc4b18..32b39b8 100644
--- a/os/core/home-manager.nix
+++ b/os/core/home-manager.nix
@@ -1,11 +1,11 @@
{ inputs, config, lib, username, ... }:
let
- cfg = config.sys.core.home-manager;
+ cfg = config.os.core.home-manager;
in
{
imports = [ inputs.home-manager.nixosModules.home-manager ];
- options.sys.core.home-manager = {
+ options.os.core.home-manager = {
enable = lib.mkEnableOption "home Manager configuration";
users = lib.mkOption {
diff --git a/os/core/localization.nix b/os/core/localization.nix
index 4d45b75..49933fa 100644
--- a/os/core/localization.nix
+++ b/os/core/localization.nix
@@ -1,9 +1,9 @@
{ config, lib, ... }:
let
- cfg = config.sys.core.locale;
+ cfg = config.os.core.locale;
in
{
- options.sys.core.locale = {
+ options.os.core.locale = {
enable = lib.mkEnableOption "system localization (timezone and language)";
timeZone = lib.mkOption {
diff --git a/os/core/memory.nix b/os/core/memory.nix
index 956cc73..b20ec8a 100644
--- a/os/core/memory.nix
+++ b/os/core/memory.nix
@@ -1,9 +1,9 @@
{ config, lib, ... }:
let
- cfg = config.sys.core.memory;
+ cfg = config.os.core.memory;
in
{
- options.sys.core.memory = {
+ options.os.core.memory = {
zram = {
enable = lib.mkEnableOption "enables zram compression";
percent = lib.mkOption {
diff --git a/os/core/networking.nix b/os/core/networking.nix
index 314feb7..1f7e268 100644
--- a/os/core/networking.nix
+++ b/os/core/networking.nix
@@ -1,9 +1,9 @@
{ config, lib, ... }:
let
- cfg = config.sys.core.network;
+ cfg = config.os.core.network;
in
{
- options.sys.core.network.enable = lib.mkEnableOption "system-wide networking setup";
+ options.os.core.network.enable = lib.mkEnableOption "system-wide networking setup";
config = lib.mkIf cfg.enable {
networking = {
networkmanager = {
diff --git a/os/core/power.nix b/os/core/power.nix
index f67665e..3a8bed2 100644
--- a/os/core/power.nix
+++ b/os/core/power.nix
@@ -1,9 +1,9 @@
{ config, lib, ... }:
let
- cfg = config.sys.core.power;
+ cfg = config.os.core.power;
in
{
- options.sys.core.power.enable = lib.mkEnableOption "enables AMD-optimized power management";
+ options.os.core.power.enable = lib.mkEnableOption "enables AMD-optimized power management";
config = lib.mkIf cfg.enable {
services.power-profiles-daemon.enable = true;
diff --git a/os/core/security.nix b/os/core/security.nix
index cfc8bf6..839010b 100644
--- a/os/core/security.nix
+++ b/os/core/security.nix
@@ -1,9 +1,9 @@
{ config, lib, pkgs, ... }:
let
- cfg = config.sys.core.security;
+ cfg = config.os.core.security;
in
{
- options.sys.core.security.enable = lib.mkEnableOption "core security services";
+ options.os.core.security.enable = lib.mkEnableOption "core security services";
config = lib.mkIf cfg.enable {
services.gnome.gnome-keyring.enable = true;
@@ -12,12 +12,6 @@ in
rtkit.enable = true;
};
- programs.gnupg.agent = {
- enable = true;
- enableSSHSupport = true;
- pinentryPackage = pkgs.pinentry-curses;
- };
-
systemd.user.services.polkit-gnome-authentication-agent-1 = {
description = "gnome-polkit-authentication-agent-1";
wantedBy = [ "graphical-session.target" ];
diff --git a/os/core/ssh.nix b/os/core/ssh.nix
new file mode 100644
index 0000000..032bb44
--- /dev/null
+++ b/os/core/ssh.nix
@@ -0,0 +1,27 @@
+{ config, lib, pkgs, ... }:
+let
+ cfg = config.os.core.ssh;
+in
+{
+ options.os.core.ssh.enable = lib.mkEnableOption "enables ssh server setup";
+ config = lib.mkIf cfg.enable {
+ services.tailscale.enable = true;
+
+ services.openssh = {
+ enable = true;
+ PasswordAuthentication = false;
+ KbdInteractiveAuthentication = false;
+ };
+
+ programs.gnupg.agent = {
+ enable = true;
+ enableSSHSupport = true;
+ pinentryPackage = pkgs.pinentry-curses;
+ };
+
+ networking.firewall = {
+ trustedInterfaces = [ "tailscale0" ];
+ allowedUDPPorts = [ 41641 ];
+ };
+ };
+}
diff --git a/os/core/storage.nix b/os/core/storage.nix
index 693e5e7..b498084 100644
--- a/os/core/storage.nix
+++ b/os/core/storage.nix
@@ -1,9 +1,9 @@
{ config, lib, ... }:
let
- cfg = config.sys.core.storage;
+ cfg = config.os.core.storage;
in
{
- options.sys.core.storage = {
+ options.os.core.storage = {
enable = lib.mkEnableOption "enables storage management";
keepDays = lib.mkOption {
diff --git a/os/core/users.nix b/os/core/users.nix
index d0af69f..7ef4f9a 100644
--- a/os/core/users.nix
+++ b/os/core/users.nix
@@ -1,23 +1,25 @@
-{ config, lib, pkgs, username, ... }:
+{ config, lib, pkgs, ... }:
let
- cfg = config.sys.core.users;
+ cfg = config.os.core.users;
in
{
- options.sys.core.users.enable = lib.mkEnableOption "enables user accounts";
+ options.os.core.users.enable = lib.mkEnableOption "enables user accounts";
config = lib.mkIf cfg.enable {
programs.fish.enable = true;
- users.users.${username} = {
+ users.users.adam = {
isNormalUser = true;
shell = pkgs.fish;
-
+ openssh.authorizedKeys.keys = [
+ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDdQ7yU6kYnqM0zNQZC4M+lKLaNSmWHNvmxGy6mQ3wAXhgZbm1YzXF7/oirx1y8JQhukEkdF0ftSVw9DuZEoVwIOhGkJfFJwoWWdB8xZ215EZjqU3RczcMjI+SeyUMAzNdU84rF+lYF3NLHrdzLv98bq6S1W8a6w8+ofl7WZtDcdwOn5XMc9JV0YBuZj41mKgU7rzVOq61zRiCPsKhCIc/1MVPgHxVT4pN7j9eG0dgLKMluZY9BfnOf3SopcbfxFpPWVFNGN18RKQY7LbJ26FBRhGZQMwMYoHsN+cm0pY1Pw3uJ04volBtEk5Wj1czran1hobaKw9FL/N+g/VN7Ye5r20qyoKUmQZdl/b7E/xA6DpI5R1keW6t8uv/PK2BmjTY1E46tni6uwwywnikP05dsUghcVMWgd3bKQ+9zLyV0bIwlcmk+Ep9A6h0TIl5w/fsuUlHOGSWngeLN0CbRIcNmSOD1k8TpCJeCCVK39QSY+bu3Wite3ygH4jWTx4ofcZM/eoXUhg5fNymdtZYkurW8dps1JE6pj6ORgC0yY8QJCrMri3Ouzdwa/54zJwGQq+kV8EinEP+P5X8088bnS5SpShYKoWmQOAmtMSuIA8AWj6miIVVmZhz16FxnzbI+qOUMuhpdv6EDQtwfJLF+12ASinKMQvlOM3V9XwW13jBBnQ=="
+ ];
extraGroups = lib.mkMerge [
[ "wheel" ]
- (lib.mkIf (config.sys.core.drivers.amd.enable or false) [ "video" "render" ])
- (lib.mkIf (config.sys.core.network.enable or false) [ "networkmanager" ])
- (lib.mkIf (config.sys.srv.kvm.enable or false) [ "libvirtd" ])
- (lib.mkIf (config.sys.srv.docker.enable or false) [ "docker" ])
- (lib.mkIf (config.sys.srv.autoclicker.enable or false) [ "input" ])
+ (lib.mkIf (config.os.core.drivers.amd.enable or false) [ "video" "render" ])
+ (lib.mkIf (config.os.core.network.enable or false) [ "networkmanager" ])
+ (lib.mkIf (config.os.srv.kvm.enable or false) [ "libvirtd" ])
+ (lib.mkIf (config.os.srv.docker.enable or false) [ "docker" ])
+ (lib.mkIf (config.os.srv.autoclicker.enable or false) [ "input" ])
];
};
};
diff --git a/os/srv/autoclicker.nix b/os/srv/autoclicker.nix
index 84cba2e..e9a5d0b 100644
--- a/os/srv/autoclicker.nix
+++ b/os/srv/autoclicker.nix
@@ -1,9 +1,9 @@
{ config, lib, pkgs, ... }:
let
- cfg = config.sys.srv.autoclicker;
+ cfg = config.os.srv.autoclicker;
in
{
- options.sys.srv.autoclicker.enable = lib.mkEnableOption "enables wl-autoclicker";
+ options.os.srv.autoclicker.enable = lib.mkEnableOption "enables wl-autoclicker";
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
wl-autoclicker
diff --git a/os/srv/compat.nix b/os/srv/compat.nix
index ab9560f..f174e02 100644
--- a/os/srv/compat.nix
+++ b/os/srv/compat.nix
@@ -1,9 +1,9 @@
{ config, lib, pkgs, ... }:
let
- cfg = config.sys.srv.compat;
+ cfg = config.os.srv.compat;
in
{
- options.sys.srv.compat.enable = lib.mkEnableOption "enables compatibility with windows & x11";
+ options.os.srv.compat.enable = lib.mkEnableOption "enables compatibility with windows & x11";
config = lib.mkIf cfg.enable {
programs.xwayland = {
enable = true;
diff --git a/os/srv/docker.nix b/os/srv/docker.nix
index 0ed1541..a87ea5d 100644
--- a/os/srv/docker.nix
+++ b/os/srv/docker.nix
@@ -1,9 +1,9 @@
{ config, lib, pkgs, username, ... }:
let
- cfg = config.sys.srv.docker;
+ cfg = config.os.srv.docker;
in
{
- options.sys.srv.docker.enable = lib.mkEnableOption "enables the docker container engine";
+ options.os.srv.docker.enable = lib.mkEnableOption "enables the docker container engine";
config = lib.mkIf cfg.enable {
virtualisation.docker.enable = true;
diff --git a/os/srv/files.nix b/os/srv/files.nix
index 9b5759e..4a26c74 100644
--- a/os/srv/files.nix
+++ b/os/srv/files.nix
@@ -1,15 +1,15 @@
{ config, lib, pkgs, ... }:
let
- cfg = config.sys.srv.files;
+ cfg = config.os.srv.files;
in
{
- options.sys.srv.files = {
+ options.os.srv.files = {
thunar.enable = lib.mkEnableOption "enables the thunar file manager";
utils.enable = lib.mkEnableOption "enables compression and trash utilities";
};
config = lib.mkMerge [
{
- sys.srv.files.utils.enable = lib.mkDefault cfg.thunar.enable;
+ os.srv.files.utils.enable = lib.mkDefault cfg.thunar.enable;
}
(lib.mkIf cfg.thunar.enable {
diff --git a/os/srv/gaming.nix b/os/srv/gaming.nix
index ee7f608..b8d59e0 100644
--- a/os/srv/gaming.nix
+++ b/os/srv/gaming.nix
@@ -1,9 +1,9 @@
{ config, lib, pkgs, username, ... }:
let
- cfg = config.sys.srv.gaming;
+ cfg = config.os.srv.gaming;
in
{
- options.sys.srv.gaming = {
+ options.os.srv.gaming = {
enable = lib.mkEnableOption "enables gaming utilities";
steam.enable = lib.mkEnableOption "enables steam utilities";
vr.enable = lib.mkEnableOption "enables vr support";
diff --git a/os/srv/kvm.nix b/os/srv/kvm.nix
index 2cf8c26..47a4265 100644
--- a/os/srv/kvm.nix
+++ b/os/srv/kvm.nix
@@ -1,9 +1,9 @@
{ config, lib, pkgs, ... }:
let
- cfg = config.sys.srv.kvm;
+ cfg = config.os.srv.kvm;
in
{
- options.sys.srv.kvm.enable = lib.mkEnableOption "KVM/QEMU virtualization with Virt-Manager";
+ options.os.srv.kvm.enable = lib.mkEnableOption "KVM/QEMU virtualization with Virt-Manager";
config = lib.mkIf cfg.enable {
virtualisation.libvirtd = {
enable = true;
@@ -13,6 +13,6 @@ in
programs.virt-manager.enable = true;
- boot.initrd.kernelModules = lib.optional (config.sys.core.drivers.amd.enable or false) "kvm-amd";
+ boot.initrd.kernelModules = lib.optional (config.os.core.drivers.amd.enable or false) "kvm-amd";
};
}
diff --git a/os/srv/nix-helper.nix b/os/srv/nix-helper.nix
index 6a64201..4999908 100644
--- a/os/srv/nix-helper.nix
+++ b/os/srv/nix-helper.nix
@@ -1,9 +1,9 @@
{ config, lib, pkgs, username, ... }:
let
- cfg = config.sys.srv.nix-helper;
+ cfg = config.os.srv.nix-helper;
in
{
- options.sys.srv.nix-helper.enable = lib.mkEnableOption "enables nix-helper";
+ options.os.srv.nix-helper.enable = lib.mkEnableOption "enables nix-helper";
config = lib.mkIf cfg.enable {
nix.settings = {
trusted-users = [ "root" "${username}" ];
diff --git a/os/srv/ollama.nix b/os/srv/ollama.nix
index 11babd6..7a9bc78 100644
--- a/os/srv/ollama.nix
+++ b/os/srv/ollama.nix
@@ -1,9 +1,9 @@
{ config, lib, pkgs, ... }:
let
- cfg = config.sys.srv.ollama;
+ cfg = config.os.srv.ollama;
in
{
- options.sys.srv.ollama.enable = lib.mkEnableOption "Ollama AI service";
+ options.os.srv.ollama.enable = lib.mkEnableOption "Ollama AI service";
config = lib.mkIf cfg.enable {
fileSystems."/models" = {
device = "/home/ollama";
diff --git a/os/wm/niri.nix b/os/wm/niri.nix
index c92b068..e8f5d79 100644
--- a/os/wm/niri.nix
+++ b/os/wm/niri.nix
@@ -1,11 +1,11 @@
{ inputs, config, lib, pkgs, username, ... }:
let
- cfg = config.sys.wm.niri;
+ cfg = config.os.wm.niri;
in
{
imports = [ inputs.niri.nixosModules.niri ];
- options.sys.wm.niri.enable = lib.mkEnableOption "Niri";
+ options.os.wm.niri.enable = lib.mkEnableOption "Niri";
config = lib.mkIf cfg.enable {
nixpkgs.overlays = [ inputs.niri.overlays.niri ];
@@ -15,7 +15,7 @@ in
package = pkgs.niri-unstable;
};
- sys.srv.compat.enable = true;
+ os.srv.compat.enable = true;
home-manager.users.${username}.hm.env.niri.enable = true;
};
}
diff --git a/os/wm/wm.nix b/os/wm/wm.nix
index 5374264..8254722 100644
--- a/os/wm/wm.nix
+++ b/os/wm/wm.nix
@@ -1,13 +1,13 @@
{ config, lib, pkgs, ... }:
let
- cfg = config.sys.wm;
+ cfg = config.os.wm;
in
{
imports = [
./niri.nix
];
- options.sys.wm.enable = lib.mkEnableOption "enables shared wm features";
+ options.os.wm.enable = lib.mkEnableOption "enables shared wm features";
config = lib.mkIf cfg.enable {
services.dbus.enable = true;