summaryrefslogtreecommitdiff
path: root/hosts
diff options
context:
space:
mode:
authorsinanmohd <sinan@sinanmohd.com>2023-09-06 18:48:34 +0530
committersinanmohd <sinan@sinanmohd.com>2023-09-06 19:02:57 +0530
commit4972c53e861752d9b3ca29a58c71db84973c9ab5 (patch)
tree046098e07e3570a2107ff3ef979a0b74d837ea0a /hosts
parent28f11cc5c704b6901dc94551fb1504f0091bb69f (diff)
repo: restructuring
Diffstat (limited to 'hosts')
-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
-rw-r--r--hosts/common.nix95
-rw-r--r--hosts/kay/configuration.nix2
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";