summaryrefslogtreecommitdiff
path: root/hosts/cez
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/cez')
-rw-r--r--hosts/cez/configuration.nix10
-rw-r--r--hosts/cez/modules/sshfs.nix22
-rw-r--r--hosts/cez/modules/wayland.nix84
-rw-r--r--hosts/cez/overlays/wmenu.nix12
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
+ '';
+ }
+ );
+}