genesis
This commit is contained in:
commit
82a8c33133
39 changed files with 1079 additions and 0 deletions
92
modules/users/coyote/programs/fastfetch.nix
Normal file
92
modules/users/coyote/programs/fastfetch.nix
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
{
|
||||
flake.modules.homeManager.coyote = {pkgs, ...}: {
|
||||
programs.fastfetch = {
|
||||
enable = true;
|
||||
settings = {
|
||||
"$schema" = "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json";
|
||||
|
||||
logo = {
|
||||
type = "small";
|
||||
padding.top = 4;
|
||||
padding.left = 3;
|
||||
padding.right = 4;
|
||||
};
|
||||
|
||||
display.separator = " ";
|
||||
|
||||
modules = [
|
||||
{
|
||||
key = "╭─────────╮";
|
||||
type = "custom";
|
||||
}
|
||||
{
|
||||
key = "│ {#31}user {#keys}│";
|
||||
type = "title";
|
||||
format = "{user-name}";
|
||||
}
|
||||
{
|
||||
key = "│ {#32}host {#keys}│";
|
||||
type = "title";
|
||||
format = "{host-name}";
|
||||
}
|
||||
{
|
||||
key = "│ {#33}uptime {#keys}│";
|
||||
type = "uptime";
|
||||
}
|
||||
{
|
||||
key = "│ {#34}distro {#keys}│";
|
||||
type = "os";
|
||||
}
|
||||
{
|
||||
key = "│ {#35}kernel {#keys}│";
|
||||
type = "kernel";
|
||||
}
|
||||
{
|
||||
key = "│ {#36}desktop {#keys}│";
|
||||
type = "de";
|
||||
}
|
||||
{
|
||||
key = "│ {#31}term {#keys}│";
|
||||
type = "terminal";
|
||||
}
|
||||
{
|
||||
key = "│ {#32}shell {#keys}│";
|
||||
type = "shell";
|
||||
}
|
||||
{
|
||||
key = "│ {#33}cpu {#keys}│";
|
||||
type = "cpu";
|
||||
showPeCoreCount = true;
|
||||
}
|
||||
{
|
||||
key = "│ {#34}disk {#keys}│";
|
||||
type = "disk";
|
||||
folders = "/";
|
||||
}
|
||||
{
|
||||
key = "│ {#35}memory {#keys}│";
|
||||
type = "memory";
|
||||
}
|
||||
{
|
||||
key = "│ {#36}network {#keys}│";
|
||||
type = "localip";
|
||||
format = "{ipv4} ({ifname})";
|
||||
}
|
||||
{
|
||||
key = "├─────────┤";
|
||||
type = "custom";
|
||||
}
|
||||
{
|
||||
key = "│ {#39}colors {#keys}│";
|
||||
type = "colors";
|
||||
symbol = "circle";
|
||||
}
|
||||
{
|
||||
key = "╰─────────╯";
|
||||
type = "custom";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
23
modules/users/coyote/programs/git.nix
Normal file
23
modules/users/coyote/programs/git.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
flake.modules.homeManager.coyote = {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
settings = {
|
||||
user.name = "asnev";
|
||||
user.email = "notasnev@proton.me";
|
||||
};
|
||||
|
||||
signing = {
|
||||
key = "/home/coyote/.ssh/id_ed25519.pub";
|
||||
format = "ssh";
|
||||
};
|
||||
|
||||
includes = [
|
||||
{
|
||||
condition = "gitdir:/home/coyote/chitin/";
|
||||
contents.core.sshCommand = "ssh -i /home/coyote/.ssh/id_ed25519";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
190
modules/users/coyote/programs/nvf.nix
Normal file
190
modules/users/coyote/programs/nvf.nix
Normal file
|
|
@ -0,0 +1,190 @@
|
|||
{inputs, ...}: {
|
||||
flake.modules.homeManager.coyote = {pkgs, ...}: {
|
||||
imports = [inputs.nvf.homeManagerModules.default];
|
||||
|
||||
home.packages = with pkgs.unstable; [
|
||||
lazygit
|
||||
tree-sitter
|
||||
];
|
||||
|
||||
programs.nvf = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
enableManpages = true;
|
||||
|
||||
settings.vim = {
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
|
||||
syntaxHighlighting = true;
|
||||
lineNumberMode = "relNumber";
|
||||
searchCase = "smart";
|
||||
hideSearchHighlight = false;
|
||||
|
||||
clipboard = {
|
||||
enable = true;
|
||||
registers = "unnamedplus";
|
||||
providers.wl-copy.enable = true;
|
||||
};
|
||||
|
||||
options = {
|
||||
encoding = "utf-8";
|
||||
backspace = "indent,eol,start";
|
||||
history = 1000;
|
||||
mouse = "a";
|
||||
updatetime = 300;
|
||||
|
||||
ruler = true;
|
||||
cursorline = true;
|
||||
showcmd = true;
|
||||
showmode = true;
|
||||
laststatus = 1;
|
||||
wildmenu = true;
|
||||
wildmode = ["longest" "list" "full"];
|
||||
ttyfast = true;
|
||||
lazyredraw = true;
|
||||
signcolumn = "no";
|
||||
|
||||
autoindent = true;
|
||||
expandtab = true;
|
||||
smarttab = true;
|
||||
tabstop = 4;
|
||||
shiftwidth = 4;
|
||||
softtabstop = 4;
|
||||
|
||||
hlsearch = true;
|
||||
incsearch = true;
|
||||
|
||||
termguicolors = true;
|
||||
background = "dark";
|
||||
showmatch = true;
|
||||
};
|
||||
|
||||
theme = {
|
||||
enable = true;
|
||||
name = "gruvbox";
|
||||
style = "dark";
|
||||
};
|
||||
|
||||
globals.terminal_ansi_colors = [
|
||||
"#282828"
|
||||
"#cc241d"
|
||||
"#98971a"
|
||||
"#d79921"
|
||||
"#458588"
|
||||
"#b16286"
|
||||
"#689d6a"
|
||||
"#a89984"
|
||||
"#928374"
|
||||
"#fb4934"
|
||||
"#b8bb26"
|
||||
"#fabd2f"
|
||||
"#83a598"
|
||||
"#d3869b"
|
||||
"#8ec07c"
|
||||
"#ebdbb2"
|
||||
];
|
||||
|
||||
keymaps = [
|
||||
{
|
||||
mode = "i";
|
||||
key = "<C-l>";
|
||||
action = "λ";
|
||||
desc = "inserts lambda";
|
||||
}
|
||||
];
|
||||
|
||||
languages.nix = {
|
||||
enable = true;
|
||||
treesitter.enable = true;
|
||||
lsp.enable = true;
|
||||
format.enable = false;
|
||||
extraDiagnostics.enable = false;
|
||||
};
|
||||
|
||||
utility.undotree.enable = true;
|
||||
|
||||
augroups = [
|
||||
{
|
||||
name = "my_filetype_settings";
|
||||
clear = true;
|
||||
}
|
||||
];
|
||||
|
||||
autocmds = [
|
||||
{
|
||||
event = ["FileType"];
|
||||
pattern = [
|
||||
"javascript"
|
||||
"javascriptreact"
|
||||
"typescript"
|
||||
"typescriptreact"
|
||||
"html"
|
||||
"css"
|
||||
"scss"
|
||||
"json"
|
||||
"jsonc"
|
||||
"vue"
|
||||
"svelte"
|
||||
"yaml"
|
||||
"toml"
|
||||
"markdown"
|
||||
"nix"
|
||||
"vim"
|
||||
"ruby"
|
||||
"eruby"
|
||||
"dart"
|
||||
"haskell"
|
||||
"elm"
|
||||
];
|
||||
group = "my_filetype_settings";
|
||||
desc = "2-space indent";
|
||||
command = "setlocal expandtab tabstop=2 shiftwidth=2 softtabstop=2";
|
||||
}
|
||||
{
|
||||
event = ["FileType"];
|
||||
pattern = [
|
||||
"python"
|
||||
"rust"
|
||||
"java"
|
||||
"lua"
|
||||
"c"
|
||||
"cpp"
|
||||
"cs"
|
||||
"php"
|
||||
"kotlin"
|
||||
"swift"
|
||||
"scala"
|
||||
"perl"
|
||||
];
|
||||
group = "my_filetype_settings";
|
||||
desc = "4-space indent";
|
||||
command = "setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4";
|
||||
}
|
||||
{
|
||||
event = ["FileType"];
|
||||
pattern = ["go" "gomod" "make"];
|
||||
group = "my_filetype_settings";
|
||||
desc = "hard tabs";
|
||||
command = "setlocal noexpandtab tabstop=4 shiftwidth=4 softtabstop=0";
|
||||
}
|
||||
{
|
||||
event = ["FileType"];
|
||||
pattern = ["lisp" "scheme" "clojure" "racket" "fennel"];
|
||||
group = "my_filetype_settings";
|
||||
desc = "Lisp-style indent";
|
||||
command = "setlocal expandtab tabstop=2 shiftwidth=2 softtabstop=2 lisp autoindent";
|
||||
}
|
||||
];
|
||||
|
||||
luaConfigRC.my_lispwords = ''
|
||||
vim.opt.lispwords:append({
|
||||
"defun", "defmacro", "defvar", "defparameter", "defmethod",
|
||||
"define-syntax", "lambda", "let", "let*", "letrec", "flet",
|
||||
"labels", "progn", "when", "unless", "if", "cond",
|
||||
})
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
15
modules/users/coyote/programs/obs.nix
Normal file
15
modules/users/coyote/programs/obs.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
flake.modules.homeManager.coyote = {pkgs, ...}: {
|
||||
programs.obs-studio = {
|
||||
enable = true;
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
input-overlay
|
||||
droidcam-obs
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
flake.modules.nixos.coyote = {
|
||||
programs.obs-studio.enableVirtualCamera = true;
|
||||
};
|
||||
}
|
||||
15
modules/users/coyote/programs/shell.nix
Normal file
15
modules/users/coyote/programs/shell.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
flake.modules.homeManager.coyote = {
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
shellAbbrs = {
|
||||
l = "eza --grid --all";
|
||||
ll = "eza --long --all";
|
||||
ls = "eza";
|
||||
".." = "cd ..";
|
||||
"..." = "cd ../..";
|
||||
cat = "bat";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
20
modules/users/coyote/programs/ssh.nix
Normal file
20
modules/users/coyote/programs/ssh.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
flake.modules.homeManager.coyote = {
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
enableDefaultConfig = false;
|
||||
settings."*" = {
|
||||
ForwardAgent = false;
|
||||
AddKeysToAgent = "yes"; # no passphrase, silent auto-add
|
||||
Compression = false;
|
||||
ServerAliveInterval = 0;
|
||||
ServerAliveCountMax = 3;
|
||||
HashKnownHosts = false;
|
||||
UserKnownHostsFile = "~/.ssh/known_hosts";
|
||||
ControlMaster = "no";
|
||||
ControlPath = "~/.ssh/master-%r@%n:%p";
|
||||
ControlPersist = "no";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
19
modules/users/coyote/programs/starship.nix
Normal file
19
modules/users/coyote/programs/starship.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
flake.modules.homeManager.coyote = {pkgs, ...}: {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
package = pkgs.unstable.starship;
|
||||
enableTransience = true;
|
||||
settings = {
|
||||
"$schema" = "https://starship.rs/config-schema.json";
|
||||
git_status = {
|
||||
ahead = ">";
|
||||
behind = "<";
|
||||
diverged = "<>";
|
||||
renamed = "r";
|
||||
deleted = "d";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
21
modules/users/coyote/programs/tmux.nix
Normal file
21
modules/users/coyote/programs/tmux.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
flake.modules.homeManager.coyote = {
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
clock24 = true;
|
||||
baseIndex = 1;
|
||||
keyMode = "vi";
|
||||
terminal = "tmux-256color";
|
||||
escapeTime = 10;
|
||||
extraConfig = ''
|
||||
set -g pane-base-index 1
|
||||
set-window-option -g pane-base-index 1
|
||||
set-option -g renumber-windows on
|
||||
set-option -g status-right "\"#W\""
|
||||
set -ga terminal-overrides ",*:RGB"
|
||||
set -g mouse on
|
||||
set -g set-clipboard on
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
8
modules/users/coyote/programs/yt-dlp.nix
Normal file
8
modules/users/coyote/programs/yt-dlp.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
flake.modules.homeManager.coyote = {pkgs, ...}: {
|
||||
programs.yt-dlp = {
|
||||
enable = true;
|
||||
package = pkgs.unstable.yt-dlp;
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Reference in a new issue