fixed ssh

This commit is contained in:
Emile Clark-Boman 2025-02-21 18:48:51 +10:00
parent 64d5097f1a
commit d178606f7d
9 changed files with 380 additions and 9 deletions

View file

@ -42,6 +42,8 @@ similar to python's virtualenv but for the entirety of my system.
- [ ] Make a way for me to put my laptop in a low power state, doing very specific actions like:
1. disabling LSP use by default temporarily
- [ ] Add https://github.com/levnikmyskin/hyprland-virtual-desktops
TODO:
- [X] make btop theming declarative
- [ ] Merge laptop and PC dotfiles repos

248
btop.conf.bak Normal file
View file

@ -0,0 +1,248 @@
#? Config file for btop v. 1.4.0
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
color_theme = "Default"
#* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = True
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = True
#* Set to true to force tty mode regardless if a real tty has been detected or not.
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
force_tty = False
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
#* Use whitespace " " as separator between different presets.
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
vim_keys = False
#* Rounded corners on boxes, is ignored if TTY mode is ON.
rounded_corners = True
#* Default symbols to use for graph creation, "braille", "block" or "tty".
#* "braille" offers the highest resolution but might not be included in all fonts.
#* "block" has half the resolution of braille but uses more common characters.
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
graph_symbol = "braille"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_cpu = "default"
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
graph_symbol_gpu = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_mem = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_net = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_proc = "default"
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
shown_boxes = "cpu mem net proc"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
update_ms = 2000
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "memory"
#* Reverse sorting order, True or False.
proc_reversed = False
#* Show processes as a tree.
proc_tree = False
#* Use the cpu graph colors in the process list.
proc_colors = True
#* Use a darkening gradient in the process list.
proc_gradient = True
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
proc_per_core = False
#* Show process memory as bytes instead of percent.
proc_mem_bytes = True
#* Show cpu graph for each process.
proc_cpu_graphs = True
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
proc_info_smaps = False
#* Show proc box on left side of screen instead of right.
proc_left = False
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
proc_filter_kernel = False
#* In tree-view, always accumulate child process resources in the parent process.
proc_aggregate = False
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_upper = "Auto"
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_lower = "Auto"
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
show_gpu_info = "Auto"
#* Toggles if the lower CPU graph should be inverted.
cpu_invert_lower = True
#* Set to True to completely disable the lower CPU graph.
cpu_single_graph = False
#* Show cpu box at bottom of screen instead of top.
cpu_bottom = False
#* Shows the system uptime in the CPU box.
show_uptime = True
#* Show cpu temperature.
check_temp = True
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
cpu_sensor = "Auto"
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
show_coretemp = True
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
#* Example: "4:0 5:1 6:3"
cpu_core_map = ""
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
temp_scale = "celsius"
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
base_10_sizes = False
#* Show CPU frequency.
show_cpu_freq = True
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
clock_format = "%X"
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
background_update = True
#* Custom cpu model name, empty string to disable.
custom_cpu_name = ""
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
disks_filter = ""
#* Show graphs instead of meters for memory values.
mem_graphs = True
#* Show mem box below net box instead of above.
mem_below_net = False
#* Count ZFS ARC in cached and available memory.
zfs_arc_cached = True
#* If swap memory should be shown in memory box.
show_swap = True
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
swap_disk = True
#* If mem box should be split to also show disks info.
show_disks = True
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical = True
#* Read disks list from /etc/fstab. This also disables only_physical.
use_fstab = True
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
zfs_hide_datasets = False
#* Set to true to show available disk space for privileged users.
disk_free_priv = False
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
show_io_stat = True
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
io_mode = False
#* Set to True to show combined read/write io graphs in io mode.
io_graph_combined = False
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
#* Example: "/mnt/media:100 /:20 /boot:1".
io_graph_speeds = ""
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
net_download = 100
net_upload = 100
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
net_auto = True
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
net_sync = True
#* Starts with the Network Interface specified here.
net_iface = ""
#* Show battery stats in top right if battery is present.
show_battery = True
#* Which battery to use if multiple are present. "Auto" for auto detection.
selected_battery = "Auto"
#* Show power stats of battery next to charge indicator.
show_battery_watts = True
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
log_level = "WARNING"
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
nvml_measure_pcie_speeds = True
#* Horizontally mirror the GPU graph.
gpu_mirror_graph = True
#* Custom gpu0 model name, empty string to disable.
custom_gpu_name0 = ""
#* Custom gpu1 model name, empty string to disable.
custom_gpu_name1 = ""
#* Custom gpu2 model name, empty string to disable.
custom_gpu_name2 = ""
#* Custom gpu3 model name, empty string to disable.
custom_gpu_name3 = ""
#* Custom gpu4 model name, empty string to disable.
custom_gpu_name4 = ""
#* Custom gpu5 model name, empty string to disable.
custom_gpu_name5 = ""

10
gitkraken_issue_solution Normal file
View file

@ -0,0 +1,10 @@
If gitkraken won't work make sure:
The ssh-agent is running and "$SSH_AUTH_SOCK" equals "$XDG_RUNTIME_DIR/ssh-agent"
(this is the known ssh-agent issue I've already solved).
Next make sure whatever you're cloning/etc from is in your ~/.ssh/known_hosts file
(if using ssh). Gitkraken may fail to do this automatically. ie for gitlab run:
```sh
ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
```

1
gitkraken_themes Normal file
View file

@ -0,0 +1 @@
https://jonbunator.github.io/gitkraken-custom-themes/#dracula---source

View file

@ -16,6 +16,7 @@
../modules/fish.nix
../modules/editor/helix.nix
../modules/btop.nix
../modules/rio.nix
../modules/firefox.nix
../modules/nixcord.nix
@ -89,6 +90,25 @@
# these are both required for home-manager to work
home-manager.enable = true;
# set ssh profiles
# (all we need is hyrule, everything else is through wishlist)
# NOTE: (IMPORTANT) this DOES NOT start the ssh-agent
# for that you need to use `services.ssh-agent-enable`
ssh = {
enable = true;
forwardAgent = true;
addKeysToAgent = "yes"; # always add keys to ssh-agent
matchBlocks = {
hyrule = {
hostname = "imbored.dev";
user = "ae";
port = 22;
identityFile = "/home/me/.ssh/id_hyrule";
};
};
};
ags = {
enable = true;
configDir = ./ags;
@ -131,6 +151,11 @@
*/
};
# enable OpenSSH private key agent
services.ssh-agent.enable = true;
# the ssh-agent won't set this for itself...
systemd.user.sessionVariables.SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/ssh-agent";
# ----- SERVICES -----
# Nicely reload system units when changing configs
systemd.user.startServices = "sd-switch";

79
homes/modules/btop.nix Normal file
View file

@ -0,0 +1,79 @@
{config, ...}: {
programs.btop = {
enable = true;
settings = {
# Theming
color_theme = "dracula";
theme_background = true;
truecolor = true;
force_tty = false;
vim_keys = false; # allow vim keybindings
# Units
clock_format = "%I:%M %p, %b %d";
temp_scale = "celsius";
base_10_sizes = false; # use KB or KiB
# UI
background_update = true;
update_ms = 2000;
rounded_corners = false;
graph_symbol = "braille"; # braille/block/tty
graph_symbol_cpu = "default";
graph_symbol_mem = "default";
graph_symbol_net = "default";
graph_symbol_proc = "default";
# Processes Window
proc_left = true; # show on left side of window
proc_colors = true;
proc_gradient = true;
proc_per_core = false; # false: % of ALL cores
proc_mem_bytes = false; # show mem usage as %
proc_sorting = "cpu lazy";
proc_filter_kernel = false; # hide kernel child processes
proc_tree = false;
# CPU Window
cpu_bottom = false; # display at bottom of window
show_uptime = true;
show_cpu_freq = true;
check_temp = true; # show cpu temp
show_coretemp = true; # show temp per core
cpu_graph_upper = "total"; # upper graph shows total CPU usage
cpu_graph_lower = "user"; # lower graph shows user's CPU usage
cpu_invert_lower = true;
cpu_single_graph = false; # disable lower graph
show_gpu_info = "Off"; # Auto/On/Off
gpu_mirror_graph = false; # horizontally mirror gpu graph
# Memory Window
mem_below_net = false; # show below net window
mem_graphs = true; # show graphs not meters
show_swap = true; # show swap memory usage
# Disks Subwindow
show_disks = true; # split mem box to show disk info
swap_disk = true; # show swap memory as disk
show_io_stat = true;
io_graph_combined = false; # combine read/write stats
io_mode = true; # show io stat as graph
use_fstab = true; # read disk list from /etc/fstab
only_physical = false; # ignore non-physical disks
# Network Window
net_iface = ""; # default network interface to monitor
net_auto = true; # overrides net_download/net_upload (below)
net_sync = false; # sync download/upload graph scales
net_download = 100; # max download speed graphed
net_upload = 100; # max upload speed graphed
# Battery
show_battery = true;
selected_battery = "Auto";
show_battery_watts = true;
# Other
log_level = "WARNING"; # ERROR/WARNING/INFO/DEBUG
};
};
}

View file

@ -0,0 +1,2 @@
# NOTE: hyprland must be enabled in BOTH your host config (for running hyprland)
# and your home-manager config (for managing hyprland's config files)

View file

@ -132,6 +132,9 @@ in {
# for graphical applications
flatpak
gnome-software
jetbrains.rider
gitkraken
];
};
@ -181,7 +184,8 @@ in {
easyeffects
ani-cli
wl-clipboard # clipboard for wayland
kcalc # TEMP: (FOR TESTING)
pavucontrol
(callPackage ./sddm-theme-corners.nix {}).sddm-theme-corners
# dependencies for my sddm theme:

View file

@ -1,12 +1,12 @@
{
# NOTE: hyprland must be enabled in BOTH your host config (for running hyprland)
# and your home-manager config (for managing hyprland's config files)
{
pkgs,
inputs,
config,
lib,
...
}:
{
lib,
...
}: {
options.hyprland = {
enable = lib.mkEnableOption "Hyprland";
};
@ -17,7 +17,7 @@
#package = inputs.hyprland.packages.${pkgs.system}.hyprland;
xwayland.enable = true;
};
xdg.portal = {
enable = true;
extraPortals = with pkgs; [
@ -26,5 +26,5 @@
};
# TODO: finish this (I didn't like the dotfiles I was getting inspo from and stopped)
};
};
}