diff options
Diffstat (limited to 'hosts/cez')
-rw-r--r-- | hosts/cez/configuration.nix | 10 | ||||
-rw-r--r-- | hosts/cez/modules/sshfs.nix | 22 | ||||
-rw-r--r-- | hosts/cez/modules/wayland.nix | 84 | ||||
-rw-r--r-- | hosts/cez/overlays/wmenu.nix | 12 |
4 files changed, 125 insertions, 3 deletions
diff --git a/hosts/cez/configuration.nix b/hosts/cez/configuration.nix index ac2d2ea..fb991d9 100644 --- a/hosts/cez/configuration.nix +++ b/hosts/cez/configuration.nix @@ -6,9 +6,13 @@ in { imports = [ ./hardware-configuration.nix - ../../modules/wayland.nix - ../../modules/sshfs.nix - ../common.nix + ./modules/wayland.nix + ./modules/sshfs.nix + ../../common.nix + ]; + + nixpkgs.overlays = [ + (import ./overlays/wmenu.nix) ]; boot = { 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; +} diff --git a/hosts/cez/overlays/wmenu.nix b/hosts/cez/overlays/wmenu.nix new file mode 100644 index 0000000..cad340b --- /dev/null +++ b/hosts/cez/overlays/wmenu.nix @@ -0,0 +1,12 @@ +final: prev: + +{ + wmenu = prev.wmenu.overrideAttrs (finalAttrs: prevAttrs: + { + pname = prevAttrs.pname + "-sinan"; + postPatch = '' + sed 's/monospace 10/monospace 13/g' -i main.c + ''; + } + ); +} |