From 4e82b684e5c31f5f93125435762b3550b028a728 Mon Sep 17 00:00:00 2001 From: Evan Reichard Date: Thu, 27 Mar 2025 13:42:27 -0400 Subject: [PATCH] hm --- .../btop/default.nix | 10 -- .../evanreichard@MBP-Personal/default.nix | 67 ++------- .../direnv/default.nix | 6 - .../hyprland/default.nix | 8 -- .../powerline/default.nix | 16 --- .../readline/default.nix | 10 -- .../waybar/default.nix | 114 ---------------- modules/home/programs/aws/default.nix | 18 +++ .../home/programs}/btop/config/btop.conf | 0 .../btop/config/catppuccin_mocha.theme | 0 modules/home/programs/btop/default.nix | 19 +++ modules/home/programs/direnv/default.nix | 17 +++ modules/home/programs/ghostty/default.nix | 24 ++++ .../programs}/hyprland/config/hyprland.conf | 0 .../programs/hyprland/config/waybar-style.css | 0 modules/home/programs/hyprland/default.nix | 129 ++++++++++++++++++ modules/home/programs/k9s/default.nix | 19 +++ 17 files changed, 239 insertions(+), 218 deletions(-) delete mode 100644 homes/aarch64-darwin/evanreichard@MBP-Personal/btop/default.nix delete mode 100644 homes/aarch64-darwin/evanreichard@MBP-Personal/direnv/default.nix delete mode 100644 homes/aarch64-darwin/evanreichard@MBP-Personal/hyprland/default.nix delete mode 100644 homes/aarch64-darwin/evanreichard@MBP-Personal/powerline/default.nix delete mode 100644 homes/aarch64-darwin/evanreichard@MBP-Personal/readline/default.nix delete mode 100644 homes/aarch64-darwin/evanreichard@MBP-Personal/waybar/default.nix create mode 100644 modules/home/programs/aws/default.nix rename {homes/aarch64-darwin/evanreichard@MBP-Personal => modules/home/programs}/btop/config/btop.conf (100%) rename {homes/aarch64-darwin/evanreichard@MBP-Personal => modules/home/programs}/btop/config/catppuccin_mocha.theme (100%) create mode 100644 modules/home/programs/btop/default.nix create mode 100644 modules/home/programs/direnv/default.nix rename {homes/aarch64-darwin/evanreichard@MBP-Personal => modules/home/programs}/hyprland/config/hyprland.conf (100%) rename homes/aarch64-darwin/evanreichard@MBP-Personal/waybar/config/style.css => modules/home/programs/hyprland/config/waybar-style.css (100%) create mode 100644 modules/home/programs/hyprland/default.nix create mode 100644 modules/home/programs/k9s/default.nix diff --git a/homes/aarch64-darwin/evanreichard@MBP-Personal/btop/default.nix b/homes/aarch64-darwin/evanreichard@MBP-Personal/btop/default.nix deleted file mode 100644 index 04df897..0000000 --- a/homes/aarch64-darwin/evanreichard@MBP-Personal/btop/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - programs.btop = { - enable = true; - }; - - home.file.".config/btop/btop.conf".text = - builtins.readFile ./config/btop.conf; - home.file.".config/btop/themes/catppuccin_mocha.theme".text = - builtins.readFile ./config/catppuccin_mocha.theme; -} diff --git a/homes/aarch64-darwin/evanreichard@MBP-Personal/default.nix b/homes/aarch64-darwin/evanreichard@MBP-Personal/default.nix index bdd1949..561aa31 100644 --- a/homes/aarch64-darwin/evanreichard@MBP-Personal/default.nix +++ b/homes/aarch64-darwin/evanreichard@MBP-Personal/default.nix @@ -1,71 +1,29 @@ { pkgs, ... }: -let - inherit (pkgs.lib) optionals mkForce; - inherit (pkgs.stdenv) isLinux isDarwin; -in { - imports = [ - ./btop - ./direnv - ./powerline - ./readline - ./hyprland - ./waybar - ]; - reichardnix = { - programs.nvim.enable = true; + programs.btop.enable = true; + programs.direnv.enable = true; programs.ghostty.enable = true; programs.git.enable = true; + programs.k9s.enable = true; + programs.nvim.enable = true; + + programs.hyprland.enable = false; + programs.aws.enable = false; }; - # Home Manager Config - home.stateVersion = "24.11"; - home.username = "evanreichard"; - home.homeDirectory = mkForce (if isLinux then "/home/evanreichard" else "/Users/evanreichard"); - programs.home-manager.enable = true; - # Global Packages + programs.jq.enable = true; + programs.pandoc.enable = true; home.packages = with pkgs; [ - # --- Android Dev --- android-tools - - # --- AWS --- - cw - awscli2 - ssm-session-manager-plugin - - # --- Kubernetes --- - kubectl - kubernetes-helm - - # --- Uncategorized --- imagemagick mosh python311 texliveSmall # Pandoc PDF Dep google-cloud-sdk tldr - ] - ++ optionals isLinux [ - ghostty - hyprpaper - firefox - ] - ++ optionals isDarwin [ ]; - - # Misc Programs - programs.jq.enable = true; - programs.k9s.enable = true; - programs.pandoc.enable = true; - - # Enable Flakes & Commands - nix = { - package = mkForce pkgs.nix; - settings = { - experimental-features = "nix-command flakes"; - }; - }; + ]; # SQLite Configuration home.file.".sqliterc".text = '' @@ -73,6 +31,7 @@ in .mode column ''; - # Darwin Spotlight Indexing Hack - disabledModules = [ "targets/darwin/linkapps.nix" ]; + # Enable Home Manager & Self Manage + home.stateVersion = "24.11"; + programs.home-manager.enable = true; } diff --git a/homes/aarch64-darwin/evanreichard@MBP-Personal/direnv/default.nix b/homes/aarch64-darwin/evanreichard@MBP-Personal/direnv/default.nix deleted file mode 100644 index 2b51c9d..0000000 --- a/homes/aarch64-darwin/evanreichard@MBP-Personal/direnv/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - programs.direnv = { - enable = true; - nix-direnv.enable = true; - }; -} diff --git a/homes/aarch64-darwin/evanreichard@MBP-Personal/hyprland/default.nix b/homes/aarch64-darwin/evanreichard@MBP-Personal/hyprland/default.nix deleted file mode 100644 index 31cd74b..0000000 --- a/homes/aarch64-darwin/evanreichard@MBP-Personal/hyprland/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ pkgs, lib, ... }: - -lib.mkIf pkgs.stdenv.isLinux { - wayland.windowManager.hyprland = { - enable = true; - extraConfig = builtins.readFile ./config/hyprland.conf; - }; -} diff --git a/homes/aarch64-darwin/evanreichard@MBP-Personal/powerline/default.nix b/homes/aarch64-darwin/evanreichard@MBP-Personal/powerline/default.nix deleted file mode 100644 index 363ec58..0000000 --- a/homes/aarch64-darwin/evanreichard@MBP-Personal/powerline/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - programs.powerline-go = { - enable = true; - settings = { - git-mode = "compact"; - theme = "gruvbox"; - }; - modules = [ - "host" - "cwd" - "git" - "docker" - "venv" - ]; - }; -} diff --git a/homes/aarch64-darwin/evanreichard@MBP-Personal/readline/default.nix b/homes/aarch64-darwin/evanreichard@MBP-Personal/readline/default.nix deleted file mode 100644 index fb38452..0000000 --- a/homes/aarch64-darwin/evanreichard@MBP-Personal/readline/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - programs.readline = { - enable = true; - extraConfig = '' - # Approximate VIM Dracula Colors - set vi-ins-mode-string \1\e[01;38;5;23;48;5;231m\2 I \1\e[38;5;231;48;5;238m\2\1\e[0m\2 - set vi-cmd-mode-string \1\e[01;38;5;22;48;5;148m\2 C \1\e[38;5;148;48;5;238m\2\1\e[0m\2 - ''; - }; -} diff --git a/homes/aarch64-darwin/evanreichard@MBP-Personal/waybar/default.nix b/homes/aarch64-darwin/evanreichard@MBP-Personal/waybar/default.nix deleted file mode 100644 index 5e86e90..0000000 --- a/homes/aarch64-darwin/evanreichard@MBP-Personal/waybar/default.nix +++ /dev/null @@ -1,114 +0,0 @@ -{ lib, pkgs, ... }: -lib.mkIf pkgs.stdenv.isLinux { - programs.waybar = { - enable = true; - style = builtins.readFile ./config/style.css; - settings = [{ - layer = "top"; - position = "top"; - mod = "dock"; - exclusive = true; - passtrough = false; - gtk-layer-shell = true; - height = 0; - modules-left = [ - "hyprland/workspaces" - "custom/divider" - "custom/divider" - "cpu" - "custom/divider" - "memory" - ]; - modules-center = [ "hyprland/window" ]; - modules-right = [ - "tray" - "network" - "custom/divider" - "backlight" - "custom/divider" - "pulseaudio" - "custom/divider" - "battery" - "custom/divider" - "clock" - ]; - "hyprland/window" = { format = "{}"; }; - "wlr/workspaces" = { - on-scroll-up = "hyprctl dispatch workspace e+1"; - on-scroll-down = "hyprctl dispatch workspace e-1"; - all-outputs = true; - on-click = "activate"; - }; - battery = { format = "󰁹 {}%"; }; - cpu = { - interval = 10; - format = "󰻠 {}%"; - max-length = 10; - on-click = ""; - }; - memory = { - interval = 30; - format = "  {}%"; - format-alt = " {used:0.1f}G"; - max-length = 10; - }; - backlight = { - format = "󰖨 {}"; - device = "acpi_video0"; - }; - tray = { - icon-size = 13; - tooltip = false; - spacing = 10; - }; - network = { - format = "󰖩 {essid}"; - format-disconnected = "󰖪 disconnected"; - }; - clock = { - format = " {:%I:%M %p  %m/%d} "; - tooltip-format = '' - {:%Y %B} - {calendar}''; - }; - pulseaudio = { - format = "{icon} {volume}%"; - tooltip = false; - format-muted = " Muted"; - on-click = "pamixer -t"; - on-scroll-up = "pamixer -i 5"; - on-scroll-down = "pamixer -d 5"; - scroll-step = 5; - format-icons = { - headphone = ""; - hands-free = ""; - headset = ""; - phone = ""; - portable = ""; - car = ""; - default = [ "" "" "" ]; - }; - }; - "pulseaudio#microphone" = { - format = "{format_source}"; - tooltip = false; - format-source = " {volume}%"; - format-source-muted = " Muted"; - on-click = "pamixer --default-source -t"; - on-scroll-up = "pamixer --default-source -i 5"; - on-scroll-down = "pamixer --default-source -d 5"; - scroll-step = 5; - }; - "custom/divider" = { - format = " | "; - interval = "once"; - tooltip = false; - }; - "custom/endright" = { - format = "_"; - interval = "once"; - tooltip = false; - }; - }]; - }; -} diff --git a/modules/home/programs/aws/default.nix b/modules/home/programs/aws/default.nix new file mode 100644 index 0000000..f273b04 --- /dev/null +++ b/modules/home/programs/aws/default.nix @@ -0,0 +1,18 @@ +{ lib, pkgs, config, namespace, ... }: +let + inherit (lib) mkIf; + cfg = config.${namespace}.programs.aws; +in +{ + options.${namespace}.programs.aws = { + enable = lib.mkEnableOption "AWS"; + }; + + config = mkIf cfg.enable { + home.packages = with pkgs; [ + cw + awscli2 + ssm-session-manager-plugin + ]; + }; +} diff --git a/homes/aarch64-darwin/evanreichard@MBP-Personal/btop/config/btop.conf b/modules/home/programs/btop/config/btop.conf similarity index 100% rename from homes/aarch64-darwin/evanreichard@MBP-Personal/btop/config/btop.conf rename to modules/home/programs/btop/config/btop.conf diff --git a/homes/aarch64-darwin/evanreichard@MBP-Personal/btop/config/catppuccin_mocha.theme b/modules/home/programs/btop/config/catppuccin_mocha.theme similarity index 100% rename from homes/aarch64-darwin/evanreichard@MBP-Personal/btop/config/catppuccin_mocha.theme rename to modules/home/programs/btop/config/catppuccin_mocha.theme diff --git a/modules/home/programs/btop/default.nix b/modules/home/programs/btop/default.nix new file mode 100644 index 0000000..b82591e --- /dev/null +++ b/modules/home/programs/btop/default.nix @@ -0,0 +1,19 @@ +{ lib, config, namespace, ... }: +let + inherit (lib) mkIf; + cfg = config.${namespace}.programs.btop; +in +{ + options.${namespace}.programs.btop = { + enable = lib.mkEnableOption "btop"; + }; + + config = mkIf cfg.enable { + programs.btop.enable = true; + + home.file.".config/btop/btop.conf".text = + builtins.readFile ./config/btop.conf; + home.file.".config/btop/themes/catppuccin_mocha.theme".text = + builtins.readFile ./config/catppuccin_mocha.theme; + }; +} diff --git a/modules/home/programs/direnv/default.nix b/modules/home/programs/direnv/default.nix new file mode 100644 index 0000000..b2b75ea --- /dev/null +++ b/modules/home/programs/direnv/default.nix @@ -0,0 +1,17 @@ +{ lib, config, namespace, ... }: +let + inherit (lib) mkIf; + cfg = config.${namespace}.programs.direnv; +in +{ + options.${namespace}.programs.direnv = { + enable = lib.mkEnableOption "direnv"; + }; + + config = mkIf cfg.enable { + programs.direnv = { + enable = true; + nix-direnv.enable = true; + }; + }; +} diff --git a/modules/home/programs/ghostty/default.nix b/modules/home/programs/ghostty/default.nix index 89ab732..4deb13d 100644 --- a/modules/home/programs/ghostty/default.nix +++ b/modules/home/programs/ghostty/default.nix @@ -26,6 +26,30 @@ in ''; }; + programs.powerline-go = { + enable = true; + settings = { + git-mode = "compact"; + theme = "gruvbox"; + }; + modules = [ + "host" + "cwd" + "git" + "docker" + "venv" + ]; + }; + + programs.readline = { + enable = true; + extraConfig = '' + # Approximate VIM Dracula Colors + set vi-ins-mode-string \1\e[01;38;5;23;48;5;231m\2 I \1\e[38;5;231;48;5;238m\2\1\e[0m\2 + set vi-cmd-mode-string \1\e[01;38;5;22;48;5;148m\2 C \1\e[38;5;148;48;5;238m\2\1\e[0m\2 + ''; + }; + home.packages = with pkgs; [ # Pending Darwin @ https://github.com/NixOS/nixpkgs/pull/369788 # ghostty diff --git a/homes/aarch64-darwin/evanreichard@MBP-Personal/hyprland/config/hyprland.conf b/modules/home/programs/hyprland/config/hyprland.conf similarity index 100% rename from homes/aarch64-darwin/evanreichard@MBP-Personal/hyprland/config/hyprland.conf rename to modules/home/programs/hyprland/config/hyprland.conf diff --git a/homes/aarch64-darwin/evanreichard@MBP-Personal/waybar/config/style.css b/modules/home/programs/hyprland/config/waybar-style.css similarity index 100% rename from homes/aarch64-darwin/evanreichard@MBP-Personal/waybar/config/style.css rename to modules/home/programs/hyprland/config/waybar-style.css diff --git a/modules/home/programs/hyprland/default.nix b/modules/home/programs/hyprland/default.nix new file mode 100644 index 0000000..5e4e9a2 --- /dev/null +++ b/modules/home/programs/hyprland/default.nix @@ -0,0 +1,129 @@ +{ lib, config, namespace, ... }: +let + inherit (lib) mkIf; + cfg = config.${namespace}.programs.hyprland; +in +{ + options.${namespace}.programs.hyprland = { + enable = lib.mkEnableOption "Hyprland"; + }; + + config = mkIf cfg.enable { + wayland.windowManager.hyprland = { + enable = true; + extraConfig = builtins.readFile ./config/hyprland.conf; + }; + + programs.waybar = { + enable = true; + style = builtins.readFile ./config/waybar-style.css; + settings = [{ + layer = "top"; + position = "top"; + mod = "dock"; + exclusive = true; + passtrough = false; + gtk-layer-shell = true; + height = 0; + modules-left = [ + "hyprland/workspaces" + "custom/divider" + "custom/divider" + "cpu" + "custom/divider" + "memory" + ]; + modules-center = [ "hyprland/window" ]; + modules-right = [ + "tray" + "network" + "custom/divider" + "backlight" + "custom/divider" + "pulseaudio" + "custom/divider" + "battery" + "custom/divider" + "clock" + ]; + "hyprland/window" = { format = "{}"; }; + "wlr/workspaces" = { + on-scroll-up = "hyprctl dispatch workspace e+1"; + on-scroll-down = "hyprctl dispatch workspace e-1"; + all-outputs = true; + on-click = "activate"; + }; + battery = { format = "󰁹 {}%"; }; + cpu = { + interval = 10; + format = "󰻠 {}%"; + max-length = 10; + on-click = ""; + }; + memory = { + interval = 30; + format = "  {}%"; + format-alt = " {used:0.1f}G"; + max-length = 10; + }; + backlight = { + format = "󰖨 {}"; + device = "acpi_video0"; + }; + tray = { + icon-size = 13; + tooltip = false; + spacing = 10; + }; + network = { + format = "󰖩 {essid}"; + format-disconnected = "󰖪 disconnected"; + }; + clock = { + format = " {:%I:%M %p  %m/%d} "; + tooltip-format = '' + {:%Y %B} + {calendar}''; + }; + pulseaudio = { + format = "{icon} {volume}%"; + tooltip = false; + format-muted = " Muted"; + on-click = "pamixer -t"; + on-scroll-up = "pamixer -i 5"; + on-scroll-down = "pamixer -d 5"; + scroll-step = 5; + format-icons = { + headphone = ""; + hands-free = ""; + headset = ""; + phone = ""; + portable = ""; + car = ""; + default = [ "" "" "" ]; + }; + }; + "pulseaudio#microphone" = { + format = "{format_source}"; + tooltip = false; + format-source = " {volume}%"; + format-source-muted = " Muted"; + on-click = "pamixer --default-source -t"; + on-scroll-up = "pamixer --default-source -i 5"; + on-scroll-down = "pamixer --default-source -d 5"; + scroll-step = 5; + }; + "custom/divider" = { + format = " | "; + interval = "once"; + tooltip = false; + }; + "custom/endright" = { + format = "_"; + interval = "once"; + tooltip = false; + }; + }]; + }; + }; +} diff --git a/modules/home/programs/k9s/default.nix b/modules/home/programs/k9s/default.nix new file mode 100644 index 0000000..7b06682 --- /dev/null +++ b/modules/home/programs/k9s/default.nix @@ -0,0 +1,19 @@ +{ lib, pkgs, config, namespace, ... }: +let + inherit (lib) mkIf; + cfg = config.${namespace}.programs.k9s; +in +{ + options.${namespace}.programs.k9s = { + enable = lib.mkEnableOption "k9s"; + }; + + config = mkIf cfg.enable { + programs.k9s.enable = true; + + home.packages = with pkgs; [ + kubectl + kubernetes-helm + ]; + }; +}