diff options
Diffstat (limited to 'os')
| -rw-r--r-- | os/core/audio.nix | 7 | ||||
| -rw-r--r-- | os/core/bootloader.nix | 4 | ||||
| -rw-r--r-- | os/core/core.nix | 1 | ||||
| -rw-r--r-- | os/core/drivers.nix | 4 | ||||
| -rw-r--r-- | os/core/fonts.nix | 4 | ||||
| -rw-r--r-- | os/core/greet.nix | 4 | ||||
| -rw-r--r-- | os/core/home-manager.nix | 4 | ||||
| -rw-r--r-- | os/core/localization.nix | 4 | ||||
| -rw-r--r-- | os/core/memory.nix | 4 | ||||
| -rw-r--r-- | os/core/networking.nix | 4 | ||||
| -rw-r--r-- | os/core/power.nix | 4 | ||||
| -rw-r--r-- | os/core/security.nix | 10 | ||||
| -rw-r--r-- | os/core/ssh.nix | 27 | ||||
| -rw-r--r-- | os/core/storage.nix | 4 | ||||
| -rw-r--r-- | os/core/users.nix | 22 | ||||
| -rw-r--r-- | os/srv/autoclicker.nix | 4 | ||||
| -rw-r--r-- | os/srv/compat.nix | 4 | ||||
| -rw-r--r-- | os/srv/docker.nix | 4 | ||||
| -rw-r--r-- | os/srv/files.nix | 6 | ||||
| -rw-r--r-- | os/srv/gaming.nix | 4 | ||||
| -rw-r--r-- | os/srv/kvm.nix | 6 | ||||
| -rw-r--r-- | os/srv/nix-helper.nix | 4 | ||||
| -rw-r--r-- | os/srv/ollama.nix | 4 | ||||
| -rw-r--r-- | os/wm/niri.nix | 6 | ||||
| -rw-r--r-- | os/wm/wm.nix | 4 |
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; |
