I am batman
This commit is contained in:
14
modules/misc/btop.nix
Normal file
14
modules/misc/btop.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.btop = {
|
||||
enable = true;
|
||||
settings = {
|
||||
# color_theme = "gruvbox-dark"; # You can change this to any other theme
|
||||
theme_background = false;
|
||||
vim_keys = true;
|
||||
# You can add more settings from: https://github.com/aristocratos/btop#configuration
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
17
modules/misc/default.nix
Normal file
17
modules/misc/default.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
imports = [
|
||||
# ./discord.nix
|
||||
./git.nix
|
||||
./gtk.nix
|
||||
./btop.nix
|
||||
./pipewire.nix
|
||||
./pywal.nix
|
||||
./obsidian.nix
|
||||
./obs-studio.nix
|
||||
./dunst.nix
|
||||
# ./sddm.nix
|
||||
./spotify.nix
|
||||
./zsh.nix
|
||||
./zoxide.nix
|
||||
];
|
||||
}
|
||||
8
modules/misc/discord.nix
Normal file
8
modules/misc/discord.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
(discord.override {
|
||||
withVencord = true;
|
||||
})
|
||||
];
|
||||
}
|
||||
58
modules/misc/dunst.nix
Normal file
58
modules/misc/dunst.nix
Normal file
@@ -0,0 +1,58 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
dunst
|
||||
jq
|
||||
];
|
||||
|
||||
home.file.".config/dunst/dunstrc".text = ''
|
||||
#!/usr/bin/env sh
|
||||
WAL_COLORS="$HOME/.cache/wal/colors.json"
|
||||
|
||||
if [ -f "$WAL_COLORS" ]; then
|
||||
BG=$(jq -r '.special.background' "$WAL_COLORS")
|
||||
FG=$(jq -r '.special.foreground' "$WAL_COLORS")
|
||||
LOW=$(jq -r '.colors.color2' "$WAL_COLORS")
|
||||
NORMAL=$(jq -r '.colors.color1' "$WAL_COLORS")
|
||||
CRITICAL=$(jq -r '.colors.color3' "$WAL_COLORS")
|
||||
else
|
||||
BG="#0f1016"
|
||||
FG="#c6c3da"
|
||||
LOW="#6F6C91"
|
||||
NORMAL="#6B6691"
|
||||
CRITICAL="#877AB1"
|
||||
fi
|
||||
|
||||
cat <<EOL > "$HOME/.config/dunst/dunstrc"
|
||||
[global]
|
||||
font = Monospace 10
|
||||
geometry = "300x50-10+50"
|
||||
timeouts = { low = 1000, normal = 1500, critical = 3000 }
|
||||
frame_color = "$NORMAL"
|
||||
background = "$BG"
|
||||
foreground = "$FG"
|
||||
separator_height = 2
|
||||
padding = 8
|
||||
transparency = 10
|
||||
sort = newest
|
||||
ignore_new_urgency = false
|
||||
|
||||
[urgency_low]
|
||||
background = "$BG"
|
||||
foreground = "$FG"
|
||||
frame_color = "$LOW"
|
||||
|
||||
[urgency_normal]
|
||||
background = "$BG"
|
||||
foreground = "$FG"
|
||||
frame_color = "$NORMAL"
|
||||
|
||||
[urgency_critical]
|
||||
background = "$BG"
|
||||
foreground = "$FG"
|
||||
frame_color = "$CRITICAL"
|
||||
EOL
|
||||
'';
|
||||
}
|
||||
|
||||
21
modules/misc/git.nix
Normal file
21
modules/misc/git.nix
Normal file
@@ -0,0 +1,21 @@
|
||||
{ pkgs, ... }: {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
user.name = "gibbyDev";
|
||||
user.email = "gibbyDEV@protonmail.com";
|
||||
init.defaultBranch = "main";
|
||||
credential.helper = "store";
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = [
|
||||
pkgs.gh
|
||||
pkgs.git-lfs
|
||||
pkgs.copilot-cli
|
||||
pkgs.noto-fonts
|
||||
pkgs.noto-fonts-color-emoji # renamed
|
||||
];
|
||||
}
|
||||
|
||||
60
modules/misc/gtk.nix
Normal file
60
modules/misc/gtk.nix
Normal file
@@ -0,0 +1,60 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
cacheDir = config.xdg.cacheHome;
|
||||
isValidUser = config.home.username != "cody";
|
||||
in
|
||||
{
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
nerd-fonts.jetbrains-mono
|
||||
twemoji-color-font
|
||||
noto-fonts-color-emoji
|
||||
];
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
|
||||
font = {
|
||||
name = "JetBrainsMono Nerd Font";
|
||||
size = 11;
|
||||
};
|
||||
|
||||
theme = {
|
||||
name = "Adwaita-dark";
|
||||
package = pkgs.gnome-themes-extra;
|
||||
};
|
||||
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
|
||||
cursorTheme = {
|
||||
name = "Bibata-Modern-Classic";
|
||||
package = pkgs.bibata-cursors;
|
||||
size = 16;
|
||||
};
|
||||
|
||||
gtk3.extraCss = lib.mkIf isValidUser ''
|
||||
@import url("file://${cacheDir}/wal/colors.css");
|
||||
'';
|
||||
|
||||
gtk4.extraCss = lib.mkIf isValidUser ''
|
||||
@import url("file://${cacheDir}/wal/colors.css");
|
||||
'';
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "gtk";
|
||||
style.name = "adwaita-dark";
|
||||
};
|
||||
|
||||
home.pointerCursor = {
|
||||
name = "Bibata-Modern-Classic";
|
||||
package = pkgs.bibata-cursors;
|
||||
size = 16;
|
||||
};
|
||||
}
|
||||
35
modules/misc/obs-studio.nix
Normal file
35
modules/misc/obs-studio.nix
Normal file
@@ -0,0 +1,35 @@
|
||||
{ pkgs, config, ... }: {
|
||||
programs.obs-studio = {
|
||||
enable = true;
|
||||
#enableVirtualCamera = true;
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
wlrobs
|
||||
obs-pipewire-audio-capture
|
||||
obs-vkcapture
|
||||
obs-source-clone
|
||||
obs-move-transition
|
||||
obs-composite-blur
|
||||
obs-backgroundremoval
|
||||
];
|
||||
};
|
||||
|
||||
# Create Videos directory for OBS recordings
|
||||
home.file."Videos/.keep".text = "";
|
||||
|
||||
# Configure OBS to use ~/Videos for recordings
|
||||
home.file.".config/obs-studio/basic/profiles/Untitled/basic.ini" = {
|
||||
text = ''
|
||||
[Output]
|
||||
FilePath=${config.home.homeDirectory}/Videos
|
||||
FilenameFormatting=%CCYY-%MM-%DD %HH-%mm-%SS
|
||||
'';
|
||||
};
|
||||
|
||||
# Also set the global OBS settings to use Videos directory
|
||||
home.file.".config/obs-studio/global.ini" = {
|
||||
text = ''
|
||||
[General]
|
||||
RecordPath=${config.home.homeDirectory}/Videos
|
||||
'';
|
||||
};
|
||||
}
|
||||
33
modules/misc/obsidian.nix
Normal file
33
modules/misc/obsidian.nix
Normal file
@@ -0,0 +1,33 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [ obsidian ];
|
||||
|
||||
# NOTE: vault is at ~/Documents/Notebook
|
||||
# Commented out symlink due to pure eval restrictions
|
||||
# home.file.".config/obsidian" = {
|
||||
# source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/Documents/Notebook";
|
||||
# };
|
||||
|
||||
# systemd.user.services.obsidian-git-sync = {
|
||||
# Unit = {
|
||||
# Description = "Auto-commit and push Obsidian Vault";
|
||||
# After = [ "network-online.target" ];
|
||||
# };
|
||||
|
||||
# Service = {
|
||||
# ExecStart = pkgs.writeShellScript "obsidian-git-sync" ''
|
||||
# cd ${vaultPath}
|
||||
# if [ -n "$(git status --porcelain)" ]; then
|
||||
# git add .
|
||||
# git commit -m "Auto-sync: $(date)"
|
||||
# git push origin main
|
||||
# fi
|
||||
# '';
|
||||
# Restart = "always";
|
||||
# };
|
||||
|
||||
# Install = { WantedBy = [ "default.target" ]; };
|
||||
# };
|
||||
}
|
||||
|
||||
29
modules/misc/pipewire.nix
Normal file
29
modules/misc/pipewire.nix
Normal file
@@ -0,0 +1,29 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
# Enable PipeWire
|
||||
# services.pipewire = {
|
||||
# enable = true;
|
||||
# audio.enable = true;
|
||||
# alsa = {
|
||||
# enable = true;
|
||||
# support32Bit = true;
|
||||
# };
|
||||
# pulse.enable = true;
|
||||
# jack.enable = true;
|
||||
# };
|
||||
|
||||
# Enable real-time scheduling for better audio performance
|
||||
# security.rtkit.enable = true;
|
||||
|
||||
# Disable PulseAudio (ensure it's removed if previously enabled)
|
||||
# hardware.pulseaudio.enable = false;
|
||||
|
||||
# Optional: Install `pavucontrol` for a GUI to manage audio
|
||||
home.packages = with pkgs; [
|
||||
pavucontrol
|
||||
helvum # For managing audio routing visually
|
||||
qpwgraph # Graph-based PipeWire manager
|
||||
];
|
||||
}
|
||||
|
||||
38
modules/misc/pywal.nix
Normal file
38
modules/misc/pywal.nix
Normal file
@@ -0,0 +1,38 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config = lib.mkIf config.programs.pywal.enable {
|
||||
home.sessionVariables = {
|
||||
PYWAL_CACHE_DIR = "${config.xdg.cacheHome}/wal";
|
||||
};
|
||||
|
||||
home.file.".config/waybar/colors.css".source =
|
||||
"${config.xdg.cacheHome}/wal/colors-waybar.css";
|
||||
|
||||
home.file.".config/rofi/colors.rasi".text = ''
|
||||
* {
|
||||
background: #''${palette.background};
|
||||
foreground: #''${palette.foreground};
|
||||
normal-background: #''${palette.background};
|
||||
normal-foreground: #''${palette.foreground};
|
||||
alternate-normal-background: #''${palette.background};
|
||||
alternate-normal-foreground: #''${palette.foreground};
|
||||
selected-normal-background: #''${palette.color7};
|
||||
selected-normal-foreground: #''${palette.background};
|
||||
active-background: #''${palette.background};
|
||||
active-foreground: #''${palette.color2};
|
||||
alternate-active-background: #''${palette.background};
|
||||
alternate-active-foreground: #''${palette.color2};
|
||||
selected-active-background: #''${palette.color2};
|
||||
selected-active-foreground: #''${palette.background};
|
||||
urgent-background: #''${palette.color1};
|
||||
urgent-foreground: #''${palette.background};
|
||||
alternate-urgent-background: #''${palette.background};
|
||||
alternate-urgent-foreground: #''${palette.color1};
|
||||
selected-urgent-background: #''${palette.color1};
|
||||
selected-urgent-foreground: #''${palette.background};
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
10
modules/misc/sddm.nix
Normal file
10
modules/misc/sddm.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
# SDDM configuration has been migrated to LightDM
|
||||
# This file is kept for reference only
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
11
modules/misc/spotify.nix
Normal file
11
modules/misc/spotify.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = [
|
||||
pkgs.spotify
|
||||
];
|
||||
|
||||
# Prevent Spotify from launching on startup by removing its autostart entry
|
||||
# xdg.configFile."autostart/spotify.desktop".force = false;
|
||||
}
|
||||
|
||||
24
modules/misc/thunar.nix
Normal file
24
modules/misc/thunar.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
# Enable Thunar via Home Manager
|
||||
programs.thunar = {
|
||||
enable = true;
|
||||
|
||||
# Enable thumbnails for supported file types
|
||||
enableThumbnailing = true;
|
||||
|
||||
# Set Thunar as the default file manager
|
||||
defaultFileManager = true;
|
||||
|
||||
# Enable the Thunar custom actions (e.g., opening a terminal in the current directory)
|
||||
customActions = [
|
||||
{
|
||||
}
|
||||
];
|
||||
|
||||
# Optional: Customize the icon theme for Thunar
|
||||
iconTheme = "Papirus-Dark"; # Adjust as needed based on your icon theme
|
||||
};
|
||||
}
|
||||
|
||||
12
modules/misc/zoxide.nix
Normal file
12
modules/misc/zoxide.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
_: {
|
||||
programs = {
|
||||
zoxide = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
enableBashIntegration = true;
|
||||
options = [
|
||||
"--cmd cd"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
68
modules/misc/zsh.nix
Normal file
68
modules/misc/zsh.nix
Normal file
@@ -0,0 +1,68 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
|
||||
syntaxHighlighting.enable = true;
|
||||
autosuggestion.enable = true;
|
||||
|
||||
initContent = ''
|
||||
# Powerlevel10k
|
||||
source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme
|
||||
[[ -f ~/.p10k.zsh ]] && source ~/.p10k.zsh
|
||||
'';
|
||||
|
||||
shellAliases = {
|
||||
# Defaults – hosts may override
|
||||
ls = lib.mkDefault "lsd --color=auto";
|
||||
ll = lib.mkDefault "lsd -lah --color=auto";
|
||||
".." = lib.mkDefault "cd ../";
|
||||
v = lib.mkDefault "nvim .";
|
||||
c = lib.mkDefault "clear";
|
||||
z = lib.mkDefault "zoxide";
|
||||
op = lib.mkDefault "opencode .";
|
||||
ff = lib.mkDefault "fastfetch";
|
||||
gs = lib.mkDefault "git status";
|
||||
gc = lib.mkDefault "git commit -m";
|
||||
gp = lib.mkDefault "git push -u origin";
|
||||
tsm = lib.mkDefault "tmux-session-manager";
|
||||
# rgi = lib.mkDefault ''
|
||||
# rg --color=always --line-number --no-heading --smart-case . |
|
||||
# fzf --ansi --delimiter : \
|
||||
# --preview "bat --style=full --color=always --highlight-line {2} {1}" \
|
||||
# --preview-window "~4,+{2}+4/3,<80(up)"
|
||||
# '';
|
||||
rgi = lib.mkDefault ''
|
||||
rg --color=always --line-number --no-heading --smart-case . |
|
||||
fzf --ansi --delimiter : \
|
||||
--preview "bat --style=full --color=always --highlight-line {2} {1}" \
|
||||
--preview-window "~4,+{2}+4/3,<80(up)" \
|
||||
--bind "enter:become(nvim +{2} {1})"
|
||||
'';
|
||||
hmr = lib.mkDefault "sudo nixos-rebuild switch --flake .#$(hostname)";
|
||||
snr = lib.mkDefault "sudo nixos-rebuild switch --flake .";
|
||||
ncg = "nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot";
|
||||
reload = lib.mkDefault "exec zsh";
|
||||
};
|
||||
};
|
||||
|
||||
################################
|
||||
# Fonts (for p10k icons)
|
||||
################################
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
################################
|
||||
# Packages
|
||||
################################
|
||||
home.packages = with pkgs; [
|
||||
nerd-fonts.fira-code
|
||||
nerd-fonts.hack
|
||||
nerd-fonts.jetbrains-mono
|
||||
|
||||
zsh-powerlevel10k
|
||||
zsh-autosuggestions
|
||||
zsh-syntax-highlighting
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user