Gen 444: Consolidated desktop/laptop configs into one, differing options are declared in hosts folder
This commit is contained in:
30
modules/home/environment/gtk.nix
Normal file
30
modules/home/environment/gtk.nix
Normal file
@@ -0,0 +1,30 @@
|
||||
{ pkgs, config, ... }:
|
||||
|
||||
{
|
||||
fonts.fontconfig.enable = true;
|
||||
home.packages = [
|
||||
pkgs.nerdfonts
|
||||
(pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" "Noto" ]; })
|
||||
pkgs.twemoji-color-font
|
||||
pkgs.noto-fonts-emoji
|
||||
];
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
font = {
|
||||
name = "JetBrainsMono Nerd Font";
|
||||
size = 11;
|
||||
};
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.catppuccin-papirus-folders.override {
|
||||
flavor = "mocha";
|
||||
accent = "lavender";
|
||||
};
|
||||
};
|
||||
theme = {
|
||||
name = "Dracula";
|
||||
package = pkgs.dracula-theme;
|
||||
};
|
||||
};
|
||||
}
|
||||
24
modules/home/environment/spicetify.nix
Normal file
24
modules/home/environment/spicetify.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
{ pkgs, lib, inputs, ...}:
|
||||
|
||||
let
|
||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
||||
in
|
||||
{
|
||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||
builtins.elem (lib.getName pkg) [
|
||||
"spotify"
|
||||
];
|
||||
|
||||
imports = [inputs.spicetify-nix.homeManagerModules.default];
|
||||
|
||||
programs.spicetify = {
|
||||
enable = true;
|
||||
enabledExtensions = with spicePkgs.extensions; [
|
||||
adblock
|
||||
hidePodcasts
|
||||
shuffle # shuffle+ (special characters are sanitized out of extension names)
|
||||
];
|
||||
theme = spicePkgs.themes.catppuccin;
|
||||
colorScheme = "mocha";
|
||||
};
|
||||
}
|
||||
61
modules/home/environment/starship.nix
Normal file
61
modules/home/environment/starship.nix
Normal file
@@ -0,0 +1,61 @@
|
||||
{ lib, inputs, ... }:
|
||||
|
||||
{
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = false;
|
||||
settings = {
|
||||
add_newline = true;
|
||||
right_format = "($custom)";
|
||||
|
||||
format = lib.concatStrings [
|
||||
"($username)(bold white)($cmd_duration)($character)"
|
||||
"($git_branch)($git_status)($rust)($nix-shell)"
|
||||
"($directory)"
|
||||
"$line_break[ > ](bold #89b4fa)"
|
||||
];
|
||||
|
||||
|
||||
username = {
|
||||
show_always = true;
|
||||
style_user = "bold white";
|
||||
format = "[$user]($style)";
|
||||
};
|
||||
directory = {
|
||||
format = "\n[$path](bold cyan)[/](bold green) ";
|
||||
style = "bold #b4befe";
|
||||
};
|
||||
|
||||
character = {
|
||||
success_symbol = "[ -> ](bold green)";
|
||||
error_symbol = "[ -> ✗](bold red)";
|
||||
# error_symbol = "[ ](bold #89dceb)[ ✗](bold red)";
|
||||
};
|
||||
|
||||
cmd_duration = {
|
||||
format = "[ $duration]($style)";
|
||||
disabled = false;
|
||||
style = "bg:none fg:#f9e2af";
|
||||
show_notifications = false;
|
||||
min_time_to_notify = 60000;
|
||||
};
|
||||
|
||||
git_branch = {
|
||||
format = "\non [$symbol$branch](bold purple)";
|
||||
symbol = " ";
|
||||
truncation_length = 15;
|
||||
style = "bold purple";
|
||||
};
|
||||
|
||||
custom.shellver = {
|
||||
command = "zsh --version";
|
||||
when = ''test $SHELL = "/run/current-system/sw/bin/zsh"'';
|
||||
symbol = "";
|
||||
style = "bold magenta";
|
||||
};
|
||||
|
||||
palette = "catppuccin_mocha";
|
||||
} // builtins.fromTOML (builtins.readFile "${inputs.catppuccin-starship}/themes/mocha.toml");
|
||||
};
|
||||
}
|
||||
|
||||
41
modules/home/environment/userpkgs.nix
Normal file
41
modules/home/environment/userpkgs.nix
Normal file
@@ -0,0 +1,41 @@
|
||||
{ pkgs, inputs, ... }:
|
||||
let
|
||||
nvim = inputs.nvim.packages."x86_64-linux".default;
|
||||
toilet = inputs.toilet.packages."x86_64-linux".default;
|
||||
in
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
gtk3
|
||||
adwaita-icon-theme
|
||||
uhk-agent
|
||||
dunst
|
||||
rofi
|
||||
sqlite
|
||||
starship
|
||||
zathura
|
||||
inkscape
|
||||
imagemagick
|
||||
yt-dlp
|
||||
vlc
|
||||
speedtest-cli
|
||||
vesktop
|
||||
qbittorrent
|
||||
obs-studio
|
||||
neovide
|
||||
chromium
|
||||
zsh
|
||||
zsh-syntax-highlighting
|
||||
zsh-history-substring-search
|
||||
zsh-autosuggestions
|
||||
audacity
|
||||
snes9x-gtk
|
||||
rustup
|
||||
libreoffice
|
||||
handbrake
|
||||
gtrash
|
||||
ripgrep
|
||||
nvim
|
||||
toilet
|
||||
python3
|
||||
];
|
||||
}
|
||||
127
modules/home/environment/zshell.nix
Normal file
127
modules/home/environment/zshell.nix
Normal file
@@ -0,0 +1,127 @@
|
||||
{ self, ... }:
|
||||
|
||||
{
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
|
||||
sessionVariables = {
|
||||
SOUNDS_ENABLED = "1";
|
||||
EDITOR = "/nixbin/nvim";
|
||||
SUDO_EDITOR = "/nixbin/nvim";
|
||||
VISUAL = "/nixbin/nvim";
|
||||
LANG = "en_US.UTF-8";
|
||||
BROWSER = "/nixbin/firefox";
|
||||
NVIM = "${self}/nixvim/config/";
|
||||
HYPRCONF = "${self}/hyprland/";
|
||||
SYSCONF = "${self}/glasshouse-desktop/sys";
|
||||
};
|
||||
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [ "git" "fzf" ];
|
||||
};
|
||||
|
||||
enableCompletion = true;
|
||||
history = {
|
||||
path = "$HOME/.zsh_history";
|
||||
save = 10000;
|
||||
size = 10000;
|
||||
share = true;
|
||||
};
|
||||
|
||||
autosuggestion = {
|
||||
enable = true;
|
||||
highlight = "fg=#4C566A,underline";
|
||||
};
|
||||
|
||||
shellAliases = {
|
||||
grep = "grep --color=auto";
|
||||
mv = "mv -v";
|
||||
cp = "cp -vr";
|
||||
gt = "gtrash";
|
||||
gtp = "gtrash put";
|
||||
grub-update = "sudo grub-mkconfig -o /boot/grub/grub.cfg";
|
||||
sr = "source ~/.zshrc";
|
||||
".." = "cd ..";
|
||||
rm = "echo 'use \"gtp\" instead'";
|
||||
psg = "ps aux | grep -v grep | grep -i -e VSZ -e" ;
|
||||
mkdir = "mkdir -p";
|
||||
pk = "pkill -9 -f";
|
||||
zrc = "nvim $HOME/dots/zshell.nix";
|
||||
svcu = "systemctl --user";
|
||||
svc = "sudo systemctl";
|
||||
hyprconf = "nvim $HOME/dots/hyprland/config.nix";
|
||||
nixconf = "nvim $HOME/sysflakes/glasshouse-desktop/sys";
|
||||
hmconf = "nvim $HOME/sysflakes/glasshouse-desktop/home";
|
||||
viflake = "nvim flake.nix";
|
||||
nvimcfg = "nvim $HOME/dots/nixvim/config";
|
||||
};
|
||||
initExtra = ''
|
||||
|
||||
unalias ls
|
||||
ls() {
|
||||
eza -1 --group-directories-first --icons "$@"
|
||||
scheck && runbg aplay ${self}/media/sound/ls.wav
|
||||
}
|
||||
|
||||
cd() {
|
||||
export SOUNDS_ENABLED=0
|
||||
eza -1 --group-directories-first --icons "$@"
|
||||
builtin cd "$@" || exit
|
||||
export SOUNDS_ENABLED=1
|
||||
scheck && runbg aplay ${self}/media/sound/cd.wav
|
||||
}
|
||||
if [ ! -e $HOME/.zsh_history ]; then
|
||||
touch $HOME/.zsh_history
|
||||
chmod 600 $HOME/.zsh_history
|
||||
fi
|
||||
setopt APPEND_HISTORY # Append history to the history file (don't overwrite)
|
||||
setopt INC_APPEND_HISTORY # Append to the history file incrementally
|
||||
setopt SHARE_HISTORY # Share history between all zsh sessions
|
||||
|
||||
sessionVariables = {
|
||||
setopt CORRECT
|
||||
setopt NO_NOMATCH
|
||||
setopt LIST_PACKED
|
||||
setopt ALWAYS_TO_END
|
||||
setopt GLOB_COMPLETE
|
||||
setopt COMPLETE_ALIASES
|
||||
setopt COMPLETE_IN_WORD
|
||||
setopt AUTO_CD
|
||||
setopt AUTO_CONTINUE
|
||||
setopt LONG_LIST_JOBS
|
||||
setopt HIST_VERIFY
|
||||
setopt SHARE_HISTORY
|
||||
setopt HIST_IGNORE_SPACE
|
||||
setopt HIST_SAVE_NO_DUPS
|
||||
setopt HIST_IGNORE_ALL_DUPS
|
||||
setopt EXTENDED_GLOB
|
||||
setopt TRANSIENT_RPROMPT
|
||||
setopt INTERACTIVE_COMMENTS
|
||||
|
||||
autoload -U compinit # completion
|
||||
autoload -U terminfo # terminfo keys
|
||||
zmodload -i zsh/complist # menu completion
|
||||
autoload -U promptinit # prompt
|
||||
|
||||
autoload -U up-line-or-beginning-search; zle -N up-line-or-beginning-search
|
||||
autoload -U down-line-or-beginning-search; zle -N down-line-or-beginning-search
|
||||
|
||||
bindkey -v
|
||||
type starship_zle-keymap-select >/dev/null || \
|
||||
{
|
||||
eval "$(starship init zsh)"
|
||||
}
|
||||
unalias ls
|
||||
clear
|
||||
splash
|
||||
scheck && runbg aplay ${self}/media/sound/sh-source.wav
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user