summaryrefslogtreecommitdiff
path: root/os/core
diff options
context:
space:
mode:
Diffstat (limited to 'os/core')
-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
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" ])
];
};
};