diff options
Diffstat (limited to 'hosts')
-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 | ||||
-rw-r--r-- | hosts/common.nix | 95 | ||||
-rw-r--r-- | hosts/kay/configuration.nix | 2 |
6 files changed, 126 insertions, 99 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 + ''; + } + ); +} diff --git a/hosts/common.nix b/hosts/common.nix deleted file mode 100644 index 8cc13d8..0000000 --- a/hosts/common.nix +++ /dev/null @@ -1,95 +0,0 @@ -{ config, pkgs, lib, ... }: - -let - user = config.userdata.user; - groups = config.userdata.groups; - host = config.networking.hostName; -in -{ - imports = [ - ../modules/userdata.nix - ../modules/dev.nix - ]; - - # boot - boot = { - tmp.useTmpfs = true; - loader = { - timeout = 1; - systemd-boot.enable = true; - efi.canTouchEfiVariables = true; - }; - }; - - # networking - time.timeZone = "Asia/Kolkata"; - networking.useDHCP = lib.mkDefault true; - - # users - users.users.${user} = { - isNormalUser = true; - extraGroups = [ - "wheel" - "adbusers" - ] ++ groups; - packages = with pkgs; [ - pass - yt-dlp - geoipWithDatabase - dig - nnn - ffmpeg - rtorrent - ps_mem - brightnessctl - neofetch - ]; - }; - - # system - environment = { - binsh = "${pkgs.dash}/bin/dash"; - shellAliases = { - ls = "ls --color=auto --group-directories-first"; - grep = "grep --color=auto"; - }; - systemPackages = with pkgs; [ - dash - unzip - bc - file - git - htop - curl - neovim - age - sops - ]; - }; - system.stateVersion = "23.05"; - - # nix - nix.settings.experimental-features = [ - "flakes" - "nix-command" - ]; - nixpkgs.overlays = (import ../overlays); - - # sops - sops = { - defaultSopsFile = "./${host}/secrets.yaml"; - age.keyFile = "/var/secrets/sops-nix/key.txt"; - }; - - # programs - programs = { - adb.enable = true; - bash.promptInit = '' - PROMPT_COLOR="1;31m" - [ "$UID" -ne 0 ] && - PROMPT_COLOR="1;32m" - - PS1="\[\033[$PROMPT_COLOR\][\[\e]0;\u@\h: \w\a\]\u@\h:\w]\\$\[\033[0m\] " - ''; - }; -} diff --git a/hosts/kay/configuration.nix b/hosts/kay/configuration.nix index 74d49e6..da92a83 100644 --- a/hosts/kay/configuration.nix +++ b/hosts/kay/configuration.nix @@ -3,7 +3,7 @@ { imports = [ ./hardware-configuration.nix - ../common.nix + ../../common.nix ]; networking.hostName = "kay"; |