Begin the move to the import all, activate by config model

This commit is contained in:
Jimbo 2024-11-04 22:41:38 -05:00
parent 7397b614de
commit 07cb2d67a2
97 changed files with 776 additions and 633 deletions

View file

@ -1,9 +1,11 @@
{ pkgs, ... }:
{
imports = [
./spotdl
./yt-dlp
];
home.packages = with pkgs; [
yt-dlp
spotdl
playerctl
ffmpeg
alsa-utils
puddletag

View file

@ -0,0 +1,5 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [ spotdl ];
programs.zsh.shellAliases.spotdl = "spotdl --m3u --format opus";
}

View file

@ -0,0 +1,20 @@
{ ... }:
{
programs = {
yt-dlp = {
enable = true;
settings = {
add-metadata = true;
embed-thumbnail = true;
convert-thumbnails = "jpg";
audio-format = "opus";
output = ''"%(artist)s - %(title)s.%(ext)s"'';
};
};
zsh.shellAliases = {
ytm3u = "yt-dlp -gS proto:m3u8";
opusdl = ''yt-dlp -f ba -x --audio-quality 0'';
spotdl = "spotdl --m3u --format opus";
};
};
}

View file

@ -0,0 +1,97 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"source": "xenia",
"color": {
"1": "1;97",
"2": "red",
"3": "yellow"
}
},
"display": {
"separator": " \u001b[33m ",
"color": "red"
},
"modules": [
{
"type": "custom",
"format": "\u001b[1m—————————————————————————————————————"
},
{
"type": "host",
"key": "󰌢 "
},
{
"type": "cpu",
"key": " "
},
{
"type": "gpu",
"key": "󰢮 "
},
{
"type": "disk",
"folders": "/",
"key": " "
},
{
"type": "memory",
"format": "{/1}{-}{/}{/2}{-}{/}{} / {}",
"key": " "
},
{
"type": "display",
"compactType": "original",
"key": "󰍹 "
},
{
"type": "custom",
"format": "\u001b[1m—————————————————————————————————————"
},
{
"type": "os",
"format": "{3} {12}",
"key": "󰍛 "
},
{
"type": "kernel",
"format": "{1} {2}",
"key": " "
},
{
"type": "wm",
"key": " "
},
{
"type": "shell",
"key": " "
},
{
"type": "terminal",
"key": " "
},
{
"type": "packages",
"key": "󰆧 "
},
{
"type": "uptime",
"key": "󰅐 "
},
{
"type": "command",
"text": "date -d @$(stat -c %W /) '+%a %b %d %r %Z %Y'",
"key": "󰶡 "
},
{
"type": "custom",
"format": "\u001b[1m—————————————————————————————————————"
},
{
"type": "custom",
"format": "\u001b[90m󰮯 \u001b[31m󰊠 \u001b[32m󰊠 \u001b[33m󰊠 \u001b[34m󰊠 \u001b[35m󰊠 \u001b[36m󰊠 \u001b[37m󰊠"
}
]
}

View file

@ -1,154 +1,6 @@
{ pkgs, ... }:
{ ... }:
{
home = {
file = let
fastConf = ''
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"source": "xenia",
"color": {
"1": "1;97",
"2": "red",
"3": "yellow"
}
},
"display": {
"separator": " \u001b[33m ",
"color": "red"
},
"modules": [
{
"type": "custom",
"format": "\u001b[1m"
},
{
"type": "host",
"key": "󰌢 "
},
{
"type": "cpu",
"key": " "
},
{
"type": "gpu",
"key": "󰢮 "
},
{
"type": "disk",
"folders": "/",
"key": " "
},
{
"type": "memory",
"format": "{/1}{-}{/}{/2}{-}{/}{} / {}",
"key": " "
},
{
"type": "display",
"compactType": "original",
"key": "󰍹 "
},
{
"type": "custom",
"format": "\u001b[1m"
},
{
"type": "os",
"format": "{3} {12}",
"key": "󰍛 "
},
{
"type": "kernel",
"format": "{1} {2}",
"key": " "
},
{
"type": "wm",
"key": " "
},
{
"type": "shell",
"key": " "
},
{
"type": "terminal",
"key": " "
},
{
"type": "packages",
"key": "󰆧 "
},
{
"type": "uptime",
"key": "󰅐 "
},
{
"type": "command",
"text": "date -d @$(stat -c %W /) '+%a %b %d %r %Z %Y'",
"key": "󰶡 "
},
{
"type": "custom",
"format": "\u001b[1m"
},
{
"type": "custom",
"format": "\u001b[90m󰮯 \u001b[31m󰊠 \u001b[32m󰊠 \u001b[33m󰊠 \u001b[34m󰊠 \u001b[35m󰊠 \u001b[36m󰊠 \u001b[37m󰊠"
}
]
}
'';
in {
# Fastfetch config
".config/fastfetch/config.jsonc".text = fastConf;
};
packages = let
# Small Neofetch config
pFetch = let
smallConf = pkgs.writeText "smallconf.jsonc" ''
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"type": "small"
},
"modules": [
{
"type": "os",
"format": "{3} {12}",
"key": "󰍛 "
},
{
"type": "host",
"key": "󰌢 "
},
{
"type": "kernel",
"format": "{1} {2}",
"key": " "
},
{
"type": "uptime",
"key": "󰅐 "
},
{
"type": "packages",
"key": "󰆧 "
},
{
"type": "memory",
"format": "{/1}{-}{/}{/2}{-}{/}{} / {}",
"key": " "
}
]
}
'';
in pkgs.writeScriptBin "pfetch"
''fastfetch --config ${smallConf}'';
in with pkgs; [
fastfetch pFetch
];
};
imports = [ ./small ];
home.file.".config/fastfetch/config.jsonc".source = ./config.jsonc;
programs.fastfetch.enable = true;
}

View file

@ -0,0 +1,9 @@
{ pkgs, ... }:
{
home = {
file.".config/fastfetch/small.jsonc".source = ./small.jsonc;
packages = let
pFetch = pkgs.writeScriptBin "pfetch" "fastfetch --config ~/.config/fastfetch/small.jsonc";
in with pkgs; [ pFetch ];
};
}

View file

@ -0,0 +1,34 @@
{
"logo": {
"type": "small"
},
"modules": [
{
"type": "os",
"format": "{3} {12}",
"key": "󰍛 "
},
{
"type": "host",
"key": "󰌢 "
},
{
"type": "kernel",
"format": "{1} {2}",
"key": " "
},
{
"type": "uptime",
"key": "󰅐 "
},
{
"type": "packages",
"key": "󰆧 "
},
{
"type": "memory",
"format": "{/1}{-}{/}{/2}{-}{/}{} / {}",
"key": " "
}
]
}

View file

@ -6,7 +6,6 @@
preview_images = true;
preview_images_method = "sixel";
dirname_in_tabs = true;
cd_tab_fuzzy = true;
autosave_bookmarks = false;
show_hidden = true;
wrap_scroll = true;
@ -102,28 +101,24 @@
# Ranger's bookmarks and necessary tools
home = {
file = let
rangerBookmarks = ''
file = {
".local/share/ranger/bookmarks".text = ''
# Local files
h:/home/jimbo/
k:/home/jimbo/Downloads
v:/home/jimbo/Videos
c:/home/jimbo/.config
L:/home/jimbo/.local
D:/mnt
l:/home/jimbo/.local
d:/mnt
n:/etc/nixos
# Remote files
j:/home/jimbo/JimboNFS
J:/home/jimbo/JimboNFS
K:/home/jimbo/JimboNFS/Downloads
p:/home/jimbo/JimboNFS/Photos
P:/home/jimbo/JimboNFS/Projects
P:/home/jimbo/JimboNFS/Photos
V:/home/jimbo/JimboNFS/Videos/Random
m:/home/jimbo/JimboNFS/Music/Synced
s:/home/jimbo/JimboNFS/School
M:/home/jimbo/JimboNFS/Music/Synced
'';
in {
".local/share/ranger/bookmarks".text = rangerBookmarks;
};
packages = with pkgs; [
imagemagick

View file

@ -2,19 +2,21 @@
{
programs.tmux = {
enable = true;
keyMode = "vi";
mouse = true;
terminal = "st-256color";
historyLimit = 4096;
baseIndex = 1;
extraConfig = ''
set -g mouse on
set -g base-index 1
set -g default-terminal "st-256color"
set -g history-limit 4096
set -g set-titles on
set -g set-titles-string "#T"
set -g status on
set -g status-left ""
set -g status-position bottom
set -g status-right "#[bg=brightblack]#[fg=dark_purple] #T "
set -g status-style "bg=black"
setw -g pane-base-index 1
set -g set-titles on
set -g set-titles-string "#T"
setw -g window-status-format "#[bg=brightmagenta]#[fg=black] #I #[bg=brightblack]#[fg=white] #W "
setw -g window-status-current-format "#[bg=brightmagenta]#[fg=black] #I #[bg=white]#[fg=black] #W "
'';

View file

@ -30,17 +30,8 @@
ncat = "/usr/bin/env cat";
copycat = "wl-copy <";
sunshinehost = "WAYLAND_DISPLAY=wayland-1 DISPLAY=:1 sunshine -0";
seneca = "ssh jhampton1@matrix.senecapolytechnic.ca";
# Curl tools
myip = "curl ifconfig.co";
# Download from sources
ytdl = ''yt-dlp --embed-thumbnail --embed-metadata --output "%(title)s.%(ext)s"'';
ytm3u = "yt-dlp -gS proto:m3u8";
opusdl = "ytdl --recode-video opus";
ytopus = "opusdl --format 251";
spotdl = "spotdl --m3u --format opus";
seneca = "ssh jhampton1@matrix.senecapolytechnic.ca";
};
initExtra = ''
source ${pkgs.zsh-vi-mode}/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh