diff options
Diffstat (limited to 'os/core')
| -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 |
15 files changed, 65 insertions, 42 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" ]) ]; }; }; |
