diff options
Diffstat (limited to 'hosts/cez/modules')
-rw-r--r-- | hosts/cez/modules/sshfs.nix | 22 | ||||
-rw-r--r-- | hosts/cez/modules/wayland.nix | 84 |
2 files changed, 106 insertions, 0 deletions
diff --git a/hosts/cez/modules/sshfs.nix b/hosts/cez/modules/sshfs.nix new file mode 100644 index 0000000..a1f1904 --- /dev/null +++ b/hosts/cez/modules/sshfs.nix @@ -0,0 +1,22 @@ +{ config, pkgs, ... }: + +let + user = config.userdata.user; + domain = config.userdata.domain; +in +{ + system.fsPackages = with pkgs; [ sshfs ]; + + fileSystems."/kay" = { + device = "${user}@${domain}:"; + fsType = "sshfs"; + options = [ + "allow_other" # for non-root access + "_netdev" # this is a network fs + "x-systemd.automount" # mount on demand + "reconnect" # handle connection drops + "ServerAliveInterval=15" # keep connections alive + "IdentityFile=/var/secrets/ssh/${user}.key" + ]; + }; +} diff --git a/hosts/cez/modules/wayland.nix b/hosts/cez/modules/wayland.nix new file mode 100644 index 0000000..98a8540 --- /dev/null +++ b/hosts/cez/modules/wayland.nix @@ -0,0 +1,84 @@ +{ config, pkgs, ... }: + +let + user = config.userdata.user; +in +{ + imports = [ ../../../modules/seatd.nix ]; + + # pkgs + environment.systemPackages = with pkgs; [ + dwl-sinan + wmenu + pinentry-gnome + swaylock + swayidle + swaybg + foot + wl-clipboard + mako + wayland + xdg-utils + libnotify + wob + wlr-randr + ]; + users.users.${user}.packages = with pkgs; [ + zathura + mpv + imv + wtype + tor-browser-bundle-bin + qemu + OVMFFull + element-desktop + grim + slurp + ]; + + # font + fonts = { + packages = with pkgs; [ + terminus-nerdfont + dm-sans + ]; + enableDefaultPackages = true; + fontconfig = { + hinting.style = "full"; + defaultFonts = { + monospace = [ "Terminess Nerd Font" ]; + serif = [ "DeepMind Sans" ]; + sansSerif = [ "DeepMind Sans" ]; + }; + }; + }; + + # misc + services = { + seatd.enable = true; + dbus = { + implementation = "broker"; + enable = true; + }; + }; + + programs = { + xwayland.enable = true; + gnupg.agent = { + enable = true; + pinentryFlavor = "gnome3"; + }; + firefox = { + enable = true; + preferences = { + "media.ffmpeg.vaapi.enabled" = true; + "gfx.webrender.all" = true; + "identity.fxaccounts.enabled" = false; + }; + }; + }; + + userdata.groups = [ "seat" ]; + security.pam.services.swaylock.text = "auth include login"; + hardware.opengl.enable = true; +} |