mirror of
https://git.gay/sneexy/nixos.git
synced 2026-01-11 05:03:15 -08:00
277 lines
6.4 KiB
Nix
277 lines
6.4 KiB
Nix
# ╭──────────────────────────────────────╮
|
|
# │ _ │
|
|
# │ _ __ __ _ __| |____ _ __ _ ___ ___ │
|
|
# │ | '_ \/ _` / _| / / _` / _` / -_|_-< │
|
|
# │ | .__/\__,_\__|_\_\__,_\__, \___/__/ │
|
|
# │ |_| |___/ │
|
|
# │ user packages │
|
|
# ╰──────────────────────────────────────╯
|
|
{
|
|
inputs,
|
|
lib,
|
|
osConfig,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
# Add stuff for your user as you see fit:
|
|
programs.neovim.enable = true;
|
|
home.packages = with pkgs; [
|
|
btop
|
|
bat
|
|
duf
|
|
fastfetch
|
|
fd
|
|
delta
|
|
eza
|
|
ripgrep
|
|
sd
|
|
zoxide
|
|
krabby
|
|
cod
|
|
atuin
|
|
|
|
alejandra
|
|
usbutils
|
|
jq
|
|
ffmpeg_6-full
|
|
imagemagick
|
|
figlet
|
|
yt-dlp
|
|
mpdris2
|
|
ncmpcpp
|
|
|
|
firefox
|
|
thunderbird
|
|
birdtray
|
|
kdePackages.kdenlive
|
|
krita
|
|
nicotine-plus
|
|
okteta
|
|
obsidian
|
|
rssguard
|
|
gpu-screen-recorder-gtk
|
|
|
|
gajim
|
|
cinny-desktop
|
|
revolt-desktop
|
|
vesktop
|
|
signal-desktop
|
|
|
|
cartridges
|
|
(prismlauncher.override {
|
|
jdks = [ temurin-jre-bin-8 temurin-jre-bin-17 temurin-jre-bin ];
|
|
})
|
|
retroarch
|
|
pcsx2
|
|
duckstation
|
|
melonDS
|
|
dolphin-emu
|
|
ppsspp-qt
|
|
dosbox-staging
|
|
bottles
|
|
protonup-qt
|
|
protontricks
|
|
|
|
mpv
|
|
mpdris2
|
|
mpd-discord-rpc
|
|
nextcloud-client
|
|
watchmate
|
|
obs-studio
|
|
joystickwake
|
|
ventoy-full
|
|
|
|
(catppuccin-kde.override {
|
|
flavour = ["mocha"];
|
|
accents = ["green"];
|
|
winDecStyles = ["modern"];
|
|
})
|
|
#(catppuccin-papirus-folders.override {
|
|
# flavor = ["mocha"];
|
|
# accent = ["green"];
|
|
#})
|
|
];
|
|
|
|
# my preferred shell customized to my needs
|
|
# thanks to https://github.com/Yumasi/nixos-home/blob/main/zsh.nix
|
|
programs.zsh = {
|
|
enable = true;
|
|
dotDir = ".config/zsh";
|
|
history.size = 50000;
|
|
|
|
antidote.enable = true;
|
|
antidote.plugins = [
|
|
# completions
|
|
"mattmc3/zephyr path:plugins/completion"
|
|
|
|
# shell benchmarking
|
|
"romkatv/zsh-bench kind:path kind:defer"
|
|
|
|
# oh my zsh
|
|
"ohmyzsh/ohmyzsh path:lib/key-bindings.zsh"
|
|
"ohmyzsh/ohmyzsh path:lib/clipboard.zsh"
|
|
#"ohmyzsh/ohmyzsh path:lib/completion.zsh"
|
|
"ohmyzsh/ohmyzsh path:plugins/copybuffer"
|
|
"ohmyzsh/ohmyzsh path:plugins/copyfile"
|
|
"ohmyzsh/ohmyzsh path:plugins/copypath"
|
|
"ohmyzsh/ohmyzsh path:plugins/extract kind:defer"
|
|
|
|
# zsh-utils
|
|
"belak/zsh-utils path:history"
|
|
"belak/zsh-utils path:utility"
|
|
"${config.home.homeDirectory}/${config.programs.zsh.dotDir}/plugins/editor"
|
|
|
|
# useful plugins
|
|
"atuinsh/atuin kind:defer"
|
|
"paulirish/git-open kind:defer"
|
|
"clavelm/yt-dlp-omz-plugin kind:defer"
|
|
"dim-an/cod kind:defer"
|
|
"jirutka/zsh-shift-select kind:defer"
|
|
"unixorn/fzf-zsh-plugin kind:defer"
|
|
|
|
"zdharma-continuum/fast-syntax-highlighting kind:defer"
|
|
"zsh-users/zsh-autosuggestions kind:defer"
|
|
"zsh-users/zsh-history-substring-search kind:defer"
|
|
];
|
|
|
|
shellAliases = {
|
|
# kitty
|
|
s = "kitten ssh";
|
|
|
|
# alias average commands to modern unix-util counterpartrs
|
|
cd = "z";
|
|
grep = "rg";
|
|
find = "fd";
|
|
df = "duf";
|
|
# different listing/ls styles
|
|
ls = "eza -lh --icons=always --hyperlink";
|
|
l = "eza";
|
|
la = "eza -1";
|
|
lt = "eza -T";
|
|
cat = "bat --paging=never";
|
|
|
|
# custom aliases
|
|
music = "ncmpcpp";
|
|
wttr = "curl 'wttr.in/?0' && curl 'wttr.in/?0?m'";
|
|
please = "sudo";
|
|
fucking = "sudo";
|
|
for-the-love-of-god = "sudo";
|
|
};
|
|
|
|
initExtra = ''
|
|
# export some custom paths
|
|
# (required for some packages/scripts/applications and some things in here)
|
|
path+=("${config.home.homeDirectory}/.local/bin")
|
|
path+=("${config.home.homeDirectory}/.cargo/bin")
|
|
|
|
# funny pokemon
|
|
krabby random
|
|
|
|
# load zoxide
|
|
eval "$(zoxide init zsh)"
|
|
'';
|
|
};
|
|
|
|
# starship prompt
|
|
programs.starship = {
|
|
enable = true;
|
|
settings = pkgs.lib.importTOML ./config/starship.toml;
|
|
};
|
|
|
|
# fuzzy command finder, required by a decent amount of things
|
|
programs.fzf = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
catppuccin.enable = true;
|
|
};
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
|
|
userName = "Sneexy";
|
|
userEmail = "sneexy@disroot.org";
|
|
|
|
signing.signByDefault = true;
|
|
signing.key = "AE181294E97E4802";
|
|
|
|
extraConfig = {
|
|
commit.verbose = true;
|
|
init.defaultBranch = "main";
|
|
};
|
|
};
|
|
|
|
# KITTY !!!!
|
|
programs.kitty = {
|
|
enable = true;
|
|
|
|
font.name = "JetBrainsMono NF";
|
|
font.size = 11.8;
|
|
|
|
theme = "Catppuccin-Mocha";
|
|
|
|
settings = {
|
|
cursor_shape = "beam";
|
|
window_padding_width = 8;
|
|
|
|
scrollback_lines = 2000;
|
|
scrollback_pager_history_size = 512;
|
|
|
|
tab_bar_style = "powerline";
|
|
tab_powerline_style = "round";
|
|
};
|
|
|
|
shellIntegration.enableZshIntegration = true;
|
|
};
|
|
|
|
programs.vscode = {
|
|
enable = true;
|
|
package = pkgs.vscodium;
|
|
|
|
extensions = with pkgs.vscode-extensions; [
|
|
esbenp.prettier-vscode
|
|
catppuccin.catppuccin-vsc
|
|
catppuccin.catppuccin-vsc-icons
|
|
arrterian.nix-env-selector
|
|
donjayamanne.githistory
|
|
];
|
|
|
|
userSettings = {
|
|
"editor.fontFamily" = "\'JetBrainsMono Nerd Font\', \'Droid Sans Mono\', \'monospace\', monospace";
|
|
"editor.fontSize" = 16;
|
|
"files.autoSave" = "onFocusChange";
|
|
"editor.cursorBlinking" = "expand";
|
|
"editor.cursorSmoothCaretAnimation" = "on";
|
|
"window.dialogStyle" = "custom";
|
|
"window.titleBarStyle" = "custom";
|
|
"workbench.colorTheme" = "Catppuccin Mocha";
|
|
"workbench.iconTheme" = "catppuccin-mocha";
|
|
"catppuccin.accentColor" = "green";
|
|
};
|
|
};
|
|
|
|
# this is a got damn NEO VIMME HOUSE !!
|
|
home.sessionVariables = {
|
|
EDITOR = "nvim";
|
|
};
|
|
|
|
# music!!
|
|
services.mpd = {
|
|
enable = true;
|
|
|
|
dataDir = "${config.home.homeDirectory}/.config/mpd";
|
|
musicDirectory = "${config.home.homeDirectory}/Music";
|
|
playlistDirectory = "${config.home.homeDirectory}/.config/mpd/playlists";
|
|
dbFile = "${config.home.homeDirectory}/.config/mpd/db";
|
|
|
|
extraConfig = ''
|
|
state_file_interval "120"
|
|
restore_paused "yes"
|
|
|
|
audio_output {
|
|
type "pipewire"
|
|
name "PipeWire"
|
|
}
|
|
'';
|
|
};
|
|
}
|