From eb494b3a65af5fdd24a07e25b54b1fb34771a6b5 Mon Sep 17 00:00:00 2001 From: tristan Date: Sat, 6 Jan 2024 18:02:01 +0000 Subject: [PATCH] work fixes --- flake.nix | 4 ++- home/programs/work.nix | 60 ++++++++++++++++++++++++++++++++ nixos/modules/keyboard.nix | 61 ++++++++++++++++---------------- nixos/modules/work.nix | 71 +++----------------------------------- 4 files changed, 99 insertions(+), 97 deletions(-) create mode 100644 home/programs/work.nix diff --git a/flake.nix b/flake.nix index e8ae86d..356b9fb 100644 --- a/flake.nix +++ b/flake.nix @@ -44,7 +44,9 @@ ./hardware/fcs-tristan-nixbook.nix ./nixos/programs/hyprland.nix ./nixos/modules/work.nix - ] []; + ] [ + ./home/programs/work.nix + ]; }; }; } diff --git a/home/programs/work.nix b/home/programs/work.nix new file mode 100644 index 0000000..6f62a4f --- /dev/null +++ b/home/programs/work.nix @@ -0,0 +1,60 @@ +{pkgs, ...}: { + roles.email = { + enable = true; + email = "tristan.beedell@cryoserver.com"; + terminal = false; + }; + + programs.editor = { + package = pkgs.vscode; + }; + + home.packages = with pkgs; [ + onedrive + kubectl + awscli2 + docker-compose + minikube + kubernetes-helm + thunderbird + (import ../../lib/mkapp.nix "slack" { + inherit pkgs; + desktopName = "Slack"; + app-id = "mpagibdhafmlkgpemeicgogjnhclenoc"; + browser = "${brave}/opt/brave.com/brave/brave-browser"; + }) + (import ../../lib/mkapp.nix "teams" { + inherit pkgs; + browser = "${brave}/opt/brave.com/brave/brave-browser"; + app-id = "cifhbcnohmdccbgoicgdjpfamggdegmo"; + desktopName = "Microsoft Teams"; + }) + (pkgs.writeShellScriptBin "codex11" '' + NIXOS_OZONE_WL= ${pkgs.vscode}/bin/code $@ + '') + remmina + ]; + + gtk.gtk3.bookmarks = [ + "file:///home/tristan/OneDrive/Documents/ OneDrive" + ]; + + programs.vscode = { + extensions = with pkgs; [ + vscode-extensions.ms-azuretools.vscode-docker + ]; + userSettings = { + "aws.telemetry" = false; + "gitlens.telemetry.enabled" = false; + "redhat.telemetry.enabled" = false; + }; + }; + + wayland.windowManager.hyprland = { + extraConfig = '' + # === WORK MODULE === + bind = SUPER, E, focuswindow, thunderbird + bind = SUPER, t, focuswindow, brave-cifhbcnohmdccbgoicgdjpfamggdegmo-Profile_2 + ''; + }; +} diff --git a/nixos/modules/keyboard.nix b/nixos/modules/keyboard.nix index a074458..895fda7 100644 --- a/nixos/modules/keyboard.nix +++ b/nixos/modules/keyboard.nix @@ -2,37 +2,38 @@ lib, config, ... -}: -let user = config.user; in -with lib; { - options.keyboard = { - dvorak = { - enable = mkEnableOption "use a good keyboard layout on a qwerty keyboard"; +}: let + user = config.user; +in + with lib; { + options.keyboard = { + dvorak = { + enable = mkEnableOption "use a good keyboard layout on a qwerty keyboard"; + }; }; - }; - config = { - home-manager.users.${user}.imports = [ - { - wayland.windowManager.hyprland = { - settings = { - input = { - kb_layout = "gb"; - kb_options = "caps:escape"; - numlock_by_default = true; - }; - # moonlander is programmed in dvorak! - "device:zsa-technology-labs-moonlander-mark-i" = { - kb_variant = ""; - kb_options = "esperanto:qwerty,lv3:ralt_switch"; + config = { + home-manager.users.${user}.imports = [ + { + wayland.windowManager.hyprland = { + settings = { + input = { + kb_layout = "gb"; + kb_options = "caps:escape"; + numlock_by_default = true; + }; + # moonlander is programmed in dvorak! + "device:zsa-technology-labs-moonlander-mark-i" = { + kb_variant = ""; + kb_options = "esperanto:qwerty,lv3:ralt_switch"; + }; }; }; - }; - } - ]; - services.xserver.xkbVariant = - if config.keyboard.dvorak.enable - then "dvorak" - else ""; - }; -} + } + ]; + services.xserver.xkbVariant = + if config.keyboard.dvorak.enable + then "dvorak" + else ""; + }; + } diff --git a/nixos/modules/work.nix b/nixos/modules/work.nix index e5c1a2c..8327ad3 100644 --- a/nixos/modules/work.nix +++ b/nixos/modules/work.nix @@ -1,72 +1,11 @@ -user: { +{ lib, pkgs, config, ... -}: { - home-manager.users.${user}.imports = [ - { - roles.email = { - enable = true; - email = "tristan.beedell@cryoserver.com"; - terminal = false; - }; - - programs.editor = { - package = pkgs.vscode; - }; - - home.packages = with pkgs; [ - onedrive - kubectl - awscli2 - docker-compose - minikube - kubernetes-helm - thunderbird - (import ../../lib/mkapp.nix "slack" { - inherit pkgs; - desktopName = "Slack"; - app-id = "mpagibdhafmlkgpemeicgogjnhclenoc"; - browser = "${brave}/opt/brave.com/brave/brave-browser"; - }) - (import ../../lib/mkapp.nix "teams" { - inherit pkgs; - browser = "${brave}/opt/brave.com/brave/brave-browser"; - app-id = "cifhbcnohmdccbgoicgdjpfamggdegmo"; - desktopName = "Microsoft Teams"; - }) - (pkgs.writeShellScriptBin "codex11" '' - NIXOS_OZONE_WL= ${pkgs.vscode}/bin/code $@ - '') - remmina - ]; - - gtk.gtk3.bookmarks = [ - "file:///home/tristan/OneDrive/Documents/ OneDrive" - ]; - - programs.vscode = { - extensions = with pkgs; [ - vscode-extensions.ms-azuretools.vscode-docker - ]; - userSettings = { - "aws.telemetry" = false; - "gitlens.telemetry.enabled" = false; - "redhat.telemetry.enabled" = false; - }; - }; - - wayland.windowManager.hyprland = { - extraConfig = '' - # === WORK MODULE === - bind = SUPER, E, focuswindow, thunderbird - bind = SUPER, t, focuswindow, brave-cifhbcnohmdccbgoicgdjpfamggdegmo-Profile_2 - ''; - }; - } - ]; - +}: let + user = config.user; +in { nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ # nonfree vscode required for dev containers @@ -80,7 +19,7 @@ user: { }; }; - users.users.tristan.extraGroups = ["docker"]; + users.users.${user}.extraGroups = ["docker"]; virtualisation.docker = { enable = true; storageDriver = "btrfs";