about summary refs log tree commit diff
path: root/users/grfn/system/home
diff options
context:
space:
mode:
authorGriffin Smith <grfn@gws.fyi>2022-07-19T21·39-0400
committergrfn <grfn@gws.fyi>2022-07-20T02·48+0000
commit7ac9b76c3cd42d0754bcde9bba0c9da0c64ec844 (patch)
tree380ff110e0d4fc300d5b77f7f7a2cea55acb76eb /users/grfn/system/home
parent482e1b201c2b3ff115dd7b8f52dc786b41e676a7 (diff)
feat(grfn/system): Add ogopogo r/4307
This is my new work desktop

https://en.wikipedia.org/wiki/Ogopogo

Change-Id: I198d8757ff85eec00a303b990efdd2658cbc3e6a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5963
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Diffstat (limited to 'users/grfn/system/home')
-rw-r--r--users/grfn/system/home/default.nix4
-rw-r--r--users/grfn/system/home/machines/ogopogo.nix68
2 files changed, 72 insertions, 0 deletions
diff --git a/users/grfn/system/home/default.nix b/users/grfn/system/home/default.nix
index 874d7b2cb2..f821999b99 100644
--- a/users/grfn/system/home/default.nix
+++ b/users/grfn/system/home/default.nix
@@ -22,6 +22,10 @@ rec {
 
   dobharchuHome = dobharchu.activation-script;
 
+  ogopogo = home ./machines/ogopogo.nix;
+
+  ogopogoHome = ogopogo.activation-script;
+
   yeren = home ./machines/yeren.nix;
 
   yerenHome = yeren.activation-script;
diff --git a/users/grfn/system/home/machines/ogopogo.nix b/users/grfn/system/home/machines/ogopogo.nix
new file mode 100644
index 0000000000..19d3a54672
--- /dev/null
+++ b/users/grfn/system/home/machines/ogopogo.nix
@@ -0,0 +1,68 @@
+{ pkgs, lib, config, ... }:
+
+let
+  inherit (builtins) pathExists;
+  laptopKeyboardId = "5";
+in
+
+{
+  imports = [
+    ../platforms/linux.nix
+    ../modules/common.nix
+    ../modules/desktop.nix
+    ../modules/development/agda.nix
+    ../modules/development/readyset.nix
+  ] ++ (lib.optional (pathExists ../modules/private.nix) ../modules/private.nix);
+
+  programs.home-manager.enable = true;
+  home.stateVersion = "21.11";
+
+  system.machine = {
+    wirelessInterface = "wlp4s0";
+    i3FontSize = 9;
+  };
+
+  home.packages = with pkgs; [
+    zoom-us
+    slack
+    mysql
+    graphviz
+    gnuplot
+    mypaint
+    xdot
+    tdesktop
+    subsurface
+    discord
+    steam
+  ];
+
+  systemd.user.services.laptop-keyboard = {
+    Unit = {
+      Description = "Swap caps+escape and alt+super, but only on the built-in laptop keyboard";
+      After = [ "graphical-session-pre.target" ];
+      PartOf = [ "graphical-session.target" ];
+    };
+
+    Install = { WantedBy = [ "graphical-session.target" ]; };
+
+    Service = {
+      Type = "oneshot";
+      RemainAfterExit = true;
+      ExecStart = (
+        "${pkgs.xorg.setxkbmap}/bin/setxkbmap "
+        + "-device ${laptopKeyboardId} "
+        + "-option caps:swapescape "
+        + "-option compose:ralt "
+        + "-option altwin:swap_alt_win"
+      );
+    };
+  };
+
+  xsession.windowManager.i3.config.keybindings.F9 = "exec lock";
+
+  # Telegram adds this to ~/.config/mimeapps.list if it isn't already there,
+  # preventing home manager from installing (since it doesn't want to overwrite
+  # the file)
+  xdg.mimeApps.defaultApplications."x-scheme-handler/tg" =
+    "userapp-Telegram Desktop-K290F1.desktop";
+}