Feat/extra needed apps #29
@@ -77,12 +77,14 @@ in
|
|||||||
cc = "!cz commit";
|
cc = "!cz commit";
|
||||||
};
|
};
|
||||||
|
|
||||||
# SSH commit signing on personal hosts too (the work module sets the same
|
# SSH commit signing. This personal key is the default; the work module
|
||||||
# on the work host). mkDefault so a host without the key in its ssh-agent
|
# (work.nix) overrides it with the work key on the EDaaS host, the same way
|
||||||
# can override to false -- otherwise commits there would fail. Reuses the
|
# user.email is overridden -- so mkDefault here lets that plain definition
|
||||||
# existing ssh key; a dedicated personal key can be swapped in later.
|
# win instead of conflicting. gpgsign is mkDefault too, so a host without
|
||||||
|
# the key in its ssh-agent can override it to false rather than fail every
|
||||||
|
# commit.
|
||||||
gpg.format = "ssh";
|
gpg.format = "ssh";
|
||||||
user.signingkey = "key::ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAJMVgeRKnfX1G8coU3nAobI485aeUpGTMqH7+zbKI8o emma.thorpe@cloud.com";
|
user.signingkey = lib.mkDefault "key::ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDxHvdMTOzpFWUFMtCP7C/4tIOUO3GIO2QPvaifSnWH lyrathorpe@Lyra-MBA";
|
||||||
commit.gpgsign = lib.mkDefault true;
|
commit.gpgsign = lib.mkDefault true;
|
||||||
tag.gpgsign = lib.mkDefault true;
|
tag.gpgsign = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -203,12 +203,15 @@ in
|
|||||||
flake = "$HOME/code/nixfiles";
|
flake = "$HOME/code/nixfiles";
|
||||||
};
|
};
|
||||||
|
|
||||||
# GitHub CLI. Prefer SSH for any git operations it drives, matching the
|
# GitHub CLI. `programs.gh.settings` is deliberately unset: home-manager renders
|
||||||
# ssh-based remotes used elsewhere.
|
# ~/.config/gh/config.yml as a read-only /nix/store symlink whenever the module
|
||||||
programs.gh = {
|
# is enabled, but gh must rewrite that file on `gh auth login` and `gh config
|
||||||
enable = true;
|
# set`, which then fail with a permission error. Suppress the managed config.yml
|
||||||
settings.git_protocol = "ssh";
|
# (below) and let gh own it. The token lives in hosts.yml, which is never
|
||||||
};
|
# Nix-managed. Set the SSH protocol once at runtime: `gh config set git_protocol
|
||||||
|
# ssh` (it can't be declarative here without recreating the immutable file).
|
||||||
|
programs.gh.enable = true;
|
||||||
|
xdg.configFile."gh/config.yml".enable = lib.mkForce false;
|
||||||
|
|
||||||
programs.tmux = {
|
programs.tmux = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -345,6 +348,60 @@ in
|
|||||||
# enables this in the work module; both being true merges cleanly.
|
# enables this in the work module; both being true merges cleanly.
|
||||||
services.ssh-agent.enable = lib.mkIf pkgs.stdenv.hostPlatform.isLinux true;
|
services.ssh-agent.enable = lib.mkIf pkgs.stdenv.hostPlatform.isLinux true;
|
||||||
|
|
||||||
|
# Classic process viewer (complements btop). htop has no custom-theme support
|
||||||
|
# -- only a handful of built-in color schemes -- so it can't be hex-themed like
|
||||||
|
# btop/bat/fzf. color_scheme = 0 (Default) draws from the terminal's ANSI
|
||||||
|
# palette, which is Catppuccin Mocha (foot/iTerm2), so it matches by deferring
|
||||||
|
# to the terminal rather than vendoring a theme.
|
||||||
|
programs.htop = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
color_scheme = 0; # Default -> uses the terminal's Catppuccin palette
|
||||||
|
delay = 15; # refresh every 1.5s
|
||||||
|
cpu_count_from_one = 1;
|
||||||
|
show_cpu_frequency = 1;
|
||||||
|
show_cpu_usage = 1; # per-core usage shown in the CPU bars
|
||||||
|
highlight_base_name = 1; # highlight the program name within the path
|
||||||
|
highlight_megabytes = 1;
|
||||||
|
highlight_threads = 1;
|
||||||
|
hide_kernel_threads = 1;
|
||||||
|
show_program_path = 0; # show just the command, not the full path
|
||||||
|
tree_view = 1; # start in process-tree mode
|
||||||
|
tree_view_always_by_pid = 0;
|
||||||
|
account_guest_in_cpu_meter = 0;
|
||||||
|
fields = with config.lib.htop.fields; [
|
||||||
|
PID
|
||||||
|
USER
|
||||||
|
PRIORITY
|
||||||
|
NICE
|
||||||
|
M_SIZE
|
||||||
|
M_RESIDENT
|
||||||
|
M_SHARE
|
||||||
|
STATE
|
||||||
|
PERCENT_CPU
|
||||||
|
PERCENT_MEM
|
||||||
|
TIME
|
||||||
|
COMM
|
||||||
|
];
|
||||||
|
}
|
||||||
|
// (
|
||||||
|
with config.lib.htop;
|
||||||
|
leftMeters [
|
||||||
|
(bar "AllCPUs2")
|
||||||
|
(bar "Memory")
|
||||||
|
(bar "Swap")
|
||||||
|
]
|
||||||
|
)
|
||||||
|
// (
|
||||||
|
with config.lib.htop;
|
||||||
|
rightMeters [
|
||||||
|
(text "Tasks")
|
||||||
|
(text "LoadAverage")
|
||||||
|
(text "Uptime")
|
||||||
|
]
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
# Drop the zsh completion dump on every activation. A stale .zcompdump caches
|
# Drop the zsh completion dump on every activation. A stale .zcompdump caches
|
||||||
# /nix/store paths to completion functions; once a rebuild or a manual GC
|
# /nix/store paths to completion functions; once a rebuild or a manual GC
|
||||||
# removes them, compinit fails with "_git: function definition file not found"
|
# removes them, compinit fails with "_git: function definition file not found"
|
||||||
|
|||||||
@@ -43,6 +43,11 @@
|
|||||||
autoPrune.enable = true;
|
autoPrune.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Match the flake's nixosConfigurations attribute name so `nh os switch`
|
||||||
|
# (which selects by the local hostname) resolves without an explicit
|
||||||
|
# -H/--hostname flag. The default would otherwise be the stock NixOS "nixos".
|
||||||
|
networking.hostName = "emmathorpe-edaas";
|
||||||
|
|
||||||
networking.resolvconf.enable = false;
|
networking.resolvconf.enable = false;
|
||||||
|
|
||||||
# Drop the systemd-ssh-proxy Include from the generated /etc/ssh/ssh_config.
|
# Drop the systemd-ssh-proxy Include from the generated /etc/ssh/ssh_config.
|
||||||
|
|||||||
Reference in New Issue
Block a user