feat: init

This commit is contained in:
Nick 2025-03-29 23:08:26 -05:00
commit 96c6f790fc
804 changed files with 33411 additions and 0 deletions

View file

@ -0,0 +1,12 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
android-file-transfer
;
};
}
# requires that users be part of the adbusers group

View file

@ -0,0 +1,12 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
android-tools
;
};
}
# requires that users be part of the adbusers group

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
simple-mtpfs
;
};
}

11
modules/home/cli/default.nix Executable file
View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,44 @@
{
language = [
{
auto-format = true;
formatter.command = "nixfmt";
name = "nix";
}
{
auto-format = true;
formatter.command = "cssfmt";
name = "css";
}
{
auto-format = true;
language-servers = [
"elm-language-server"
];
name = "elm";
}
{
auto-format = true;
formatter.command = "haskell";
name = "haskell";
}
{
auto-format = true;
formatter.command = "yamlfmt";
name = "yaml";
}
{
auto-format = true;
formatter.command = "yuck";
name = "yuck";
}
];
language-server = {
elm-language-server = {
config.elmLS = {
disableElmLSDiagnostics = true;
elmReviewDiagnostics = "warning";
};
};
};
}

View file

@ -0,0 +1,62 @@
{
editor = {
mouse = true;
auto-format = true;
soft-wrap.enable = true;
auto-save = true;
line-number = "relative";
cursorline = true;
indent-guides = {
character = "";
skip-levels = 1;
render = true;
};
lsp = {
display-messages = true;
display-inlay-hints = true;
};
};
keys = {
normal = {
f = ":format";
tab = "indent";
S-tab = "unindent";
ret = [
"add_newline_below"
"move_line_down"
];
S-ret = [
"add_newline_above"
"move_line_up"
];
S-up = [
"extend_to_line_bounds"
"delete_selection"
"move_line_up"
"paste_before"
];
S-down = [
"extend_to_line_bounds"
"delete_selection"
"paste_after"
];
S-g = [
":write-all"
":new"
":insert-output lazygit"
":buffer-close!"
":redraw"
":reload-all"
];
Y = "yank_main_selection_to_primary_clipboard";
R = "replace_selections_with_primary_clipboard";
space = {
q = ":q";
w = ":w";
};
};
};
theme = "catppuccin_macchiato";
}

View file

@ -0,0 +1,19 @@
{
pkgs,
flake,
...
}:
{
programs.helix =
let
configPath = ./config;
settingsPath = import (configPath + /settings.nix);
languagesPath = import (configPath + /languages.nix);
in
{
enable = true;
package = flake.inputs.helix.packages.${pkgs.system}.default;
languages = languagesPath;
settings = settingsPath;
};
}

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,16 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs.elmPackages)
elm
elm-format
elm-land
elm-language-server
elm-review
elm-test
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs.nodePackages)
nodejs
;
};
}

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,16 @@
{
config,
flake,
...
}:
let
user = config.home.username;
userConfig = flake.config.people.users.${user};
in
{
programs.git = {
enable = true;
userName = userConfig.name;
userEmail = userConfig.email.address0;
};
}

View file

@ -0,0 +1,7 @@
{
programs.lazygit = {
enable = true;
settings = {
};
};
}

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
file-roller
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
ncdu
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
samba
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
unrar
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
unzip
;
};
}

View file

@ -0,0 +1,16 @@
{
keymap.manager.prepend_keymap = [
{
on = [
"Q"
];
run = "quit";
}
{
on = [
"q"
];
run = "quit --no-cwd-file";
}
];
}

View file

@ -0,0 +1,18 @@
{
settings = {
log = {
enabled = false;
};
manager = {
show_hidden = true;
sort_by = "alphabetical";
sort_dir_first = true;
sort_reverse = false;
};
preview = {
tab_size = 2;
max_width = 1500;
max_height = 1000;
};
};
}

View file

@ -0,0 +1,22 @@
{
flake,
pkgs,
...
}:
{
programs.yazi =
let
configPath = ./config;
keymapPath = import (configPath + /keymap.nix);
settingsPath = import (configPath + /settings.nix);
in
{
enable = true;
# package = flake.inputs.yazi.packages.${pkgs.system}.yazi;
enableNushellIntegration = true;
keymap = keymapPath;
settings = settingsPath;
};
# Keymap
# https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/keymap.toml
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
zip
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
ani-cli
;
};
}

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,76 @@
{
logo = {
source = "nixos_large";
padding = {
right = 2;
top = 3;
};
};
display = {
size = {
binaryPrefix = "si";
};
color = "magenta";
separator = " ";
};
modules = [
{
type = "separator";
string = "SYSTEM: ";
}
{
type = "os";
key = "NixOS Version";
}
{
type = "kernel";
key = "Kernel Version";
}
"shell"
"terminal"
"packages"
"locale"
{
type = "wm";
key = "Window Manager";
}
{
type = "separator";
string = "HARDWARE: ";
}
{
type = "board";
key = "Motherboard";
}
{
type = "cpu";
key = "Processor";
}
{
type = "gpu";
key = "Graphics";
}
"memory"
"disk"
"display"
"gamepad"
{
type = "sound";
key = "Audio Interface";
}
{
type = "separator";
string = "INTERFACE: ";
}
"theme"
"cursor"
"icons"
"font"
"editor"
"player"
{
type = "media";
key = "Song";
}
];
}

View file

@ -0,0 +1,10 @@
let
configPath = ./config;
settingsPath = import (configPath + /settings.nix);
in
{
programs.fastfetch = {
enable = true;
settings = settingsPath;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
libgen-cli
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
nyancat
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
yabridge
;
};
}

View file

@ -0,0 +1,4 @@
''
--embed-chapters
--audio-quality 0
''

View file

@ -0,0 +1,7 @@
{
embed-thumbnail = true;
embed-subs = true;
sub-langs = "english";
downloader = "aria2c";
downloader-args = "aria2c:'-c -x8 -s8 -k1M'";
}

View file

@ -0,0 +1,13 @@
{
programs.yt-dlp =
let
configPath = ./config;
extraConfigPath = import (configPath + /extraConfig.nix);
settingsPath = import (configPath + /settings.nix);
in
{
enable = true;
extraConfig = extraConfigPath;
settings = settingsPath;
};
}

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,15 @@
{
programs.nushell = {
enable = true;
configFile.text = ''
sleep 7ms
$env.config = {show_banner: false}
'';
shellAliases = {
y = "yy";
lg = "lazygit";
yt = "yt-dlp --embed-chapters";
ze = "zellij";
};
};
}

View file

@ -0,0 +1,98 @@
{
flake,
config,
lib,
...
}:
let
inherit (flake.config.aesthetics.themes) currentTheme palettes;
inherit (flake.config.people) user0 user1 user2;
user = config.home.username;
themeLogic =
if user == user0 then
currentTheme.theme0
else if user == user1 then
currentTheme.theme1
else if user == user2 then
currentTheme.theme2
else
currentTheme.theme0;
el = palettes.${themeLogic}.colours;
makeColor = c: "#" + c;
makeStyle = bg: fg: "bg:" + bg + " fg:" + fg + " bold";
surround =
fg: text:
"[](fg:"
+ makeColor el.base00
+ " bg:"
+ fg
+ ")"
+ "[](fg:"
+ fg
+ ")"
+ text
+ "[](fg:"
+ fg
+ ")";
in
{
add_newline = false;
character =
let
makeChar =
bg: c:
surround (makeColor bg) ("[" + c + "](" + makeStyle (makeColor bg) (makeColor el.base11) + ")");
in
{
error_symbol = makeChar el.base12 "";
format = "$symbol";
success_symbol = makeChar el.base0C "λ";
};
cmd_duration = {
format = surround (makeColor el.base0E) "[ $duration]($style)";
min_time = 0;
show_milliseconds = true;
style = makeStyle (makeColor el.base0E) (makeColor el.base11);
};
directory = {
format = surround (makeColor el.base0D) "[󰉋 $path]($style)[$read_only]($read_only_style)";
read_only = " ";
read_only_style = makeStyle (makeColor el.base0D) (makeColor el.base11);
style = makeStyle (makeColor el.base0D) (makeColor el.base11);
truncation_length = 1;
truncate_to_repo = false;
};
git_branch = {
format = surround (makeColor el.base09) "[$symbol $branch]($style)";
style = makeStyle (makeColor el.base09) (makeColor el.base11);
symbol = "";
};
git_status = {
format = "[ \\[$all_status$ahead_behind\\]]($style)";
style = makeStyle (makeColor el.base0A) (makeColor el.base11);
};
hostname = {
format = surround (makeColor el.base16) "[$ssh_symbol$hostname]($style)";
ssh_symbol = "󰖟 ";
style = makeStyle (makeColor el.base16) (makeColor el.base11);
};
pijul_channel = {
disabled = false;
format = surround (makeColor el.base09) "[$symbol $channel]($style)";
style = makeStyle (makeColor el.base09) (makeColor el.base11);
symbol = "";
};
format = lib.concatStrings [
"$hostname"
"$directory"
"$pijul_channel"
"$git_branch"
"$cmd_duration"
"$character "
];
}

View file

@ -0,0 +1,16 @@
{
flake,
config,
lib,
...
}:
let
configPath = ./config;
settingsPath = import (configPath + /settings.nix) { inherit config flake lib; };
in
{
programs.starship = {
enable = true;
settings = settingsPath;
};
}

View file

@ -0,0 +1,6 @@
{
programs.zellij = {
enable = true;
settings.theme = "catppuccin-macchiato";
};
}

View file

@ -0,0 +1,10 @@
{ pkgs, ... }:
{
programs.zoxide = {
enable = true;
enableNushellIntegration = true;
package = pkgs.zoxide;
options = [
];
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
alsa-utils
;
};
}

View file

@ -0,0 +1,67 @@
{
flake,
config,
...
}:
let
inherit (flake.config.aesthetics.themes)
currentTheme
palettes
;
inherit (flake.config.people) user0 user1 user2;
user = config.home.username;
themeLogic =
if user == user0 then
currentTheme.theme0
else if user == user1 then
currentTheme.theme1
else if user == user2 then
currentTheme.theme2
else
currentTheme.theme0;
el = palettes.${themeLogic}.colours;
in
{
colors = {
tableHeaderColor = el.base06;
allCpuColor = el.base06;
avgCpuColor = el.base12;
cpuCoreColors = [
el.base07
el.base16
el.base09
el.base0A
el.base0B
el.base15
el.base0E
];
ramColor = el.base0B;
swapColor = el.base09;
rxColor = el.base0B;
txColor = el.base08;
widgetTitleColor = el.base0F;
borderColor = el.base04;
highlightedBorderColor = el.base17;
textColor = el.base05;
graphColor = el.base05;
cursorColor = el.base17;
selectedTextColor = el.base11;
selectedBgColor = el.base0E;
highBatteryColor = el.base0B;
mediumBatteryColor = el.base0A;
lowBatteryColor = el.base08;
gpuCoreColors = [
el.base15
el.base0E
el.base08
el.base09
el.base0A
el.base0B
];
arcColor = el.base15;
};
}

View file

@ -0,0 +1,16 @@
{
flake,
config,
...
}:
{
programs.bottom =
let
configPath = ./config;
settingsPath = import (configPath + /settings.nix) { inherit config flake; };
in
{
enable = true;
settings = settingsPath;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
brightnessctl
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
cifs-utils
;
};
}

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,6 @@
{
programs.direnv = {
enable = true;
nix-direnv.enable = true;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
ffmpeg
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
flac
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
glib
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
hardinfo
;
};
}

View file

@ -0,0 +1 @@
{ programs.home-manager.enable = true; }

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
inetutils
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
libnatpmp
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
ngrrram
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
pamixer
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
parted
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
pciutils
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
pinentry
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
playerctl
;
};
}

View file

@ -0,0 +1,12 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
protonvpn-cli_2
protonvpn-gui
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
speedtest-rs
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
sshfs
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
tokei
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
tomb
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
usbutils
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
wget
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
wine
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
xdg-utils
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
xdotool
;
};
}