formatted everything, things are looking nice now.

This commit is contained in:
Charlie Root 2024-05-15 00:14:59 +02:00
commit d2d4054aa5
57 changed files with 2269 additions and 2311 deletions

View file

@ -1,27 +1,28 @@
{ config, lib, ... }:
with lib; let
cfg = config.modules.programs.btop;
username = config.modules.other.system.username;
with lib;
let
cfg = config.modules.programs.btop;
username = config.modules.other.system.username;
in {
options.modules.programs.btop.enable = mkEnableOption "btop";
options.modules.programs.btop.enable = mkEnableOption "btop";
config = mkIf cfg.enable {
home-manager.users.${username} = {
programs.btop = {
enable = true;
settings = {
theme_background = false;
vim_keys = true;
update_ms = 1000;
cpu_single_graph = true;
clock_format = "%X";
use_fstab = true;
io_mode = true;
net_sync = true;
net_iface = "enp4s0";
log_level = "WARNING";
};
};
config = mkIf cfg.enable {
home-manager.users.${username} = {
programs.btop = {
enable = true;
settings = {
theme_background = false;
vim_keys = true;
update_ms = 1000;
cpu_single_graph = true;
clock_format = "%X";
use_fstab = true;
io_mode = true;
net_sync = true;
net_iface = "enp4s0";
log_level = "WARNING";
};
};
};
};
}

View file

@ -1,10 +1,10 @@
_: {
imports = [
./btop.nix
./helix.nix
./neovim.nix
./newsboat.nix
./ncmpcpp.nix
./yazi.nix
];
imports = [
./btop.nix
./helix.nix
./neovim.nix
./newsboat.nix
./ncmpcpp.nix
./yazi.nix
];
}

View file

@ -1,30 +1,41 @@
{ config, lib, pkgs, inputs, ... }:
with lib; let
cfg = config.modules.programs.helix;
username = config.modules.other.system.username;
in {
options.modules.programs.helix.enable = mkEnableOption "helix";
with lib;
let
cfg = config.modules.programs.helix;
username = config.modules.other.system.username;
in {
options.modules.programs.helix.enable = mkEnableOption "helix";
config = mkIf cfg.enable {
home-manager.users.${username} = {
programs.helix = {
enable = true;
settings = {
editor = {
line-number = "relative";
mouse = false;
bufferline = "multiple";
lsp.display-messages = true;
cursor-shape = {
insert = "bar";
};
};
keys.normal = {
C-g = [":new" ":insert-output lazygit" ":buffer-close!" ":redraw"];
esc = ["collapse_selection" "keep_primary_selection"];
};
};
};
config = mkIf cfg.enable {
home-manager.users.${username} = {
programs.helix = {
enable = true;
settings = {
editor = {
line-number = "relative";
mouse = false;
bufferline = "multiple";
lsp.display-messages = true;
cursor-shape = { insert = "bar"; };
statusline.left =
[ "mode" "spinner" "version-control" "file-name" ];
};
keys.normal = {
C-g =
[ ":new" ":insert-output lazygit" ":buffer-close!" ":redraw" ];
C-t = [ ":new" ":insert-output fish" ":buffer-close!" ":redraw" ];
esc = [ "collapse_selection" "keep_primary_selection" ];
A-H = "goto_previous_buffer";
A-L = "goto_next_buffer";
A-w = ":buffer-close";
};
};
languages.language = [{
name = "nix";
auto-format = true;
formatter.command = "${pkgs.nixfmt}/bin/nixfmt";
}];
};
};
};
}

View file

@ -1,81 +1,86 @@
{ config, lib, pkgs, ... }:
with lib; let
cfg = config.modules.programs.ncmpcpp;
username = config.modules.other.system.username;
in {
options.modules.programs.ncmpcpp.enable = mkEnableOption "ncmpcpp";
with lib;
let
cfg = config.modules.programs.ncmpcpp;
username = config.modules.other.system.username;
in {
options.modules.programs.ncmpcpp.enable = mkEnableOption "ncmpcpp";
config = mkIf cfg.enable {
home-manager.users.${username} = {
xdg.configFile."ncmpcpp/config".source = ./config;
programs.ncmpcpp = {
enable = true;
package = (pkgs.ncmpcpp.override {visualizerSupport = true;});
mpdMusicDir = "/home/vali/Nextcloud/Media/Music";
settings = {
mpd_host = "127.0.0.1";
mpd_port = "6600";
alternative_header_first_line_format = "$5{$b%t$/b}$9";
alternative_header_second_line_format = "$3by $7{$b%a$/b}$9 $3from $7{$b%b$/b}$9 $5{(%y)}";
song_list_format = " $2%n$(end) $9 $3%a$(end) $(245)-$9 $(246)%t$9 $R{ $5%y$9}$(end) $(246)%lq$(end)";
song_columns_list_format ="(3f)[red]{n} (3f)[246]{} (35)[white]{t} (18)[blue]{a} (30)[green]{b} (5f)[yellow]{d} (5f)[red]{y} (7f)[magenta]{l}";
song_status_format = "$b $8%A $8$3 $3%t $3$5 $5%b $5$2 $2%y $2$8 %g";
playlist_display_mode = "columns";
browser_display_mode = "columns";
search_engine_display_mode = "columns";
now_playing_prefix = "$b";
now_playing_suffix = "$/b";
browser_playlist_prefix = "$2 $5 ";
playlist_disable_highlight_delay = "1";
message_delay_time = "1";
progressbar_look = "";
colors_enabled = "yes";
empty_tag_color = "red";
statusbar_color = "blue";
state_line_color = "black";
state_flags_color = "default";
main_window_color = "blue";
header_window_color = "white";
alternative_ui_separator_color = "black";
window_border_color = "green";
active_window_border = "red";
volume_color = "default";
progressbar_color = "black";
progressbar_elapsed_color = "blue";
statusbar_time_color = "blue";
player_state_color = "default";
display_bitrate = "yes";
autocenter_mode = "yes";
centered_cursor = "yes";
titles_visibility = "no";
enable_window_title = "yes";
statusbar_visibility = "yes";
empty_tag_marker="";
mouse_support = "yes";
header_visibility = "no";
display_remaining_time = "no";
ask_before_clearing_playlists = "yes";
discard_colors_if_item_is_selected = "yes";
user_interface = "alternative";
default_find_mode = "wrapped";
lyrics_directory = "~/.lyrics";
follow_now_playing_lyrics = "yes";
store_lyrics_in_song_dir = "no";
ignore_leading_the = "yes";
lines_scrolled = "1";
mouse_list_scroll_whole_page = "no";
show_hidden_files_in_local_browser = "no";
startup_screen = "playlist";
execute_on_song_change="/home/dobbie/.bin/np";
connected_message_on_startup = "no";
playlist_separate_albums = "no";
allow_for_physical_item_deletion = "no";
visualizer_in_stereo = "yes";
visualizer_data_source = "/tmp/mpd.fifo";
visualizer_type = "wave_filled";
visualizer_look = "";
};
};
config = mkIf cfg.enable {
home-manager.users.${username} = {
xdg.configFile."ncmpcpp/config".source = ./config;
programs.ncmpcpp = {
enable = true;
package = (pkgs.ncmpcpp.override { visualizerSupport = true; });
mpdMusicDir = "/home/vali/Nextcloud/Media/Music";
settings = {
mpd_host = "127.0.0.1";
mpd_port = "6600";
alternative_header_first_line_format = "$5{$b%t$/b}$9";
alternative_header_second_line_format =
"$3by $7{$b%a$/b}$9 $3from $7{$b%b$/b}$9 $5{(%y)}";
song_list_format =
" $2%n$(end) $9 $3%a$(end) $(245)-$9 $(246)%t$9 $R{ $5%y$9}$(end) $(246)%lq$(end)";
song_columns_list_format =
"(3f)[red]{n} (3f)[246]{} (35)[white]{t} (18)[blue]{a} (30)[green]{b} (5f)[yellow]{d} (5f)[red]{y} (7f)[magenta]{l}";
song_status_format =
"$b $8%A $8$3 $3%t $3$5 $5%b $5$2 $2%y $2$8 %g";
playlist_display_mode = "columns";
browser_display_mode = "columns";
search_engine_display_mode = "columns";
now_playing_prefix = "$b";
now_playing_suffix = "$/b";
browser_playlist_prefix = "$2 $5 ";
playlist_disable_highlight_delay = "1";
message_delay_time = "1";
progressbar_look = "";
colors_enabled = "yes";
empty_tag_color = "red";
statusbar_color = "blue";
state_line_color = "black";
state_flags_color = "default";
main_window_color = "blue";
header_window_color = "white";
alternative_ui_separator_color = "black";
window_border_color = "green";
active_window_border = "red";
volume_color = "default";
progressbar_color = "black";
progressbar_elapsed_color = "blue";
statusbar_time_color = "blue";
player_state_color = "default";
display_bitrate = "yes";
autocenter_mode = "yes";
centered_cursor = "yes";
titles_visibility = "no";
enable_window_title = "yes";
statusbar_visibility = "yes";
empty_tag_marker = "";
mouse_support = "yes";
header_visibility = "no";
display_remaining_time = "no";
ask_before_clearing_playlists = "yes";
discard_colors_if_item_is_selected = "yes";
user_interface = "alternative";
default_find_mode = "wrapped";
lyrics_directory = "~/.lyrics";
follow_now_playing_lyrics = "yes";
store_lyrics_in_song_dir = "no";
ignore_leading_the = "yes";
lines_scrolled = "1";
mouse_list_scroll_whole_page = "no";
show_hidden_files_in_local_browser = "no";
startup_screen = "playlist";
execute_on_song_change = "/home/dobbie/.bin/np";
connected_message_on_startup = "no";
playlist_separate_albums = "no";
allow_for_physical_item_deletion = "no";
visualizer_in_stereo = "yes";
visualizer_data_source = "/tmp/mpd.fifo";
visualizer_type = "wave_filled";
visualizer_look = "";
};
};
};
}
};
}

View file

@ -1,196 +1,190 @@
{ config, inputs, lib, pkgs, ... }:
with lib; let
cfg = config.modules.programs.neovim;
username = config.modules.other.system.username;
with lib;
let
cfg = config.modules.programs.neovim;
username = config.modules.other.system.username;
in {
options.modules.programs.neovim.enable = mkEnableOption "neovim";
options.modules.programs.neovim.enable = mkEnableOption "neovim";
config = mkIf cfg.enable {
home-manager.users.${username} = {
imports = [ inputs.nixvim.homeManagerModules.nixvim ];
programs.nixvim = {
enable = true;
enableMan = true;
defaultEditor = true;
config = mkIf cfg.enable {
home-manager.users.${username} = {
imports = [ inputs.nixvim.homeManagerModules.nixvim ];
programs.nixvim = {
enable = true;
enableMan = true;
defaultEditor = true;
opts = {
background = "dark";
shiftwidth = 4;
autoread = true;
cmdheight = 1;
encoding = "utf8";
expandtab = true;
hidden = true;
ignorecase = true;
linebreak = true;
mousemoveevent = true;
number = true;
relativenumber = true;
showmatch = true;
smartcase = true;
smartindent = true;
smarttab = true;
so = 7;
timeoutlen = 500;
tabstop = 4;
updatetime = 50;
};
globals.mapleader = " ";
plugins = {
lualine = {
enable = true;
theme = "catppuccin";
};
treesitter = {
enable = true;
folding = false;
indent = true;
nixvimInjections = true;
incrementalSelection.enable = true;
};
treesitter-context = {
enable = true;
};
coq-nvim = {
enable = true;
installArtifacts = true;
settings = {
auto_start = "shut-up";
keymap.recommended = true;
completion.always = false;
};
};
neo-tree = {
enable = true;
};
# TODO laytan/cloak.nvim
lsp = {
enable = true;
servers = {
rust-analyzer = {
enable = true;
installCargo = false;
installRustc = false;
};
lua-ls.enable = true;
ccls.enable = true;
nil_ls.enable = true;
bashls.enable = true;
tsserver.enable = true;
java-language-server.enable = true;
#pylyzer.enable = true;
rnix-lsp.enable = true;
pyright.enable = true;
};
#onAttach = ''
# vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
# local bufopts = { noremap = true, silent = true, buffer = bufnr }
# vim.keymap.set('n', '<space>wl', function()
# print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
# end, bufopts)
# vim.keymap.set('n', '<C-f>', function() vim.lsp.buf.format { async = true } end, bufopts)
#'';
keymaps = {
lspBuf = {
gD = "declaration";
gd = "definition";
K = "hover";
gi = "implementation";
"<C-k>" = "signature_help";
"<leader>wa" = "add_workspace_folder";
"<leader>wr" = "remove_workspace_folder";
"<leader>wl" = "list_workspace_folders";
"<leader>D" = "type_definition";
"<leader>r" = "rename";
"<leader>a" = "code_action";
gr = "references";
"<C-f>" = "format";
};
diagnostic = {
"<leader>e" = "open_float";
"<leader>j" = "goto_prev";
"<leader>k" = "goto_next";
"<leader>q" = "setloclist";
};
silent = true;
};
};
rust-tools = {
enable = true;
crateGraph = {
enabledGraphvizBackends = ["png" "svg"];
backend = "x11";
};
inlayHints = {
auto = true;
onlyCurrentLine = true;
showParameterHints = true;
};
};
fidget.enable = true;
telescope = {
enable = true;
keymaps = {
"<leader>ff" = "find_files";
"<leader>fg" = "git_files";
"<leader>fs" = "live_grep";
"<leader>fb" = "buffers";
"<leader>fh" = "help_tags";
};
keymapsSilent = true;
};
comment.enable = true;
harpoon = {
enable = true;
package = pkgs.vimPlugins.harpoon.overrideAttrs {
src = pkgs.fetchFromGitHub {
owner = "ThePrimeagen";
repo = "harpoon";
rev = "a38be6e0dd4c6db66997deab71fc4453ace97f9c";
hash = "sha256-RjwNUuKQpLkRBX3F9o25Vqvpu3Ah1TCFQ5Dk4jXhsbI=";
};
};
enableTelescope = true;
keymapsSilent = false;
};
markdown-preview = {
enable = true;
settings.theme = "dark";
};
};
extraPlugins = with pkgs.vimPlugins; [
zen-mode-nvim
lazygit-nvim
];
keymaps = [
{
mode = "n";
key = "<leader>pv";
action = "<cmd>Explore<CR>";
}
{
mode = "n";
key = "<leader>w";
action = "<cmd>w<CR>";
}
{
mode = "n";
key = "<leader>qw";
action = "<cmd>q<CR>";
}
{
mode = "n";
key = "<leader>gg";
action = "<cmd>LazyGit<CR>";
}
];
};
opts = {
background = "dark";
shiftwidth = 4;
autoread = true;
cmdheight = 1;
encoding = "utf8";
expandtab = true;
hidden = true;
ignorecase = true;
linebreak = true;
mousemoveevent = true;
number = true;
relativenumber = true;
showmatch = true;
smartcase = true;
smartindent = true;
smarttab = true;
so = 7;
timeoutlen = 500;
tabstop = 4;
updatetime = 50;
};
globals.mapleader = " ";
plugins = {
lualine = {
enable = true;
theme = "catppuccin";
};
treesitter = {
enable = true;
folding = false;
indent = true;
nixvimInjections = true;
incrementalSelection.enable = true;
};
treesitter-context = { enable = true; };
coq-nvim = {
enable = true;
installArtifacts = true;
settings = {
auto_start = "shut-up";
keymap.recommended = true;
completion.always = false;
};
};
neo-tree = { enable = true; };
# TODO laytan/cloak.nvim
lsp = {
enable = true;
servers = {
rust-analyzer = {
enable = true;
installCargo = false;
installRustc = false;
};
lua-ls.enable = true;
ccls.enable = true;
nil_ls.enable = true;
bashls.enable = true;
tsserver.enable = true;
java-language-server.enable = true;
#pylyzer.enable = true;
rnix-lsp.enable = true;
pyright.enable = true;
};
#onAttach = ''
# vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
# local bufopts = { noremap = true, silent = true, buffer = bufnr }
# vim.keymap.set('n', '<space>wl', function()
# print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
# end, bufopts)
# vim.keymap.set('n', '<C-f>', function() vim.lsp.buf.format { async = true } end, bufopts)
#'';
keymaps = {
lspBuf = {
gD = "declaration";
gd = "definition";
K = "hover";
gi = "implementation";
"<C-k>" = "signature_help";
"<leader>wa" = "add_workspace_folder";
"<leader>wr" = "remove_workspace_folder";
"<leader>wl" = "list_workspace_folders";
"<leader>D" = "type_definition";
"<leader>r" = "rename";
"<leader>a" = "code_action";
gr = "references";
"<C-f>" = "format";
};
diagnostic = {
"<leader>e" = "open_float";
"<leader>j" = "goto_prev";
"<leader>k" = "goto_next";
"<leader>q" = "setloclist";
};
silent = true;
};
};
rust-tools = {
enable = true;
crateGraph = {
enabledGraphvizBackends = [ "png" "svg" ];
backend = "x11";
};
inlayHints = {
auto = true;
onlyCurrentLine = true;
showParameterHints = true;
};
};
fidget.enable = true;
telescope = {
enable = true;
keymaps = {
"<leader>ff" = "find_files";
"<leader>fg" = "git_files";
"<leader>fs" = "live_grep";
"<leader>fb" = "buffers";
"<leader>fh" = "help_tags";
};
keymapsSilent = true;
};
comment.enable = true;
harpoon = {
enable = true;
package = pkgs.vimPlugins.harpoon.overrideAttrs {
src = pkgs.fetchFromGitHub {
owner = "ThePrimeagen";
repo = "harpoon";
rev = "a38be6e0dd4c6db66997deab71fc4453ace97f9c";
hash = "sha256-RjwNUuKQpLkRBX3F9o25Vqvpu3Ah1TCFQ5Dk4jXhsbI=";
};
};
enableTelescope = true;
keymapsSilent = false;
};
markdown-preview = {
enable = true;
settings.theme = "dark";
};
};
extraPlugins = with pkgs.vimPlugins; [ zen-mode-nvim lazygit-nvim ];
keymaps = [
{
mode = "n";
key = "<leader>pv";
action = "<cmd>Explore<CR>";
}
{
mode = "n";
key = "<leader>w";
action = "<cmd>w<CR>";
}
{
mode = "n";
key = "<leader>qw";
action = "<cmd>q<CR>";
}
{
mode = "n";
key = "<leader>gg";
action = "<cmd>LazyGit<CR>";
}
];
};
};
};
}

View file

@ -1,82 +1,82 @@
{
config,
lib,
...
}: with lib; let
cfg = config.modules.programs.newsboat;
username = config.modules.other.system.username;
{ config, lib, ... }:
with lib;
let
cfg = config.modules.programs.newsboat;
username = config.modules.other.system.username;
in {
options.modules.programs.newsboat.enable = mkEnableOption "newsboat";
options.modules.programs.newsboat.enable = mkEnableOption "newsboat";
config = mkIf cfg.enable {
home-manager.users.${username} = {
programs.newsboat = {
enable = true;
autoReload = true;
extraConfig = ''
download-full-page yes
download-retries 3
error-log /dev/null
cookie-cache ~/.cache/newsboat/cookies.txt
bind-key j down
bind-key k up
bind-key G end
bind-key g home
bind-key d pagedown
bind-key u pageup
bind-key a toggle-article-read
macro x set browser "setsid -f mpv --really-quiet --no-terminal" ; open-in-browser ; set browser librewolf
config = mkIf cfg.enable {
home-manager.users.${username} = {
programs.newsboat = {
enable = true;
autoReload = true;
extraConfig = ''
download-full-page yes
download-retries 3
error-log /dev/null
cookie-cache ~/.cache/newsboat/cookies.txt
bind-key j down
bind-key k up
bind-key G end
bind-key g home
bind-key d pagedown
bind-key u pageup
bind-key a toggle-article-read
macro x set browser "setsid -f mpv --really-quiet --no-terminal" ; open-in-browser ; set browser librewolf
color listnormal color15 default
color listnormal_unread color2 default
color listfocus_unread color2 color0
color listfocus default color0
color background default default
color article default default
color end-of-text-marker color8 default
color info color4 color8
color hint-separator default color8
color hint-description default color8
color title color14 color8
color listnormal color15 default
color listnormal_unread color2 default
color listfocus_unread color2 color0
color listfocus default color0
color background default default
color article default default
color end-of-text-marker color8 default
color info color4 color8
color hint-separator default color8
color hint-description default color8
color title color14 color8
highlight article "^(Feed|Title|Author|Link|Date): .+" color4 default bold
highlight article "^(Feed|Title|Author|Link|Date):" color14 default bold
highlight article "\\((link|image|video)\\)" color8 default
highlight article "https?://[^ ]+" color4 default
highlight article "\[[0-9]+\]" color6 default bold
user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36"
'';
urls = [
{
title = "NixOS Weekly";
url = "https://weekly.nixos.org/feeds/all.rss.xml";
}
{
title = "Veronica Explains";
url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCMiyV_Ib77XLpzHPQH_q0qQ";
}
{
title = "Mental Outlaw";
url = "https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA";
}
{
title = "Hacker News";
url = "https://hnrss.org/newest";
}
{
title = "Phoronix";
url = "https://www.phoronix.com/rss.php";
}
{
title = "LWN";
url = "https://lwn.net/headlines/rss";
}
{
title = "Hyprland Commit Feed";
url = "https://github.com/hyprwm/Hyprland/commits/main.atom";
}
];
};
};
highlight article "^(Feed|Title|Author|Link|Date): .+" color4 default bold
highlight article "^(Feed|Title|Author|Link|Date):" color14 default bold
highlight article "\\((link|image|video)\\)" color8 default
highlight article "https?://[^ ]+" color4 default
highlight article "\[[0-9]+\]" color6 default bold
user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36"
'';
urls = [
{
title = "NixOS Weekly";
url = "https://weekly.nixos.org/feeds/all.rss.xml";
}
{
title = "Veronica Explains";
url =
"https://www.youtube.com/feeds/videos.xml?channel_id=UCMiyV_Ib77XLpzHPQH_q0qQ";
}
{
title = "Mental Outlaw";
url =
"https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA";
}
{
title = "Hacker News";
url = "https://hnrss.org/newest";
}
{
title = "Phoronix";
url = "https://www.phoronix.com/rss.php";
}
{
title = "LWN";
url = "https://lwn.net/headlines/rss";
}
{
title = "Hyprland Commit Feed";
url = "https://github.com/hyprwm/Hyprland/commits/main.atom";
}
];
};
};
};
}

View file

@ -1,18 +1,17 @@
{ config, lib, ... }:
with lib; let
cfg = config.modules.programs.yazi;
username = config.modules.other.system.username;
with lib;
let
cfg = config.modules.programs.yazi;
username = config.modules.other.system.username;
in {
options.modules.programs.yazi = {
enable = mkEnableOption "yazi";
};
options.modules.programs.yazi = { enable = mkEnableOption "yazi"; };
config = mkIf cfg.enable {
home-manager.users.${username} = {
programs.yazi = {
enable = true;
enableZshIntegration = true;
};
};
config = mkIf cfg.enable {
home-manager.users.${username} = {
programs.yazi = {
enable = true;
enableZshIntegration = true;
};
};
};
}