From 654fa9e430be421df30ee79e7ea5f4e40b39dddc Mon Sep 17 00:00:00 2001 From: sinanmohd Date: Tue, 4 Jun 2024 14:38:25 +0530 Subject: home, os: refactor --- os/pc/modules/getty.nix | 15 +++++++++++++++ os/pc/modules/network.nix | 10 ++++++++++ os/pc/modules/sshfs.nix | 25 +++++++++++++++++++++++++ os/pc/modules/wayland.nix | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 86 insertions(+) create mode 100644 os/pc/modules/getty.nix create mode 100644 os/pc/modules/network.nix create mode 100644 os/pc/modules/sshfs.nix create mode 100644 os/pc/modules/wayland.nix (limited to 'os/pc/modules') diff --git a/os/pc/modules/getty.nix b/os/pc/modules/getty.nix new file mode 100644 index 0000000..8c7f57e --- /dev/null +++ b/os/pc/modules/getty.nix @@ -0,0 +1,15 @@ +{ config, ... }: let + user = config.global.userdata.name; +in { + systemd.services."getty@".serviceConfig.TTYVTDisallocate = "no"; + + services.getty = { + loginOptions = "-f ${user}"; + extraArgs = [ + "--nonewline" + "--skip-login" + "--noclear" + "--noissue" + ]; + }; +} diff --git a/os/pc/modules/network.nix b/os/pc/modules/network.nix new file mode 100644 index 0000000..6e07963 --- /dev/null +++ b/os/pc/modules/network.nix @@ -0,0 +1,10 @@ +{ ... }: { + networking.wireless.iwd = { + enable = true; + + settings = { + General.EnableNetworkConfiguration = true; + Network.NameResolvingService = "resolvconf"; + }; + }; +} diff --git a/os/pc/modules/sshfs.nix b/os/pc/modules/sshfs.nix new file mode 100644 index 0000000..2dbccce --- /dev/null +++ b/os/pc/modules/sshfs.nix @@ -0,0 +1,25 @@ +{ config, pkgs, ... }: let + domain = config.global.userdata.domain; + user = config.global.userdata.name; + uid = config.users.users.${user}.uid; + gid = config.users.groups.users.gid; +in { + sops.secrets."misc/sftp".sopsFile = ../secrets.yaml; + system.fsPackages = with pkgs; [ sshfs ]; + + fileSystems."/media/kay" = { + device = "sftp@${domain}:"; + fsType = "sshfs"; + + options = [ + "allow_other" # for non-root access + "uid=${toString uid}" + "gid=${toString gid}" + "_netdev" # this is a network fs + "x-systemd.automount" # mount on demand + "reconnect" # handle connection drops + "ServerAliveInterval=15" # keep connections alive + "IdentityFile=${config.sops.secrets."misc/sftp".path}" + ]; + }; +} diff --git a/os/pc/modules/wayland.nix b/os/pc/modules/wayland.nix new file mode 100644 index 0000000..e609cd9 --- /dev/null +++ b/os/pc/modules/wayland.nix @@ -0,0 +1,36 @@ +{ config, ... }: let + user = config.global.userdata.name; + + fontSans = config.global.font.sans.name; + fontMonospace = config.global.font.monospace.name; + fontPackages = config.global.font.monospace.packages + ++ config.global.font.sans.packages; +in { + fonts = { + packages = fontPackages; + enableDefaultPackages = true; + + fontconfig = { + hinting.style = "full"; + subpixel.rgba = "rgb"; + + defaultFonts = { + monospace = [ fontMonospace ]; + serif = [ fontSans ]; + sansSerif = [ fontSans ]; + }; + }; + }; + + users.users.${user}.extraGroups = [ "seat" ]; + services = { + seatd.enable = true; + dbus = { + enable = true; + implementation = "broker"; + }; + }; + + hardware.opengl.enable = true; + security.pam.services.swaylock = {}; +} -- cgit v1.2.3