mirror of
https://github.com/deltathetawastaken/dotfiles.git
synced 2025-12-06 07:16:37 +03:00
488 lines
16 KiB
Nix
488 lines
16 KiB
Nix
{ stable, unstable, inputs, home, config, lib, pkgs, specialArgs, ... }:
|
|
{
|
|
home.username = "delta";
|
|
home.stateVersion = "23.11";
|
|
|
|
imports = [
|
|
./theme.nix
|
|
];
|
|
|
|
#services.blueman-applet.enable = true;
|
|
#services.network-manager-applet.enable = true;
|
|
programs.vscode = {
|
|
enable = true;
|
|
package = pkgs.vscode;
|
|
|
|
extensions = with pkgs.vscode-extensions; [
|
|
matklad.rust-analyzer
|
|
jnoortheen.nix-ide
|
|
b4dm4n.vscode-nixpkgs-fmt
|
|
usernamehw.errorlens
|
|
eamodio.gitlens
|
|
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
|
{
|
|
name = "remote-ssh-edit";
|
|
publisher = "ms-vscode-remote";
|
|
version = "0.47.2";
|
|
sha256 = "1hp6gjh4xp2m1xlm1jsdzxw9d8frkiidhph6nvl24d0h8z34w49g";
|
|
}
|
|
{
|
|
name = "popping-and-locking-vscode";
|
|
publisher = "hedinne";
|
|
version = "2.0.11";
|
|
sha256 = "7ZH9l4jySPo1jMZnylTPK6o+XZnxUtrpYIiY9xVPuRw=";
|
|
}
|
|
{
|
|
name = "bracket-select";
|
|
publisher = "chunsen";
|
|
version = "2.0.2";
|
|
sha256 = "sha256-2+42NJWAI0cz+RvmihO2v8J/ndAHvV3YqMExvnl46m4=";
|
|
}
|
|
];
|
|
enableExtensionUpdateCheck = false;
|
|
enableUpdateCheck = false;
|
|
userSettings = {
|
|
"files.autoSave" = "onFocusChange";
|
|
"window.titleBarStyle" = "custom";
|
|
"workbench.colorTheme" = "Popping and Locking";
|
|
"terminal.external.linuxExec" = "kitty";
|
|
"editor.guides.bracketPairs" = "active";
|
|
"editor.bracketPairColorization.independentColorPoolPerBracketType" = true;
|
|
"editor.fontFamily" = "'FiraCode Nerd Font'";
|
|
"editor.fontLigatures" = "'ss01', 'ss02', 'ss06', 'ss08', 'cv14', 'cv04' , 'tnum'";
|
|
"editor.fontWeight" = "450";
|
|
"nix.enableLanguageServer"= true;
|
|
#"nix.serverPath" = "${pkgs.nil}/bin/nil";
|
|
"nix.serverPath" = "${pkgs.nixd}/bin/nixd";
|
|
"nix.serverSettings" = {
|
|
nil = {
|
|
formatting = {
|
|
command = [ "${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt" ];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
userName = "delta";
|
|
userEmail = "delta@example.com";
|
|
};
|
|
|
|
#xdg.desktopEntries = {
|
|
# maestral = {
|
|
# name = "Maestral";
|
|
# icon = "maestral";
|
|
# exec =
|
|
# ''sh -c "QT_QPA_PLATFORM=xcb ${pkgs.maestral-gui}/bin/maestral_qt"'';
|
|
# type = "Application";
|
|
# };
|
|
#};
|
|
|
|
|
|
programs.obs-studio = {
|
|
enable = true;
|
|
plugins = with pkgs.obs-studio-plugins; [ obs-pipewire-audio-capture ];
|
|
};
|
|
|
|
programs.mpv = {
|
|
enable = true;
|
|
config = {
|
|
hwdec = "auto";
|
|
slang = "en,eng";
|
|
alang = "en,eng";
|
|
subs-fallback = "default";
|
|
subs-with-matching-audio = "yes";
|
|
save-position-on-quit = "yes";
|
|
};
|
|
scripts = with pkgs; [ mpvScripts.autoload mpvScripts.cutter ];
|
|
scriptOpts = {
|
|
autoload = {
|
|
disabled = "no";
|
|
images = "no";
|
|
videos = "yes";
|
|
audio = "yes";
|
|
additional_image_exts = "list,of,ext";
|
|
additional_video_exts = "list,of,ext";
|
|
additional_audio_exts = "list,of,ext";
|
|
ignore_hidden = "yes";
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.kitty = {
|
|
enable = true;
|
|
shellIntegration.enableFishIntegration = false;
|
|
settings = {
|
|
background = "#171717";
|
|
foreground = "#DCDCCC";
|
|
background_opacity = "0.8";
|
|
remember_window_size = "no";
|
|
hide_window_decorations = "yes";
|
|
remote_control_password = "kitty-notification-password-fish ls";
|
|
allow_remote_control = "password";
|
|
font_family= "FiraCode"; #FiraCode Nerd Font Ret
|
|
font_features = "FiraCode +ss01 +ss02 +ss06 +ss08 +cv14 +cv03 +tnum";
|
|
|
|
color0 = "#3F3F3F";
|
|
color1 = "#705050";
|
|
color2 = "#60B48A";
|
|
color3 = "#DFAF8F";
|
|
color4 = "#9AB8D7";
|
|
color5 = "#DC8CC3";
|
|
color6 = "#8CD0D3";
|
|
color7 = "#DCDCCC";
|
|
|
|
color8 = "#709080";
|
|
color9 = "#DCA3A3";
|
|
color10 = "#72D5A3";
|
|
color11 = "#F0DFAF";
|
|
color12 = "#94BFF3";
|
|
color13 = "#EC93D3";
|
|
color14 = "#93E0E3";
|
|
color15 = "#FFFFFF";
|
|
};
|
|
};
|
|
|
|
programs.ssh = {
|
|
enable = true;
|
|
matchBlocks = {
|
|
"intelnuc" = {
|
|
hostname = "192.168.3.53";
|
|
};
|
|
"huanan" = {
|
|
hostname = "192.168.3.106";
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.chromium = {
|
|
enable = true;
|
|
package = pkgs.chromium;
|
|
#"ifconfig.co/json"
|
|
commandLineArgs = [
|
|
"--ignore-gpu-blocklist"
|
|
"--disable-gpu-driver-bug-workarounds"
|
|
#"--use-gl=egl"
|
|
"--enable-gpu-rasterization"
|
|
"--enable-zero-copy"
|
|
"--enable-features=VaapiVideoDecodeLinuxGL,VaapiVideoDecoder,VaapiVideoEncoder,CanvasOopRasterization,UseOzonePlatform"
|
|
#"--disable-features=UseChromeOSDirectVideoDecoder"
|
|
#"--use-angle=vulkan"
|
|
#"--enable-unsafe-webgpu"
|
|
"--enable-features=Vulkan"
|
|
"--enable-features=TouchpadOverscrollHistoryNavigation"
|
|
];
|
|
dictionaries = [
|
|
pkgs.hunspellDictsChromium.en_US
|
|
];
|
|
extensions = [
|
|
{ id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # ublock origin
|
|
{ id = "dbepggeogbaibhgnhhndojpepiihcmeb"; } # vimium
|
|
{
|
|
id = "dcpihecpambacapedldabdbpakmachpb"; # bypasss paywalls
|
|
updateUrl = "https://raw.githubusercontent.com/iamadamdev/bypass-paywalls-chrome/master/src/updates/updates.xml";
|
|
}
|
|
#{
|
|
# id = "aaaaaaaaaabbbbbbbbbbcccccccccc";
|
|
# crxPath = "/home/share/extension.crx";
|
|
# version = "1.0";
|
|
#}
|
|
];
|
|
};
|
|
|
|
programs.helix = {
|
|
enable = true;
|
|
|
|
languages.language = [{
|
|
name = "nix";
|
|
auto-format = true;
|
|
formatter.command = "${pkgs.nixfmt}/bin/nixfmt";
|
|
}];
|
|
themes = {
|
|
fleet_dark_transparent = {
|
|
"inherits" = "fleet_dark";
|
|
"ui.background" = { };
|
|
};
|
|
};
|
|
|
|
settings = {
|
|
theme = "fleet_dark_transparent";
|
|
|
|
editor = {
|
|
line-number = "relative";
|
|
mouse = true;
|
|
lsp.display-messages = true;
|
|
cursor-shape = {
|
|
normal = "block";
|
|
insert = "bar";
|
|
select = "underline";
|
|
};
|
|
file-picker.hidden = false;
|
|
};
|
|
|
|
keys.normal = {
|
|
space.space = "file_picker";
|
|
space.w = ":w";
|
|
space.q = ":q";
|
|
esc = [ "collapse_selection" "keep_primary_selection" ];
|
|
};
|
|
};
|
|
};
|
|
|
|
#programs.dircolors.enable = true;
|
|
|
|
home.file.".config/btop/btop.conf".text = ''
|
|
#? Config file for btop v. 1.3.2
|
|
|
|
#* 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 = "adapta"
|
|
|
|
#* 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 = 100
|
|
|
|
#* 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 = "cpu lazy"
|
|
|
|
#* 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 = "iowait"
|
|
|
|
#* 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 = ""
|
|
'';
|
|
|
|
}
|