hm
This commit is contained in:
parent
e354c4e194
commit
4e82b684e5
@ -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;
|
||||
}
|
@ -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;
|
||||
}
|
||||
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
lib.mkIf pkgs.stdenv.isLinux {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
extraConfig = builtins.readFile ./config/hyprland.conf;
|
||||
};
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
{
|
||||
programs.powerline-go = {
|
||||
enable = true;
|
||||
settings = {
|
||||
git-mode = "compact";
|
||||
theme = "gruvbox";
|
||||
};
|
||||
modules = [
|
||||
"host"
|
||||
"cwd"
|
||||
"git"
|
||||
"docker"
|
||||
"venv"
|
||||
];
|
||||
};
|
||||
}
|
@ -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
|
||||
'';
|
||||
};
|
||||
}
|
@ -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 = ''
|
||||
<big>{:%Y %B}</big>
|
||||
<tt><small>{calendar}</small></tt>'';
|
||||
};
|
||||
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;
|
||||
};
|
||||
}];
|
||||
};
|
||||
}
|
18
modules/home/programs/aws/default.nix
Normal file
18
modules/home/programs/aws/default.nix
Normal file
@ -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
|
||||
];
|
||||
};
|
||||
}
|
19
modules/home/programs/btop/default.nix
Normal file
19
modules/home/programs/btop/default.nix
Normal file
@ -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;
|
||||
};
|
||||
}
|
17
modules/home/programs/direnv/default.nix
Normal file
17
modules/home/programs/direnv/default.nix
Normal file
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
@ -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
|
||||
|
129
modules/home/programs/hyprland/default.nix
Normal file
129
modules/home/programs/hyprland/default.nix
Normal file
@ -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 = ''
|
||||
<big>{:%Y %B}</big>
|
||||
<tt><small>{calendar}</small></tt>'';
|
||||
};
|
||||
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;
|
||||
};
|
||||
}];
|
||||
};
|
||||
};
|
||||
}
|
19
modules/home/programs/k9s/default.nix
Normal file
19
modules/home/programs/k9s/default.nix
Normal file
@ -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
|
||||
];
|
||||
};
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user